Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Petit Rover

Composants et fournitures

Arduino Nano R3
× 1
Planche à pain (générique)
× 1
Câbles de raccordement (générique)
× 1
Capteur à ultrasons - HC-SR04 (Générique)
× 1
Roue Adafruit pour servomoteur FS90R à micro rotation continue
× 2
Micro servomoteur à rotation continue Adafruit - FS90R
× 2
LED (générique)
N'importe quelle couleur. C'est juste pour rendre la chose amusante et cligner des yeux pendant qu'elle se promène
× 2
Support de 4 piles AA
J'ai utilisé un support de batterie baril... Ceci est juste pour référence.
× 1
SparkFun Ball Caster Metal - 3/8"
× 1
Conteneur en plastique
Comme un tupperware pas cher ou une boîte de 500g de magarine.
× 1
autocollants
Ceci n'est qu'un exemple pour montrer à quel type d'autocollants je fais référence...
× 1

Outils et machines nécessaires

Pistolet à colle chaude (générique)
couteau à tapis

Applications et services en ligne

Arduino IDE

À propos de ce projet

Contexte

Mon neveu (9 ans) et ma nièce (7 ans) sont devenus complètement dingues lorsqu'ils ont vu une vidéo d'un robot d'évitement d'obstacles que j'ai construit il y a quelque temps.

Le didacticiel pour celui-ci ne viendra malheureusement jamais car il précède la mort de mon disque dur et me fait découvrir les avantages des sauvegardes et de DropBox, GitHub, etc. :)

J'ai donc décidé de voir si je pouvais proposer quelque chose qui serait à la fois (un peu) éducatif et amusant. J'ai simplifié mon jouet au maximum et j'ai imaginé ce petit rover.

Le châssis est une boîte qui contenait à l'origine des bâtonnets de crabe. Il s'avère que la taille était tout simplement parfaite. (Merci papa d'avoir grignoté ceux-ci par la caisse pleine :D ) Un récipient de margarine serait probablement aussi la bonne taille.

En guise d'avertissement, je vais décrire ici comment nous avons construit ces robots et nous avons laissé les enfants faire presque tout le travail eux-mêmes. Je ne recommande en aucun cas de le faire. C'est à vous en tant que parents / tuteurs / tante / oncle / baby-sitter responsables de déterminer si chaque enfant en question peut être confié aux différentes tâches. Même si ce n'était pas vraiment nécessaire, les enfants devaient porter des lunettes de protection lorsqu'ils travaillaient sur les robots. Les boîtes que nous avons utilisées étaient en plastique très doux, j'ai donc laissé mon neveu et ma nièce les couper eux-mêmes après un briefing sur les dangers de pointer le couteau à tapis vers eux-mêmes ou leurs propres membres. Pour percer les trous pour les LED, nous avons utilisé un petit tournevis électrique sans fil pour limiter les blessures potentielles.

Je suis heureux d'annoncer que le kit médical que j'avais en attente n'est toujours pas utilisé. :)

Mais pour répéter, VOUS êtes l'adulte !

Circuit

J'ai rendu le circuit un peu plus compliqué que j'aurais pu en connectant les deux servos comme je l'ai fait.

Pour les enfants... Je n'arrête pas de le dire, mais les « enfants » comprenaient ma sœur (35 ans) et ma mère (65 ans), qui ont toutes deux apprécié l'après-midi de Robots-and-Crafts autant que le de vrais enfants. :)

Donc, pour mon public, j'ai imprimé l'image sur une page A4 en essayant de garder l'échelle de la maquette 1:1 avec le monde réel et je leur ai donné tous les cavaliers de la bonne couleur et de la bonne longueur.

Une fois le circuit assemblé, il suffit de charger le programme sur l'Arduino. J'ai inclus des commentaires dans le code pour vous aider à modifier un peu le code, si vous en avez besoin. Si tout est correctement connecté, les servos devraient commencer à tourner et les LED clignoteront. Et si vous placez votre main devant le capteur, un servo servo s'arrêtera et l'autre tournera brièvement dans l'autre sens.

Tout est prêt !

Assemblage

Il est temps de prendre votre "châssis" et de le percer.

A l'avant, marquez la position de votre capteur et découpez les trous "oeil".

Sur le côté, mesurez bien l'endroit où vous voulez que les roues aillent et découpez un trou sur le côté, au bord du bas de la boîte, assez grand pour que le servo puisse s'y insérer mais assez petit pour que les supports de montage n'aillent pas par.

À l'aide d'un petit foret, percez 2 petits trous pour les LED.

Sur le fond de la boîte, vers l'arrière, vissez la roulette (ou collez-la à chaud).

Vous êtes maintenant prêt à tout mettre dans la boîte et à coller à chaud le matériel en place.

Montez les roues sur les servos une fois la colle prise.

Décorez la boîte ! (Et poster des photos dessus ! Ce serait génial !)

Mettez les piles et regardez le petit rover se déplacer dans la pièce au hasard jusqu'à ce que les piles s'épuisent. Ou vous en avez marre du bruit. Ou le chien s'en empare ! :D

Code

  • LittleRover
LittleRoverArduino
Ceci est la version du code pour le capteur à ultrasons 4 broches
#include /*Si vous avez un capteur avec seulement 3 broches, Décommentez la ligne 6 et commentez la ligne 7*///int distanceR =A0 ; //Trigger pinint distance =6; //Trigger pinint pingDelay =10; //longueur de l'impulsion du capteur Ultra-sonique distanceR =A0; //Echo pinint led1 =8, led2 =9; //LEDsServo leftPower;Servo rightPower;unsigned long flashTime; non signé long nextSensorTime;float obstacleDist =0.0f;void setup() { //Serial.begin(115200); leftPower.attach(3); rightPower.attach(5); leftPower.write(90); rightPower.write(90); pinMode(led1, SORTIE); pinMode(led2, SORTIE); delay(1000);}boucle vide() { LEDs(); /* Cela évite au capteur de vider la batterie trop rapidement en limitant les vérifications à 5 fois par seconde Vous pouvez augmenter ce nombre pour vérifier moins souvent mais cela risque alors de se heurter au mur... */ if(millis() - nextSensorTime> 200){ nextSensorTime =millis(); /* Je fais 2 lectures ici car parfois le capteur s'embrouille et ne renvoie rien... */ float lecture1 =TakeReading(); retard (100); float lecture2 =TakeReading(); Serial.println(lecture1) ; Serial.println(lecture2) ; //Ensuite on prend la plus grande distance pour obstacleDist obstacleDist =lecture1>=lecture2 ? lecture1 :lecture2; //Si la distance est inférieure à 10cm, tournez, sinon continuez tout droit. if(obstacleDist <10.0f){ //Serial.println("turn"); tour(); }else{ //Serial.println("forward"); effronté(); } }} void LEDs(){ if(millis() - flashTime> 1000) flashTime =millis(); if(millis() - flashTime <500){ digitalWrite(led1, LOW); digitalWrite(led2, HAUT); } else if(millis() - flashTime> 500){ digitalWrite(led1, HIGH); digitalWrite(led2, LOW); }}void forward(){ /* Si vous constatez que votre robot recule, échangez le 135 et le 45. */ leftPower.write(135); rightPower.write(45);}void turn(){ /* Si vous voulez que votre robot tourne dans l'autre sens, Décommentez les lignes 92-93 ci-dessous et commentez 95-96 */ //leftPower.write(90); //rightPower.write(135); leftPower.write(45); rightPower.write(90); delay(350);}float TakeReading(){ long echo non signé =0; résultat flottant =0.0f; pinMode(distance, SORTIE); digitalWrite(distance, FAIBLE); délaiMicrosecondes(2) ; digitalWrite(distance, HAUT); delayMicroseconds(pingDelay); digitalWrite(distance, FAIBLE); pinMode(distanceR, INPUT); digitalWrite(distanceR, HAUT); echo =pulseIn(distanceR,HIGH,38000); résultat =écho/58.138 ; renvoie le résultat ;}

Schémas

littlerover_87IypZOgwm.fzz

Processus de fabrication

  1. Rover
  2. Attaque d'OVNI !
  3. Dés numériques Arduino
  4. Feu de l'eau
  5. Ardulock 3D RVB
  6. MyRiver
  7. Iron Man
  8. Jeu de manette
  9. Trouvez-moi