Kaufen Sie aus den OSOYOO | Kaufen Sie bei US | Kaufen Sie bei UK | Kaufen Sie bei DE | Kaufen Sie bei IT | Kaufen Sie bei FR | Kaufen Sie bei ES | Kaufen Sie bei JP |
In diesem Projekt werden wir einen intelligenten Roboterfinger bauen und ihn verwenden, um einen Tischtennisball an einen anderen Ort zu befördern. Wir werden einen Hindernissensor (Ultraschall-Distanzdetektor) verwenden, um den kommenden Ball zu erkennen. Wenn ein Ball erkannt wird, nimmt der Finger den Ball auf, und das Auto lässt ihn an einem anderen Ort fallen, dann fährt das Auto zurück zu seinem ursprünglichen Platz, um auf einen anderen Ball zu warten.
Bitte bereiten Sie die folgenden Teile vor, um dieses Projekt abzuschließen
HINWEIS:
1. Die Farbe des Bausteins ist abhängig von dem tatsächlichen Produkt, was keinen Einfluss auf die Verwendung hat.
2. ALLE OSOYOO PRODUKTE FÜR ARDUINO SIND DRITTANBIETER-BOARD, DAS VOLLSTÄNDIG KOMPATIBEL MIT ARDUINO IST.
Bevor Sie den Roboter mit Blöcken bauen, installieren Sie bitte die [OSOYOO basic board] für Arduino unter dem [OSOYOO Magic I/O shield] wie folgt (Achtung: die Pins des [I/O shield] werden zuerst mit dem Port der Basisplatine ausgerichtet, dann drücken Sie das Schild fest auf die UNO-Platine).
Bitte folgen Sie den Bauschritten, um dieses Roboterauto zu bauen. Wenn Sie klare PDF-Bauschritte erhalten möchten, laden Sie bitte von https://osoyoo.com/picture/Building_Robot_Car/lesson5/LESSON5.pdf
Hinweis: Wenn Sie das Roboterauto für Lektion 1, gebaut haben, überspringen Sie bitte Schritt 35 in dieser PDF-Datei.
Bitte schließen Sie die Motoren und das 9V-Batteriegehäuse wie in Lektion 1 an.
Verbinden Sie dann den SG90-Servomotor mit dem D4-Anschluss des [OSOYOO Magic I/O shield] und den Ultraschallsensor mit dem D7D8-Anschluss des [Magic I/O shield] mit einem 4-poligen PNP-Kabel wie unten dargestellt:
Hinweis: In diesem Kit verwenden wir mblock als Programmierwerkzeug. Wenn Sie mehr über mblock erfahren möchten, besuchen Sie bitte Vorbereitung vor Klasse 1: https://osoyoo.com/de/2021/12/01/preparation-before-class-1
Schritt 1) Laden Sie die mBlock PC-Version von https://mblock.makeblock.com/en-us/download/ herunter, und wählen Sie die Download-Datei entsprechend dem Betriebssystem Ihres Computers aus (bitte verwenden Sie nicht die Browser-Version):
Schritt 2) Laden Sie die Gerätedatei OSOYOO_UNO.mext von https://osoyoo.com/driver/mblock/osoyoo_uno.mext herunter.
Schritt 3) Führen Sie die mBlock PC-Software aus, indem Sie auf das schöne Panda-Symbol doppelklicken. Sie sehen die mBlock-Benutzeroberfläche wie auf dem folgenden Bild. Bitte löschen Sie das Standardgerät CyberPi, indem Sie auf das Kreuz im roten Kreis klicken.
Schritt 4) Ziehen Sie die osoyoo_uno_mext Datei (heruntergeladen in Schritt 2) auf die mBlock Software wie folgt:
Jetzt sehen Sie eine neue Gerätefirmware in mBlock, siehe folgendes Bild:
Die mBlock-Software und die OSOYOO_UNO-Geräte-Firmware sind nun erfolgreich auf unserem PC installiert worden!
Jetzt werden wir Ihnen zeigen, wie Sie die obige Idee mit Hilfe von Blöcken in die Realität umsetzen können.
Schritt 5: Klicken Sie auf [Events], fügen Sie den Block [when Arduino Uno starts up] oben hinzu:
Schritt 6: Klicken Sie auf [Action], dann ziehen Sie den Block [set servo pin angle as] in den Programmierbereich und ändern Sie den Pin 9 auf 4, 90 auf 30 wie folgt;
Schritt 7: Klicken Sie auf [Control], ziehen Sie dann den Block [wait seconds] in den Programmierbereich und stellen Sie den Wert wie folgt auf 0,5 Sekunden ein:
Schritt 8: Klicken Sie erneut auf [Action], dann ziehen Sie den Block [set servo pin angle as] in den Programmierbereich, 30 bis 0 wie folgt;
Schritt 9: Wiederholen Sie Schritt 7 wie folgt:
Schritt 10: Klicken Sie auf [Action], dann ziehen Sie den Block [set servo pin angle] in den Programmierbereich und ändern Sie 0 bis 30 wie folgt;
Schritt 11: Klicken Sie auf [Control], dann ziehen Sie den Block [wait seconds] in den Programmierbereich und schreiben Sie 1 Sekunde wie folgt:
Schritt 12: Klicken Sie auf [Control] und ziehen Sie den Block [forever] wie folgt in den Programmierbereich:
Schritt 13: Klicken Sie erneut auf [Control] und ziehen Sie dann den [if then else]-Block wie folgt in den Programmierbereich:
Schritt 14: Klicken Sie auf [Operation], dann ziehen Sie den Block [0<0] in den Programmierbereich und ändern Sie die 0 wie folgt in 7:
Schritt 15: Klicken Sie auf [Sensor], dann ziehen Sie den Block [read ultrasonic sensor trig pin echo pin] in den Programmierbereich und setzen Sie Pin 7 und Pin 8 wie folgt;
Schritt 16: Klicken Sie auf [Aktion] und ziehen Sie dann den [Stop Moving]-Block wie folgt in den Programmierbereich;
Schritt 17: Klicken Sie auf [Control], ziehen Sie den Block [wait seconds] in den Programmierbereich und schreiben Sie 0,5 Sekunden wie folgt:
Schritt 18: Klicken Sie auf [Action], dann ziehen Sie den Block [set servo pin angle as] in den Programmierbereich und ändern Sie 0 bis 25 wie folgt;
Schritt 19: Klicken Sie mit der rechten Maustaste auf den Block [Wait seconds] und dann auf [duplicate] im Block [digital write pin to]. Sie erhalten einen duplizierten Block und platzieren ihn hinter dem Block [Set servo pin angle as]. Ändern Sie den Winkelwert wie in der folgenden Abbildung dargestellt.
Schritt 20: Klicken Sie auf [Control], dann ziehen Sie den Block [wait seconds] in den Programmierbereich und schreiben Sie 0,5 Sekunden wie folgt:
Schritt 21: Klicken Sie auf [Action] und ziehen Sie den Block [Turn Left Speed for] in den Programmierbereich. Ändern Sie den Wert von 1 Sekunde auf 0,4 Sekunden wie folgt;
Schritt 22: Klicken Sie auf [Action] und ziehen Sie dann den [Stop Moving]-Block wie folgt in den Programmierbereich;
Schritt 23: Klicken Sie erneut auf [Action] und ziehen Sie den Block [set servo pin angle as] in den Programmierbereich, ändern Sie 90 in 0 wie folgt;
Schritt 24: Klicken Sie auf [Control], ziehen Sie den Block [wait seconds] in den Programmierbereich und schreiben Sie 0,5 Sekunden wie folgt:
Schritt 25: Wiederholen Sie Schritt 23 und ändern Sie die 90 in 15 wie folgt:
Schritt 26: Klicken Sie auf [Control], ziehen Sie den Block [wait seconds] in den Programmierbereich und schreiben Sie 0,5 Sekunden wie folgt:
Schritt 27: Klicken Sie erneut auf [Action] und ziehen Sie den Block [set servo pin angle as] in den Programmierbereich, ändern Sie 90 in 30 wie folgt;
Schritt 28: Klicken Sie auf [Action], ziehen Sie den Block [Move Backward at speed for sec] in den Programmierbereich und ändern Sie die Geschwindigkeit wie folgt von 100 auf 50;
Schritt 29: Ziehen Sie auch in [Action] den Block [Turn Right at speed for sec] in den Programmierbereich, ändern Sie die Geschwindigkeit von 100 auf 50 und ändern Sie von 1 sec auf 0,5 sec wie folgt;
Schritt 30: Ziehen Sie den Block [Move Forward at speed for sec] in den Programmierbereich und ändern Sie die Geschwindigkeit wie folgt von 100 auf 50;
Schritt 31: Ziehen Sie den Block [Forward Left speed Right speed] in den Programmierbereich und ändern Sie die Geschwindigkeit wie folgt von 100 auf 30;
Jetzt haben wir die Blockprogrammierung abgeschlossen. Die endgültigen Blöcke sehen wie folgt aus:
Jetzt sind alle Programmierblöcke fertig! Aus dem obigen Bild geht hervor, dass die Logik ziemlich einfach ist:
Wenn der Arduino gestartet wird, geht der Computer in eine tote Schleife, die den Status des Knopfes prüft. Wenn der Knopf nicht gedrückt wird, stoppt das Servo in seiner ursprünglichen Position (in meinem Servo 0 Grad) und das Höhenruder befindet sich am Boden, wenn der Knopf gedrückt wird, dreht sich der Servoarm von der 0-Grad-Position in die 180-Grad-Position und das Höhenruder wird in die Luft gehoben.
In dieser Lektion werden keine neuen Programmbausteine verwendet. Wenn Sie die Bedeutung der Blöcke nicht verstehen, lesen Sie bitte die vorherigen Lektionen.
Die Programmierlogik wird in der folgenden Grafik erläutert:
Einstellen der Fingerposition:
Nach Handbuch:
Nach dem Einschalten der Stromversorgung öffnet sich der Finger, schließt sich dann, öffnet sich wieder und bleibt etwa 1 Sekunde lang in der offenen Position. Wenn der Finger nicht in der offenen Position stehen bleibt, schalten Sie bitte den Strom aus, nehmen Sie das Servogetriebe heraus und bringen Sie es in eine Position, in der beide Finger in der offenen Position sind.
Nachdem Sie den Finger in die richtige Position gebracht haben, schalten Sie bitte den Strom wieder ein. Legen Sie dann einen Ball in den geöffneten Finger. Sobald der Ultraschallsensor den Ball erkannt hat, fängt er ihn auf und bringt ihn in die linke Position. Nach der Übertragung des Balls, dann wird das Auto wieder in seine ursprüngliche Position zu drehen.
Nach Code:
Bitte laden Sie den folgenden Code auf Ihren Arduino. Schalten Sie den Strom ein und prüfen Sie, ob der Finger in geöffneter Position ist oder nicht.
Wenn nicht, stellen Sie bitte “30” auf einen anderen Grad ein und wiederholen Sie den Schritt, bis Sie den richtigen Wert erhalten.
Bitte laden Sie den folgenden Code auf Ihren Arduino. Schalten Sie den Strom ein und überprüfen Sie, ob der Finger in einer nahen Position ist oder nicht.
Wenn nicht, stellen Sie bitte “0” auf einen anderen Grad ein und wiederholen Sie den Schritt, bis Sie den richtigen Wert erhalten.
Bitte notieren Sie die Gradzahlen Ihres Roboterfingers und ersetzen Sie die Gradzahlen des Beispielcodes durch Ihren korrekten Wert, damit der Code perfekt funktioniert.
Arbeitsergebnis:
Wenn Sie den Strom einschalten und das Auto auf den Boden stellen, fährt das Auto vorwärts, wenn ein Hindernis (bitte wählen Sie das passende Hindernis entsprechend der Fingergröße) auf dem Weg ist, fängt der Finger es auf und legt es weg) und fährt dann weiter. Wie das folgende Video:
DownLoad Url osoyoo.com