| 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