Vigilante de Hardware externo. (2 / 5 paso)

Paso 2: Codificación de la vigilancia

Aquí está el código de baratija, completado. Timer.h es idéntico al paso anterior.
Nota que puse 30 segundo latido del corazón tiempo de espera, esto da mi bosquejo principal un montón de tiempo
para ejecutar sus 15 + segunda subrutina y alternar el latido del corazón del estado sin tiempo fuera.
(El LED no ciclismo durante ese tiempo es inconsecuente, ya que hay actividad visible,
llevando a cabo).

Este sketch es una baratija de Adafruit 5V.
//
Los actos de baratija como un vigilante de hardware en cualquier host que tiene un reset pin que
funciones por ser arrastrado bajo tierra.
//
El Abalorio monitores hbPin, que requieren un cambio de estado en hbTime.
//
El LED de baratija imita el estado de la señal de hbPin desde el host, dando un visual
latido del corazón de ambos equipos con un LED.
//
Si no se detecta un cambio de estado, resetPin se tiró bajo para forzar un reset en el host.
Obviamente, resetPin en el Abalorio tiene que estar conectado al pin RST en el host y ambos
los dispositivos tienen que estar en un terreno común.
//
Al inicio y después de un reset, resetTime es invocada para asegurar que el host tiene tiempo para
correctamente puesta en marcha y empezar a emitir la señal del latido del corazón.

#include "timer.h"

constantes no va a cambiar, solía organizar números pin y definir retardos
const int hbPin = 3; Utilice la señal desde el host para establecer la
Estado del latido del corazón
const int resetPin = 4; Utilice esta clavija para restablecer el host
const int ledPin = 1; LED incorporado en la baratija
const unsigned resetTime largo = (1000 * 60 * 3); dar el host 3 minutos para arrancar
const unsigned hbTime largo = (1000 * 30); 30 segundo latido ciclo antes de reset

variables globales
int currState = alto;
int prevState = bajo;

Crear instancias de contador de tiempo
temporizador resetTimer = timer(resetTime); restablecer el temporizador de retardo
temporizador hbTimer = timer(hbTime); contador de latidos del corazón

/* --------------------------------------------------------------------------------- */

void setup() {}

Modos de juego pin
pinMode (resetPin, salida);
Asegúrese de que estamos empezar!
digitalWrite (resetPin, HIGH);

Comenzar con un cero a temporizadores
resetTimer.reset();
hbTimer.reset();

}

/* --------------------------------------------------------------------------- */

void loop() {}

ledHeartbeat();
Si ((hbTimer.update() == 1) & & (resetTimer.update() == 1)) {}
resetHost(resetPin);
}

}

/* --------------------------------------------------------------------------------- */

void ledHeartbeat(void) {}

Pulso del LED para demostrar que estamos vivos!
Usar señal de latido del corazón del host para el LED
De esta manera tenemos visibilidad en ambos controladores con 1 indicador

digitalWrite (ledPin, currState = digitalRead(hbPin));
Si (currState! = prevState) {/ / Estado ha cambiado
prevState = currState; Actualización
hbTimer.reset(); Reiniciar el temporizador
}

}

/* -------------------------------------------------------------------------------- */

void resetHost (int resetPin) {}

digitalWrite (resetPin, bajo); Desactivar el relé de potencia (transistores)
Delay(5000); 5 segundos para no ciclo de bombillas demasiado rápidas
digitalWrite (resetPin, HIGH); Encenderla para que pueda arrancar el host!
resetTimer.reset(); Cero hacia fuera el contador de tiempo

}

Artículos Relacionados

Haga un preciso reloj de Arduino usando solamente un alambre - sin hardware externo es necesario!

Haga un preciso reloj de Arduino usando solamente un alambre - sin hardware externo es necesario!

Cómo hacer un reloj de Arduino - sin usar osciladores externos o fichas del reloj:(más de mis proyectos en nuestro sitio web de investigación - haga clic en la parte superior logo de arduino de la página de inicio)Se necesita:Una placa Arduino (cualq
Cómo hacer un módulo de software Tessel-estilo del hardware estilo Adafruit

Cómo hacer un módulo de software Tessel-estilo del hardware estilo Adafruit

Tessel es un microcontrolador conectado a internet con Wifi incorporado y varias otras capacidades. Está diseñado para la fácil interacción a través de una serie de módulos, tales como Bluetooth Low Energy, Servo y otros.La compañía ha creado módulos
Instalación de Audio movimiento PIR P.I.R.M.A frambuesa Pi

Instalación de Audio movimiento PIR P.I.R.M.A frambuesa Pi

PIR + Python + frambuesa Pi = instalación Audio movimiento accionado.Historia del proyecto:Mi padre es un Comisario de un pequeño museo sobre la historia de nuestro pueblo, Suiza de Elgg. Él tenía la idea de que una pieza de música se reproduce cuand
Sistema de alarma de agua de frambuesa Pi

Sistema de alarma de agua de frambuesa Pi

Instrucciones para emplear un Raspberry PI como un sistema de alarma de aguaVersión 1.0, publicada en enero de 2015El Raspberry Pi lee el estado de uno o dos de agua sensor dispositivo (s) en una o dos de sus pines GPIO. Cuando detecta agua frambuesa
Introducción a las tiras de LED

Introducción a las tiras de LED

Tiras de LED son una forma muy divertida y eficaz para dar un montón de brillo y color a un proyecto. En este Instructable aprenderás sobre los tipos básicos de tiras y cómo enlazar hasta el Edison de Intel con placa de Arduino breakout. Estos circui
Arduino y Matlab: deje que ellos hablan utilizando comunicación serial!

Arduino y Matlab: deje que ellos hablan utilizando comunicación serial!

Hola todo el mundo!desde cuando he empezado a jugar con Arduino, he siempre sido vagando como hacerlo hablar e interactuar con el entorno de Matlab de una forma fácil y eficaz. Golpea en muchos Instructables y tutoriales sobre Arduino bibliotecas y a
Introducción a Arduino

Introducción a Arduino

An Arduino es una placa de desarrollo de microcontrolador open source. En inglés, puede utilizar la Arduino para leer sensores y controlar cosas como motores y luces. Esto le permite cargar programas en esta tarjeta que puede entonces interactuar con
Incorporado sistema de adquisición de datos de ECG

Incorporado sistema de adquisición de datos de ECG

Este instructivo está pensada como un guid para crear una tarjeta de adquisición de datos de Embeddded ECG, proporciona algunos conocimientos básicos sobre identificación de sistema y procesamiento digital de señales en Matlab, programación de FPGA e
Contador de energía PV Solar con conexión a Xively (pueden ser monitoreados en android o iPhone) basados en Arduino

Contador de energía PV Solar con conexión a Xively (pueden ser monitoreados en android o iPhone) basados en Arduino

Hace ya dos días hizo la generación de Arduino PV metros, pero fue un error dejar de tomar las fotos paso a paso antes de proceder para la prueba final. Y era una idea terrible para mostrar el cuadro de raw llamado medidor de energía: p de todas form
HackerBoxes 0000: Circuitos de C.C., RFID, Software Radio, infrarrojo

HackerBoxes 0000: Circuitos de C.C., RFID, Software Radio, infrarrojo

Este instructable comparte algunos de los que se puede hacer usando HackerBoxes 0000, que es la primera edición de HackerBoxes. HackerBoxes es el servicio de caja de suscripción mensual para aficionados de electrónica, fabricantes y los hackers. Espe
GSM basado automatizado sistema de riego con lluvia-Gun

GSM basado automatizado sistema de riego con lluvia-Gun

Era digital moderna de nuestro siglo XXI necesita automatización en cada sector. Combinación de la tecnología para aumentar la credibilidad de una tecnología de otra no es una muy buena idea. India es un país donde la agricultura es el principal y gr
¿Que microcontrolador para su moda electrónica?

¿Que microcontrolador para su moda electrónica?

¿Lo que falta la moda? "Microcontroladores" respondo siempre - y es cierto! Hace sus prendas mucho más interesante, interactivo y comunicativo tan pronto le agregue cierta inteligencia.¿Pero los que están en el mercado?Me puse un poco de investi
Inteligente sistema de anuncios (Intel IoT) #IntelMaker

Inteligente sistema de anuncios (Intel IoT) #IntelMaker

Anuncio es uno del más grande negocio de hoy. Algunas de las más grandes compañías como Google y Facebook ganan de los anuncios. ¿Por qué? Porque los anuncios son inteligente y selectiva. Están centradas en el cliente... El anunciaTe todo lo puede él
Introducción a EL (electroluminiscente) alambre

Introducción a EL (electroluminiscente) alambre

En su base, EL cable es un cable delgado y flexible recubierto de fósforo, cuando la corriente alterna (CA) es aplicado brilla intensamente brillantemente. Para aplicar la corriente alterna, los inversores se utilizan para transformar la energía de l