Distributeurs en ligne autorisés:

Acheter aux États-Unis Acheter au Royaume-Uni Acheter en Allemagne Acheter en Italie Acheter en France Acheter en Espagne ここでご購入を!

Dans cette leçon, nous allons vous montrer comment envoyer des informations de température depuis le Pico vers un écran LCD I2C.

I2C est un protocole très populaire qui permet d’échanger des données entre un ordinateur (Maître) et ses périphériques externes (Esclave). Un périphérique esclave I2C typique doit avoir une broche de données (SDA) et une broche d’horloge (SCL) qui doivent être connectées aux broches SDA et SCL du Raspberry Pi Pico. Une paire de broches SDA et SCL du Pico (BUS) peut en fait être connectée à plusieurs périphériques esclaves. Chaque périphérique esclave possède un identifiant d’adresse unique grâce auquel le Pico peut le trouver dans le programme.

Dans ce projet, nous utiliserons un écran LCD I2C comme périphérique esclave. Nous utiliserons le capteur de température interne de la carte Pico pour obtenir la température et afficher les données sur l’écran LCD I2C.

  1. Carte Raspberry Pi Pico et câble microUSB
  2. Un ordinateur pour exécuter l’IDE Python Thonny
  3. Une plaque d’essai
  4. Un écran LCD I2C 1602

Sur le graphique de circuit ci-dessus, vous pouvez voir que :
La broche VCC de l’écran LCD est connectée à la broche Vbus du Pico (5V)
La broche GND de l’écran LCD est connectée à la masse du Pico
La broche SDA de l’écran LCD est connectée à la broche SDA du Pico (GP0)
La broche SCL de l’écran LCD est connectée à la broche SCL du Pico (GP1)

Bibliothèque lcd_api et pico_i2c_lcd

Dans cette leçon, nous utiliserons deux bibliothèques Python, lcd_api et pico_i2c_lcd, pour accéder à l’écran LCD.

Veuillez télécharger le fichier zip de la bibliothèque depuis https://osoyoo.com/driver/pico/pico_i2c_lcd.zip.

Après avoir décompressé le fichier, vous verrez deux fichiers : lcd_api.py et pico_i2c_lcd.py. Utilisez Thonny pour ouvrir chaque fichier et enregistrez-les dans le répertoire racine du Pico.

Vous pouvez télécharger le code Python de la leçon 4 depuis https://osoyoo.com/driver/pico/lesson4/pico-lesson4.py.

Plus tard, vous pourrez utiliser Thonny pour ouvrir pico-lesson4.py et le charger sur le Pico.

Voici le code complet avec des commentaires:

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()

Étape 1 : Connectez la carte Pico à l’un des ports USB de votre PC.
Étape 2 : Si vous n’avez pas installé le logiciel Thonny ou si vous ne savez pas comment utiliser l’IDE Thonny, veuillez lire la leçon 1.

Étape 3 : Ouvrez maintenant l’IDE Python Thonny et sélectionnez MicroPython pour Raspberry Pi Pico comme interpréteur en cliquant sur ‘Exécuter’ puis en le sélectionnant.

Sélectionnez également le port COM auquel votre carte Pico est connectée.

Ensuite, cliquez sur OK pour enregistrer les paramètres.

Étape 4 : Décompressez le fichier pico_i2c_lcd.zip. Vous verrez deux fichiers : lcd_api.py et pico_i2c_lcd.py. comme suit;

Utilisez Thonny pour ouvrir chaque fichier comme suit, puis enregistrez-les dans le répertoire racine de Pico.

Ensuite, cliquez sur OK.

Étape 5 : Ouvrez lesson4.py et cliquez sur le petit bouton ► pour enregistrer le fichier sur l’ordinateur et exécuter le code Python.

Maintenant, vous pouvez voir l’affichage LCD de la température comme suit :

Température : 25.01234 °C

Après la fin de l’opération, appuyez sur Ctrl+C pour mettre fin à la commande.

EN SAVOIR PLUS SUR LES PIÈCES SKU:2021005900

No. Picture Product Name Link
1 Carte Pico Raspberry Pi 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 Servomoteur https://osoyoo.store/products/micro-servo-sg90-blue-for-arduino-v2-0-robot-carmodel-lacc200610?variant=31648847560815
3 Module capteur infrarouge https://osoyoo.store/products/hc-sr501-pir-motion-sensor-for-arduino?variant=31957812838511
4 Module et carte RFID https://osoyoo.store/products/osoyoo-rfid-module?variant=31970646130799
5 Boutons-poussoirs et chapeaux https://osoyoo.store/products/push-button-and-hats-5pcs?variant=39879253131375
6 LED (6 x blanc, 6 x rouge, 6 x jaune, 6 x vert) https://osoyoo.store/products/led-packs-for-arduino?variant=31957816442991
7 Module Buzzer Piézo https://osoyoo.store/products/piezo-buzzer-module-1pcs?variant=39879251656815
8 Écran LCD I2C (16×2) https://osoyoo.store/products/i2c-lcd1602-display?variant=39875437101167
9 Tournevis cruciforme https://osoyoo.store/products/phillips-screwdriver?variant=31930635780207https://osoyoo.store/products/single-channel-relay-module-for-arduino-raspberry-pi?variant=31955954401391
10 Plaque d’essai sans soudure pour prototypage https://osoyoo.store/products/solderless-prototype-breadboard-1pcs?variant=39879255457903
11 Potentionmètre (résistance réglable de 10K) https://osoyoo.store/products/potentionmeter-10k-adjustable-resistor-3pcs?variant=39879281016943
12 40Pin M to M Jumper Wires (fils de cavalier) https://osoyoo.store/products/40pin-m-to-m-jumper-wires?variant=39879256539247
13 20Pin M to F Fils de pontage 15cm https://osoyoo.store/products/20pin-15cm-female-to-female-cable?variant=31930663305327