Paso 3: Hardware
Energía Fuente: La alimentación consiste de un rectificador, alisa el condensador y un 1 fusible para protección contra sobrecargas. Esta fuente de entonces está regulada por un regulador 7812 y 7805. La fuente de 12V se usa para la conducción de los relés de salida, y todos los circuitos son alimentados de la fuente de 5V. Como el regulador 7805 está conectado a la salida del regulador 7812, la corriente total debe ser limitada a 1 amperio a través del regulador 7812. Es recomendable montar estos reguladores en un disipador de calor conveniente.
I²C Bus: aunque Flowcode permite hardware control I²C, decidí hacer uso de la configuración del software I²C. Esto permite mayor flexibilidad de las asignaciones de pines. Aunque más lento (50 kHz), realiza todavía grande comparado con el hardware del bus I²C. DS1307 y 24LC256 está conectado al bus I²C.
Reloj en tiempo real (DS1307): durante el arranque, el registro RTC 0 y 7 se lee para determinar si contiene datos válidos de tiempo y configuración. Una vez que la configuración correcta, se lee el tiempo RTC y el tiempo cargado en el PIC. Este es el único momento en que tiempo se lee de la RTC. Después del inicio, un pulso de 1Hz estará presente en el pin 7 de la RTC. Esta señal de 1Hz es conectada a RB0/INT0, y a través de una rutina de servicio de interrupción, el tiempo PIC se actualiza cada segundo.
EEPROM externa: todos los datos del programa y opciones se almacenan en la EEPROM externa. Los datos de la EEPROM se cargan en el arranque, y una copia de los datos se almacena en la memoria del PIC. Datos EEPROM sólo se actualiza cuando se cambian los ajustes del programa.
Sensor día/noche: un resistor estándar dependiente de la luz (LDR) se utiliza como el sensor de día/noche. Como LDRs viene en muchas formas y variedades, con valores de resistencia diferentes bajo las mismas condiciones de luz, usé un canal analógico de entrada para leer el nivel de luz. El día, así como niveles de noche son ajustables y permiten cierta flexibilidad para diferentes sensores. Para configurar cierta histéresis, pueden ajustarse valores individuales para día y noche. El Estado sólo cambia si el nivel de luz es el día, encima o por debajo los puntos fijos de noche, por más de 60 segundos.
Pantalla LCD: 4 líneas, 16 caracteres superpuestos se utilizan, como todos los datos podrían no visualizarse en una pantalla de 2 líneas. El proyecto incluye algunos caracteres personalizados, que se define en la macro LCD_Custom_Char.
Entradas auxiliares: ambas entradas se conservan con un transistor NPN. + 12v y 0V también está disponible en el conector, que permite conexiones más flexibles a las conexiones externas. Por ejemplo, un receptor de control remoto puede conectarse a la red.
Salidas: las salidas están aisladas eléctricamente del circuito mediante un relé de 12V. Los relés usados, están clasificados para 250V AC, a 10 amperios. Los contactos normalmente abiertos y normalmente cerrados se sacó a los terminales.
Teclado: el teclado utilizado es un teclado de matriz de 3 x 4 y es PORTB:2..7 conectado.