Sisukord:

Arduino vähem tuntud omadused: 9 sammu
Arduino vähem tuntud omadused: 9 sammu

Video: Arduino vähem tuntud omadused: 9 sammu

Video: Arduino vähem tuntud omadused: 9 sammu
Video: CS50 2013 - Week 9 2024, November
Anonim
Arduino vähem tuntud funktsioonid
Arduino vähem tuntud funktsioonid

See on pigem tavaliselt kasutatavate Arduino platvormide (nt Uno, Nano) mitte nii sageli mainitud funktsioonide loetelu. See kirje peaks toimima viitena, kui teil on vaja neid funktsioone otsida ja sõna levitada.

Vaadake koodi, et näha näiteid kõigi nende funktsioonide kohta, kuna ma kasutasin neid mitmes minu projektis siin juhendataval viisil (nt Arduino 1-juhtmeline ekraan (144 tähemärki)). Järgmised sammud selgitavad ühte funktsiooni.

Samm: toitepinge

Arduino saab oma toitepinget kaudsel viisil mõõta. Mõõtes sisemist võrdluspunkti toitepinge ülemise piirväärtusena, saate sisemise võrdlus- ja toitepinge suhte (toitepinge toimib analoog-/ADC -näidu ülemise piirina). Nagu teate sisemise pinge võrdlusväärtuse täpset väärtust, saate seejärel arvutada toitepinge.

Täpsemat teavet selle kohta, kuidas seda teha, sealhulgas näidiskoodi, leiate siit:

  • Salajane Arduino voltmeeter-mõõta aku pinget:
  • Kas Arduino saab oma Vin'i mõõta?:

2. samm: sisetemperatuur

Mõned Arduino on varustatud sisemise temperatuurianduriga ja saavad seetõttu mõõta sisemist (pooltootja) temperatuuri.

Täpsemat teavet selle kohta, kuidas seda teha, sealhulgas näidiskoodi, leiate siit:

Sisemine temperatuuriandur:

Kas Arduino saab oma Vin'i mõõta?:

3. samm: analoogvõrdleja (katkestus)

Arduino saab seadistada analoogvõrdleja tihvtide A0 ja A1 vahele. Nii et üks annab pingetaseme ja teine kontrollib selle pinge ületamist. Katkestust tõstetakse sõltuvalt sellest, kas ülekäik on tõusev või langev serv (või mõlemad). Seejärel saab tarkvara katkestuse kinni püüda ja vastavalt tegutseda.

Täpsemat teavet selle kohta, kuidas seda teha, sealhulgas näidiskoodi, leiate siit:

Analoogvõrdleja katkestus:

4. samm: loendur

Loomulikult on AVR -il mitu loendurit. Tavaliselt kasutatakse neid erinevate sageduste taimeri seadistamiseks ja vajadusel katkestuste tekitamiseks. Teine võib olla väga vanamoodne kasutus-kasutada neid loenduritena ilma täiendava maagiata, lihtsalt lugege väärtust, kui seda vajate (küsitlus). Selle huvitavaks kasutamiseks võiks olla nuppude tagasilükkamine, nt. Vaadake näiteks seda postitust: AVR Näite T1 loendur

5. samm: etteantud konstandid

On mõned eelmääratletud muutujad, mida saab kasutada projektile versiooni ja kompileerimise teabe lisamiseks.

Täpsemat teavet selle kohta, kuidas seda teha, sealhulgas näidiskoodi, leiate siit:

Serial.println (_ DATE_); // koostamise kuupäev

Serial.println (_ TIME_); // koostamise aeg

String stringOne = String (ARDUINO, DEC);

Serial.println (stringOne); // arduino ide versioon

Serial.println (_ VERSION_); // gcc versioon

Serial.println (_ FILE_); // fail koostatud

need koodilõigud väljastavad need andmed jadakonsoolile.

6. toiming: muutuva RAM -i säilitamine lähtestamise kaudu

On hästi teada, et Arduino Unol (ATmega328) on sisemine EEPROM, mis võimaldab teil väärtusi ja seadeid väljalülitamisel säilitada ning järgmisel sisselülitamisel taastada. Mitte nii hästi tuntud fakt võib olla see, et tegelikult on võimalik lähtestamise ajal väärtust säilitada isegi RAM -is, kuid väärtused lähevad toiteperioodi ajal kaduma süntaksiga:

allkirjastamata pikk muutuja_that_is_preserved _attribute_ ((jaotis (".noinit")));

See võimaldab teil näiteks loendada lähtestamiste arvu ja EEPROMi abil ka sisselülituste arvu.

Täpsemat teavet selle kohta, kuidas seda teha, sealhulgas näidiskoodi, leiate siit:

  • Säilitage muutuja Ramis lähtestamise kaudu:
  • EEPROMi raamatukogu:

Samm 7: Juurdepääs kella signaalile

Arduinodel ja teistel AVR -idel (nagu ATtiny) on sisemine kell, mis võimaldab neid käivitada ilma välise kristallostsillaatorita. Lisaks saavad nad samal ajal ühendada selle signaali väljastpoolt, pannes selle tihvtile (nt PB4). Keeruline osa on selles, et selle funktsiooni lubamiseks peate muutma kiipide kaitsmebitte ja kaitsmete otsikute vahetamine kannab alati kiibi müüritise ohtu.

Peate lubama CKOUT kaitsme ja lihtsaim viis seda teha on järgides juhiseid AVR Atmega328p 8 -bitise mikrokontrolleri kaitsmebittide vahetamise kohta Arduino abil.

Täpsemat teavet selle kohta, kuidas seda teha, sealhulgas näidiskoodi, leiate siit:

  • ATtiny sisemise ostsillaatori häälestamine:
  • AVR Atmega328p 8-bitise mikrokontrolleri kaitsmebittide vahetamine Arduino abil:

8. samm: ATmega328P sadama sisemine struktuur

ATmega328P sadamate sisemise struktuuri tundmine võimaldab meil ületada tavapäraseid kasutuspiire. Lisateavet ja sisemise vooluahela skeemi leiate jaotisest Mahtuvusmõõtur vahemikus 20 pF kuni 1000 nF.

Lihtne näide on kasutada digitaalse pordiga nuppe, mis ei vaja takistit sisemise tõmbetakistuse kasutamise tõttu, nagu on näidatud sisendpullupi jadanäites või juhendatav Arduino nupp ilma takistita.

Edasijõudnum on nende teadmiste kasutamine, nagu mainitud, kuni 20 pF suuruste kondensaatorite mõõtmiseks ja lisaks ilma täiendava juhtmestikuta! Selle jõudluse saavutamiseks kasutatakse näites sisemist/sisendtakistust, sisemist tõmbetakistit ja hulkuvat kondensaatorit. Võrrelge Arduino CapacitanceMeter Tutorialiga, mis ei saa langeda alla mõne nF.

9. samm: pardal olev (sisseehitatud) LED kui fotodetektor

Paljudel Arduino tahvlitel on sisseehitatud või sisseehitatud LED-id, mida saab koodist juhtida, nt. Uno või Nano plaadid tihvtil 13. Kui lisate sellest tihvtist ühe juhtme analoogsisendisse (nt A0), saame seda LED -i kasutada ka fotodetektorina. Seda saab kasutada mitmel erineval viisil, näiteks; Kasutage keskkonnavalgustuse mõõtmiseks, kasutage LED -i nupuna, kasutage LED -i kahesuunaliseks kommunikatsiooniks (PJON AnalogSampling) jne.

Soovitan: