'Arduino' besluit 'Box' worden (Attiny85) (9 / 13 stap)

Stap 8: Eenvoudig Flow Diagram


Ten eerste, het is ongelooflijk hard aan Knijp een interrupt en programma slapen in een echte stroomschema. Ik probeerde mijn best in het bovenstaande diagram, ik hoop dat u nog steeds begrijpen waarom het programma is zoals het is. Mij recommanderen u voor het bekijken van dit diagram side-by-side de code om een beter inzicht te krijgen.

Het doel is het principe om te houden van de microcontroller die zo lang mogelijk in de 'diepe slaap'-modus genaamd "macht neer". In deze modus alle klokken worden stopgezet en de processor kan alleen worden gewekt met een "pin wijzigen interrupt" of "externe interrupt". Nou, behalve alle klokken de watchdog, dat is waarom het wordt gebruikt voor het genereren van tijdsinstellingen.

In de modus "ilde" de belangrijkste kern is tegengehouden het stroomverbruik te verlagen door ruwweg twee derde (in vergelijking met een > 99% vermindering), maar het grote voordeel is dat de microcontroller niet extra schoen tijd (ongeveer 4 ms hoeft). Aldus is het praktischer om te gaan "ilde" als een interrupt wordt binnenkort verwacht.

Laten we eens een weergave van het diagram:

  1. Na de setup routine gaat het apparaat rechtstreeks in de slaapstand, waar het blijft totdat een interrupt optreedt. In dit geval de processor wakker en de interrupt handler zal reageren op de gebeurtenis.
  2. Omdat de watchdog-timer is nog niet is ingeschakeld en er geen eerdere knooppers was begint de eerste interrupt de knop ontdendering routine. Dit wordt gedaan door het starten van de watchdog-timer op een interrupt van 16 ms. Als er contact bounce optreedt de pin wijzigen ('knop ingedrukt') interrupt opnieuw zal worden ontslagen en de teller weer op 0 instellen. Tussen elk van deze onderbreekt de processor heeft geen werk te doen en aldus zal worden gestuurd in "ilde" modus.
  3. Zodra de knop een steady-state bereikte (en niet meer stuiteren) de watchdog timer onderbreken is ingeschakeld. Als gevolg van de stabiele toestand van de knop de ontdendering routine kan niet worden gesloten en de huidige status van de knop gebruikt.
  4. Als de knop wordt ingedrukt zal één LED oplichten honk op willekeurige gegevens. Tot de volgende interrupt duurt ten minste 100ms, dus is het praktisch om te sturen van het apparaat in de "power-down"-modus.
  5. Als de knop wordt dan vrijgegeven dezelfde debouce routine zal worden uitgevoerd, maar uiteindelijk zal de watchdog-timer worden ingesteld op 2s voor de time-out van de LED. Nogmaals, de microcontroller heeft geen werk te doen voor de volgende twee seconden dus de "power-down"-modus wordt gekozen.
  6. Zodra de watchdog timer onderbreken niet in ontdendering modus wordt geactiveerd, moet het de LED time-out signaal. Dus alle LEDs worden omgezet van de watchdog is gerangeerd naar beneden en het apparaat is ingesteld op lange termijn "power-down"-modus.
  7. Het is mogelijk dat een andere pin wijzigen interrupt optreedt terwijl de watchdog in het 2-seconde LED time-out periode is. In dat geval de huidige timerinstelling zal worden overschreven en de modus ontdendering ingevoerd.

Gerelateerde Artikelen

Arduino besluit vak. (Attiny85)

Arduino besluit vak. (Attiny85)

Dus ik een beetje verveeld dit weekend was (eigenlijk ik schreef dit enkele maanden geleden) en sinds had ik besteld een bos van Attiny85 chips de week nadat ik besloten om een vrij willekeurige project mee te maken.Dit is een besluit van de doos, du
Schattenjacht voor volwassenen (metgezel naar Arduino Schateiland Box)

Schattenjacht voor volwassenen (metgezel naar Arduino Schateiland Box)

Ik heb altijd graag films zoals National Treasure en dergelijke. Degenen die beschikt over een team van mensen die worden uitgevoerd over de hele probeert op te lossen een raadsel of een tekenreeks van raadsels om, het goud, krijgen het meisje, behal
3D Printable Arduino Protection Box

3D Printable Arduino Protection Box

Yo,Nieuwe R3 versie plaat en vak geupload!  Met inbegrip van een Ethernet-shield R3 vak top toevoeging!Ik heb geduwd uit meerdere Arduino Uno bouwt en nodig een veilige plaat en vak combo die activa veilig kon houden tijdens een val of tuimelen en zo
Hoe wordt een ATtiny85 met behulp van Arduino - Como programar um ATtiny85 usando Arduino

Hoe wordt een ATtiny85 met behulp van Arduino - Como programar um ATtiny85 usando Arduino

Hoe te easly krimpen eenvoudige projecten?Como diminuir seus projetos mais simples?ATtiny85 is een eenvoudig te gebruiken, goedkoop en kleine (8 poten) microcontroller. U kunt het programma met een Arduino en kunt de Arduino IDE zelf schrijven en upl
Arduino batterij Box

Arduino batterij Box

ervaring heeft mij geleerd dit:1. het maken van draagbare projecten met Arduinos vereist batterijen.2. het maken van robots vereist een makkelijk toegankelijke uit schakelen. Asimov's 4e wet (??)3. het zou geweldig om te combineren 1 en 2.4. het zou
Draagbare Arduino Prototyping Box

Draagbare Arduino Prototyping Box

In dit instructable ik het opbouwen van een eenvoudige doos voor mobiele Arduino Prototyping. Het Arduino en breadboard circuit zijn beveiligd, zodat u op uw circuit tijdens het reizen werken kunt.Stap 1: Het vak ik net een simpele doos met behulp va
Waarom de V1 RS485 Shield voor Arduino kan niet worden gebruikt voor DMX512 toepassing

Waarom de V1 RS485 Shield voor Arduino kan niet worden gebruikt voor DMX512 toepassing

kwamen We kwesties wanneer we LinkSprite RS485 Shield Shield voor Arduino voor hoge snelheid toepassingen, zoals DMX512 communicatie gebruiken.Stap 1: Circuit analyse Het schema van het RS485-schild is hierboven weergegeven.De antwoorden van het schi
Ultrasone Garage Parking Assistant met Arduino en een ATtiny85

Ultrasone Garage Parking Assistant met Arduino en een ATtiny85

Hallo mede makers, ik wil een eenvoudige project dat ik heb samen met u te delen. Ik ben nieuw aan prototyping/circuits en duurde slechts twee semester van Java cursussen, dus toen ik ging op zoek naar eenvoudige projecten te bouwen mijn vaardigheden
Arduino ISP te ATTiny85

Arduino ISP te ATTiny85

Toen ik de ATTiny bereik van Atmel chips ontdekte, was ik opgewonden om te leren dat veel van de projecten die ik had gepland kon worden bereikt met een kleine en goedkope chip. Er zijn vele instructables en tutorials op de interweb die beschrijven v
Arduino ATtiny85 programmeur schild op PCB [ATtinyShield]

Arduino ATtiny85 programmeur schild op PCB [ATtinyShield]

Arduino projecten zijn erg populair, maar ook grote en dure. Er zijn vele momenten dat we zoveel input of output pinnen niet nodig. As a matter of fact, kunnen de meeste projecten worden bereikt met slechts 2 of 3 inputs en outputs. Naast de grootte,
Hoe te programmeren van de ATtiny85 met de Arduino uno bestuur

Hoe te programmeren van de ATtiny85 met de Arduino uno bestuur

In deze tutorial zullen we een Arduino board gebruiken als een ATtiny-programmeur.Om dit te doen zullen we een Arduino UNO boord als een ISP (programmeur) en een ATtiny85 micro-controller gebruiken.We gebruiken Codebender - online Arduino IDE.Met de
Ambilight systeem voor elke input aangesloten op uw TV. WS2812B Arduino UNO Raspberry Pi

Ambilight systeem voor elke input aangesloten op uw TV. WS2812B Arduino UNO Raspberry Pi

Ik heb altijd al wilde ambilight toevoegen aan mijn TV. Het ziet er zo cool! Ik eindelijk deed en ik was niet teleurgesteld!Ik heb veel video's en veel tutorials over het maken van een Ambilight-systeem voor uw TV, maar ik heb nooit gevonden een voll
Home Automation (of Robot Butler Geoffrey genoemd) - iPhone gecontroleerde, arduino gebaseerd

Home Automation (of Robot Butler Geoffrey genoemd) - iPhone gecontroleerde, arduino gebaseerd

kunnend alles uit je zak onder controle heeft lange tijd een droom gedeeld door velen. Eerder we universele afstandsbedieningen die zowel onze TV's en radio's kunnen hebben gehad, dan hadden we draadloze wandcontactdozen. Zowel grote dingen, maar hoe
Uber Home Automation w / Arduino & Pi

Uber Home Automation w / Arduino & Pi

[BEWERKEN] Ik heb een forum om samen te werken op gateway code.http://homeautomation.proboards.com/Board/2/openha...Een paar jaar geleden, werd ik de hondeigenaar van een voor de eerste keer. Ik hield niet van Cody in de kennel alleen hele dag verlat