
Obsah:
- Krok 1: Napájecí napětí
- Krok 2: Vnitřní teplota
- Krok 3: Analogový komparátor (přerušení)
- Krok 4: Počitadlo
- Krok 5: Předdefinované konstanty
- Krok 6: Ponechejte proměnnou v paměti RAM resetováním
- Krok 7: Přístup k hodinovému signálu
- Krok 8: Interní struktura portu ATmega328P
- Krok 9: Integrovaná (vestavěná) LED jako fotodetektor
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38

Toto je spíše výčet ne tak často zmiňovaných funkcí obvykle používaných platforem Arduino (např. Uno, Nano). Tento seznam by měl sloužit jako reference, kdykoli potřebujete vyhledat tyto funkce a šířit informace.
Podívejte se na kód, abyste viděli příklady všech těchto funkcí, protože jsem je použil v několika mých projektech zde na instructable (např. Arduino 1-wire Display (144 Chars)). Následující kroky vysvětlují vždy jednu funkci.
Krok 1: Napájecí napětí
Arduino může měřit vlastní napájecí napětí nepřímým způsobem. Měřením vnitřní reference s napájecím napětím jako horní mezní referencí můžete získat poměr mezi vnitřní referencí a napájecím napětím (napájecí napětí funguje jako horní hranice pro analogový/ADC odečet). Jak znáte přesnou hodnotu reference vnitřního napětí, můžete vypočítat napájecí napětí.
Přesné podrobnosti o tom, jak to udělat, včetně ukázkového kódu, najdete v:
- Tajný voltmetr Arduino-změřte napětí baterie:
- Může Arduino změřit vlastní Vin?:
Krok 2: Vnitřní teplota
Některá zařízení Arduino jsou vybavena interním snímačem teploty, a proto mohou měřit svou vnitřní (polovodičovou) teplotu.
Přesné podrobnosti o tom, jak to udělat, včetně ukázkového kódu, najdete v:
Senzor vnitřní teploty:
Může Arduino změřit vlastní Vin?:
Krok 3: Analogový komparátor (přerušení)
Arduino může nastavit analogový komparátor mezi piny A0 a A1. Jeden tedy udává úroveň napětí a druhý je zkontrolován na překročení tohoto napětí. Přerušení se zvýší v závislosti na tom, zda je přechod stoupající nebo sestupnou hranou (nebo obojí). Přerušení pak může software zachytit a podle toho se chovat.
Přesné podrobnosti o tom, jak to udělat, včetně ukázkového kódu, najdete v:
Přerušení analogového komparátoru:
Krok 4: Počitadlo
AVR má samozřejmě několik čítačů. Obvykle se používají k nastavení časovače různých frekvencí a vyvolání přerušení podle potřeby. Dalším velmi staromódním použitím je použít je jako čítače bez jakéhokoli dalšího kouzla, stačí si přečíst hodnotu, když ji potřebujete (hlasování). Zajímavé využití by mohlo být k odražení tlačítek, např. Uveďte například tento příspěvek: Počítadlo příkladu AVR T1
Krok 5: Předdefinované konstanty
Existuje několik předdefinovaných proměnných, které lze použít k přidání informací o verzi a kompilaci do vašeho projektu.
Přesné podrobnosti o tom, jak to udělat, včetně ukázkového kódu, najdete v:
Serial.println (_ DATE_); // datum kompilace
Serial.println (_ TIME_); // čas kompilace
Řetězec stringOne = String (ARDUINO, DEC);
Serial.println (stringOne); // verze arduino ide
Serial.println (_ VERSION_); // verze gcc
Serial.println (_ FILE_); // soubor zkompilován
tyto fragmenty kódu vyvedou tato data do sériové konzoly.
Krok 6: Ponechejte proměnnou v paměti RAM resetováním
Je dobře známo, že Arduino Uno (ATmega328) má interní EEPROM, která vám umožňuje zachovat hodnoty a nastavení při vypnutí a obnovit je při příštím zapnutí. Ne tak dobře známou skutečností může být, že ve skutečnosti je možné zachovat hodnotu během resetu i v paměti RAM - nicméně hodnoty se během cyklu napájení ztratí - se syntaxí:
unsigned long variable_that_is_preserved _attribute_ ((section (".noinit")));
To vám například umožňuje spočítat počet RESETŮ a pomocí EEPROM také počet zapnutí.
Přesné podrobnosti o tom, jak to udělat, včetně ukázkového kódu, najdete v:
- Ponechat proměnnou v RAM pomocí resetování:
- Knihovna EEPROM:
Krok 7: Přístup k hodinovému signálu
Arduinos a další AVR (jako ATtiny) mají vnitřní hodiny, které vám umožňují spustit je bez použití externího krystalového oscilátoru. Kromě toho jsou současně schopni také připojit tento signál k externímu zařízení umístěním na pin (např. BB4). Nejzásadnější na tom je, že musíte vyměnit pojistkové bity čipů, abyste tuto funkci povolili, a výměna pojistkových bitů vždy nese riziko cihly čipu.
Musíte povolit pojistku CKOUT a nejjednodušší způsob, jak toho dosáhnout, je postupovat podle pokynů v části Jak změnit pojistkové bity mikrokontroléru AVR Atmega328p - 8bit pomocí Arduina.
Přesné podrobnosti o tom, jak to udělat, včetně ukázkového kódu, najdete v článku:
- Ladění interního oscilátoru ATtiny:
- Jak změnit pojistkové bity AVR Atmega328p-8bitový mikrokontrolér pomocí Arduina:
Krok 8: Interní struktura portu ATmega328P
Znalost vnitřní struktury portů ATmega328P nám umožňuje překročit standardní limity využití. Další podrobnosti a schéma vnitřního obvodu získáte v části o kapacitním měřiči pro rozsah 20 pF až 1000 nF.
Jednoduchým příkladem je použití tlačítek s digitálními porty, které nepotřebují žádný odpor kvůli použití vnitřního výsuvného odporu, jak ukazuje sériový příklad Input Pullup nebo instrukovatelné tlačítko Arduino bez odporu.
Pokročilejší je použití těchto znalostí, jak je uvedeno pro měření kondenzátorů již od 20 pF a navíc bez dalšího zapojení! Aby se dosáhlo tohoto výkonu, příklad využívá vnitřní/vstupní impedanci, vnitřní výsuvný odpor a rozptylový kondenzátor. Porovnejte s výukovým programem Arduino CapacitanceMeter, který nemůže jít níže než několik nF.
Krok 9: Integrovaná (vestavěná) LED jako fotodetektor
Mnoho desek Arduino má integrované nebo vestavěné LED diody, které lze ovládat z kódu, např. desky Uno nebo Nano na pinu 13. Přidáním jednoho jediného vodiče z tohoto kolíku na analogový vstupní kolík (např. A0) můžeme tuto LED použít také jako fotodetektor. Toho lze využít různými způsoby, například; použijte k měření osvětlení prostředí, použijte LED jako tlačítko, použijte LED pro obousměrnou komunikaci (PJON AnalogSampling) atd.
Doporučuje:
Přidání funkce rychlého nabíjení do powerbanky: 5 kroků (s obrázky)

Přidání funkce rychlého nabíjení do powerbanky: V tomto projektu vám ukážu, jak jsem upravil běžnou powerbanku, abych zkrátil její směšně dlouhou dobu nabíjení. Po cestě budu mluvit o obvodu powerbanky a proč je baterie mého powerbanky tak trochu speciální. Pojďme na to
Jak přidat funkce IOT do vašich projektů: 5 kroků

Jak přidat funkce IOT do vašich projektů: Není nic lepšího, než vytvořit projekt pro kutily, který nahradí komerční produkt, který považujete za užitečný. Ve skutečnosti existuje něco lepšího než to. Přidání schopnosti IOT do vašeho projektu. Pokud jde o automatizaci, začátečníci obvykle šílí
Rozhraní člověk-počítač: Funkce a chapadlo (vyrobeno Kirigami) pohybem zápěstí pomocí EMG .: 7 kroků

Rozhraní člověk-počítač: Funkce a chapadlo (vyrobeno společností Kirigami) pohybem zápěstí pomocí EMG .: Takže to byl můj první pokus o rozhraní člověk-počítač. Zachytil jsem signály aktivace svalů mého pohybu zápěstí pomocí senzoru EMG, zpracoval to prostřednictvím pythonu a arduina a ovládal chapadlo na bázi origami
DIY funkce/generátor průběhu: 6 kroků (s obrázky)

DIY generátor funkcí/průběhů: V tomto projektu se krátce podíváme na generátory komerčních funkcí/průběhů, abychom zjistili, jaké funkce jsou pro verzi pro kutily důležité. Poté vám ukážu, jak vytvořit jednoduchý generátor funkcí, analogový a číslicový
Guardian V1.0 --- Upgrade dveřní kukátko kamery s Arduino (funkce detekce pohybu a funkce elektrického šoku): 5 kroků

Guardian V1.0 ||| Upgrade dveřní kukátko kamery s Arduino (funkce detekce pohybu a funkce elektrického šoku): Objednal jsem si kukátkovou kameru, ale když ji používám, uvědomil jsem si, že neexistuje žádná funkce automatického nahrávání (aktivována detekcí pohybu). Poté jsem začal zkoumat, jak to funguje. Chcete-li nahrávat video, 1- podržte stisknuté tlačítko napájení téměř 2 sekundy