Inhoudsopgave:

Een gids om uw Arduino in slaapstand te brengen: 5 stappen
Een gids om uw Arduino in slaapstand te brengen: 5 stappen

Video: Een gids om uw Arduino in slaapstand te brengen: 5 stappen

Video: Een gids om uw Arduino in slaapstand te brengen: 5 stappen
Video: Lancering IoT Educatie Programma - Webinar 4 juni 2020 2024, November
Anonim
Image
Image
Benodigde materialen / welk bord te gebruiken?
Benodigde materialen / welk bord te gebruiken?

Soms bevinden we ons in een situatie waarin we een Arduino op een plaats moeten plaatsen waar het geen optie is om hem op het elektriciteitsnet aan te sluiten. Dit gebeurt vaak wanneer we informatie proberen te loggen op een externe site, of wanneer we uw Arduino alleen actief hoeven te hebben met een specifiek interval/actie.

Adafruit DS3231 Precision RTC BreakoutAdafruit

In deze gevallen is het perfect om je Arduino in de slaapstand te zetten. Hun aandacht is slechts voor een korte tijd vereist, b.v. log gegevens in een specifiek interval, of stuur een waarschuwing wanneer een vooraf bepaalde gebeurtenis plaatsvindt. In deze tutorial gaan we experimenteren met het in slaapstand zetten van je Arduino en kijken hoe je je Arduino weer aanzet. Deze tutorial maakt je vertrouwd met het concept en heeft een kleine oefening om te zien wat er nodig is om een Arduino in slaap te brengen.

Stap 1: Benodigde materialen / welk bord te gebruiken?

WELKE KAART GEBRUIKEN?

In deze tutorial zullen we de Arduino Uno gebruiken, alleen omdat het een eenvoudiger bord is om op te prototypen. In een echt live project zou ik hiervoor een Arduino Pro Mini gebruiken. De Arduino Uno en de Arduino Pro Mini hebben zeer vergelijkbare kenmerken, de Arduino pro mini heeft veel minder hardware om te voeden (bijvoorbeeld het USB-gedeelte, extra leds en wat andere dingen) en gebruikt dus veel minder stroom. Dit is de reden waarom de Arduino Pro mini een betere keuze is. Om een voorbeeld te geven gebruikt een Uno tussen de 30-40 mA als hij wakker is en ongeveer 19 mA als hij slaapt. De Pro Mini gebruikt 25 mA als hij wakker is en 0,57 mA als hij slaapt. Omdat elke mA van belang is bij het aansluiten op een batterij, kun je zien dat er geen wedstrijd is en dat de Arduino Pro Mini de winnaar is.

Opmerking: als beginnende maker is de Arduino Pro Mini misschien een beetje intimiderend, maar daar is geen reden voor. Ja, je moet de headers op het bord solderen en je hebt een FTDI-kabel nodig om je schets te uploaden, maar verder zijn er geen grote verschillen

Stap 2: SLAAPMODUS

Als je kijkt naar de documentatie van de ATmega328p (klik op deze link voor een kopie van dit document) processor die wordt gebruikt voor zowel Arduino Uno als de Arduino Pro mini, zie je dat er veel verschillende slaapstanden beschikbaar zijn. Maar in een echt wereldscenario is er eigenlijk maar één modus die nuttig is; De Power-down-modus (SLEEP_MODE_PWR_DOWN). Wanneer u uw Arduino in de sluimerstand zet, worden alle onnodige componenten uitgeschakeld, waardoor het stroomverbruik van de MCU (Microcontroller Unit) wordt verminderd. In deze modus kun je hem alleen wakker maken door gebruik te maken van een externe invloed (we geven hem bijvoorbeeld een duwtje om wakker te worden). We zullen later in deze tutorial onderzoeken hoe je dit kunt doen.

Stap 3: ONDERBREKINGEN

Voordat we ingaan op de code om een Arduino in slaapstand te brengen, moeten we het interrupt-concept begrijpen. De beste manier om het te beschrijven is; Je werkt aan iets waar je je echt op moet concentreren. Je draagt een koptelefoon die je muziek hard laat klinken om je omgeving te overstemmen. Je bent hier zo op geconcentreerd dat de buitenwereld voor je verloren is. De enige manier om je aandacht te krijgen is door je een duwtje te geven. Nadat je dit duwtje hebt gekregen, let je op waar de onderbreking over gaat, en na het verwerken ervan zet je de muziek weer aan en ga je verder met je taak.

Opmerking: ik ga niet te diep in op waar interrupts goed voor zijn, maar als je meer wilt weten over dit concept, bekijk dan mijn tutorial (Interrupts gebruiken om de functionaliteit van je project te verbeteren) over dit onderwerp

De meeste echte Arduino's hebben een paar pinnen die precies dat doen. De Uno en de Pro Mini hebben 2 pinnen (d2 en d3) die de mogelijkheid hebben om te onderbreken wat de Arduino aan het doen is. Hiermee kunnen we de Arduino terugbrengen naar een waaktoestand.

Stap 4: De code/schets

U kunt de voltooide voltooide schets van mijn site downloaden door op deze link te klikken. Voor een volledige beschrijving en uitleg hoe de code werkt, kunt u naar mijn blog gaan door op de link te klikken: een handleiding om uw Arduino in slaapstand te brengen.

Stap 5: OEFENING 1

OEFENING 1
OEFENING 1
OEFENING 1
OEFENING 1

STAP 1)

Nu is het tijd om de schets te uploaden. Maar voordat u dat doet, plaatst u een jumperdraad in d2. Laat het gewoon aan de andere kant losgekoppeld voor nu. Laad je schets en wacht 5 seconden totdat de LED uitgaat en de Arduino in slaap valt.

STAP 2)

Nadat de LED uitgaat, steekt u het andere uiteinde van de jumperdraad in een GND-pin op uw Arduino Uno. Dit zal pin 2 LAAG trekken en de interrupt activeren, waardoor de slapende Arduino wakker wordt. Nadat de LED weer gaat branden, kunt u de jumperdraad uit GND verwijderen en 5 seconden later gaat de Arduino weer slapen.

Voor een voorbeeldproject waarbij ik een Real Time Clock (RTC) gebruik om een vochtigheids- en temperatuurdatalogger te wekken, klik gewoon op de volgende link: VOORBEELD HET GEBRUIKEN VAN EEN RTC OM EEN ARDUINO DATA LOGGER TE WAKKEN. Het is een geweldig voorbeeld van hoe het in de echte wereld zou werken

Aanbevolen: