Obsah:
- Krok 1: Napájacie napätie
- Krok 2: Vnútorná teplota
- Krok 3: Analógový komparátor (prerušenie)
- Krok 4: Počítadlo
- Krok 5: Preddefinované konštanty
- Krok 6: Ponechajte premennú v RAM resetovaním
- Krok 7: Prístup k hodinovému signálu
- Krok 8: Vnútorná štruktúra portu ATmega328P
- Krok 9: Palubná (vstavaná) LED ako fotodetektor
Video: Menej známe vlastnosti Arduina: 9 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Toto je skôr zoznam nie tak často spomínaných funkcií platforiem Arduino, ktoré sa bežne používajú (napr. Uno, Nano). Tento zoznam by mal slúžiť ako referencia vždy, keď potrebujete vyhľadať tieto funkcie a šíriť informácie.
Pozrite sa na kód, aby ste videli príklady všetkých týchto funkcií, pretože som ich použil v niekoľkých mojich projektoch tu na pokynoch (napr. 1-vodičový displej Arduino (144 znakov)). Nasledujúce kroky vysvetľujú každú jednu funkciu.
Krok 1: Napájacie napätie
Arduino môže nepriamo merať vlastné napájacie napätie. Meraním vnútornej referencie s napájacím napätím ako hornou hraničnou referenciou môžete získať pomer medzi vnútornou referenciou a napájacím napätím (napájacie napätie funguje ako horná hranica pre čítanie analógového/ADC). Keď poznáte presnú hodnotu referencie vnútorného napätia, môžete potom vypočítať napájacie napätie.
Presné podrobnosti o tom, ako to urobiť, vrátane ukážkového kódu, nájdete v:
- Tajný voltmetr Arduino-zmerajte napätie batérie:
- Môže Arduino merať svoje vlastné Vin?:
Krok 2: Vnútorná teplota
Niektoré Arduino sú vybavené vnútorným snímačom teploty, a preto môžu merať svoju vnútornú (polovodičovú) teplotu.
Presné podrobnosti o tom, ako to urobiť, vrátane ukážkového kódu, nájdete v:
Snímač vnútornej teploty:
Môže Arduino merať svoje vlastné Vin?:
Krok 3: Analógový komparátor (prerušenie)
Arduino môže nastaviť analógový komparátor medzi kolíky A0 a A1. Jeden teda udáva úroveň napätia a druhý sa kontroluje na prekročenie tohto napätia. Prerušenie sa zvýši v závislosti od toho, či je prechod stúpajúcou alebo klesajúcou hranou (alebo oboma). Prerušenie potom môže softvér zachytiť a podľa toho konať.
Presné podrobnosti o tom, ako to urobiť, vrátane ukážkového kódu, nájdete v:
Prerušenie analógového komparátora:
Krok 4: Počítadlo
AVR má samozrejme niekoľko počítadiel. Obvykle sa používajú na nastavenie časovača rôznych frekvencií a v prípade potreby vyvolávajú prerušenia. Ďalším veľmi staromódnym použitím je použiť ich ako počítadlá bez ďalšej kúzla, stačí si prečítať hodnotu, keď ju potrebujete (hlasovanie). Ich zaujímavým využitím by mohlo byť odrazenie tlačidiel napr. Ukážte napríklad tento príspevok: Počítadlo AVR Príklad T1
Krok 5: Preddefinované konštanty
Existuje niekoľko preddefinovaných premenných, ktoré je možné použiť na pridanie informácií o verzii a kompilácii do vášho projektu.
Presné podrobnosti o tom, ako to urobiť, vrátane ukážkového kódu, nájdete v:
Serial.println (_ DATE_); // dátum kompilácie
Serial.println (_ TIME_); // čas kompilácie
Reťazec stringOne = Reťazec (ARDUINO, DEC);
Serial.println (stringOne); // arduino ide verzia
Serial.println (_ VERZIA_); // verzia gcc
Serial.println (_ FILE_); // súbor zostavený
tieto útržky kódu prenesú tieto údaje do sériovej konzoly.
Krok 6: Ponechajte premennú v RAM resetovaním
Je dobre známe, že Arduino Uno (ATmega328) má vnútornú EEPROM, ktorá vám umožňuje zachovať hodnoty a nastavenia pri vypnutí a obnoviť ich pri ďalšom zapnutí. Nie príliš známym faktom môže byť, že je skutočne možné zachovať hodnotu počas resetovania aj v RAM - hodnoty sa však počas cyklu napájania stratia - so syntaxou:
dlhá premenná bez znamienka_, ktorá je zachovaná _attribute_ ((sekcia (".noinit")));
To vám napríklad umožňuje spočítať počet RESETOV a pomocou EEPROM aj počet zapnutí.
Presné podrobnosti o tom, ako to urobiť, vrátane ukážkového kódu, nájdete v:
- Ponechať premennú v RAM pomocou resetovania:
- Knižnica EEPROM:
Krok 7: Prístup k hodinovému signálu
Arduinos a ďalšie AVR (ako ATtiny) majú vnútorné hodiny, ktoré vám umožňujú ich spustenie bez použitia externého kryštálového oscilátora. Okrem toho sú súčasne schopní tiež pripojiť tento signál k vonkajšiemu prostrediu umiestnením na kolík (napr. PB4). Zložité je, že musíte vymeniť poistkové bity čipov, aby ste túto funkciu povolili, a zmena poistkových bitov vždy nesie riziko zamurovania čipu.
Musíte povoliť poistku CKOUT a najľahšie to urobíte podľa pokynov v časti Ako zmeniť poistkové bity mikrokontroléra AVR Atmega328p - 8bit pomocou mikrokontroléra Arduino.
Presné podrobnosti o tom, ako to urobiť, vrátane ukážkového kódu, nájdete v:
- Ladenie interného oscilátora ATtiny:
- Ako zmeniť poistkové bity AVR Atmega328p-8bitového mikrokontroléra pomocou Arduina:
Krok 8: Vnútorná štruktúra portu ATmega328P
Poznanie vnútornej štruktúry portov ATmega328P nám umožňuje prekročiť štandardné limity použitia. Podrobnejšie informácie a schému vnútorného obvodu nájdete v časti o kapacitnom merači pre rozsah 20 pF až 1000 nF.
Jednoduchým príkladom je použitie tlačidiel s digitálnymi portami, ktoré nepotrebujú žiadny odpor, pretože sa používa vnútorný výsuvný odpor, ako ukazuje sériový príklad Input Pullup alebo inštruovateľné tlačidlo Arduino bez odporu.
Pokročilejšie je použitie týchto znalostí, ako je uvedené pre meranie kondenzátorov s veľkosťou až 20 pF a navyše bez akéhokoľvek ďalšieho zapojenia! Aby sa dosiahol tento výkon, príklad využíva vnútornú/vstupnú impedanciu, vnútorný výsuvný odpor a rozptylový kondenzátor. Porovnajte s výukovým programom Arduino CapacitanceMeter, ktorý nemôže ísť nižšie ako niekoľko nF.
Krok 9: Palubná (vstavaná) LED ako fotodetektor
Mnoho dosiek Arduino má vstavané alebo vstavané diódy LED, ktoré je možné ovládať z kódu, napr. dosky Uno alebo Nano na pine 13. Pridaním jedného vodiča z tohto kolíka na analógový vstupný kolík (napr. A0) môžeme túto diódu LED použiť aj ako fotodetektor. Toto môže byť použité rôznymi spôsobmi, ako napríklad; použiť na meranie osvetlenia prostredia, použiť LED ako tlačidlo, použiť LED na obojsmernú komunikáciu (PJON AnalogSampling) atď.
Odporúča:
Super jasná baterka 100 dolárov za menej ako 10 dolárov!: 5 krokov
Super jasná baterka 100 dolárov za menej ako 10 dolárov !: Dovoľte mi vopred povedať, že inšpirácia pre tento návod je pripísaná dchall8 pre jeho návod na taktickú baterku. Myslel som si, že musí existovať jednoduchší spôsob, ako zmeniť menšiu baterku s menším hardvérom a trvá menej času. Ja p
DIY FPV drone za menej: 7 krokov
DIY FPV drone za menej: Lietanie s dronom FPV je zábavný koníček, ktorý používa okuliare a kameru, aby zistil, čo dron „vidí“, a ľudia dokonca súťažia o peňažné ceny. Je však ťažké dostať sa do sveta lietania FPV - a veľmi drahé! Aj tie najmenšie drony FPV môžu byť
Fotorámček Raspberry Pi za menej ako 20 minút: 10 krokov (s obrázkami)
Fotorámik Raspberry Pi za menej ako 20 minút: Áno, toto je ďalší digitálny fotorámik! Ale počkajte, je to elegantnejšie a pravdepodobne najrýchlejšie zostaviteľné a spustené
Pestovanie viac šalátu na menšom priestore alebo Pestovanie šalátu vo vesmíre, (viac alebo menej) .: 10 krokov
Pestovanie viac šalátu na menšom priestore alebo … Pestovanie šalátu vo vesmíre, (viac či menej) .: Toto je profesionálny príspevok do súťaže Growing Beyond Earth, Maker Contest, predloženej prostredníctvom Instructables. Už som nemohol byť nadšený z toho, že budem navrhovať vesmírnu produkciu plodín a zverejním svoj prvý návod. Na začiatku nás súťaž požiadala, aby sme
Lekcia ME 470: Vlastnosti vzoru: 6 krokov
ME 470 Výukový program: Vlastnosti vzoru: Vzory môžu ušetriť čas pri častiach, ktoré majú opakované funkcie