Buenas a todos, en este momento tengo un arduino nano que está conectado por el protocolo I2C a: lcd 20x4, un rtc ds3231, y un sensor de iluminación BH1750. La cuestión es que tenía el proyecto con un arduino mega y todo funcionaba a la perfección por motivos de espacio decidí usar un arduino nano, al realizar todas las conexiones y cambiar el código para que funcionara me di cuenta que el sensor de iluminación me arrojaba un resultado de -1, revisé conexiones y demás y conecte solo el sensor de iluminación y el lcd para darme cuenta que funcionaba correctamente, lo mismo cuando conecto el lcd y el rtc, las direcciones de los tres sensores y lcd son distintas ya lo comprobé... y ya puse las resistencias pull-up que se recomienda para este tipo de comunicación de 1k en otras páginas encontré que realizara este procedimiento con resistencias de 10k lo cual ya intente también... con esto me surge una pregunta... este arduino nano tiene algún tipo de restricción a la cantidad de dispositivos conectados por I2C...?
Hi,
Aqui lsa resistencias de pullup para las senales de SDA y del SCL no las necesitas ya que el DS3231 y el BH1750 ya las tienen instaladas. Mi consejo es de tratar de conectar todos los sensores y corres el programa I2C scanner para ver si aparecen todos los sensores que estan instalados en la linea del I2C. Este programa esta en los ejemplos. Otra cosa es como alimentas todo el systema y si todos estan conectados al un ground comun al ground del arduino nano
Muchas gracias por tu respuesta... el programa I2C scanner ya lo corri, y me da las tres direcciones de los tres dispositivos conectados (todas las direcciones distintas, no tengo el problema de que alguno tenga la misma). El sistema esta todo conectado a los 5v y ground del arduino... conseguiré una fuente aparte para los sensores y el lcd y comentaré...
Ok... ya conecté los sensores y el lcd a una fuente externa a el arduino nano y sigue igual... para descartar volvi a conectar a mi arduino mega haciendo los cambios correspondientes en el sketch y funcionó sin ningún problema... por este motivo pienso que el arduino nano talvez sea el del problema...
Hi,
Una prueba que pudes hacer es conectar solamente el LCD y corres el sketch que manda el mensaje "Hello world" al LCD. Este esta en el file/examples/liquidcristalI2C/helloworld. Correlo para ver si te trabaja.Si no te trabaja entonces tienes un problema en las conecciones.
Buenas noches... pues lo que me tenía loco era qué revisaba todo el hardware y estaba bien... y en cuanto al sketch me funcionaba en el arduino mega pero no en el arduino nano... esto fue lo que me puso a pensar que el problema estaba en el hardware... como me recomendó el usuario tauro0221, revise el lcd, el rtc y el BH1750 todo por aparte y también funcionaba tanto en el mega como en el nano... el problema era al poner todo junto en el nano... no podía cambiar la librería del rtc ya que tengo configurados varios temporizadores y no quería ponerme a molestar con eso... así opté por revisar una librería diferente para el sensor BH1750, y luego de probar cuatro diferentes... una funciono con todo el sketch, creo que el problema es un posible error en las librerías del rtc y el BH1750 ya que por lo que leí, este último usa lecturas de tiempo para cálculos internos (creo que es eso... no soy experto, más bien novato), pero la solución fue un cambio de librería... me estaba rompiendo la cabeza al no entender que pasaba... quiero agradecerte por tu tiempo y recomendaciones... ya me estaba dando por vencido... realmente muchas gracias...