Reiniger PinooBot
Zweck des Projekts: Erstellen eines Reinigungsroboters mit Pinoobot und Abstandssensor mithilfe der Pinoo-Steuerkarte.
Dauer: 2 Lektionen
Altersgruppe: 7 Jahre und älter
Pinoo-Set: PinooBot-Set und komplettes Set.
Gewinne:
- Pinoo lernt, die Steuerplatine zu codieren
- Lernt, den Abstandssensor zu codieren.
- Pinoobot trifft Roboter.
- Die Fähigkeit, Algorithmen zu etablieren, verbessert sich.
- Die Programmierfähigkeiten verbessern sich.
Benötigte Materialien: Mblock 3-Programm, PinooBot Robot / Pinoo-Steuerkarte, Abstandssensor, Verbindungskabel.
Für die Gestaltung benötigte Materialien: Spülschwamm, Chenille, Müllbeutel, Magnet, Silikonpistole, Schere.
Projektaufbau:
Wir schneiden ein mittelgroßes rechteckiges Stück aus dem Schwamm und binden es mit Chenille an der Vorderseite des Pinoobots fest.
Wir kleben drei Magnete auf die Unterseite des Schwamms.
Sie können den Roboter passend zu seiner Rolle nach Belieben dekorieren.
Wir schneiden die Müllsäcke in kleine rechteckige Stücke und befestigen sie, indem wir einen Magneten hineinstecken. Wir haben vier gemacht, Sie können die Anzahl erhöhen, wenn Sie möchten.
Wir verteilen den von uns erzeugten Müll in dem Bereich, in dem wir unseren Roboter betreiben werden.
Lasst uns unsere Kontakte knüpfen. Wir verbinden den Abstandssensor mit dem Verbindungskabel mit dem lila/grünen Eingang Nummer 6 (Wenn Ihre Motoranschlüsse nicht hergestellt sind, stellen wir die Verbindung zu den weißen Eingängen auf der Pinoo-Steuerkarte her, die speziell für die Motoranschlüsse vorgesehen sind.)
Wir haben unsere Verbindungen fertiggestellt, jetzt gehen wir zum Codierungsteil über. Wir werden hierfür die mblock-3-Anwendung verwenden.
Verbinden wir unsere Pinoo-Steuerkarte über das Verbindungskabel mit dem Computer und melden uns bei der Mblock3-Anwendung an. Als nächstes führen wir unsere Pinoo-Steuerkarte in den Computer ein. Klicken Sie dazu zunächst auf der Registerkarte „Verbinden“ auf die Option „Serieller Anschluss“. Dann wählen wir COM6. (Die Anzahl kann je nach Computer und Port variieren.)
Nachdem wir die Verbindung zur seriellen Schnittstelle hergestellt haben, wählen wir auf der Registerkarte „Karten“ die Karte aus, die wir verwenden möchten. Wir arbeiten mit dem Nano-Modell von Arduino.
Um die Pinoo-Erweiterung zu unserem Computer hinzuzufügen, klicken wir auf der Registerkarte „Erweiterungen“ auf die Option „Erweiterungen verwalten“. Im sich öffnenden Fenster geben wir „Pinoo“ in die Suchmaschine ein und klicken beim Ergebnis einfach auf „Herunterladen“. Es wurde auf unserem Computer installiert.
Wir gehen erneut zur Registerkarte „Erweiterungen“ und klicken auf Pinoo. Wir werden unsere Codes mit der Pinoo-Erweiterung schreiben.
Im Codierungsteil; Wir erhalten den Code, wenn wir im Menü „Ereignisse“ auf die grüne Flagge klicken, damit die Anwendung startet.
Mithilfe des Dummys lernen wir den vom Abstandssensor erfassten Wert. Dazu erhalten wir den Befehl „Sag Hallo“ aus der Registerkarte „Ansicht“. Anstelle der Hallo-Anweisung erhalten wir den Codeblock zum Abstandssensor im Roboter-Tab. Wir ändern den Pin-Eingang auf Pinoo6, mit dem wir uns verbinden.
Da wir möchten, dass es kontinuierlich und nicht einmal gelesen wird, fügen wir alle unsere Codes auf der Registerkarte „Steuerung“ in den Block „Kontinuierliche Wiederholung“ ein.
Klicken wir auf die grüne Flagge und beobachten wir die Werteveränderung, indem wir unsere Hand näher und weiter vom Sensor entfernen. Beachten wir den Wert, den der Sensor anzeigt, wenn wir unsere Hand näher an den Roboter bringen. Als Referenz nehmen wir hier einen Wert um 10 an.
Wenn der vom Abstandssensor gemessene Wert kleiner als 10 ist, d. h. wenn sich der Roboter einem Hindernis nähert, sollte er 2 Sekunden lang nach rechts abbiegen und sich dann vorwärts bewegen Ist der vom Sensor erfasste Wert größer als 10, bewegt sich der Roboter vorwärts und rückwärts und führt Bewegungen nach links und rechts aus. Lassen Sie uns nun das, was wir geschrieben haben, in Code umwandeln.
Hier verwenden wir den if-Block auf der Registerkarte „Steuerung“ und die kleinen und großen Vergleichsoperatoren auf der Registerkarte „Operationen“.
Vervollständigen wir die Codes, damit PinooBot entsprechend der zu erfüllenden Bedingung agiert.
Wenn der Sensor einen Wert größer als 10 anzeigt, erhalten wir den PinooBot-Codeblock „Richtung: Vorwärtsgeschwindigkeit: 0“ aus der Registerkarte „Roboter“. Wir aktualisieren die Richtungen jeweils auf vorwärts, rechts, rückwärts und links und die Geschwindigkeit in allen auf 255.
Da wir möchten, dass dieser Prozess ständig kontrolliert wird, platzieren wir alle Blöcke im kontinuierlich wiederholenden Block.
Wir möchten, dass jede Bewegung für einen bestimmten Zeitraum ausgeführt wird. Dazu nehmen wir den Codeblock „Warten Sie 1 Sekunde“ aus der Registerkarte „Steuerung“ unter jedem Zug und aktualisieren die Nummer 1 auf 2.
Für einen Sensorwert von weniger als 10 erhalten wir den PinooBot-Codeblock „Richtung: Vorwärtsgeschwindigkeit: 0“ aus der Registerkarte „Roboter“. Wir aktualisieren ihre Anweisungen auf Rechtsverteidiger und die Geschwindigkeit auf jeweils 255. Damit das Rechtsabbiegen 2 Sekunden dauert, nehmen wir den Befehl „Warten Sie 1 Sekunde“ aus der Registerkarte „Steuerung“ und aktualisieren die Zahl 1 auf 2.
Nachdem wir unsere Codes vervollständigt haben, platzieren wir den Roboter auf der Plattform und überprüfen den Betrieb unseres Projekts, indem wir auf die grüne Flagge klicken. Wir platzieren den Roboter in dem von uns festgelegten Bereich, er bewegt sich vorwärts, rückwärts, rechts und links und sammelt dabei mit Hilfe von Magneten die Müllsäcke auf dem Boden ein. Nähert sich der Roboter einem Hindernis, muss er nach rechts abbiegen und sich vorwärts bewegen.
Wenn beim Betrieb unseres Projekts kein Problem auftritt, müssen wir die Codes, die wir auf unsere Karte geschrieben haben, hochladen, um unser Projekt mit einer vom Computer unabhängigen Stromquelle ausführen zu können.
Dazu verwerfen wir den Klick auf den grünen Flaggencode, den wir zu Beginn verwendet haben, und den Code, mit dem wir die Puppe dazu gebracht haben, den Sensorwert mitzuteilen, und holen uns den Pinoo-Programmcode aus dem Menü „Roboter“.
Wir klicken mit der rechten Maustaste auf den Code und klicken auf „Auf Arduino hochladen“. (Wir arbeiten mit Arduino als Karte.)
Wir warten darauf, dass die Codes auf die Karte hochgeladen werden. Nachdem die Installation abgeschlossen ist, schließen wir das Fenster.
Wenn es kein Problem gibt, ziehen wir unser Netzkabel vom Computer ab. Wir versorgen unsere Pinoo-Steuerkarte mit Hilfe einer 9-V-Batterie und eines Batteriedeckels. Außerdem stellen wir den Ein-/Ausschalter, der sich direkt neben dem Batterieeingang befindet, auf die Ein-Position.
ARDUINO-IDE-CODES:
// Wir haben die Motorpins zugewiesen int motora1 = 5 ; int motora2 = 6 ; int motorb1 = 10 ; int motorb2 = 11 ; // Wir haben die Pins des Abstandssensors zugewiesen int echoPin = 12 ; int trigPin = 13 ; Ferngespräche , Sure ; //Wir haben zwei Variablen zur Entfernungsmessung zugewiesen void setup ( ) { //Motorpins sind Ausgangspins pinMode ( motora1 , OUTPUT ) ; pinMode ( motora2 , OUTPUT ) ; pinMode ( motorb1 , OUTPUT ) ; pinMode ( motorb2 , OUTPUT ) ; pinMode ( echoPin , INPUT ) ; // echo ist der Eingabepin pinMode ( trigPin , OUTPUT ) ; // trig ist der Ausgangspin } Leere Schleife ( ) { //Abstandssensor aktiviert digitalWrite ( trigPin , LOW ) ; VerzögerungMikrosekunden ( 5 ) ; digitalWrite ( trigPin , HIGH ) ; VerzögerungMikrosekunden ( 10 ) ; digitalWrite ( trigPin , LOW ) ; Dauer = PulseIn ( echoPin , HIGH ) ; Abstand = Sure / 29,1 / 2 ; //die Entfernung gemessen if ( distance > 10 ) { // wenn der Abstand größer als 10 ist nach vorne ( ) ; //geht vorwärts Verzögerung ( 2000 ) ; Rechts ( ) ; // bewegt sich nach rechts Verzögerung ( 2000 ) ; links ( ) ; // bewegt sich nach links Verzögerung ( 2000 ) ; zurück ( ) ; //geht zurück Verzögerung ( 2000 ) ; } else if ( distance < 10 ) { // wenn der Abstand kleiner als 10 ist Rechts ( ) ; // bewegt sich nach rechts Verzögerung ( 2000 ) ; nach vorne ( ) ; //geht vorwärts } } void vorwärts ( ) { } void return ( ) { } void right ( ) { } void left ( ) { }