Përmbajtje:

Karakteristikat më pak të njohura të Arduino: 9 hapa
Karakteristikat më pak të njohura të Arduino: 9 hapa

Video: Karakteristikat më pak të njohura të Arduino: 9 hapa

Video: Karakteristikat më pak të njohura të Arduino: 9 hapa
Video: Измерение 5A-30A переменного и постоянного тока с использованием ACS712 с библиотекой Robojax 2024, Nëntor
Anonim
Karakteristikat më pak të njohura të Arduino
Karakteristikat më pak të njohura të Arduino

Kjo është më shumë një listë e veçorive jo aq të përmendura të platformave Arduino të përdorura zakonisht (p.sh. Uno, Nano). Kjo listë duhet të veprojë si një referencë sa herë që keni nevojë për të kërkuar ato veçori dhe për të përhapur fjalën.

Shikoni kodin në mënyrë që të shihni shembuj për të gjitha ato veçori siç i kam përdorur në disa nga projektet e mia këtu në udhëzues (p.sh. Arduino 1-wire Display (144 Chars)). Hapat e mëposhtëm shpjegojnë një veçori secila.

Hapi 1: Tensioni i Furnizimit

Arduino mund të masë tensionin e vet të furnizimit në një mënyrë indirekte. Duke matur referencën e brendshme me tensionin e furnizimit si referencë e kufirit të sipërm, mund të merrni raportin midis referencës së brendshme dhe tensionit të furnizimit (tensioni i furnizimit që vepron si kufiri i sipërm për leximin analog/ADC). Siç e dini vlerën e saktë të referencës së tensionit të brendshëm, atëherë mund të llogaritni tensionin e furnizimit.

Për detaje të sakta se si ta bëni këtë duke përfshirë kodin shembull shihni:

  • Voltmetri sekret Arduino-Matni Tensionin e Baterisë:
  • A mund të matë Arduino Vin -in e vet ?:

Hapi 2: Temperatura e brendshme

Disa Arduino janë të pajisur me një sensor të brendshëm të temperaturës dhe për këtë arsye mund të matin temperaturën e tyre të brendshme (gjysmëduktore).

Për detaje të sakta se si ta bëni këtë duke përfshirë kodin shembull shihni:

Sensori i temperaturës së brendshme:

A mund të matë Arduino Vin -in e vet ?:

Hapi 3: Krahasues analog (ndërprerje)

Arduino mund të konfigurojë një krahasues analog midis pin A0 dhe A1. Pra, njëri jep nivelin e tensionit dhe tjetri kontrollohet për një kalim të këtij tensioni. Një ndërprerje ngrihet në varësi të faktit nëse kalimi është një skaj në rritje ose në rënie (ose të dyja). Ndërprerja pastaj mund të kapet nga softueri dhe të veprohet në përputhje me rrethanat.

Për detaje të sakta se si ta bëni këtë duke përfshirë kodin shembull shihni:

Ndërprerja Analog Krahasuese:

Hapi 4: Kundërsulm

Sigurisht që AVR kanë disa sportele të përfshira. Zakonisht ato përdoren për të vendosur kohëmatës të frekuencave të ndryshme dhe për të rritur ndërprerjet sipas nevojës. Një tjetër përdorim i modës së vjetër është t'i përdorni ato si sportele pa ndonjë magji shtesë, thjesht lexoni vlerën kur keni nevojë (sondazh). Një përdorim interesant i kësaj mund të jetë zbërthimi i butonave p.sh. Konsideroni për shembull këtë postim: Numëruesi AVR Shembull T1

Hapi 5: Konstantet e paracaktuara

Ekzistojnë disa ndryshore të paracaktuara që mund të përdoren për të shtuar versionin dhe informacionin e përpilimit në projektin tuaj.

Për detaje të sakta se si ta bëni këtë duke përfshirë kodin shembull shihni:

Serial.println (_ DATE_); // data e përpilimit

Serial.println (_ TIME_); // koha e përpilimit

String stringOne = String (ARDUINO, DEC);

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

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

Serial.println (_ FILE_); // skedari i përpiluar

këto pjesë të kodit do t'i nxjerrin ato të dhëna në tastierën serike.

Hapi 6: Mbani ndryshoren në RAM përmes rivendosjes

Knownshtë e njohur që Arduino Uno (ATmega328) ka EEPROM të brendshëm që ju lejon të ruani vlerat dhe cilësimet gjatë fikjes dhe t'i riktheni ato në ndezjen tjetër. Një fakt jo aq i njohur mund të jetë se është në fakt e mundur të ruhet vlera gjatë rivendosjes edhe në RAM - megjithatë vlerat humbasin gjatë ciklit të energjisë - me sintaksën:

variabla e gjatë e panënshkruar_që_është_ ruajtur _tributi_ ((pjesa (".njohja")));

Kjo ju lejon për shembull të numëroni numrin e RESET-eve dhe duke përdorur EEPROM edhe numrin e fuqizimeve.

Për detaje të sakta se si ta bëni këtë duke përfshirë kodin shembull shihni:

  • Ruani ndryshoren në Ram përmes Rivendosjes:
  • Biblioteka EEPROM:

Hapi 7: Qasuni në Sinjalin e Orës

Arduinos dhe AVR -të e tjera (si ATtiny) kanë një orë të brendshme që ju lejon t'i përdorni pa përdorur një oshilator kristalor të jashtëm. Për më tepër në të njëjtën kohë ata janë gjithashtu në gjendje ta lidhin këtë sinjal me jashtë duke e vënë atë në një kunj (p.sh. PB4). Pjesa e ndërlikuar këtu është se ju duhet të ndryshoni copat e siguresave të patate të skuqura në mënyrë që të mundësoni atë veçori dhe ndryshimi i pjesëve të siguresave mbart gjithnjë rrezikun e tullave të çipit.

Duhet të aktivizoni siguresën CKOUT dhe mënyra më e lehtë për ta bërë këtë është duke ndjekur udhëzimet se si të ndryshoni copat e siguresave të AVR Atmega328p - 8bit Mikrokontrolluesi duke përdorur Arduino.

Për detaje të sakta se si ta bëni këtë duke përfshirë kodin shembull shihni:

  • Akordimi i oshilatorit të brendshëm ATtiny:
  • Si të ndryshoni copat e siguresave të AVR Atmega328p-8bit Mikrokontrollues duke përdorur Arduino:

Hapi 8: Struktura e brendshme e portit të ATmega328P

Njohja e strukturës së brendshme të porteve të ATmega328P na lejon të shkojmë përtej kufijve standardë të përdorimit. Për më shumë detaje dhe një skemë të qarkut të brendshëm, referojuni seksionit rreth Matësit të Kapacitetit për Gama 20 pF në 1000 nF.

Shembulli i thjeshtë është përdorimi i butonave me porte dixhitale që nuk kanë nevojë për ndonjë rezistencë për shkak të përdorimit të rezistencës tërheqëse të brendshme siç tregohet nga Shembulli Serial Input Pullup ose Button i udhëzueshëm Arduino Pa rezistencë.

Më i avancuar është përdorimi i kësaj njohurie siç është përmendur për matjen e kapacitoreve të vegjël deri në 20 pF dhe për më tepër pa ndonjë lidhje shtesë! Për të arritur atë performancë, shembulli përdor rezistencën e brendshme/hyrëse, rezistencën tërheqëse të brendshme dhe kondensatorin e humbur. Krahasoni me Arduino CapacitanceMeter Tutorial i cili nuk mund të shkojë më poshtë se disa nF.

Hapi 9: LED në bord (i integruar) si fotodetektor

Shumë borde Arduino kanë LED në bord ose të integruar që mund të kontrollohen nga kodi, p.sh. bordet Uno ose Nano në kunjin 13. Duke shtuar një tel të vetëm nga ky kunj në një kunj hyrës analog (p.sh. A0) ne gjithashtu mund ta përdorim këtë LED si fotodetektor. Kjo mund të përdoret në një larmi mënyrash të ndryshme si; përdorni për të matur ndriçimin mjedisor, përdorni LED si buton, përdorni LED për komunikimin dydrektues (PJON AnalogSampling), etj.

Recommended: