Paso 4: Programación de la placa Arduino
Nosotros usamos Arduino IDE V1.05 para este proyecto. El sketch de Arduino utilizado para este proyecto se basa en gran medida en el dibujo Parola_Zone_TimeMsg.ino del ejemplo Parola biblioteca v2.1.
Para este proyecto, necesita instalar las siguientes librerías de Arduino:
MD_Parola biblioteca (Parola biblioteca v2.1) de https://parola.codeplex.com
MD_MAX72xx Library (biblioteca de pantalla de Max72XX LED matriz v2.6) de http://arduinocode.codeplex.com
MD_DS1307 Library (biblioteca de reloj de tiempo Real DS1307) de http://arduinocode.codeplex.com
Biblioteca de DHT (DHT11, sensor de temperatura y humedad DHT21/22 biblioteca) de http://playground.arduino.cc/Main/DHTLib
Estamos utilizando una biblioteca diferente de DHT para este proyecto que vamos a utilizar un sensor de DHTxx diferentes en el futuro como el DHT21/22, que es muy similar a la DHT11 y tiene una precisión mayor (un decimal) y gama (temperaturas negativas) que no es compatible con la biblioteca DHT11.
Tenga en cuenta que la versión mayor de la biblioteca de MD_MAX72xx (versiones anteriores a V2.6) no funciona con nuestro módulo de matriz de LED bicolor modificado.
Tenemos que modificar el archivo MD_MAX72xx.h para que trabaje con nuestros módulos de matriz de LED de jolliFactory modificados que funcionan de manera similar a los módulos de matriz de LED FC16.
Básicamente, el archivo MD_MAX72xx.h, que necesitamos modificar para especificar que no estamos utilizando el Parola Hardware con
#define USE_PAROLA_HW 0 //1
y en su lugar especifique que estamos utilizando el Hardware FC16 que es compatible con nuestro módulo LED matriz modificada con
#define USE_FC16_HW 1 //0
A continuación es un extracto del archivo de MD_MAX72xx.h modificado mostrando los cambios.
/** \def USE_PAROLA_HW Set to 1 (default) to use the Parola hardware modules. The software was originally designed to operate with this hardware type. */ #define USE_PAROLA_HW 0 //1 /** \def USE_GENERIC_HW Set to 1 to use 'generic' hardware modules commonly available, with connectors at the top and bottom of the PCB, available from many sources. */ #define USE_GENERIC_HW 0 /** \def USE_ICSTATION_HW Set to 1 to use ICStation DIY hardware module kits available from http://www.icstation.com/product_info.php?products_id=2609#.UxqVJyxWGHs This hardware must be set up with the input on the RHS. */ #define USE_ICSTATION_HW 0 /** \def USE_FC16_HW Set to 1 to use FC16 hardware module kits. FC16 modules are similar in format to the ICStation modules but are wired differently. Modules are identified by a FC-16 designation on the PCB */ #define USE_FC16_HW 1 //0 /** \def USE_OTHER_HW Set to 1 to use other hardware not defined above. Module 0 (Data In) must be set up on the RHS and the CUSTOM hardware defines must be set up in the MD_MAD72xx_lib.h file under for this section, using the HW_Mapper utility to work out what the correct values to use are. */ #define USE_OTHER_HW 0
Si puede que necesite ajustar la hora en el módulo de reloj, use el bosquejo de ejemplo MD_DS1307_Control.ino de la biblioteca del DS1307 (MD_DS1307) en http://arduinocode.codeplex.com y subir a tu placa de Arduino para fijarlo.
Como estamos usando sólo 3 Matrices de LED en la zona izquierda para mostrar la hora, la fuente de ancho fijo amplia 5 dot, originalmente utilizada en el ejemplo de la palabra es demasiado grande para caber bien. Hemos modificado la fuente para el visualizador numérico para ser sólo 4 puntos de ancho. También tenemos que modificar el Parola_Zone_TimeMsg.ino para él trabajar con sólo 7 módulos de matriz de LED.
Puede descargar el bosquejo modificado junto con el archivo de fuente requeridos a continuación.
< JF_Parola_Zone_TimeMsg_V1_0 descargar sketch y fuente archivo >
Luego subir el sketch a la placa Arduino. Si todo está configurado de derecha, se verá la zona izquierda muestra el tiempo en verde y fecha, temperatura y humedad información de desplazamiento en la zona derecha en rojo.