Obsah:

Průvodce uspáním vašeho Arduina: 5 kroků
Průvodce uspáním vašeho Arduina: 5 kroků

Video: Průvodce uspáním vašeho Arduina: 5 kroků

Video: Průvodce uspáním vašeho Arduina: 5 kroků
Video: Největší mýty o uspávání dětí 2024, Listopad
Anonim
Image
Image
Potřebné materiály/ Jakou desku použít
Potřebné materiály/ Jakou desku použít

Někdy jsme v situaci, která vyžaduje, abychom umístili Arduino na místo, kde není možné jej zapojit do elektrické sítě. To se stává často, když se pokoušíme protokolovat informace na vzdáleném webu, nebo jen potřebujeme mít Arduino aktivní v určitém intervalu/akci.

Adafruit DS3231 Precision RTC BreakoutAdafruit

V těchto případech je uvedení vašeho Arduina do režimu spánku dokonalá věc. Jejich pozornost je vyžadována pouze na krátkou dobu, např. zaznamenávat data v určitém intervalu nebo vydat výstrahu, když dojde k předem určené události. V tomto tutoriálu budeme experimentovat s uvedením vašeho Arduina do režimu spánku a uvidíme, jak jej Arduino znovu zapnout. Tento tutoriál vás seznámí s konceptem a má malé cvičení, abyste zjistili, co je potřeba k uspání Arduina.

Krok 1: Potřebné materiály/ Jakou desku použít

JAKOU DESKU POUŽÍVAT?

V tomto tutoriálu budeme používat Arduino Uno jen proto, že je prototyp desky jednodušší. Ve skutečném živém projektu bych k tomu použil Arduino Pro Mini. Arduino Uno a Arduino Pro Mini mají velmi podobné vlastnosti, Arduino pro mini má mnohem méně hardwaru k napájení (např. Část USB, přídavné LED diody a některé další věci), takže využívá mnohem méně energie. To je důvod, proč je Arduino Pro mini lepší volbou. Jako příklad uvádí Uno mezi 30-40 mA v bdělém stavu a asi 19 mA v režimu spánku. Pro Mini využívá 25mA v bdělém stavu a 0,57 mA v režimu spánku. Jako na každé mA záleží, když ji připojíte k baterii, můžete vidět, že neexistuje žádná soutěž a vítězem je Arduino Pro Mini.

Poznámka: Jako začátečník může být Arduino Pro Mini trochu zastrašující, ale není k tomu důvod. Ano, musíte připájet záhlaví na desku a k nahrání náčrtu potřebujete kabel FTDI, ale kromě toho neexistují žádné zásadní rozdíly

Krok 2: REŽIM SPÁNKU

Když se podíváte na dokumentaci procesoru ATmega328p (pro kopii tohoto dokumentu klikněte na tento odkaz) použitého procesoru pro Arduino Uno i Arduino Pro mini, všimnete si, že je k dispozici mnoho různých režimů spánku. Ale ve scénáři reálného světa je opravdu jen jeden režim, který je užitečný; Režim vypnutí (SLEEP_MODE_PWR_DOWN). Když svůj Arduino uspíte, vypne všechny nepotřebné součásti a sníží spotřebu energie MCU (mikrokontrolérová jednotka). V tomto režimu jej můžete probudit pouze pomocí vnějšího vlivu (např. Ho probudíme). V tomto tutoriálu prozkoumáme, jak to udělat o něco později.

Krok 3: PŘERUŠENÍ

Než přejdeme do kódu pro uspání Arduina, musíme porozumět konceptu přerušení. Nejlepší způsob, jak to popsat, je; Pracujete na něčem, na co se opravdu potřebujete soustředit. Nosíte sluchátka, která hlasitě tryskají z vaší hudby, abyste přehlušili své podrosty. Jste na to tak koncentrovaní, že se vám vnější svět ztratí. Jediný způsob, jak upoutat vaši pozornost, je dát vám šťouchnutí. Poté, co toto postrčení obdržíte, věnujte pozornost tomu, o čem je přerušení, a poté, co se s ním vypořádáte, znovu zapněte hudbu a pokračujte ve svém úkolu.

Poznámka: Nebudu se zabývat hloubkou toho, k čemu jsou přerušení dobrá, ale pokud se chcete o tomto konceptu dozvědět více, podívejte se na můj návod (Využití přerušení ke zlepšení funkčnosti vašeho projektu) na toto téma

Většina skutečných Arduino má pár pinů, které to dělají. Uno a Pro Mini mají 2 piny (d2 a d3), které mají schopnost přerušit to, co dělá Arduino. Díky tomu můžeme Arduino posunout zpět do bdělého stavu.

Krok 4: Kód/skica

Dokončenou vyplněnou skicu si můžete stáhnout z mého webu kliknutím na tento odkaz. Chcete -li získat úplný popis a vysvětlení, jak kód funguje, můžete přejít na můj blog kliknutím na odkaz: Návod k uspání vašeho Arduina.

Krok 5: CVIČENÍ 1

CVIČENÍ 1
CVIČENÍ 1
CVIČENÍ 1
CVIČENÍ 1

KROK 1)

Nyní je čas nahrát skicu. Ale než to uděláte, vložte propojovací vodič do d2. Nechte to zatím odpojené na druhém konci. Vložte svůj náčrt a počkejte 5 sekund, než LED zhasne a Arduino přejde do režimu spánku.

KROK 2)

Poté, co kontrolka LED zhasne, vložte druhý konec propojovacího vodiče do kolíku GND na vašem Arduino Uno. Tím se zatáhne pin 2 LOW, čímž se přeruší přerušení, čímž se probudí spící Arduino. Poté, co se LED znovu rozsvítí, můžete vyjmout propojovací kabel z GND a o 5 sekund později se Arduino vrátí do režimu spánku.

Pro příklad Projekt, kde používám hodiny reálného času (RTC) k probuzení záznamníku vlhkosti a teploty, stačí kliknout na následující odkaz: PŘÍKLAD POUŽITÍ RTC PRO PROBUDENÍ ARDUINO DATA LOGGERU. Je to skvělý příklad, jak by to fungovalo v reálném světě

Doporučuje: