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 ここでご購入を!

Wir haben in Lektion 3 das Konzept der ADC-Analogeingabe und der PWM-Analogausgabe gelernt. Dieses Mal verwenden wir einige neue Analogeingabegeräte und PWM-Ausgabegeräte.

In dieser Lektion zeigen wir Ihnen, wie Sie ein analoges Signal von einem Potentiometer (einstellbarer Widerstand) über einen Pico ADC-Pin (GP28) lesen können. Wir werden auch einen Servomotor an GP16 anschließen, der ein PWM-Signal erzeugen kann. Der Servo dreht seinen Arm, wenn Sie am Potentiometer drehen.

  1. Raspberry Pi Pico Board und MicroUSB-Kabel
  2. Ein Computer zum Ausführen der Thonny Python-IDE
  3. Breadboard x 1
  4. Potentiometer x 1
  5. Servomotor x 1

Im obigen Schaltbild können Sie sehen, dass:

Sie können den Python-Code für Lektion 5 von https://osoyoo.com/driver/pico/lesson5/pico-lesson5.py herunterladen.

Sie können Thonny verwenden, um pico-lesson5.py zu öffnen und später auf Pico zu laden.

Hier ist der vollständige Code mit Kommentaren:

from machine import Pin, PWM,ADC #import libraries for Pin, PWM, ADC
from time import sleep

adc = ADC(Pin(28))      #set Potentiometer analog input from GP28 pin
    
servoPin = PWM(Pin(16)) #set servo pwm output to GP16 pin
servoPin.freq(50)       #set servo frequency 50

def servo(degrees):     #rotate servo arm to degrees position
    # limit degrees beteen 0 and 180
    if degrees > 180: degrees=180
    if degrees < 0: degrees=0
    # set max and min duty
    maxDuty=9000
    minDuty=1000
    # new duty is between min and max duty in proportion to its value
    newDuty=minDuty+(maxDuty-minDuty)*(degrees/180)
    # servo PWM value is set
    servoPin.duty_u16(int(newDuty))

while True:
  value=adc.read_u16()   #read Potentiometer value
  print(value)
  degree=value*180/65500 #convert Potentiometer value to a servo position angle
  servo(degree).         #rotate servo to that angle     
  sleep(0.001)

Schritt 1: Verbinden Sie das Pico-Board mit einem der USB-Anschlüsse an Ihrem PC.

Schritt 2: Wenn Sie Thonny-Software noch nicht installiert haben oder nicht wissen, wie man die Thonny-IDE benutzt, lesen Sie bitte Lektion 1.

Schritt 3: Öffnen Sie jetzt die Thonny Python-IDE, klicken Sie auf “Run”, um MicroPython für Raspberry Pi Pico als Interpreter auszuwählen.

Wählen Sie auch den COM-Port aus, an den Ihr Pico-Board angeschlossen ist.:

Klicken Sie dann auf OK, um die Einstellungen zu speichern.

Schritt 4: Kopieren Sie jetzt den Python-Code in das Thonny-Fenster wie folgt:

Schritt 5: Klicken Sie auf den kleinen ►-Button und das Speicherdialogfeld wird wie in folgendem Foto angezeigt.Wählen Sie Raspberry Pi Pico als Ziel aus.

Schritt 6: Benennen Sie die Datei als pico-lesson5.py und klicken Sie dann auf OK.

Schritt 7: Klicken Sie erneut auf den kleinen ►-Button, um den Python-Code auszuführen.

etzt können Sie das Potentiometer drehen, und Sie werden sehen, dass der Servoarm entsprechend rotiert.

Nach Abschluss des Vorgangs drücken Sie Strg+C, um den Befehl zu beenden.

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