- Robot Maker
- → Contenu de Beetlejuice
Contenu de Beetlejuice
Il y a 15 élément(s) pour Beetlejuice (recherche limitée depuis 03-mai 13)
Par type de contenu
Voir pour ce membre
#48957 Davy
Posté par Beetlejuice sur 23 septembre 2012 - 05:04 dans Et si vous vous présentiez?
#48956 un petit aide s-il vous plait?
Posté par Beetlejuice sur 23 septembre 2012 - 05:02 dans Electronique
Pour commencer en electronique, tu devrais commencer par une carte arduino
Car pour controler et rendre ton robot interactif ou autonome, il vas te falloir aussi apprendre a programmer .
Si tu veux réaliser de suite un petit robot autonome, sans programer, tu peux commencer par Cocotix ( http://www.robot-maker.com/forum/tutorials/article/8-cocotix/ )
C'est sur que ce n'est pas un bipède, mais il faut commencer par le début . Au fur et a mesure de tes acquis, tu amélioreras
tes créations jusqu'a faire le robot que tu souhaite en ce moment et surement même plus
#48822 Liaison ordinateur à un système électronique
Posté par Beetlejuice sur 18 septembre 2012 - 07:09 dans Electronique
Entre le courant et le processing, évidemment.
Oui, effectivement j' me suis mal exprimé
"Il est évident que pour tout autre courant de puissance tu devras utiliser autre chose que le régulateur de l'Arduino."
Il va te falloir utiliser une carte de puissance a base de pont en H . Il en existe des tout prêt sous forme de " shield " ( carte electronique conçue pour s'emboiter sur l'arduino ) . Sinon tu peux la faire toit même, il y a plein de schema sur le net . Jette un oeil par la : http://www.pobot.org/-Drivers-de-moteurs-.html
Ceci vas aussi te servir, c'est une bibliothèque pour gerer les moteur PaP : http://arduino.cc/fr/Main/LibrairieStepper
Bon courage
#48821 Moi Oasis
Posté par Beetlejuice sur 18 septembre 2012 - 06:52 dans Et si vous vous présentiez?
Bienvenu sur le forum
#48814 Robosapein V1
Posté par Beetlejuice sur 17 septembre 2012 - 01:27 dans Et si vous vous présentiez?
Même si tu ne comprends pas l'anglais, il y a des photos de la " disection " .
Je pense que le connecteur pour le moteur qui te pose problème, et celui avec 2 fils ( jaune et orange ) qui est sur la partie gauche de la carte , presque en bas, quand tu es derierre le robot .
Ah oui, quand tu retirera le dos, attention il faut debrancher le connecteur qui relie le bouton ON/OFF et le haut parleur .
Le torse vas surment tomber, pas de soucis . Par contre quand tu refermera, enboite bien les epaule dans les " rigoles " qui sont sculptée dans le torse /dos .
J'espère que tu arrive a me comprendre lol !
#48813 Robosapein V1
Posté par Beetlejuice sur 17 septembre 2012 - 12:43 dans Et si vous vous présentiez?
Oui , il est surement réparable. C'est soit un moteur qui a laché, soit une mauvaise connection .
Tu peux deja regarder en retirant les 4 vis qui tiennent le dos, si tous les connecteurs sont bien branchés
#48809 Liaison ordinateur à un système électronique
Posté par Beetlejuice sur 16 septembre 2012 - 05:17 dans Electronique
Je ne sais pas si cela peut te servir, mais connais-tu le logociel processing ? http://processing.org/
Il te permet de creer des interfaces grafique pour controller l'arduino a partir du pc .
Quelque infos ici : http://www.arduino.cc/playground/interfacing/processing
#48808 squelette robot humanoide
Posté par Beetlejuice sur 16 septembre 2012 - 05:01 dans Mécanique
#48802 squelette robot humanoide
Posté par Beetlejuice sur 16 septembre 2012 - 10:57 dans Mécanique
Je me demandais si l'un de vous aurait des schemas, dessin ou autre plans montrant comment est articulé un robot ...
A part quelque modèle de pince, je n'ai rien trouvé sur google .
Comment fabriquer une main, un bras, une jambe, etc ...
Merci
#48758 [Résolu] Comparaison de deux string qui ne fonctionne pas ;
Posté par Beetlejuice sur 13 septembre 2012 - 12:16 dans Programmation
En fait le retour de chariot était ajouté a la commande envoyée, donc forcèment ça ne marchait pas !
Pour être clair, par exemple mon if testait si RSBurp\n était pareil que RSBurp
Il a donc suffit de sortir " inputString += inChar; " de la boucle while .
Voila le code modifié et fonctionnel si jamais quelqu'un en a besoin .
int IRIn = 2; // We will use an interrupt int IROut= 3; // Where the echoed command will be sent from boolean RSEcho=true; // Should Arduino Echo RS commands boolean RSUsed=true; // Has the last command been used volatile int RSBit=9; // Total bits of data volatile int RSCommand; // Single byte command from IR int bitTime=516; // Bit time (Theoretically 833 but 516) // works for transmission and is faster int last; // Previous command from IR String inputString = ""; // a string to hold incoming data boolean stringComplete = false; // whether the string is complete int serialCommand(0xEF); // Command sent via serial // Array for commands and Ir codes String commandName[19] = { "RSTurnRight", "RSRightArmUp", "RSRightArmOut", "RSTiltBodyRight", "RSRightArmDown", "RSRightArmIn", "RSWalkForward", "RSWalkBackward", "RSTurnLeft", "RSLeftArmUp", "RSLeftArmOut", "RSTiltBodyLeft", "RSLeftArmDown", "RSLeftArmIn", "RSStop", "RSWakeUp", "RSBurp", "RSRightHandStrike", "RSNoOp" }; int commandIrCode[19] = { 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0xB1, 0xC2, 0xC0, 0xEF }; void setup() { pinMode(IRIn, INPUT); pinMode(IROut, OUTPUT); pinMode(10,OUTPUT); digitalWrite(IROut,HIGH); attachInterrupt(0,RSReadCommand,RISING); last=0xEF; // Set last command as " noOp " Serial.begin(115200); } // Receive a bit at a time. void RSReadCommand() { delayMicroseconds(833+208); // about 1 1/4 bit times int bit=digitalRead(IRIn); if (RSBit==9) { // Must be start of new command RSCommand=0; RSBit=0; RSUsed=true; } if (RSBit<8) { RSCommand<<=1; RSCommand|=bit; } RSBit++; if (RSBit==9) RSUsed=false; } // send the whole 8 bits void RSSendCommand(int command) { digitalWrite(IROut,LOW); delayMicroseconds(8*bitTime); for (int i=0;i<8;i++) { digitalWrite(IROut,HIGH); delayMicroseconds(bitTime); if ((command & 128) !=0) delayMicroseconds(3*bitTime); digitalWrite(IROut,LOW); delayMicroseconds(bitTime); command <<= 1; } digitalWrite(IROut,HIGH); delay(250); // Give a 1/4 sec before next } void loop() { if (!RSUsed) { if (RSCommand==0x8E && last==0x8E) { RSEcho=!RSEcho; } last=RSCommand; // print code received from the remote Serial.print("IR Code : "); Serial.println(RSCommand); if (!RSEcho) { digitalWrite(10,HIGH); // Turn on LED let us know we have control our wedge Serial.println("Arduino control ON "); } else { digitalWrite(10,LOW); // No longer in control Serial.println("Arduino control OFF "); RSSendCommand(RSCommand); } RSUsed=true; } while (Serial.available()) { // get the new byte: char inChar = (char)Serial.read(); // if the incoming character is a newline if (inChar == '\n') { Serial.print ("inputString value: " ); Serial.println (inputString); // Test if the serial sent command exist and if ok, give the corresponding Ir code to " commandIr " for (int i=0;i<=18;i++) { if (inputString == commandName[i]) serialCommand=commandIrCode[i]; } Serial.print (" Value sent : " ); Serial.println (serialCommand,HEX); RSSendCommand(serialCommand); Serial.println (" Command sent to robosapien " ); // clear the string: inputString = ""; // add it to the inputString: } else inputString += inChar; } }
#48756 [Résolu] Comparaison de deux string qui ne fonctionne pas ;
Posté par Beetlejuice sur 13 septembre 2012 - 08:01 dans Programmation
#48753 Presentation de Beetlejuice
Posté par Beetlejuice sur 13 septembre 2012 - 06:23 dans Et si vous vous présentiez?
#48738 [Résolu] Comparaison de deux string qui ne fonctionne pas ;
Posté par Beetlejuice sur 12 septembre 2012 - 05:27 dans Programmation
J'ai déja essayé avec la une valeur directe et cela fonctionne bien, par exemple avec un capteur de distance IR, le robot reçois bien les ordre d'arret, rotation, etc ..
J'avait fait un essai avec des switch / case , mais effectivement, il attends un int ou un char . J'aurai bien aimé faire un programme plus propre qu'avec tous ces if .
Le résultat de "inputString +=" , est correct, les lignes contenant les " serial.print " m'affiche dans la console la valeur de la variable inputString et celle-ci correspond bien au mot que j'ai envoyé via la console . J'utilise cette façon de faire car la liaison série envoie le mot caractère par caractère .
Je ne suis pas sur l'ordi avec lequel je programme pour l'arduino, je posterai ce que dit la console tout a l'heure .
J'ai oublié de préciser que le compilateur ne me retourne aucune erreurs . Ce qui est étrange c'est que cela fonctionnait a un moment ...
#48727 [Résolu] Comparaison de deux string qui ne fonctionne pas ;
Posté par Beetlejuice sur 12 septembre 2012 - 01:57 dans Programmation
Voila j'ai un petit soucis. J'ai modifier un robosapien en lui ajoutant une carte arduino 2009 .
Mon programme permet , soit de faire echo de la telecommande d'origine, soit de prendre le controle avec l'arduino.
Tout fonctionne bien, que ce soit avec la telecommande ou en envoyant des commande avec l'arduino ( interphaser entre le recepteur IR et la carte mere du robot ) .
Cependant pour mes test, je souhaite entrer des commandes dans le moniteur serie et c'est la que ça cloche :
L'entrée est bien stockée dans ma variable string , mais la condition if ne semble pas etre respectée pour que le changement de la valeur a envoyer a l' IR du robot se fasse :
if (inputString == "RSTurnRight") serialCommand= 0x80;
Avec des " serial.print " j'ai pu débugger et voir qu'effectivement la valeur de serialCommand ne change pas .
J'ai essayé :
if (inputString == "RSTurnRight")
{
serialCommand= 0x80;
}
Mais ça ne change rien ...
Quelqu'un a une idée de mon erreur ?
Voici le code complet :
int IRIn = 2; // We will use an interrupt int IROut= 3; // Where the echoed command will be sent from boolean RSEcho=true; // Should Arduino Echo RS commands boolean RSUsed=true; // Has the last command been used volatile int RSBit=9; // Total bits of data volatile int RSCommand; // Single byte command from IR int bitTime=516; // Bit time (Theoretically 833 but 516) // works for transmission and is faster int last; // Previous command from IR String inputString = ""; // a string to hold incoming data boolean stringComplete = false; // whether the string is complete int serialCommand(0xEF); // Command sent via serial void setup() { pinMode(IRIn, INPUT); pinMode(IROut, OUTPUT); pinMode(10,OUTPUT); digitalWrite(IROut,HIGH); attachInterrupt(0,RSReadCommand,RISING); last=0xEF; // Set last command as " noOp " Serial.begin(115200); } // Receive a bit at a time. void RSReadCommand() { delayMicroseconds(833+208); // about 1 1/4 bit times int bit=digitalRead(IRIn); if (RSBit==9) { // Must be start of new command RSCommand=0; RSBit=0; RSUsed=true; } if (RSBit<8) { RSCommand<<=1; RSCommand|=bit; } RSBit++; if (RSBit==9) RSUsed=false; } // send the whole 8 bits void RSSendCommand(int command) { digitalWrite(IROut,LOW); delayMicroseconds(8*bitTime); for (int i=0;i<8;i++) { digitalWrite(IROut,HIGH); delayMicroseconds(bitTime); if ((command & 128) !=0) delayMicroseconds(3*bitTime); digitalWrite(IROut,LOW); delayMicroseconds(bitTime); command <<= 1; } digitalWrite(IROut,HIGH); delay(250); // Give a 1/4 sec before next } void loop() { if (!RSUsed) { if (RSCommand==0x8E && last==0x8E) { RSEcho=!RSEcho; } last=RSCommand; // print code received from the remote Serial.print("IR Code : "); Serial.println(RSCommand); if (!RSEcho) { digitalWrite(10,HIGH); // Turn on LED let us know we have control our wedge Serial.println("Arduino control ON "); } else { digitalWrite(10,LOW); // No longer in control Serial.println("Arduino control OFF "); RSSendCommand(RSCommand); } RSUsed=true; } while (Serial.available()) { // get the new byte: char inChar = (char)Serial.read(); // add it to the inputString: inputString += inChar; // if the incoming character is a newline, set a flag // so the main loop can do something about it: if (inChar == '\n') { Serial.print ("inputString value: " ); Serial.println (inputString); if (inputString == "RSTurnRight") serialCommand= 0x80; if (inputString == "RSRightArmUp") serialCommand= 0x81; if (inputString == "RSRightArmOut") serialCommand= 0x82; if (inputString == "RSTiltBodyRight") serialCommand= 0x83; if (inputString == "RSRightArmDown") serialCommand= 0x84; if (inputString == "RSRightArmIn") serialCommand= 0x85; if (inputString == "RSWalkForward") serialCommand= 0x86; if (inputString == "RSWalkBackward") serialCommand= 0x87; if (inputString == "RSTurnLeft") serialCommand= 0x88; if (inputString == "RSLeftArmUp") serialCommand= 0x89; if (inputString == "RSLeftArmOut") serialCommand= 0x8A; if (inputString == "RSTiltBodyLeft") serialCommand= 0x8B; if (inputString == "RSLeftArmDown") serialCommand= 0x8C; if (inputString == "RSLeftArmIn") serialCommand= 0x8D; if (inputString == "RSStop") serialCommand= 0x8E; if (inputString == "RSWakeUp") serialCommand= 0xB1; if (inputString == "RSBurp") serialCommand= 0xC2; if (inputString == "RSRightHandStrike") serialCommand= 0xC0; if (inputString == "RSNoOp") serialCommand= 0xEF; Serial.print (" Value sent : " ); Serial.println (serialCommand,HEX); RSSendCommand(serialCommand); Serial.println (" Command sent to robosapien " ); // clear the string: inputString = ""; } } }
#48710 Presentation de Beetlejuice
Posté par Beetlejuice sur 12 septembre 2012 - 07:01 dans Et si vous vous présentiez?
Je m'appelle Fred, 36 ans ( 37 dans deux mois ), J'habite Sollies-Pont dans le var (83 ), Marier et pere de trois filles .
Niveau formation, j'ai uniquement infographie, mais etant très autodidacte, je me débrouille très bien dans les domaines de l'informatique .
Mon travail ... Eh bien aucun ! J'ai ouvert un cyber café qui est vite devenu aussi depannage informatique, centre de cours pour debutants et beaucoup d'autres services tel que des montages vidéo ou de la création de site web . Je l'ai gardé 5 ans est ça marchait très bien , malheureusement j'ai du fermer il y a 3 ans a cause d'une maladie articulaire qui fait qu'aujourd'hui je suis handicapé et ne peux plus travailler .
Mes passions, eh bien la robotique bien sur, la moto , l' informatique,l'electronique, et je m'ainteresse aussi a la domotique ; Mais tout cela est très lié
Les robots que je possede ... J'ai la base d'un cybot ( robot a 3 roues ) que j'ai équipé d'une carte arduino 2009 et de quelques capteurs pour le rendre autonome , et je viens de faire l'acquisition d'un robosapien V1 en panne pour seulement 5 euro ! qu'il a été très simple de réparer ( soudure seches ) et qui lui aussi c'est vu offrir une carte arduino et pour le moment un capteur IR sharp . Je commence tout juste a le découvrir, mais j'adore ce robot
En bref :
-Le film que vous préférez : Léon et pratiquement tous les films avec jean réno ou adam sandler
-Le roman que vous préférez : C'est quoi un roman ? Un truc sans image ? Les ouvrages que je lis sont soit informatique, robotique, electronique , soit les BD moto comme le joe bar team .
-Qu'est ce qu'il faudrait faire dans le domaine de la robotique: Baisser le tarifs des pièces !
-Comment voyez vous la robotique dans le futur: Omniprésente . Et mangeuse d'emploi . Beaucoup d'androide d'aide a la personne .
Voila ! Wow, c'est la première fois que je fait une présentation aussi longue !
- Robot Maker
- → Contenu de Beetlejuice
- Privacy Policy