Kazalo:

Manj znane lastnosti Arduina: 9 korakov
Manj znane lastnosti Arduina: 9 korakov

Video: Manj znane lastnosti Arduina: 9 korakov

Video: Manj znane lastnosti Arduina: 9 korakov
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, November
Anonim
Manj znane lastnosti Arduina
Manj znane lastnosti Arduina

To je bolj seznam ne tako pogosto omenjenih funkcij običajno uporabljenih platform Arduino (npr. Uno, Nano). Ta seznam bi moral delovati kot referenca, kadar koli morate poiskati te funkcije in razširiti besedo.

Oglejte si kodo, da si ogledate primere za vse te funkcije, saj sem jih uporabil v več svojih rudarskih projektih na poučevanju (npr. Arduino 1-žični zaslon (144 znakov)). Naslednji koraki pojasnjujejo vsako funkcijo.

1. korak: Napajalna napetost

Arduino lahko posredno meri lastno napajalno napetost. Z merjenjem notranje reference z napajalno napetostjo kot zgornjo mejo referenčne vrednosti lahko dobite razmerje med notranjo referenčno in napajalno napetostjo (napajalna napetost deluje kot zgornja meja za analogno/ADC odčitavanje). Kot veste natančno vrednost referenčne vrednosti notranje napetosti, lahko nato izračunate napajalno napetost.

Za natančne podrobnosti o tem, vključno s primerno kodo, glejte:

  • Tajni voltmeter Arduino-izmerite napetost akumulatorja:
  • Ali lahko Arduino meri svoj Vin ?:

Korak: Notranja temperatura

Nekateri Arduino so opremljeni z notranjim temperaturnim senzorjem in zato lahko merijo njihovo notranjo (polvodovsko) temperaturo.

Za natančne podrobnosti o tem, vključno s primerno kodo, glejte:

Notranji temperaturni senzor:

Ali lahko Arduino meri svoj Vin ?:

3. korak: Analogni primerjalnik (prekinitev)

Arduino lahko nastavi analogni primerjalnik med pin A0 in A1. Tako ena poda raven napetosti, druga pa se preveri, ali prehaja to napetost. Prekinitev se dvigne, odvisno od tega, ali je križišče naraščajoči ali padajoči rob (ali oboje). Prekinitev lahko nato ujame programska oprema in ustrezno ukrepa.

Za natančne podrobnosti o tem, vključno s primerno kodo, glejte:

Prekinitev analognega primerjalnika:

4. korak: Števec

Seveda ima AVR več števcev. Običajno se uporabljajo za nastavitev časovnika različnih frekvenc in po potrebi povečajo prekinitve. Druga je lahko zelo staromodna uporaba, da jih uporabite samo kot števce brez dodatne čarovnije, samo preberite vrednost, ko jo potrebujete (anketa). Interesantna uporaba tega bi lahko bila odvračanje gumbov, npr. Posredujte na primer to objavo: AVR Primer števca T1

5. korak: Vnaprej določene konstante

Obstaja nekaj vnaprej določenih spremenljivk, ki jih lahko uporabite za dodajanje podatkov o različici in kompilaciji v vaš projekt.

Za natančne podrobnosti o tem, vključno s primerno kodo, glejte:

Serial.println (_ DATE_); // datum sestave

Serial.println (_ TIME_); // čas zbiranja

Niz stringOne = niz (ARDUINO, DEC);

Serial.println (stringOne); // različica arduino ide

Serial.println (_ VERSION_); // gcc različica

Serial.println (_ FILE_); // datoteka sestavljena

ti delčki kode bodo te podatke oddali v serijsko konzolo.

Korak 6: Ohranite spremenljivko v RAM -u s ponastavitvijo

Dobro znano je, da ima Arduino Uno (ATmega328) notranji EEPROM, ki vam omogoča, da med izklopom ohranite vrednosti in nastavitve ter jih ob naslednjem vklopu obnovite. Ne tako dobro znano dejstvo je lahko, da je dejansko mogoče med ponastavitvijo ohraniti vrednost tudi v RAM -u - vendar se vrednosti med ciklom napajanja izgubijo - s sintakso:

nepodpisana dolga spremenljivka_, ki_ je_zahranjena _atributa_ ((odsek (".noinit")));

Tako lahko na primer štejete število RESET-ov in z uporabo EEPROM-a tudi število vklopov.

Za natančne podrobnosti o tem, vključno s primerno kodo, glejte:

  • Obdrži spremenljivko v Ramu s ponastavitvijo:
  • Knjižnica EEPROM:

7. korak: dostopajte do signala ure

Arduinos in drugi AVR (na primer ATtiny) imajo notranjo uro, ki vam omogoča, da jih zaženete brez uporabe zunanjega kristalnega oscilatorja. Poleg tega lahko hkrati ta signal povežejo z zunanjostjo tako, da ga položijo na pin (npr. PB4). Težava pri tem je, da morate spremeniti nastavke za varovalke čipov, da omogočite to funkcijo. Zamenjava varovalk pa vedno nosi tveganje, da se čip zazida.

Omogočiti morate varovalko CKOUT, najlažji način za to pa je, da sledite navodilom o tem, kako spremeniti nastavke varovalk AVR Atmega328p - 8 -bitnega mikrokrmilnika z uporabo Arduina.

Za natančne podrobnosti o tem, vključno s primerno kodo, glejte:

  • Uglaševanje notranjega oscilatorja ATtiny:
  • Kako spremeniti sklope varovalk AVR Atmega328p-8-bitni mikrokrmilnik z uporabo Arduina:

8. korak: Notranja struktura vrat ATmega328P

Poznavanje notranje strukture vrat ATmega328P vrat nam omogoča, da presežemo standardne omejitve uporabe. Za več podrobnosti in shemo notranjega tokokroga glejte razdelek o merilniku kapacitivnosti za območje od 20 pF do 1000 nF.

Preprost primer je uporaba gumbov z digitalnimi vrati, ki ne potrebujejo nobenega upora zaradi uporabe notranjega vlečnega upora, kot je prikazano v zaporednem primeru vhodnega vlečnega vhoda ali gumbu Arduino, ki ga je mogoče naročiti brez upora.

Naprednejša je uporaba tega znanja, kot je omenjeno, za merilne kondenzatorje, ki so majhni kot 20 pF in poleg tega brez dodatnega ožičenja! Da bi dosegli to zmogljivost, primer uporablja notranjo/vhodno impedanco, notranji vlečni upor in potepuški kondenzator. Primerjajte z vadnico CapacitanceMeter Arduino, ki ne sme biti nižja od nekaj nF.

9. korak: Vgrajena (vgrajena) LED kot fotodetektor

Veliko plošč Arduino ima vgrajene ali vgrajene LED diode, ki jih je mogoče upravljati iz kode, npr. plošče Uno ali Nano na zatiču 13. Z dodajanjem ene same žice s tega zatiča na analogni vhodni pin (npr. A0) lahko to LED uporabite tudi kot fotodetektor. To lahko uporabimo na različne načine, na primer; uporabite za merjenje osvetlitve okolja, uporabite LED kot gumb, uporabite LED za dvosmerno komunikacijo (PJON AnalogSampling) itd.

Priporočena: