Minoristas en línea autorizados:

Comprar en EE. UU. Comprar en el Reino Unido Comprar en Alemania Comprar en Italia Comprar en Francia Comprar en España ここでご購入を!

En esta lección, te mostraremos cómo enviar información de temperatura desde Pico a una pantalla LCD I2C.

I2C es un protocolo muy popular que puede intercambiar datos entre una computadora (Maestro) y sus dispositivos externos (Esclavo). Un dispositivo esclavo típico de I2C debe tener un pin de datos (SDA) y un pin de reloj (SCL) que deben conectarse a los pines SDA y SCL de Raspberry Pi Pico. Un par de pines SDA y SCL de Pico (BUS) puede conectarse en realidad a múltiples dispositivos esclavos. Cada dispositivo esclavo tiene una identificación de dirección única mediante la cual Pico puede encontrarlo en el programa.

En este proyecto, usaremos una pantalla LCD I2C como dispositivo esclavo. Usaremos el sensor de temperatura interno de la placa Pico para obtener la temperatura y mostrar los datos en la pantalla LCD I2C.

  1. Placa Raspberry Pi Pico y cable microUSB
  2. Una computadora para ejecutar Thonny Python IDE
  3. Una protoboard
  4. Pantalla LCD I2C 1602

En el gráfico del circuito anterior, puedes ver que:
El pin VCC del LCD está conectado al pin Vbus de Pico (5V)
El pin GND del LCD está conectado a GND de Pico
El pin SDA del LCD está conectado al pin SDA de Pico (GP0)
El pin SCL del LCD está conectado al pin SCL de Pico (GP1)

Biblioteca lcd_api y pico_i2c_lcd

En esta lección, usaremos dos bibliotecas de Python, lcd_api y pico_i2c_lcd, para acceder al LCD.

Por favor, descarga el archivo zip de la biblioteca desde https://osoyoo.com/driver/pico/pico_i2c_lcd.zip.

Después de descomprimir el archivo, verás dos archivos: lcd_api.py y pico_i2c_lcd.py. Usa Thonny para abrir cada archivo y guárdalos en el directorio raíz de Pico.

Puedes descargar el código Python para la lección 4 desde https://osoyoo.com/driver/pico/lesson4/pico-lesson4.py.

Más tarde, puedes usar Thonny para abrir pico-lesson4.py y cargarlo en Pico.

Aquí está el código completo con comentarios:

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

Paso 1: Conecta la placa Pico a uno de los puertos USB de tu PC.
Paso 2: Si no has instalado el software Thonny o no sabes cómo usar el IDE de Thonny, por favor lee la lección 1.

Paso 3: Ahora abre el IDE de Python Thonny y selecciona MicroPython para Raspberry Pi Pico como el intérprete haciendo clic en ‘Ejecutar’ y luego seleccionándolo.

También, por favor selecciona el puerto COM al que está conectada tu placa Pico.

Después de eso, haz clic en OK para guardar la configuración.

Paso 4: Descomprime el archivo pico_i2c_lcd.zip. Verás dos archivos: lcd_api.py y pico_i2c_lcd.py. de la siguiente manera;

Usa Thonny para abrir cada archivo como sigue y luego guárdalos en el directorio raíz de Pico.

Luego, haz clic en OK.

Paso 5: Abre lesson4.py y haz clic en el botón ► para guardar el archivo en la computadora y ejecutar el código Python.

Ahora puedes ver la pantalla LCD mostrar la temperatura como sigue:

Temperatura: 25.01234 °C

Después de que se complete la operación, presiona Ctrl+C para finalizar el comando.

APRENDE MÁS SOBRE LAS PIEZAS SKU:2021005900

No. Fotografía Nombre del producto Enlace
1 Placa 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 Servomotor https://osoyoo.store/products/micro-servo-sg90-blue-for-arduino-v2-0-robot-carmodel-lacc200610?variant=31648847560815
3 Módulo sensor de infrarrojos https://osoyoo.store/products/hc-sr501-pir-motion-sensor-for-arduino?variant=31957812838511
4 Módulo y tarjeta RFID https://osoyoo.store/products/osoyoo-rfid-module?variant=31970646130799
5 Pulsadores y sombreros https://osoyoo.store/products/push-button-and-hats-5pcs?variant=39879253131375
6 LED (6 blancos, 6 rojos, 6 amarillos, 6 verdes) https://osoyoo.store/products/led-packs-for-arduino?variant=31957816442991
7 Módulo zumbador piezoeléctrico https://osoyoo.store/products/piezo-buzzer-module-1pcs?variant=39879251656815
8 Pantalla LCD I2C (16×2) https://osoyoo.store/products/i2c-lcd1602-display?variant=39875437101167
9 Destornillador Philips https://osoyoo.store/products/phillips-screwdriver?variant=31930635780207https://osoyoo.store/products/single-channel-relay-module-for-arduino-raspberry-pi?variant=31955954401391
10 Protoboard sin soldadura para prototipos https://osoyoo.store/products/solderless-prototype-breadboard-1pcs?variant=39879255457903
11 Potenciómetro (resistencia ajustable de 10K) https://osoyoo.store/products/potentionmeter-10k-adjustable-resistor-3pcs?variant=39879281016943
12 40Pin M to M Jumper Wires https://osoyoo.store/products/40pin-m-to-m-jumper-wires?variant=39879256539247
13 20Pin M to F Jumper wires 15cm https://osoyoo.store/products/20pin-15cm-female-to-female-cable?variant=31930663305327