Raspberry Pi Pico con i2c y teclado 4x4 [ERROR

Para todo aquello que no encaja en ninguna otra categoría
Responder
Joshux07
Pi Newbie
Pi Newbie
Mensajes: 3
Registrado: 23 Oct 2022, 01:10
Agradecido: 1 vez
Agradecimiento recibido: 0

Hola foro,
Soy muy nuevo en este tema de programar con MicroPython (y con cualquier lenguaje, en realidad), total, tengo que hacer correr un código en Raspberry Pi Pico que lea una tecla de un teclado matricial 4x4 y lo imprima en un LCD 16x2 (con i2C), basado en un programa que he visto que hace justo eso, pero en el monitor de Thonny, lo he modificado para el i2c, pero al momento de presionar una tecla, no la lee, y arroja el siguiente error: "Traceback (most recent call last):
File "<stdin>", line 71, in <module>
TypeError: function takes 2 positional arguments but 3 were given"

Agradecería la ayuda y si es que ya se tiene un código aunque sea diferente de esto mismo, también me hará muy feliz :guiño2
Última edición por Joshux07 el 31 Oct 2022, 06:51, editado 2 veces en total.
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

Código: Seleccionar todo

File "<stdin>", line 71, in <module>
TypeError: function takes 2 positional arguments but 3 were given"
A ver, te dice que le estás pasando 3 argumentos a la función en lugar de 2
¿Qué tienes en la línea 71?
Joshux07
Pi Newbie
Pi Newbie
Mensajes: 3
Registrado: 23 Oct 2022, 01:10
Agradecido: 1 vez
Agradecimiento recibido: 0

egrueda escribió: 23 Oct 2022, 07:20

Código: Seleccionar todo

File "<stdin>", line 71, in <module>
TypeError: function takes 2 positional arguments but 3 were given"
A ver, te dice que le estás pasando 3 argumentos a la función en lugar de 2
¿Qué tienes en la línea 71?
Línea 71:

Código: Seleccionar todo

lcd.putstr(": " ,teclas[fila][columna])

Por lo que intenté hacer, es llamar a la tecla presionada para que se imprima en el LCD, exactamente ese error, de dar únicamente dos funciones es lo que aún no entiendo :triste
Avatar de Usuario
egrueda
Pi God
Pi God
Mensajes: 3426
Registrado: 10 Feb 2017, 19:31
Agradecido: 7 veces
Agradecimiento recibido: 269 veces

Veo que quieres concatenar dos cadenas de texto:

Código: Seleccionar todo

lcd.putstr(": " ,teclas[fila][columna])
Pero estás usando la coma para unir las dos cadenas, cuando la coma sirve para separar argumentos.
Usa el signo "+" para unir las dos cadenas
Estos usuarios agradecieron al autor egrueda por el mensaje:
Joshux07
Joshux07
Pi Newbie
Pi Newbie
Mensajes: 3
Registrado: 23 Oct 2022, 01:10
Agradecido: 1 vez
Agradecimiento recibido: 0

egrueda escribió: 25 Oct 2022, 07:47 Veo que quieres concatenar dos cadenas de texto:

Código: Seleccionar todo

lcd.putstr(": " ,teclas[fila][columna])
Pero estás usando la coma para unir las dos cadenas, cuando la coma sirve para separar argumentos.
Usa el signo "+" para unir las dos cadenas
No tienes idea de cuanto te agradezco la ayuda, se ha corregido y ahora funciona perfectamente, tendré que cuidar esos detalles finos de novato en un futuro, máximo respeto ;)
Responder