Authorized Online Retailers:

Buy from USA Buy from UK Buy from DE Buy from IT Buy from FR Buy from ES Buy from JP

In questa lezione, imparerai come leggere i dati analogici da un pin ADC e usare PWM per emettere un segnale analogico verso un dispositivo esterno.

ADC è l’abbreviazione di Analog to Digital Convert.   Il segnale digitale ha solo due stati, 1/0 o tensione alta/bassa. Il segnale analogico è qualsiasi segnale continuo per il quale la caratteristica variabile nel tempo del segnale è una rappresentazione di qualche altra quantità variabile nel tempo. in questa lezione, useremo una fotoresistenza come fonte di dati analogici al pin ADC2 (GP28).

PWM abbreviazione di Pulse-width modulation. Il pin PWM può permettere a Pico di esportare la corrente analogica ad attuatori come

LED, servo, motori DC. In questa lezione, useremo un LED come dispositivo analogico e emetteremo un segnale PWM a questo dispositivo attraverso il pin GP15.

Puoi vedere la posizione dei pin GP15 e GP28 nella seguente immagine 1.1.

Nel progetto, imiteremo un sistema automatico di illuminazione: quando il sensore rileva che la luce dell’ambiente naturale è scura, daremo più potenza alla luce artificiale (LED), quando l’ambiente naturale è luminoso, allora ridurremo la luce del LED.

Immagine 1.1

  1. Scheda Raspberry Pi Pico e micro
  2. Cavo USB
  3. Un computer per eseguire l’IDE Thonny Python
  4. Una breadboardLED x 1 pc
  5. resistore 220 Ω x 1 pc
  6. 10 kΩ resistenza x 1 pc
  7. fotoresistenza x 1 pc
  8. Alcuni fili di ponticello

Nel grafico del circuito di cui sopra, si può vedere che:
Pin negativo del LED collegato a GND
pin positivo del LED collegato a GP15 attraverso una resistenza di 220 Ω
pin 1 della fotoresistenza collegato a 3.3V attraverso una resistenza da 10 kΩ
fotoresistenza pin 2 collegato a GP28

Potete scaricare il codice .python della lezione 3 da http://osoyoo.com/driver/pico/lesson3/pico-lesson3.py

Potete usare Thonny per aprire pico-lesson4.py e caricarlo su Pico in seguito.

Ecco il codice completo con i commenti:

from machine import Pin, PWM, ADC #import Pin, PWM, ADC handling library

pwm = PWM(Pin(15)) #tell Pico GP15 is a PWM output   pin
adc = ADC(Pin(28)) #tell Pico GP28 is a ADC analog input pin

pwm.freq(1000) #set PWM frequency at 1000 hz

while True:
	duty = adc.read_u16() #read  Light intensity
	pwm.duty_u16(60000-duty) #provide current to LED, the more light intensity, the less current to LED

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-lesson3.py, poi cliccare su OK

Step 7: Clicca di nuovo sul piccolo pulsante ► per eseguire il codice Python.

Now you can try to press put a bright light over the photoresistance, you will see that the LED will become very dark. If you use your hand to shade light over photoresistance , then you will the LED will become bright.

Learn More about parts SKU:2021005900

No. Immagine Nome Prodotto Link
1 Scheda Raspberry Pi Pico 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 Servo motore https://osoyoo.store/products/micro-servo-sg90-blue-for-arduino-v2-0-robot-carmodel-lacc200610?variant=31648847560815
3 Modulo Infrared Sensor https://osoyoo.store/products/hc-sr501-pir-motion-sensor-for-arduino?variant=31957812838511
4 Modulo RFID e carta https://osoyoo.store/products/osoyoo-rfid-module?variant=31970646130799
5 Pulsanti e capucci https://osoyoo.store/products/push-button-and-hats-5pcs?variant=39879253131375
6 LED(6 x Bianco, 6 x Rosso, 6 x Giallo, 6x Verde) https://osoyoo.store/products/led-packs-for-arduino?variant=31957816442991
7 Servo motore https://osoyoo.store/products/sg90-micro-servo-for-arduino-raspberry-pi-robot?variant=31957821096047
8 Piezo Buzzer Module https://osoyoo.store/products/piezo-buzzer-module-1pcs?variant=39879251656815
9 Display I2C LCD(16×2) https://osoyoo.store/products/i2c-lcd1602-display?variant=39875437101167
10 Cacciavite Philips https://osoyoo.store/products/phillips-screwdriver?variant=31930635780207https://osoyoo.store/products/single-channel-relay-module-for-arduino-raspberry-pi?variant=31955954401391
11 Breadboard per prototipi senza saldature https://osoyoo.store/products/solderless-prototype-breadboard-1pcs?variant=39879255457903
12 Ptenziomentro (10K Resistenza regolabile) https://osoyoo.store/products/potentionmeter-10k-adjustable-resistor-3pcs?variant=39879281016943
13 40Pin M to M Fili Jumper https://osoyoo.store/products/40pin-m-to-m-jumper-wires?variant=39879256539247
14 20Pin M to F Flli Jumper 15cm https://osoyoo.store/products/20pin-15cm-female-to-female-cable?variant=31930663305327