Schießstand mit Pinoo
Zweck des Projekts: Erstellung eines Schießstandprojekts mit der Pinoo-Steuerkarte, dem Servomotor und dem LDR-Modul.
Dauer: 2 Lektionen
Altersgruppe: 7 Jahre und älter
Pinoo-Set: Basis-Set, Erfindungsset, Maker-Set und komplettes Set.
Gewinne:
- Pinoo lernt, die Steuerkarte zu codieren.
- Erlernt den Umgang mit Servomotoren.
- Erlernt den Umgang mit dem LDR-Modul.
- Die Fähigkeit, Algorithmen zu etablieren, verbessert sich.
- Die Programmierfähigkeiten verbessern sich.
Erforderliche Materialien: Mblock 3-Programm, Pinoo-Steuerkarte, 2 LDR-Module, 2 Servomotormodule.
Für das Design benötigte Materialien: Farbiger Karton, Zungenstab, Schachtel, kleine Taschenlampe, Karton, Universalmesser, Klebepistole und Silikon.
Projektaufbau:
Beginnen wir mit der Erstellung eines Box-Designs für unser Projekt.
Decken wir die Schachtel mit einer Silikonpistole mit farbigem Karton ab.
Wir schneiden die Pappstücke rund zu.
Wir schneiden die Pappstücke rund zu.
Wir zeichnen Kreise darauf, um das Ziel anzuzeigen.
Mit dem Universalmesser bohren wir die Mittelpunkte so, dass das LDR-Modul durchgeht. Wir platzieren die LDR-Module am Zielpunkt und silikonieren sie ein.
Wir schneiden die Sprachstäbchen aus und kleben sie auf die von uns erstellten Zielscheiben.
Wir schreiben „Shooting Range“ auf unsere Schachtel.
Wir kleben die Servomotoren in die gleiche Richtung oben auf die Box.
(In diesem Teil können Sie, wenn Sie möchten, die Pinoo-Karte schnell einlegen und die Servomotoren im 90-Grad-Winkel entfernen. Sie können sie einfacher einkleben.)
Wir kleben die Zungenstangen an den Endteil der Servomotoren.
Wir befestigen die Kabel der LDR-Sensoren und silikonieren sie auf der Rückseite der Box, um zu verhindern, dass sie aneinander stoßen.
Wir befestigen auch die Kabel der Servomotoren.
Abrechnung elektronischer Teile.
Pinoo-Erweiterung hinzufügen:






Codierungsteil:
Lassen Sie uns die beiden LDR-Werte auf dem Bildschirm anzeigen. Beachten wir den Wert, der angezeigt wird, wenn wir mit der kleinen Taschenlampe leuchten, und die Werte, die angezeigt werden, wenn wir sie herausziehen.
Hinweis: Wenn wir zwei LDR-Lichter einschalten, werden möglicherweise unterschiedliche Werte angezeigt. Im Licht wird beispielsweise ein Wert wie Pinoo7:820 und ein Wert wie Pinoo8:760 angezeigt. Wir werden diese Werte als Grundlage nehmen.
Erstellen wir unsere Bedingung für den ersten LDR-Wert. Wenn ein Wert größer als 800 angezeigt wird, bewegt sich der Servomotor nach links, also um 180 Grad. Dann wartet es 1 Sekunde und kommt dann wieder in eine aufrechte Position, d. h. es befindet sich im 90-Grad-Winkel. Wenn nicht, bleibt es bei 90 Grad.
Wir schreiben unsere Bedingung in das zweite LDR. Wenn die Bedingung wahr ist, wird sich der Servomotor dieses Mal nach rechts bewegen, also auf 0 Grad. Dann wartet es 1 Sekunde und kommt dann wieder in eine aufrechte Position, d. h. es befindet sich im 90-Grad-Winkel. Wenn nicht, bleibt es bei 90 Grad.
Um unsere Codes auf die Pinoo-Steuerkarte hochzuladen, starten wir das Ereignis mit dem Befehl „Pinoo-Programm“ und löschen den Code, den wir zur Anzeige des LDR-Werts auf dem Bildschirm verwendet haben.
Wir klicken mit der rechten Maustaste auf den Befehl „Pinoo Program“ und wählen im sich öffnenden Fenster die Option „In Arduino installieren“.
Auf der sich öffnenden Seite klicken wir auf die rot hervorgehobene Schaltfläche „Auf Arduino hochladen“.
Nachdem die Meldung „Upload abgeschlossen“ erscheint, klicken wir auf die Schaltfläche „Schließen“. Nach Abschluss der Installation wird der Batteriehalter installiert und das Projekt ausgeführt.
Arbeitsstatus des Projekts:
Wir versuchen es, indem wir eine 9V-Batterie einlegen.
Die Servos bleiben in der aufrechten Position, bis Licht auf einen LDR fällt. Wenn der LDR Licht erkennt, bewegt sich das entsprechende Servo in die horizontale Position.
ARDUINO-IDE-CODES:
#include < Servo . h > // Wir haben die Servo-Bibliothek hinzugefügt // Wir haben die Servoobjekte benannt Servo servo1 ; Servo servo2 ; // Wir haben LDRs den Pins A0 und A1 zugewiesen int ldr1 = A0 ; int ldr2 = A1 ; // Wir haben die Werte von ldr zu ldr-Werten zugewiesen int ldr1_value ; int ldr2_value ; void setup ( ) { // Wir haben die Servomotoren dem 2. und 3. Pin zugewiesen servo1 . anbringen ( 2 ) ; servo2 . befestigen ( 3 ) ; } Leere Schleife ( ) { // Wir haben die LDR-Werte analog gelesen ldr1_value = analogRead ( ldr1 ) ; ldr2_value = analogRead ( ldr2 ) ; if ( ldr1_value > 800 ) { // wenn ldr1_value größer als 800 ist servo2 . schreiben ( 180 ) ; Verzögerung ( 1000 ) ; servo2 . schreiben ( 90 ) ; } else if ( ldr1_value < 800 ) { // wenn ldr1_value kleiner als 800 ist servo2 . schreiben ( 90 ) ; } else if ( ldr2_value > 750 ) { // wenn ldr2_value größer als 750 ist servo1 . schreibe ( 0 ) ; Verzögerung ( 1000 ) ; servo1 . schreiben ( 90 ) ; } else if ( ldr2_value < 750 ) { // wenn ldr1_value kleiner als 750 ist servo1 . schreiben ( 90 ) ; } }