Partylichtsystem mit Pinoo
Zweck des Projekts: Erstellen eines Partylichtsystems mit Lichtsensor (LDR), LED-Modulen und Servomotor mithilfe der Pinoo-Steuerkarte.
Dauer: 2 Lektionen
Altersgruppe: 7 Jahre und älter
Pinoo-Set: Basis-Set, Erfindungsset, Maker-Set und komplettes Set.
Gewinne:
- Pinoo lernt, die Steuerplatine zu codieren
- Lernt, den Lichtsensor (LDR) zu codieren.
- Lernt, Servomotoren zu codieren.
- LED-Modul lernt Codierung.
- Die Fähigkeit, Algorithmen zu etablieren, verbessert sich.
- Die Programmierfähigkeiten verbessern sich.
Benötigte Materialien: Mblock 3-Programm, Pinoo-Steuerkarte, Lichtsensor (LDR), Servomotor und Propeller, 2 grüne, 1 rotes LED-Modul, 5 Verbindungskabel.
Für die Gestaltung benötigte Materialien: Farbiger Karton, Schere, Silikonpistole, Chenille.
Projektaufbau:
Wir zeichnen einen mittelgroßen Kreis auf den Karton und schneiden ihn aus.
Wir bohren in der Mitte des Kreises ein kleines Loch für den Lichtsensor.
Wir befestigen den Lichtsensor in dem von uns geöffneten Loch, sodass der Sensor von oben sichtbar ist.
Wir befestigen den Propeller des Servomotors in der Mitte des Kreises.
Wir bohren ein kleines Loch in den Boden. Wir befestigen den Motor am Boden, sodass das Servomotorkabel unter der Erde bleibt.
Wir befestigen unseren Kreis mit Hilfe seines Propellers am Servomotor.
In bestimmten Abständen befestigen wir LEDs links vom Boden.
Wir schneiden 4 kleine rechteckige Stücke aus Pappe und kleben sie an die unteren Ecken des Bodens, um sie über den Hauptboden zu heben.
Wir dekorieren unsere Party-Lichtanlage nach unseren Wünschen.
Lassen Sie uns unsere Verbindungen herstellen. Wir platzieren die Pinoo-Steuerkarte im Raum zwischen der Hauptmasse und der Masse des Partylichtsystems und verbinden die LEDs mit dem Eingang Nummer 1 (lila) gemäß der Beschriftung auf dem Servomotor und unserem Lichtsensor An den roten Eingang Nummer 7 mit dem Verbindungskabel. Die LEDs sind 4, von oben nach unten. Wir verbinden es mit einem Verbindungskabel an die violetten Eingänge Nummer 3 und 2.
Verbindung und Codierung:
Kommen wir nun zum Codierungsteil. 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 stellen wir unsere Pinoo-Steuerkarte dem Computer vor. Klicken Sie dazu zunächst auf der Registerkarte „Verbinden“ auf die Option „Serieller Anschluss“. Dann wählen wir COM3. (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.
Nachdem wir unsere Karte ausgewählt haben, klicken wir auf der Registerkarte „Erweiterungen“ auf die Option „Pinoo“. Wir werden unsere Codes mit der Pinoo-Erweiterung schreiben.
Im Codierungsteil erhalten wir den Code, wenn wir im Menü „Ereignisse“ auf die grüne Flagge klicken, um die Anwendung zu starten.
Wir werden Hilfe von Variablen erhalten, um den vom Lichtsensor gelesenen Wert zu lernen. Auf der Registerkarte „Data&Block“ erstellen wir eine Variable namens „light“.
Wir müssen darauf hinweisen, dass die von uns erstellte Lichtvariable dem vom Lichtsensor gelesenen Wert entspricht. Wir nehmen den Block „Lass das Licht 0 sein“ aus der Registerkarte „Datenblock“ und platzieren den Codeblock, der sich auf den Lichtsensor bezieht, in den Abschnitt „Wert (0)“ auf der Registerkarte „Roboter“.
***Vergessen Sie nicht, die PIN-Nummer zu ändern. Wir haben den Sensor an den Pinoo7-Eingang angeschlossen.
Um den Wertlesevorgang kontinuierlich zu wiederholen, nehmen wir den sich ständig wiederholenden Codeblock aus der Kontrolllasche und platzieren unsere Codes darin.
Wir können die Werte des Lichts in der oberen linken Ecke beobachten. Lassen Sie den Lichtsensor mit der Hand im Licht und in der Dunkelheit liegen und beobachten Sie die empfangenen Werte und machen Sie sich Notizen.
Stellen wir den Schwellenwert, den der Sensor empfangen kann, wenn wir uns dem Lichtsystem nähern, auf 130 ein (Sie können diesen Schwellenwert je nach Projekt beliebig ändern) und schaffen die notwendigen Bedingungen. Um den Ausdruck „Wenn das Licht kleiner als 130 ist“ zu erstellen, nehmen wir den Block „Wenn“ von der Registerkarte „Steuerung“ und den Block „Kleiner als“ von der Registerkarte „Operationen“ und erstellen unseren Bedingungsausdruck.
Wenn die Bedingung erfüllt ist, das heißt, wenn wir unsere Hand näher an das Partylichtsystem bringen, soll sich der Servomotor jeweils um 0,90,45,0 Grad bewegen. Wir nehmen den Codeblock für den Servomotor von der Registerkarte „Robots“ und ändern den Winkelwert „pin:Pinoo1“ jeweils auf 0,90,45,0.
Da wir möchten, dass dieser Prozess ständig kontrolliert wird, platzieren wir alle Blöcke im kontinuierlich wiederholenden Block.
Wenn das Partylichtsystem läuft (wenn die Lichtstärke unter 130 liegt), sollen die LEDs auf der linken Seite nacheinander blinken. Lassen Sie uns den Blinkvorgang der LEDs bestimmen, indem wir einen bestimmten Algorithmus erstellen. Unser Algorithmus;
- Lassen Sie die an Pinoo Pin4 angeschlossene LED aufleuchten
- Lassen Sie die an Pinoo Pin4 angeschlossene LED erlöschen
- Lassen Sie die an Pinoo Pin3 angeschlossene LED aufleuchten
- Lassen Sie die an Pinoo Pin3 angeschlossene LED ausschalten
- Lassen Sie die an Pinoo Pin2 angeschlossene LED aufleuchten
- Lassen Sie die an Pinoo Pin2 angeschlossene LED erlöschen
Wir nehmen den Codeblock für die LED aus der Registerkarte „Roboter“, aktualisieren die Pin-Nummer und den LED-Status gemäß dem Algorithmus und platzieren ihn unter den Codeblöcken für den Servomotor.
HINWEIS: Wenn wir weit vom Partylichtsystem entfernt sind, möchten wir, dass der Servomotor immer auf 0 Grad steht. Dazu nehmen wir den Codeblock für den Servomotor aus der Registerkarte „Roboter“ und platzieren ihn oben in unserer Bedingungsanweisung.
Nachdem wir unsere Codes ausgefüllt haben, überprüfen wir den Betrieb unseres Projekts, indem wir auf die grüne Flagge klicken. Wir bringen unsere Hand näher an das Teillichtsystem heran, das Setup sollte komplexe Bewegungen nach links und rechts ausführen und die LEDs sollten schnell in der richtigen Reihenfolge blinken.
Wenn beim Betrieb unseres Projekts keine Probleme auftreten, müssen wir die Codes, die wir auf unsere Karte geschrieben haben, hochladen, um sie mit einer vom Computer unabhängigen Stromquelle betreiben zu können.
Dazu verwerfen wir den Klick auf den grünen Flaggencode, den wir zu Beginn verwendet haben, und holen uns den Pinoo-Programmcode aus dem Menü „Robots“.
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, trennen wir unser Stromkabel vom Computer. 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:
#include < Servo . h > // Wir haben die Servo-Bibliothek hinzugefügt Servo -Servo ; //Wir haben das Servoobjekt benannt // Wir haben die LEDs den Pins zugeordnet int led1 = 3 ; int led2 = 4 ; int led3 = 7 ; int ldr = A0 ; // Wir haben ldr dem A0-Pin zugewiesen int ldr_value ; // Wir haben eine Variable namens ldr_value zugewiesen void setup ( ) { Servo . anbringen ( 2 ) ; // Wir haben den Servomotor Pin 2 zugewiesen // LEDs sind Ausgangspins pinMode ( led1 , OUTPUT ) ; pinMode ( led2 , OUTPUT ) ; pinMode ( led3 , OUTPUT ) ; } Leere Schleife ( ) { ldr_value = analogRead ( ldr ) ; // wir lesen den Wert von ldr Servo . schreibe ( 0 ) ; // Servo auf Position 0 if ( ldr_value < 130 ) { // wenn der Ldr-Wert kleiner als 130 ist // Servopositionen Servo . schreibe ( 0 ) ; Servo . schreiben ( 90 ) ; Servo . schreibe ( 45 ) ; Servo . schreibe ( 0 ) ; //geführte Staaten digitalWrite ( led1 , HIGH ) ; digitalWrite ( led1 , LOW ) ; digitalWrite ( led2 , HIGH ) ; digitalWrite ( led2 , LOW ) ; digitalWrite ( led3 , HIGH ) ; digitalWrite ( led3 , LOW ) ; } }