Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Kleiner Rover

Komponenten und Verbrauchsmaterialien

Arduino Nano R3
× 1
Breadboard (generisch)
× 1
Jumper (generisch)
× 1
Ultraschallsensor - HC-SR04 (Generic)
× 1
Adafruit-Rad für Micro Continuous Rotation FS90R Servo
× 2
Adafruit Micro Servo mit kontinuierlicher Rotation - FS90R
× 2
LED (generisch)
Jede Farbe. Es ist nur, um das Ding zum Spaß zu machen und zu blinzeln, während es herumstreunt
× 2
4xAA Batteriehalter
Ich habe einen Fassbatteriehalter verwendet... Dies ist nur als Referenz.
× 1
SparkFun Ball Caster Metall - 3/8"
× 1
Kunststoffbehälter
Wie eine billige Tupperware oder eine 500-g-Magarine-Box.
× 1
Aufkleber
Dies ist nur ein Beispiel, um zu zeigen, auf welche Art von Aufklebern ich mich beziehe...
× 1

Notwendige Werkzeuge und Maschinen

Heißklebepistole (generisch)
Teppichmesser

Apps und Onlinedienste

Arduino-IDE

Über dieses Projekt

Hintergrund

Mein Neffe (9 Jahre) und meine Nichte (7 Jahre) waren total durchgedreht, als sie ein Video von einem Hindernisvermeidungsroboter sahen, den ich vor einiger Zeit gebaut hatte.

Tutorial dazu wird leider nie kommen, da es älter ist als mein Festplattensterben und ich die Vorteile von Backups und DropBox, GitHub usw. entdeckt habe. :)

Also beschloss ich zu sehen, ob ich mir etwas einfallen lassen könnte, das sowohl (ein wenig) lehrreich als auch unterhaltsam ist. Ich habe mein Spielzeug so weit wie möglich vereinfacht und diesen kleinen Rover entwickelt.

Das Chassis ist eine Kiste, die ursprünglich Krabbenstöcke enthielt. Es stellte sich heraus, dass die Größe einfach perfekt war. (Danke Papa, dass du die Kiste voll gefressen hast :D) Ein Margarinebehälter hätte wahrscheinlich auch die richtige Größe.

Als Haftungsausschluss werde ich hier beschreiben, wie wir diese Roboter gebaut haben und die Kinder fast die ganze Arbeit selbst machen lassen. Ich empfehle dies auf keinen Fall. Es liegt an Ihnen als verantwortlichen Eltern / Erziehungsberechtigten / Tante / Onkel / Babysitter..., ob jedem Kind die verschiedenen Aufgaben anvertraut werden können. Auch wenn es nicht unbedingt nötig war, mussten die Kinder bei der Arbeit an den Robotern eine Schutzbrille tragen. Die von uns verwendeten Boxen waren aus sehr weichem Kunststoff, so dass ich diese von meinem Neffen und meiner Nichte nach einer Einweisung in die Gefahren des Richtens des Teppichmessers auf sich selbst oder ihre eigenen Gliedmaßen selbst schneiden ließ. Zum Bohren der Löcher für die LEDs verwendeten wir a kleiner Akkuschrauber, um mögliche Verletzungen zu begrenzen.

Ich freue mich, Ihnen mitteilen zu können, dass mein medizinisches Set, das ich in Bereitschaft hatte, immer noch ungenutzt ist. :)

Aber um es noch einmal zu wiederholen, DU bist der Erwachsene!

Schaltung

Ich habe die Schaltung etwas komplizierter gemacht, als ich hätte, indem ich beide Servos so angeschlossen habe, wie ich es getan habe.

Für die Kinder... Ich sage das immer wieder, aber zu den 'Kindern' gehörten meine Schwester (35 Jahre) und meine Mutter (65 Jahre), die beide den Roboter-und-Handwerks-Nachmittag genauso genossen wie die echte Kinder. :)

Für mein Publikum druckte ich das Bild auf einer A4-Seite aus, um den Maßstab des Steckbretts 1:1 mit der realen Welt zu halten, und gab ihnen alle Überbrückungsdrähte in der richtigen Farbe und Länge.

Sobald die Schaltung zusammengebaut ist, laden Sie das Programm einfach auf den Arduino. Ich habe Kommentare in den Code eingefügt, um Ihnen zu helfen, den Code bei Bedarf ein wenig zu optimieren. Wenn alles richtig angeschlossen ist, sollten sich die Servos drehen und die LEDs blinken. Und wenn Sie Ihre Hand vor den Sensor halten, stoppt ein Servo-Servo und das andere dreht kurz in die andere Richtung.

Alles bereit!

Montage

Es ist Zeit, Ihr "Chassis" zu nehmen und Löcher darin zu machen.

Markieren Sie vorne die Position Ihres Sensors und schneiden Sie die "Augen"-Löcher aus.

Messen Sie an der Seite gut, wo die Räder sein sollen, und schneiden Sie ein Loch in die Seite, am Rand des Bodens der Box, groß genug, damit das Servo hineinpasst, aber klein genug, damit die Montagehalterungen nicht gehen durch.

Bohren Sie mit einem kleinen Bohrer 2 kleine Löcher für die LEDs.

Auf der Unterseite des Kartons, nach hinten, das Laufrad einschrauben (oder heiß kleben).

Jetzt sind Sie bereit, alles in die Schachtel zu legen und das Zeug mit Heißkleber an Ort und Stelle zu kleben.

Montieren Sie die Räder auf die Servos, sobald der Kleber ausgehärtet ist.

Dekoriere die Kiste! (Und poste Bilder dazu! Das wäre toll!)

Legen Sie die Batterien ein und beobachten Sie, wie sich der kleine Rover zufällig im Raum bewegt, bis die Batterien leer sind. Oder Sie werden des Lärms müde. Oder der Hund erwischt es! :D

Code

  • LittleRover
LittleRoverArduino
Dies ist die Version des Codes für den 4-Pin-Ultraschallsensor
#include /*Wenn Sie einen Sensor mit nur 3 Pins haben, kommentieren Sie Zeile 6 und kommentieren Sie Zeile 7*///int distanceR =A0; // Pinint-Abstand auslösen =6; // Pinint auslösen pingDelay =10; // Länge des Pulses des Ultraschallsensorint DistanceR =A0; // Echo Pinint led1 =8, led2 =9; //LEDsServo leftPower;Servo rightPower;unsigned long flashTime; unsigned long nextSensorTime;float HindernisDist =0.0f;void setup() {//Serial.begin(115200); leftPower.attach(3); rightPower.attach(5); leftPower.write(90); rightPower.write(90); pinMode (led1, AUSGANG); PinMode (led2, AUSGANG); Verzögerung (1000);} ungültige Schleife () { LEDs (); /* Dies verhindert, dass der Sensor die Batterie zu schnell entlädt, indem die Überprüfungen auf 5 Mal pro Sekunde begrenzt werden Sie können diese Zahl erhöhen, um weniger oft zu überprüfen, aber dann könnte es gegen die Wand laufen...> 200) { nextSensorTime =millis(); /* Ich mache hier 2 Messungen, weil der Sensor manchmal verwirrt ist und nichts zurückgibt ... */ float reading1 =TakeReading(); Verzögerung (100); float-reading2 =TakeReading(); Serial.println (lesen1); Serial.println (lesen2); // Dann nehmen wir die größte Distanz für HindernisDist HindernisDist =Reading1>=Reading2 ? Lesen1 :Lesen2; // Wenn der Abstand weniger als 10 cm beträgt, biegen Sie ab, ansonsten fahren Sie geradeaus. if(obstacleDist <10.0f){//Serial.println("turn"); Dreh dich(); }sonst{//Serial.println("weiter"); nach vorne(); } }}void LEDs () { if (millis ( - flashTime> 1000) flashTime =millis (); if (millis () - flashTime <500) { digitalWrite (led1, LOW); digitalWrite (led2, HIGH); } Sonst if (millis () - flashTime> 500) { digitalWrite (led1, HIGH); digitalWrite (led2, LOW); }}void forward(){ /* Wenn Sie feststellen, dass Ihr Roboter rückwärts fährt, tauschen Sie 135 und 45 aus. */ leftPower.write(135); rightPower.write(45);}void turn(){ /* Wenn Sie möchten, dass Ihr Roboter in die andere Richtung dreht, entkommentieren Sie die Zeilen 92-93 unten und kommentieren Sie 95-96 */ //leftPower.write(90); //rightPower.write(135); leftPower.write(45); rightPower.write(90); Verzögerung (350);} Float TakeReading () { unsigned long echo =0; Float-Ergebnis =0.0f; pinMode (Abstand, AUSGANG); digitalWrite (Entfernung, NIEDRIG); VerzögerungMikrosekunden(2); digitalWrite (Entfernung, HOCH); delayMikrosekunden (pingDelay); digitalWrite (Entfernung, NIEDRIG); pinMode (AbstandR, EINGANG); digitalWrite (Abstand R, HOCH); echo =pulseIn(distanzR,HIGH,38000); Ergebnis =Echo/58.138; Ergebnis zurückgeben;}

Schaltpläne

littlerover_87IypZOgwm.fzz

Herstellungsprozess

  1. Rover
  2. UFO-Angriff!
  3. Arduino Digital Dice
  4. Feuer aus Wasser
  5. 3D RGB Arduclock
  6. MyRiver
  7. Iron Man
  8. Joystick-Spiel
  9. Finde mich
  10. Arduino 3D-gedruckter Roboterarm