Increíble tutorial, muy útil, vengo siguiendo el curso desde el comienzo y es otro nivel. Estaría muy bien que pudieras hacer un par de tutoriales usando el bluetooth y el wifi de la esp8266 ufff 😍👏
@@SergioACGiraldo Sergio, a mi como a muchos de tus seguidores nos encantaría que explicaras como usar un rtc 3231 y la pi pico. Ojalá puedas sacar em tiempo
Yo estoy utilizando mi raspberry pi pico en una base zif de 40 pines en el protoboard, asi evito estres mecanico al estarla instalando y desinstalando del tablero de pruebas.
Muy bien explicado. Tengo una pregunta... He visto algunos videos en que indican que es necesario un convertidos de niveles de voltaje para la comunicación I2C entre Raspberry Pi Pico (3.3V) y un módulo I2C de 5V, como el caso de la pantalla LCD. ¿Consideras que para un proyecto o equipo más formal que va a operar 24 horas todo el tiempo, sea necesario utilizar acopladores de niveles de voltaje ?
Ya esperaba otro video Sergio👍👍👍, es el primer contacto que tengo con I2C, me ha llamado la atención el módulo I2C, dentro de mi desconocimiento me pregunto si a este módulo se le puede dar otras funcionalidades por ejemplo para "multiplexado" de pines para control de motores, sensores... Si es posible nos podría hablar sobre estos modulos I2C? Saludos.
Hola Acb, que bueno que te ha gustado el video. Este modulo como tal es empleado para los LCD, sin embargo el integrado del módulo si se puede usar para el proposito que comentas. Saludos!
exelente video ingeniero, le hago una pregunta, yo estoy haciendo un menu con el mismo lcd utilizando un encoder, como puedo hacer para que aparesca un array (En una cadena tengo varios textos y quiero que aparezcan uno dejo el otro) lo hice con un for i in menu, pero me aparece el ultimo texto de mi cadena en el display, como puedo solucionar este inconveniente?
Hola estoy trabjando con un sensor mpu6050 a través de una raspberry pi pico y transmitiendo los datos a una LCD 20x4 pero quiero también guardar esas lecturas del sensor en algún txt o csv cómo podría hacerlo
Excelente video Ing. muchas gracias, realice todo pero a la hora de programar me sale este error: Traceback (most recent call last): File "", line 14, in File "pico_i2c_lcd.py", line 22, in __init__ OSError: [Errno 5] EIO Agradezco su colaboracion porfavor
Hola Cristian has grabado inicialmente los archivos lcd_api.py y pico_i2c_lcd.py en la memoria de la Raspberry Pi Pico? Como se muestra en el video. He actualizado la entrada: bit.ly/3swfJYK colocando el paso a paso de como instalar la librería para que la Raspberry Pi Pico reconozca la librería. Recuerda que el código del post puede ser copiado en su totalidad dando click en la parte superior derecha del cuadro del código en un botón que dice «copy to clipboard»
buenos dias podrías hacer un tutorial usando una fuente de poder externa ya que e intentado hacerlo y cuando desconecto la resberry pico de la pc los programas no ejecutan en el la placca
Debes almacenar el programa en la raspberry Pi Pico con el nombre "main.py" para que ejecute el programa, de lo contrario no se va a ejecutar. Saludos.
me podrias ayudar tengo una rapsberry pi 4 le coloque un LCD 1602, he logrado que muestre la hora pero cuando cambia para mostrar la IP dice NONE, la rapberry la tengo conectada por wifi he probado mas de 5 tipos de lineas de comando que he encaontrado y nada me funciona
cómo resolvieron su error Traceback (most recent call last): File "", line 24, in File "", line 13, in main File "pico_i2c_lcd.py", line 22, in __init__ OSError: [Errno 5] EIO también tengo un error en la línea 22 del constructor de la clase I2cLcd: self.i2c.writeto(self.i2c_addr, bytes([0])) :(
realice el ejemplo como lo muestras y sale error. import utime from machine import I2C, Pin from lcd_api import LcdApi from pico_i2c_lcd import I2cLcd I2C_ADDR = 0x27 I2C_NUM_ROWS = 2 I2C_NUM_COLS = 16 i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=4000) lcd = I2cLcd(i2c, I2C_ADDR, I2C_NUM_ROWS, I2C_NUM_COLS) def lcd_str(message, col, row): lcd.move_to(col, row) lcd.putstr(message) def main(): while True: lcd.clear() lcd.move_to(0,0) lcd.putstr("linea 1") utime.sleep(1)
if __name__ == '__main__': main() error en MPY: soft reboot Traceback (most recent call last): File "", line 12, in File "pico_i2c_lcd.py", line 22, in __init__ OSError: [Errno 5] EIO
Hola Eduardo! Parece que estás teniendo problemas con la comunicación I2C. Aquí te dejo algunos consejos para solucionar el error `OSError: [Errno 5] EIO` que mencionas: 1. *Revisa las conexiones físicas*: Asegúrate de que los pines SDA y SCL estén correctamente conectados al LCD y no haya contactos sueltos. 2. *Instala resistencias de pull-up*: Verifica que las líneas SDA y SCL tengan resistencias de pull-up instaladas. Los valores típicos son entre 4.7kΩ y 10kΩ. 3. *Confirma la dirección I2C*: Usa un código de escaneo de bus I2C para asegurarte de que la dirección `0x27` sea la correcta para tu LCD. 4. *Ajusta la frecuencia I2C*: El valor de `freq=4000` parece incorrecto. La frecuencia estándar para I2C suele ser 100kHz o 400kHz. Prueba con `freq=400000`. 5. *Manejo de funciones en el bucle principal*: Evita llamadas frecuentes a funciones que interfieran con la estabilidad del bus. Aquí tienes un ejemplo mejorado: import utime from machine import I2C, Pin from lcd_api import LcdApi from pico_i2c_lcd import I2cLcd I2C_ADDR = 0x27 I2C_NUM_ROWS = 2 I2C_NUM_COLS = 16 i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000) # Corregido a 400kHz def main(): while True: lcd.clear() lcd.putstr("linea 1") utime.sleep(1) # Ajusta este tiempo si es necesario if __name__ == '__main__': main()
➤ 💻 DESCARGAR CÓDIGO 💻: bit.ly/3swfJYK
➤ Curso de MicroPython: bit.ly/u_Python
➤ Curso de Python: bit.ly/CAE_Python
➤ Curso Simulink: bit.ly/3a0W8Xr
➤ Curso de Matlab: bit.ly/2Fks7XN
➤ ¿Quieres ser un experto? bit.ly/2RVvxne
Increíble tutorial, muy útil, vengo siguiendo el curso desde el comienzo y es otro nivel. Estaría muy bien que pudieras hacer un par de tutoriales usando el bluetooth y el wifi de la esp8266 ufff
😍👏
Gracias Joshua, claro hay que anexar esas comunicaciones a la lista de reproducción. Saludos!!
Buen trabajo ingeniero, explica genial, me ha ayudado mucho su trabajo.
Gracias Provincia Tecnológica, que bueno que te ha sido de utilidad los videos. Éxitos!!
@@SergioACGiraldo Sergio, a mi como a muchos de tus seguidores nos encantaría que explicaras como usar un rtc 3231 y la pi pico. Ojalá puedas sacar em tiempo
Yo estoy utilizando mi raspberry pi pico en una base zif de 40 pines en el protoboard, asi evito estres mecanico al estarla instalando y desinstalando del tablero de pruebas.
Excelente Jorge, muy buena recomendación. Saludos!!
Estuvo BUENÍSIMO ESTE VIDEO, muchas gracias y Saludos
De nada Adalberto, me alegra que te haya gustado el video. Saludos!!
espectacular video! gracias amigo!
excelente como siempre Sergio Felicitaciones
De nada Francisco que bueno que te ha gustado.
top, salvou 5 dias de pesquisa minha....😂👌😁👍
Muy bien explicado. Tengo una pregunta... He visto algunos videos en que indican que es necesario un convertidos de niveles de voltaje para la comunicación I2C entre Raspberry Pi Pico (3.3V) y un módulo I2C de 5V, como el caso de la pantalla LCD. ¿Consideras que para un proyecto o equipo más formal que va a operar 24 horas todo el tiempo, sea necesario utilizar acopladores de niveles de voltaje ?
Ya esperaba otro video Sergio👍👍👍, es el primer contacto que tengo con I2C, me ha llamado la atención el módulo I2C, dentro de mi desconocimiento me pregunto si a este módulo se le puede dar otras funcionalidades por ejemplo para "multiplexado" de pines para control de motores, sensores... Si es posible nos podría hablar sobre estos modulos I2C? Saludos.
Hola Acb, que bueno que te ha gustado el video. Este modulo como tal es empleado para los LCD, sin embargo el integrado del módulo si se puede usar para el proposito que comentas. Saludos!
Sergio excelente como siempre......harás algún video del uso de la EEPROM del ESP8266...?
Interna o Externa? Creo que si.
@@SergioACGiraldo la que trae interna en mismo ESP8266, no hay nada del uso de la misma en micropython, pero si en arduino.
Hola Sergio.
Se puede utilizar el mismo código en el RasPi 4B o 3B?
podrias enseñar como cargar las librerias para la esp8266 para la I2C
exelente video ingeniero, le hago una pregunta, yo estoy haciendo un menu con el mismo lcd utilizando un encoder, como puedo hacer para que aparesca un array (En una cadena tengo varios textos y quiero que aparezcan uno dejo el otro) lo hice con un for i in menu, pero me aparece el ultimo texto de mi cadena en el display, como puedo solucionar este inconveniente?
Hola estoy trabjando con un sensor mpu6050 a través de una raspberry pi pico y transmitiendo los datos a una LCD 20x4 pero quiero también guardar esas lecturas del sensor en algún txt o csv cómo podría hacerlo
Cómo se podría poner un reloj que diga la hora y fecha? Gracias
Excelente video Ing. muchas gracias, realice todo pero a la hora de programar me sale este error:
Traceback (most recent call last):
File "", line 14, in
File "pico_i2c_lcd.py", line 22, in __init__
OSError: [Errno 5] EIO
Agradezco su colaboracion porfavor
Hola Cristian has grabado inicialmente los archivos lcd_api.py y pico_i2c_lcd.py en la memoria de la Raspberry Pi Pico? Como se muestra en el video. He actualizado la entrada: bit.ly/3swfJYK
colocando el paso a paso de como instalar la librería para que la Raspberry Pi Pico reconozca la librería.
Recuerda que el código del post puede ser copiado en su totalidad dando click en la parte superior derecha del cuadro del código en un botón que dice «copy to clipboard»
Lo resolviste? tengo el mismo problema. Los archivos .py los cargué en la Pico :C
buenos dias podrías hacer un tutorial usando una fuente de poder externa ya que e intentado hacerlo y cuando desconecto la resberry pico de la pc los programas no ejecutan en el la placca
Debes almacenar el programa en la raspberry Pi Pico con el nombre "main.py" para que ejecute el programa, de lo contrario no se va a ejecutar. Saludos.
me podrias ayudar tengo una rapsberry pi 4 le coloque un LCD 1602, he logrado que muestre la hora pero cuando cambia para mostrar la IP dice NONE, la rapberry la tengo conectada por wifi he probado mas de 5 tipos de lineas de comando que he encaontrado y nada me funciona
cómo resolvieron su error
Traceback (most recent call last):
File "", line 24, in
File "", line 13, in main
File "pico_i2c_lcd.py", line 22, in __init__
OSError: [Errno 5] EIO
también tengo un error en la línea 22 del constructor de la clase I2cLcd:
self.i2c.writeto(self.i2c_addr, bytes([0]))
:(
Lo resolviste?
Traceback (most recent call last):
File "", line 18, in
File "pico_i2c_lcd.py", line 22, in __init__
OSError: [Errno 5] EIO
ayuda porfavor
lo resolviste?
también tengo un error en la línea 22 del constructor de la clase I2cLcd:
self.i2c.writeto(self.i2c_addr, bytes([0]))
Traceback (most recent call last):
File "", line 7, in
IndexError: list index out of range
ayuda porfavor
realice el ejemplo como lo muestras y sale error.
import utime
from machine import I2C, Pin
from lcd_api import LcdApi
from pico_i2c_lcd import I2cLcd
I2C_ADDR = 0x27
I2C_NUM_ROWS = 2
I2C_NUM_COLS = 16
i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=4000)
lcd = I2cLcd(i2c, I2C_ADDR, I2C_NUM_ROWS, I2C_NUM_COLS)
def lcd_str(message, col, row):
lcd.move_to(col, row)
lcd.putstr(message)
def main():
while True:
lcd.clear()
lcd.move_to(0,0)
lcd.putstr("linea 1")
utime.sleep(1)
if __name__ == '__main__':
main()
error en
MPY: soft reboot
Traceback (most recent call last):
File "", line 12, in
File "pico_i2c_lcd.py", line 22, in __init__
OSError: [Errno 5] EIO
Hola Eduardo! Parece que estás teniendo problemas con la comunicación I2C. Aquí te dejo algunos consejos para solucionar el error `OSError: [Errno 5] EIO` que mencionas:
1. *Revisa las conexiones físicas*: Asegúrate de que los pines SDA y SCL estén correctamente conectados al LCD y no haya contactos sueltos.
2. *Instala resistencias de pull-up*: Verifica que las líneas SDA y SCL tengan resistencias de pull-up instaladas. Los valores típicos son entre 4.7kΩ y 10kΩ.
3. *Confirma la dirección I2C*: Usa un código de escaneo de bus I2C para asegurarte de que la dirección `0x27` sea la correcta para tu LCD.
4. *Ajusta la frecuencia I2C*: El valor de `freq=4000` parece incorrecto. La frecuencia estándar para I2C suele ser 100kHz o 400kHz. Prueba con `freq=400000`.
5. *Manejo de funciones en el bucle principal*: Evita llamadas frecuentes a funciones que interfieran con la estabilidad del bus. Aquí tienes un ejemplo mejorado:
import utime
from machine import I2C, Pin
from lcd_api import LcdApi
from pico_i2c_lcd import I2cLcd
I2C_ADDR = 0x27
I2C_NUM_ROWS = 2
I2C_NUM_COLS = 16
i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000) # Corregido a 400kHz
def main():
while True:
lcd.clear()
lcd.putstr("linea 1")
utime.sleep(1) # Ajusta este tiempo si es necesario
if __name__ == '__main__':
main()