INHOUDSOPGAWE:

Minder bekende kenmerke van Arduino: 9 stappe
Minder bekende kenmerke van Arduino: 9 stappe

Video: Minder bekende kenmerke van Arduino: 9 stappe

Video: Minder bekende kenmerke van Arduino: 9 stappe
Video: Control 10 output pins or relay using 10 push button switch with 1 Arduino input pin ANPB-V2 2024, November
Anonim
Minder bekende kenmerke van Arduino
Minder bekende kenmerke van Arduino

Dit is meer 'n lys van die funksies wat nie so gereeld genoem word op die Arduino -platforms wat gewoonlik gebruik word nie (bv. Uno, Nano). Hierdie aanbieding moet as 'n verwysing dien as u die funksies moet opspoor en die boodskap wil versprei.

Kyk na die kode om voorbeelde van al die funksies te sien, aangesien ek dit in verskeie mynprojekte hier op instruksies gebruik het (bv. Arduino 1-draads skerm (144 tekens)). Die volgende stappe verduidelik elk een funksie.

Stap 1: Voedingsspanning

Die Arduino kan sy eie voedingsspanning op 'n indirekte manier meet. Deur die interne verwysing te meet met die voedingspanning as boonste grensverwysing, kan u die verhouding tussen interne verwysing en toevoerspanning kry (die voedingspanning tree op as die boonste grens vir die analoog/ADC -lesing). Soos u die presiese waarde van die interne spanningsverwysing ken, kan u die voedingspanning bereken.

Vir presiese besonderhede oor hoe u dit moet doen, insluitend voorbeeldkode, sien:

  • Geheime Arduino voltmeter-Meet batteryspanning:
  • Kan Arduino sy eie Vin meet ?:

Stap 2: Interne temperatuur

Sommige Arduino's is toegerus met 'n interne temperatuursensor en kan dus hul interne (halfgeleier) temperatuur meet.

Vir presiese besonderhede oor hoe u dit moet doen, insluitend voorbeeldkode, sien:

Interne temperatuursensor:

Kan Arduino sy eie Vin meet ?:

Stap 3: Analoog vergelyker (onderbreek)

Arduino kan 'n analoog vergelyker opstel tussen pen A0 en A1. Die een gee dus die spanningsvlak en die ander een word gekontroleer op die kruising van hierdie spanning. 'N Onderbreking word verhoog, afhangende van of die kruising 'n stygende of dalende rand (of albei) is. Die onderbreking kan dan deur sagteware opgevang word en dienooreenkomstig opgetree word.

Vir presiese besonderhede oor hoe u dit moet doen, insluitend voorbeeldkode, sien:

Onderbreking van analoog vergelyking:

Stap 4: Teller

Die AVR het natuurlik verskeie toonbanke ingesluit. Gewoonlik word dit gebruik om die timer van verskillende frekwensies op te stel en onderbrekings na behoefte te verhoog. 'N Ander, baie ou gebruik, is om dit net soos toonbanke te gebruik sonder enige ekstra magie, lees net die waarde wanneer u dit nodig het (meningspeiling). 'N Interresante gebruik hiervan kan wees om knoppies te weerkaats, bv. Gee byvoorbeeld hierdie plasing: AVR Voorbeeld T1 -toonbank

Stap 5: Vooraf gedefinieerde konstantes

Daar is 'n paar vooraf gedefinieerde veranderlikes wat gebruik kan word om weergawe- en samestellingsinligting by u projek te voeg.

Vir presiese besonderhede oor hoe u dit moet doen, insluitend voorbeeldkode, sien:

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

Serial.println (_ TYD_); // opstel tyd

String stringOne = String (ARDUINO, DEC);

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

Serial.println (_ VERSIE_); // gcc weergawe

Serial.println (_ LêER_); // lêer saamgestel

hierdie kodebrokkies sal die data na die seriële konsole stuur.

Stap 6: Behou veranderlike in RAM deur middel van reset

Dit is bekend dat Arduino Uno (ATmega328) interne EEPROM het waarmee u waardes en instellings kan bewaar tydens die afskakel en dit kan herstel tydens die volgende aanloop. 'N Nie so bekende feit kan wees dat dit eintlik moontlik is om waarde te behou tydens die herstel, selfs in RAM - maar die waardes raak verlore tydens die kragsiklus - met die sintaksis:

ongetekende lang veranderlike_dat_ word_bewaar _attribuut_ ((afdeling (".noinit")));

Hiermee kan u byvoorbeeld die aantal RESETs tel en deur EEPROM ook die aantal opstartings te gebruik.

Vir presiese besonderhede oor hoe u dit moet doen, insluitend voorbeeldkode, sien:

  • Behou veranderlike in Ram deur Herstel:
  • EEPROM -biblioteek:

Stap 7: Toegang tot die kloksein

Arduinos en ander AVR (soos ATtiny) het 'n interne klok waarmee u dit kan laat loop sonder om 'n eksterne kristal ossillator te gebruik. Terselfdertyd kan hulle hierdie sein ook aan die buitekant koppel deur dit op 'n pen te plaas (bv. PB4). Die moeilike deel hier is dat u die skyfiesekeringstukke moet verander om die funksie moontlik te maak, en die vervanging van die siklusstukke hou altyd die risiko in om die skyfie te steek.

U moet die CKOUT -lont inskakel, en die maklikste manier om dit te doen, is deur die instruksies te volg oor hoe om lontbits van AVR Atmega328p - 8bit -mikrokontroller met Arduino te verander.

Vir presiese besonderhede oor hoe u dit moet doen, insluitend voorbeeldkode, sien:

  • Tuning ATtiny interne ossillator:
  • Hoe om die lontbits van AVR Atmega328p-8bit mikrokontroller te verander met behulp van Arduino:

Stap 8: Interne hawe -struktuur van ATmega328P

As ons die interne struktuur van ATmega328P van die hawens ken, kan ons verder gaan as die standaard gebruiksgrense. Gee die gedeelte oor Kapasiteitsmeter vir bereik 20 pF tot 1000 nF vir meer besonderhede en 'n skema van die interne stroombaan.

Die eenvoudige voorbeeld is om knoppies met digitale poorte te gebruik wat geen weerstand nodig het nie as gevolg van die gebruik van 'n interne optrekweerstand, soos getoon deur die Input Pullup Serial voorbeeld of die instruksionele Arduino-knoppie sonder weerstand.

Meer gevorderd is die gebruik van hierdie kennis, soos genoem vir die meting van kapakteurs tot 20 pF en verder sonder ekstra bedrading! Om hierdie prestasie te behaal, maak die voorbeeld gebruik van die interne/ingangsimpedansie, die interne optrekweerstand en die verdwaalde kondensator. Vergelyk met die Arduino CapacitanceMeter -tutoriaal wat nie laer as 'n paar nF kan wees nie.

Stap 9: Aan boord (ingeboude) LED as fotodetektor

Baie Arduino-borde het ingeboude of ingeboude LED's wat via kode beheer kan word, bv. die Uno- of Nano -borde op pen 13. Deur 'n enkele draad van hierdie pen by 'n analoog invoerpen (bv. A0) te voeg, kan ons hierdie LED ook as fotodetektor gebruik. Dit kan op verskillende maniere gebruik word; gebruik om die omgewingsbeligting te meet, gebruik LED as knoppie, gebruik LED vir tweerigtingkommunikasie (PJON AnalogSampling), ens.

Aanbeveel: