Autorisierte Online-Händler:

Kaufen Sie aus den USA Kaufen Sie aus dem Vereinigten Königreich Kaufen Sie aus Deutschland Kaufen Sie aus Italien Kaufen Sie aus Frankreich Kaufen Sie aus Spanien ここでご購入を!

In der letzten Lektion haben wir gelernt, wie man analoge Daten vom ADC-Pin liest. In dieser Lektion werden wir auch ein analoges Signal vom ADC2-Pin lesen. Dieses Mal ist das Eingabegerät jedoch ein Potentiometer (einstellbarer Widerstand) anstelle eines Fotowiderstands. Wir werden auch einen Servomotor an GP16 anschließen, der ein PWM-Signal erzeugen kann. Der Servo dreht seinen Arm, wenn Sie das Potentiometer drehen. Durch dieses Projekt lernen wir, wie man Servoblöcke verwendet, um den Servoarm zu drehen.

  1. Raspberry Pi Pico Board und Micro-USB-Kabel
  2. Ein Computer, um die Thonny Python IDE auszuführen
  3. Breadboard x 1
  4. Potentiometer x 1
  5. Servomotor x 1
  6. Einige Jumper-Kabel

In obiger Schaltplan, können Sie sehen, dass:

Erstellung von Blöcken
Schritt 1: Erstellen Sie ein neues Projekt und verbinden Sie den Pico mit dem seriellen Port

1)Klicken Sie auf das Symbol “Neues Projekt”. Es erscheint ein “My Project”-Symbol mit einem ausgefallenen Namen (siehe Abbildung 2.1).

2)Klicken Sie auf das neue Symbol in “My Projects”.

Jetzt gelangen Sie zu einer neuen grafischen Programmierungsseite. Klicken Sie bitte auf die Schaltfläche “CONNECT” am unteren Rand der Seite und verbinden Sie Ihr Pico-Board mit Ihrem Projekt.

3)Dann wird ein Optionsmenü für den seriellen Port in Ihrem Browser angezeigt. Wählen Sie bitte “Pico” aus dem Menü aus und klicken Sie auf die Schaltfläche “Connect”.

Wenn Sie Pico im seriellen Port-Menü nicht sehen können, bedeutet dies, dass Ihr Pico nicht ordnungsgemäß eingerichtet ist. Sie müssen zu Lektion 1, Schritt 1 zurückkehren und den Pico erneut einrichten.

Nachdem Sie den Pico mit dem seriellen Port verbunden haben, wechselt Ihre GUI-Schaltfläche “Connect” zu “Disconnect”, wie folgt:

Schritt 2: Erstellen Sie grafische Codierungs-Chips

1)Klicken Sie auf Chip -> Start, bewegen Sie dann den Start-Chip in den Codierungsbereich wie folgt:

2)Klicken Sie auf Loops -> Repeat while true und bewegen Sie diesen Block direkt unterhalb des Startblocks wie folgt
3)Klicken Sie auf Variablen -> Create Variable und geben Sie der Variable den Namen “servo_val” wie folgt
4)Sie sehen nun einige neue Variablenblöcke. Bewegen Sie den Block “set servo_val to” innerhalb des Repeat-Loop-Blocks wie folgt

5)FSie sehen nun einige neue Variablenblöcke. Bewegen Sie den Block “set servo_val to” innerhalb des Repeat-Loop-Blocks wie folgt
Erklärung: Dieser Block liest den Spannungswert vom ADC2-Pin (GP28) und weist den Wert der “servo_val” Variablen zu.

6)Fügen Sie aus der Kategorie “Chip” einen “Print” Block unterhalb des “set servo_val to” Blocks hinzu.

7)Klicken Sie mit der rechten Maustaste auf den “goldenen Block” im Inneren des “Print” Blocks und löschen Sie ihn

8)Fügen Sie aus der Kategorie “Variable” einen “servo_val” Block zum “Print” Block hinzu, wie folgt
9)Fügen Sie aus der Kategorie “Logic” einen “if_do_else” Block unterhalb des “Print” Blocks hinzu, wie folgt:


10)Fügen Sie in den “if” Block einen “= ” Block ein, wie folgt:


11)Fügen Sie aus der Kategorie “Variable” einen “servo_val” Block in den “if” Block ein und ändern Sie das “=” Zeichen zu “<", wie folgt

12)Fügen Sie aus der Kategorie “Values” einen “0” Block zum “if” Block hinzu und ändern Sie den Blockwert von 0 auf 1, wie folgt


13)Fügen Sie aus der Kategorie “Action” einen “servo pin set angle to” Block in den “do” Bereich ein, ändern Sie die Pin-Nummer von 0 auf 15 und den Winkel von 90 auf 0, wie folgt:


14)Klicken Sie mit der rechten Maustaste auf den hell-lila Bereich, duplizieren Sie einen neuen “if_do_else” Block und fügen Sie ihn in den “else” Bereich ein. Ändern Sie den neuen if-Statement Bereich von <1 auf <2 und ändern Sie den "set angle to" Bereich von 0 auf 90, wie folgt:

15)Fügen Sie aus der Kategorie “Action” einen “servo pin set angle to” Block in den “else” Bereich ein, ändern Sie die Pin-Nummer von 0 auf 15 und den Winkel von 90 auf 180, wie folgt
16)Fügen Sie aus der Kategorie “Chip” einen “Wait 1 second” Block unterhalb des äußeren “if_do_else” Blocks hinzu, ändern Sie die Wartezeit von 1 auf 0,5, wie folgt:
Jetzt haben wir das Programm fertig erstellt. Wir können auf die Schaltfläche “START” klicken, um das Programm auszuführen.

Schritt 3: Testen Sie das Programm

Wenn Sie den Potentiometer drehen, wird sich der Servoarm entsprechend drehen. Sie können auf die Registerkarte “Konsole” unten klicken und sehen, wie sich der Wert ändert, solange Sie den Potentiometer drehen.

ERFAHREN SIE MEHR ÜBER DEN TEILE-SKU 2021005900

Nummer Bild Produktname Link
1 Raspberry Pi Pico-Karte https://osoyoo.store/products/raspberry-pi-pico-flexible-microcontroller-board-based-on-the-raspberry-pi-rp2040-dual-core-arm-cortex-m0-processor-1-pc?variant=39875307864175
2 Servomotor https://osoyoo.store/products/micro-servo-sg90-blue-for-arduino-v2-0-robot-carmodel-lacc200610?variant=31648847560815
3 Infrarot-Sensor-Modul https://osoyoo.store/products/hc-sr501-pir-motion-sensor-for-arduino?variant=31957812838511
4 RFID-Modul und Karte https://osoyoo.store/products/osoyoo-rfid-module?variant=31970646130799
5 Druckknöpfe und Hüte https://osoyoo.store/products/push-button-and-hats-5pcs?variant=39879253131375
6 LED (6 x Weiß, 6 x Rot, 6 x Gelb, 6x Grün) https://osoyoo.store/products/led-packs-for-arduino?variant=31957816442991
7 Piezo-Summer-Modul https://osoyoo.store/products/piezo-buzzer-module-1pcs?variant=39879251656815
8 I2C LCD-Anzeige (16×2) https://osoyoo.store/products/i2c-lcd1602-display?variant=39875437101167
9 Kreuzschlitzschraubendreher https://osoyoo.store/products/phillips-screwdriver?variant=31930635780207https://osoyoo.store/products/single-channel-relay-module-for-arduino-raspberry-pi?variant=31955954401391
10 Lötfreies Prototypen-Breadboard https://osoyoo.store/products/solderless-prototype-breadboard-1pcs?variant=39879255457903
11 Potentiometer (einstellbarer 10K-Widerstand) https://osoyoo.store/products/potentionmeter-10k-adjustable-resistor-3pcs?variant=39879281016943
12 40Pin M zu M Brückenkabel https://osoyoo.store/products/40pin-m-to-m-jumper-wires?variant=39879256539247
13 20-poliges M zu F Jumper-Kabel, 15cm https://osoyoo.store/products/20pin-15cm-female-to-female-cable?variant=31930663305327