Buy from USA | Buy from UK | Buy from DE | Buy from IT | Buy from FR | Buy from ES | Buy from JP |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
In questa lezione, vi mostreremo come inviare informazioni sulla temperatura da Pico allo schermo LCD I2C.
I2C è un protocollo molto popolare che può scambiare dati tra il computer (Master) e i suoi dispositivi esterni (Slave). Un tipico dispositivo slave I2C deve avere un pin di dati (SDA) e un pin di clock (SCL) che devono essere collegati ai pin SDA e SCL di Raspberry Pi Pico. Una coppia di pin SDA e SCL del Pico (BUS) può effettivamente collegarsi a più dispositivi slave. Ogni dispositivo slave ha un indirizzo ID unico con il quale Pico può trovarlo tramite programma.
In questo progetto, useremo un display LCD I2C come dispositivo slave. Useremo un sensore di temperatura interno alla scheda Pico per ottenere la temperatura e visualizzare i dati sul display LCD I2C.
Nel grafico del circuito di cui sopra, si può vedere che:
Pin VCC LCD collegato al pin Vbus di Pico (5V)
Pin LCD GND collegato a Pico GND
Pin SDA LCD collegato al pin SDA del Pico (GP0)
Pin LCD SCL collegato al pin Pico SCL (GP1)
In questa lezione, useremo lcd_api e pico_i2c_lcd due librerie Python per accedere a LCD. Scarica il file zip della libreria da: https://osoyoo.com/driver/pico/pico_i2c_lcd.zip
Scompattate il file zip di cui sopra, vedrete due file: lcd_api.py e pico_i2c_lcd.py. Usate Thonny per aprire ogni file e poi salvateli nella directory principale di Pico.
Potete scaricare il codice python della lezione 4 da https://osoyoo.com/driver/pico/lesson4/pico-lesson4.py
Puoi usare Thonny per aprire pico-lesson4.py e caricarlo su Pico in seguito:
from machine import I2C,Pin,ADC #import libraries to handle Pins, I2C and ADC from time import sleep from pico_i2c_lcd import I2cLcd #import library to handle I2C LCD sensor_temp = ADC(4) #Internal Temperature sensor is connected to ADC 4 conversion_factor = 3.3/65535 def get_temperature(): #get temperature value from ADC 4 internal sensor reading = sensor_temp.read_u16() * conversion_factor temperature = 27 - (reading - 0.706)/0.001721 return temperature i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000) #initialize I2C port I2C_ADDR = i2c.scan()[0]. #get I2C address lcd = I2cLcd(i2c, I2C_ADDR, 2, 16) #initialize I2C display as 2x16 degree = bytearray([0x1c,0x14,0x1c,0x00,0x00,0x00,0x00,0x00]) #define a customized LCD icon for º (degree sign) lcd.custom_char(0, degree) #degree sign 'º' will be used as chr(0) in program while True: lcd.putstr("Temperature:\n"+str(get_temperature())+" C"+chr(0)) #display temperature to LCD sleep(4) lcd.clear()
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: Decomprimere il file pico_i2c_lcd.zip, si possono vedere due file: lcd_api.py e pico_i2c_lcd.py. Usa Thonny per aprire ogni file come segue;
e poi salvarli nella directory principale di Pico.
poi clicca su OK
Ora puoi vedere LCD mostrare:
Temperature: 25.01234 Cº
DownLoad Url osoyoo.com