Externe Hardware Watchdog. (2 / 5 stap)

Stap 2: Codering de watchdog

Hier is de code van de Trinket, compleet. timer.h is identiek aan de vorige stap.
Merk op dat ik een 30 tweede heartbeat time-out ingesteld--dit genoeg tijd mijn belangrijkste schets geeft
Als u wilt uitvoeren de 15 + staat tweede subroutine en knevel de hartslag zonder time-out.
(De LED niet fietsen gedurende die tijd is inconsequent, aangezien er andere, zichtbare activiteit
plaatsvindt.)

Deze sketch is voor een Adafruit Trinket 5V.
//
De Trinket fungeert als een hardware watchdog op elke host met een reset pin die
functies door lage op grond wordt getrokken.
//
De Trinket bewaakt hbPin, vereisen een verandering van de staat binnen de hbTime.
//
De Trinket LED bootst de staat van het signaal van de hbPin van de host, geeft een visuele
hartslag van beide hosts met één LED.
//
Als een wijziging van de staat niet aangetroffen is, wordt de resetPin laag om te dwingen een reset op de host getrokken.
Uiteraard moet resetPin op de Trinket worden aangesloten op de eerste pin op de host en beide
apparaten moeten zijn op een gemeenschappelijke grond.
//
Bij het opstarten en na een reset, wordt resetTime aangeroepen om te verzekeren dat de host heeft tijd om te
goed starten en beginnen met het uitzenden van het signaal van de hartslag.

#include "timer.h"

constanten veranderen niet--gebruikt voor het instellen van pincodes en definiëren van vertragingen
Const int hbPin = 3; Het signaal van de host gebruiken om in te stellen de
heartbeatstatus
Const int resetPin = 4; met deze pin kunt u herstellen van de host
Const int ledPin = 1; ingebouwde LED op Trinket
Const unsigned long resetTime = (1000 * 60 * 3); Geef de host 3 minuten om op te starten
Const unsigned long hbTime = (1000 * 30); 30 seconden heartbeat cyclus vóór de reset

globale variabelen
int currState = hoog;
int prevState = laag;

Timer-instanties maken
timer resetTimer = timer(resetTime); delay timer reset
timer-hbTimer = timer(hbTime); heartbeat-timer

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

VOID Setup {}

Set pin modi
pinMode (de resetPin, OUTPUT);
Zorg ervoor dat we worden ingeschakeld om te beginnen!
digitalWrite (resetPin, hoge);

Start met een nulpunt uit timers
resetTimer.reset();
hbTimer.reset();

}

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

void loop {}

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

}

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

ongeldig ledHeartbeat(void) {}

Pulse de LED te laten zien WE leven!
Gebruik van de host heartbeat signaal te rijden van de LED
Op deze manier hebben we zichtbaarheid op beide domeincontrollers met 1 indicator

digitalWrite (ledPin, currState = digitalRead(hbPin));
Als (currState! = prevState) {/ / staat veranderd
prevState = currState; Update
hbTimer.reset(); Opnieuw instellen van de timer
}

}

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

VOID resetHost (int resetPin) {}

digitalWrite (resetPin, laag); Het uitschakelen van de macht-estafette (transistor)
delay(5000); 5 seconden zodat we niet elke bollen te snel fietsen
digitalWrite (resetPin, hoge); Zwenking op weerom voort dus de host kan booten!
resetTimer.reset(); Nul uit de timer

}

Gerelateerde Artikelen

Maak een nauwkeurige Arduino Klok met behulp van slechts één draad - geen externe hardware nodig!

Maak een nauwkeurige Arduino Klok met behulp van slechts één draad - geen externe hardware nodig!

Hoe te maken van een Arduino Klok - zonder externe oscillatoren of klok chips:(meer van mijn projecten op onze website onderzoek - Klik arduino logo boven aan de introductiepagina)U moet:Een Arduino board (zowat elke smaak zal prima werken) en softwa
Hoe maak je een softwaremodule Tessel-stijl van Adafruit-stijl hardware

Hoe maak je een softwaremodule Tessel-stijl van Adafruit-stijl hardware

Tessel is een microcontroller internetverbinding met ingebouwde Wifi en diverse andere mogelijkheden. Het ontworpen voor eenvoudige interactie door middel van een aantal modules, zoals Bluetooth Low Energy, Servo en anderen.Het bedrijf heeft gecreërd
Externe volumeregeling voor oude stereo versterker

Externe volumeregeling voor oude stereo versterker

Ik heb een oude Stereo versterker die ik heb op mijn woonkamer. Het werkt vrij goed, maar het is zo oud dat het niet over een afstandsbediening, waardoor het erg vervelend beschikken te gebruiken terwijl zittend op de Bank.Dus ik dit, een apparaat ma
Ingesloten ECG data-acquisitiesysteem

Ingesloten ECG data-acquisitiesysteem

Dit instructable is bedoeld als een guid waarmee een Embeddded ECG data acquisitie board, bieden sommige achtergrondkennis over digitaal signaal verwerking en systeem identificatie in Matlab, FPGA-programmering in Vivado, hoog niveau synthese van bes
P.I.R.M.A-Raspberry Pi PIR Motion Audio installatie

P.I.R.M.A-Raspberry Pi PIR Motion Audio installatie

PIR + Python + Raspberry Pi = Motion geactiveerd Audio installatie.Geschiedenis van het Project:Mijn vader is een curator van een klein museum over de geschiedenis van ons dorp, Elgg, Zwitserland. Hij had het idee dat een stukje muziek wordt afgespee
Raspberry Pi water alarmsysteem

Raspberry Pi water alarmsysteem

Instructies voor de toepassing van een Raspberry PI als een water-alarmsysteemVersie 1.0, gepubliceerd in Jan 2015De Raspberry Pi leest de status van een of twee water sensor apparaten op één of twee van de GPIO pinnen. Wanneer water wordt gedetectee
Arduino Aquaponics: Real-tijd-klok deel I

Arduino Aquaponics: Real-tijd-klok deel I

AA fundamentele noodzaak van een systeem van controles is de mogelijkheid om de tijd bijhouden.  Voor zover wij weten, heeft de Arduino drie methoden die het kunt gebruiken:1. seriële.  Herhaaldelijk de tijd te krijgen via de seriële verbinding.2. ex
Arduino en Matlab: laat ze praten met behulp van seriële communicatie!

Arduino en Matlab: laat ze praten met behulp van seriële communicatie!

Hallo iedereen!Sinds toen heb ik begon te spelen met de Arduino, heb ik altijd geweest zwerven hoe ik kon maken het praten en communiceren met de Matlab-omgeving op een gemakkelijke en effectieve manier. Ik botste tegen vele Instructables en tutorial
Inleiding tot LED Strips

Inleiding tot LED Strips

LED strips zijn een zeer leuke en effectieve manier om veel van de gloed en kleur aan een project. In dit Instructable leert u over de basissoorten strips en hoe ze tot de Intel Edison met Arduino breakout board vasthaken. Deze schakelingen omvatten
Inleiding tot de Arduino

Inleiding tot de Arduino

An Arduino is een open-source microcontroller ontwikkel bord. In gewoon Engels kunt u de Arduino dingen zoals motors en lichten te lezen van sensoren. Dit kunt u uploaden van programma's op dit forum die vervolgens met dingen in de echte wereld samen
Arduino gebaseerd zonne-PV energie Meter met Xively connectiviteit (kan worden gecontroleerd op android of iPhone)

Arduino gebaseerd zonne-PV energie Meter met Xively connectiviteit (kan worden gecontroleerd op android of iPhone)

Het is al ongeveer twee dagen geleden ik de Arduino PV generatie Meter maakte, maar het was een fout om niet de stap voor stap foto's te nemen alvorens voor het definitieve testproces. En het was een vreselijk idee te geven van het ruwe vak van zogen
Eet nu!!! - Arduino

Eet nu!!! - Arduino

EET NU!!! Project met behulp van de ArduinoEen maand geleden was ik op school met de verschillende partners en we hadden een onderwerp gerelateerd aan elektronica, dus onze laatste project voor dat onderwerp was het bouwen van een apparaat met behulp
Welke MICROCONTROLLER voor uw elektronische FASHION?

Welke MICROCONTROLLER voor uw elektronische FASHION?

Wat mode ontbreken? "Microcontrollers" Ik antwoord altijd - en het is waar! Het maakt uw klederen zoveel meer interessante, interactieve en communicatieve zodra u wat intelligentie aan toevoegen.Maar welke zijn op de markt?Ik begon een beetje on
Slimme advertenties systeem (Intel IoT) #IntelMaker

Slimme advertenties systeem (Intel IoT) #IntelMaker

Advertentie behoort tot de grootste Vakspecialiteiten vandaag. Enkele van de grootste bedrijven zoals Google en Facebook verdienen advertenties. Waarom? Omdat de advertenties SMART en gerichte zijn. Ze zijn klantgerichte... Het adverteren alles kan h