Acquista dagli USA | Acquista dal Regno Unito | Acquista dalla Germania | Acquista dall’Italia | Acquista dalla Francia | Acquista dalla Spagna | Acquista dalla JP |
Abbiamo imparato il concetto di ingresso analogico ADC e di uscita analogica PWM nella Lezione 3. Questa volta, usiamo un nuovo dispositivo di ingresso analogico e un dispositivo di uscita PWM.
In questa lezione, vi mostreremo come leggere il segnale analogico da un potenziometro (resistenza regolabile) attraverso un pin ADC Pico (GP28). Collegheremo anche un servomotore a GP16 che può generare un segnale PWM. Il servo ruoterà il suo braccio quando si ruota il potenziometro.
Nel grafico del circuito di cui sopra, si può vedere che:
Filo rosso del servo collegato al pin Vbus di Pico (5V)
Filo marrone del servo collegato a Pico GND
Filo giallo del servo collegato al pin PWM di Pico (GP16)
GND del potenziometro collegato a Pico GND
VCC del potenziometro collegato al Pico 3.3V
Pin centrale del potenziometro collegato al pin ADC del Pico (GP28)
Potete scaricare il codice python della lezione 5 da https://osoyoo.com/driver/pico/lesson5/pico-lesson5.py
Potete usare Thonny per aprire pico-lesson5.py e caricarlo su Pico in seguito.
Ecco il codice completo con i commenti:
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)
Step 1:Collegare la scheda Pico a una delle porte USB del PC
Step 2: Se non avete installato il software Thonny o non sapete come usare Thonny IDE, leggete la lezione 1
Step 3: Ora aprite l’IDE Thonny Python, cliccate su Run per selezionare MicroPython per Rapsberry Pi Pico come interprete:
Seleziona anche la porta COM a cui è collegata la tua scheda Pico:
Dopo di che, cliccate su OK per salvare l’impostazione.
Step 4: Ora copiate il codice python nella finestra di Thonny come segue:
Step 5: Fare clic sul piccolo pulsante ►, la pagina di salvataggio apparirà come la seguente foto;
selezionare Raspberry Pi Pico come destinazione.
Step 6:Nominare il file come pico-lesson5.py, poi cliccare su OK
Step 7: Clicca di nuovo sul piccolo pulsante ► per eseguire il codice Python.
Ora potete ruotare il potenziometro, vedrete che il braccio del servo ruoterà di conseguenza.
DownLoad Url osoyoo.com