Tengo 3 pantallas de 7 segmentos de 4 dígitos de Adafruit , y los documentos/bibliotecas incluidos dicen que debo conectar la pantalla a los pines A4 y A5. Sin embargo, tengo tres de las pantallas, así que estoy buscando una forma de conectar una a los pines A1 y A2, otra a A2 y A3, y la tercera a A4 y A5. Revisé los documentos/ bibliotecas incluidos , pero parece que no puedo averiguar qué cambiar en mi código o en las bibliotecas.
Aquí está el código que uso para inicializarlos:
Adafruit_7segment matrix = Adafruit_7segment();
Espero una solución en forma de:
Adafruit_7segment matrix1 = Adafruit_7segment(1);
Adafruit_7segment matrix2 = Adafruit_7segment(2);
o algo similar.
¡Veo que esto tiene un controlador I2C! No debería necesitar enrutar cada pantalla a 2 pines de E/S y configurar tres buses I2C separados. Hay un puente para cambiar la dirección en el tablero. Simplemente conecte en cadena las líneas SDA y SCL (asegurándose de que haya una resistencia pull-up en algún lugar si aún no están en los tableros), y hable con cada uno en su código a través de su dirección única. Es posible que deba editar la función a la que está llamando para pasar una dirección como argumento; tal vez un usuario de Arduino pueda publicar buenas instrucciones sobre cómo hacerlo.
Para ser un poco más claro, use el puente incorporado para dar a cada pantalla su propia dirección I2C única y edite la función para incluir un argumento de dirección que especifique con qué pantalla está hablando.
ACTUALIZACIÓN: http://forums.adafruit.com/viewtopic.php?f=47&t=29774
mira el ejemplo allí. No hablo C++, así que realmente me voy a avergonzar aquí para tratar de ayudarte, pero creo que en algún lugar necesitas
matrix1.begin(0x70); // Start up the LCD matrixes
matrix2.begin(0x71);
Los números hexadecimales cambiarán según cómo haya definido por hardware sus direcciones de visualización.
scott seidman