Tartalomjegyzék:

Az Arduino kevésbé ismert tulajdonságai: 9 lépés
Az Arduino kevésbé ismert tulajdonságai: 9 lépés

Videó: Az Arduino kevésbé ismert tulajdonságai: 9 lépés

Videó: Az Arduino kevésbé ismert tulajdonságai: 9 lépés
Videó: High Density 2022 2024, Július
Anonim
Az Arduino kevésbé ismert funkciói
Az Arduino kevésbé ismert funkciói

Ez inkább a tipikusan használt Arduino platformok (pl. Uno, Nano) nem gyakran említett funkcióinak listája. Ennek a listának referenciaként kell működnie, amikor meg kell keresnie ezeket a funkciókat és el kell terjesztenie a szót.

Nézze meg a kódot, hogy példákat láthasson az összes ilyen funkcióra, mivel ezeket itt használtam több bányaprojektemben is, oktatható módon (pl. Arduino 1 vezetékes kijelző (144 karakter)). A következő lépések egy -egy funkciót magyaráznak.

1. lépés: Tápfeszültség

Az Arduino közvetett módon képes mérni saját tápfeszültségét. Ha a belső referenciát a tápfeszültséggel felső határértékként méri, akkor megkaphatja a belső referencia és a tápfeszültség közötti arányt (a tápfeszültség az analóg/ADC leolvasás felső határaként működik). Mint tudja a belső feszültségreferencia pontos értékét, ezután kiszámíthatja a tápfeszültséget.

Ennek pontos módjáról, beleértve a példakódot, lásd:

  • Titkos Arduino voltmérő-Az akkumulátor feszültségének mérése:
  • Az Arduino meg tudja mérni saját Vin -jét?:

2. lépés: Belső hőmérséklet

Néhány Arduino belső hőmérséklet -érzékelővel van felszerelve, és ezért meg tudja mérni a belső (félkész) hőmérsékletét.

Ennek pontos módjáról, beleértve a példakódot, lásd:

Belső hőmérséklet -érzékelő:

Az Arduino meg tudja mérni saját Vin -jét?:

3. lépés: Analóg összehasonlító (megszakítás)

Az Arduino beállíthat analóg összehasonlítót az A0 és az A1 érintkező közé. Tehát az egyik megadja a feszültségszintet, a másik pedig ellenőrzi, hogy nincs -e ezen feszültség kereszteződése. A megszakítás emelkedik attól függően, hogy az átkelő emelkedő vagy csökkenő él (vagy mindkettő). A megszakítást ezután szoftver foghatja meg, és ennek megfelelően járhat el.

Ennek pontos módjáról, beleértve a példakódot, lásd:

Analóg összehasonlító megszakítás:

4. lépés: Számláló

Természetesen az AVR -hez több számláló is tartozik. Általában különböző frekvenciájú időzítő beállítására és szükség esetén megszakítások előállítására használják. Egy másik nagyon régimódi felhasználás lehet az is, hogy számlálóként használja őket minden további varázslat nélkül, csak akkor olvassa el az értéket, amikor szüksége van rá (szavazás). Ennek intresszív felhasználása lehet a gombok visszapattanása pl. Tekintse meg például ezt a bejegyzést: AVR Példa T1 számláló

5. lépés: Előre meghatározott állandók

Vannak előre definiált változók, amelyek felhasználhatók verzió- és fordítási információk hozzáadásához a projekthez.

Ennek pontos módjáról, beleértve a példakódot, lásd:

Serial.println (_ DATE_); // összeállítás dátuma

Sorozat.println (_ TIME_); // összeállítási idő

String stringOne = Karakterlánc (ARDUINO, DEC);

Serial.println (stringOne); // arduino ide verzió

Serial.println (_ VERSION_); // gcc verzió

Serial.println (_ FILE_); // fájl lefordítva

ezek a kódrészletek ezeket az adatokat a soros konzolra továbbítják.

6. lépés: Változtassa meg a RAM -ot a visszaállítással

Jól ismert, hogy az Arduino Uno (ATmega328) rendelkezik belső EEPROM-mal, amely lehetővé teszi az értékek és beállítások megőrzését a kikapcsolás során, és a következő bekapcsoláskor történő visszaállításukat. Nem olyan jól ismert tény lehet, hogy valójában lehetséges a RAM megőrzése az alaphelyzetbe állítás során, még a RAM -ban is - bár az értékek elvesznek az áramkör alatt - a szintaxissal:

unsigned long variable_that_is_preserved _attribute_ ((szakasz (".noinit"))));

Ez lehetővé teszi például, hogy megszámolja a RESET-ek számát, és az EEPROM használatával a bekapcsolások számát is.

Ennek pontos módjáról, beleértve a példakódot, lásd:

  • Változó megőrzése a Ramban a Reset segítségével:
  • EEPROM könyvtár:

7. lépés: Hozzáférés az órajelhez

Az Arduinos és más AVR (például ATtiny) rendelkezik belső órával, amely lehetővé teszi, hogy külső kristályoszcillátor használata nélkül futtassa őket. Ezenkívül képesek arra, hogy ezt a jelet kívülre is összeköthessék egy tűre (pl. PB4). A trükkös rész itt az, hogy ki kell cserélni a chipek biztosíték bitjeit annak érdekében, hogy engedélyezze ezt a funkciót, és a biztosíték bitek cseréje mindig magában hordozza a chip betörésének kockázatát.

Engedélyeznie kell a CKOUT biztosítékot, és ennek legegyszerűbb módja az AVR Atmega328p - 8 bites mikrovezérlő biztosítékcseréjének cseréje Arduino használatával című utasítás.

Ennek pontos módjáról, beleértve a példakódot, lásd:

  • Az ATtiny belső oszcillátor hangolása:
  • Az AVR Atmega328p-8 bites mikrokontroller biztosítékainak cseréje az Arduino használatával:

8. lépés: Az ATmega328P port belső felépítése

Az ATmega328P portok belső felépítésének ismerete lehetővé teszi, hogy túllépjünk a szabványos használati korlátokon. Tekintse meg a 20 pF és 1000 nF tartomány közötti kapacitásmérő című részt a további részletekért és a belső áramkör vázlatához.

Az egyszerű példa az, hogy olyan digitális portokkal rendelkező gombokat használnak, amelyeknek nincs szükségük ellenállásra a belső felhúzó ellenállás használata miatt, amint azt az Input Pullup Soros Példa vagy az utasítható Arduino gomb ellenállás nélkül mutatja.

A fent említett ismeretek fejlettebbek a 20 pF -os, és további kábelezés nélküli kondenzátorok mérésére! E teljesítmény elérése érdekében a példa a belső/bemeneti impedanciát, a belső felhúzó ellenállást és a kóbor kondenzátort használja fel. Hasonlítsa össze az Arduino CapacitanceMeter oktatóanyagával, amely nem lehet alacsonyabb, mint néhány nF.

9. lépés: Fedélzeti (beépített) LED fényérzékelőként

Sok Arduino tábla rendelkezik beépített vagy beépített LED-ekkel, amelyek kódról vezérelhetők, pl. az Uno vagy Nano kártyákat a 13. tűn. Ha egyetlen vezetéket ad hozzá a tűből egy analóg bemeneti tűhöz (pl. A0), akkor ezt a LED -et fotodetektorként is használhatjuk. Ezt sokféleképpen lehet használni, például; használja a környezeti megvilágítás mérésére, használja a LED -et gombként, használja a LED -t kétirányú kommunikációhoz (PJON AnalogSampling) stb.

Ajánlott: