Talaan ng mga Nilalaman:
- Hakbang 1: Pagbabago
- Hakbang 2: Bakit Nagbabalik ang AnalogRead () ng Halaga sa pagitan ng 0 at 1023?
- Hakbang 3: Kaya Ano ang AREF?
- Hakbang 4: Panlabas na AREF
- Hakbang 5: Panloob na AREF
Video: Ang Arduino AREF Pin: 6 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Sa tutorial na ito titingnan namin kung paano mo masusukat ang mas maliit na mga boltahe na may higit na kawastuhan gamit ang mga analogue input pin sa iyong Arduino o katugmang board kasabay ng AREF pin. Gayunpaman, gagawa muna kami ng ilang rebisyon upang mapabilis mo. Mangyaring basahin ang post na ito nang buo bago magtrabaho sa AREF sa unang pagkakataon.
Hakbang 1: Pagbabago
Maaari mong tandaan na maaari mong gamitin ang pagpapaandar ng Arduino analogRead () upang masukat ang boltahe ng isang kasalukuyang elektrikal mula sa mga sensor at iba pa gamit ang isa sa mga analogue input pin. Ang halagang ibinalik mula sa analogRead () ay nasa pagitan ng zero isang 1023, na may zero na kumakatawan sa zero volts at 1023 na kumakatawan sa operating boltahe ng Arduino board na ginagamit.
At kapag sinabi namin na ang operating boltahe - ito ang boltahe na magagamit sa Arduino pagkatapos ng power supply circuitry. Halimbawa, kung mayroon kang isang tipikal na Arduino Uno board at patakbuhin ito mula sa USB socket - sigurado, mayroong 5V na magagamit sa board mula sa USB socket sa iyong computer o hub - ngunit ang boltahe ay nabawasan nang bahagya habang ang kasalukuyang hangin sa paligid ng circuit sa microcontroller - o ang pinagmulan ng USB ay hindi hanggang sa simula.
Madali itong maipakita sa pamamagitan ng pagkonekta ng isang Arduino Uno sa USB at paglalagay ng isang hanay ng multimeter upang sukatin ang boltahe sa mga 5V at GND na pin. Ang ilang mga board ay babalik nang mas mababa sa 4.8 V, ang ilan ay mas mataas ngunit mas mababa pa rin sa 5V. Kaya't kung nag-aakma ka para sa kawastuhan, paganahin ang iyong board mula sa isang panlabas na supply ng kuryente sa pamamagitan ng DC socket o Vin pin - tulad ng 9V DC. Pagkatapos pagkatapos nito dumaan sa circuit ng power regulator magkakaroon ka ng magandang 5V, halimbawa ang imahe.
Ito ay mahalaga dahil ang kawastuhan ng anumang mga halagang analogRead () ay maaapektuhan ng hindi pagkakaroon ng totoong 5 V. Kung wala kang anumang pagpipilian, maaari kang gumamit ng ilang matematika sa iyong sketch upang mabayaran ang pagbagsak ng boltahe. Halimbawa, kung ang iyong boltahe ay 4.8V - ang saklaw ng analogRead () na 0 ~ 1023 ay magkaugnay sa 0 ~ 4.8V at hindi 0 ~ 5V. Maaari itong maging walang halaga, gayunpaman kung gumagamit ka ng isang sensor na nagbabalik ng isang halaga bilang isang boltahe (hal. Ang sensor ng temperatura ng TMP36) - ang kinakalkulang halaga ay magiging mali. Kaya sa interes ng kawastuhan, gumamit ng panlabas na power supply.
Hakbang 2: Bakit Nagbabalik ang AnalogRead () ng Halaga sa pagitan ng 0 at 1023?
Ito ay dahil sa resolusyon ng ADC. Ang resolusyon (para sa artikulong ito) ay ang antas kung saan ang isang bagay ay maaaring mailarawan sa bilang. Ang mas mataas na resolusyon, ang mas mataas na kawastuhan kung saan ang isang bagay ay maaaring kinatawan. Sinusukat namin ang resolusyon sa mga tuntunin ng bilang ng mga piraso ng resolusyon.
Halimbawa, papayagan lamang ng isang 1-bit na resolusyon ang dalawa (dalawa sa lakas ng isa) na halaga - zero at isa. Ang isang 2-bit na resolusyon ay magpapahintulot sa apat (dalawa sa lakas ng dalawa) na halaga - zero, isa, dalawa at tatlo. Kung sinubukan naming sukatin ang isang saklaw na limang volt na may dalawang-bit na resolusyon, at ang sinusukat na boltahe ay apat na volts, ang aming ADC ay magbabalik ng isang bilang na bilang na 3 - dahil ang apat na volts ay nahuhulog sa pagitan ng 3.75 at 5V. Mas madaling isipin ito sa imahe.
Kaya sa aming halimbawang ADC na may resolusyon na 2-bit, maaari lamang itong kumatawan sa boltahe na may apat na posibleng mga resulta na nagreresulta. Kung ang input boltahe ay nahuhulog sa pagitan ng 0 at 1.25, ang ADC ay nagbabalik ng bilang 0; kung ang boltahe ay nahulog sa pagitan ng 1.25 at 2.5, ang ADC ay nagbabalik ng isang numerong halaga ng 1. At iba pa. Sa hanay ng ADC ng aming Arduino na 0 ~ 1023 - mayroon kaming 1024 mga posibleng halaga - o 2 sa lakas na 10. Kaya't ang aming mga Arduino ay may isang ADC na may isang 10-bit na resolusyon.
Hakbang 3: Kaya Ano ang AREF?
Upang maputol ang isang mahabang kwento, kapag ang iyong Arduino ay kumukuha ng isang pagbasa ng analogue, inihinahambing nito ang boltahe na sinusukat sa analogue pin na ginagamit laban sa kilala bilang boltahe ng sanggunian. Sa normal na paggamit ng analogRead, ang boltahe ng sanggunian ay ang operating boltahe ng board.
Para sa mas tanyag na mga board ng Arduino tulad ng Uno, Mega, Duemilanove at Leonardo / Yún boards, ang operating voltage na 5V. Kung mayroon kang isang Arduino due board, ang operating boltahe ay 3.3V. Kung mayroon kang iba pa - suriin ang pahina ng produkto ng Arduino o tanungin ang iyong tagatustos ng board.
Kaya't kung mayroon kang isang boltahe ng sanggunian na 5V, ang bawat yunit na ibinalik ng analogRead () ay nagkakahalaga ng 0.00488 V. (Kinakalkula ito sa pamamagitan ng paghahati ng 1024 sa 5V). Paano kung nais nating masukat ang mga voltages sa pagitan ng 0 at 2, o 0 at 4.6? Paano malalaman ng ADC kung ano ang 100% ng aming saklaw ng boltahe?
At dito nakasalalay ang dahilan para sa mga pin ng AREF. Ang ibig sabihin ng AREF ay Analogue REFerence. Pinapayagan kaming pakainin ang Arduino ng isang boltahe ng sanggunian mula sa isang panlabas na suplay ng kuryente. Halimbawa
Pagkatapos ang bawat hakbang ng ADC ay kumakatawan sa paligid ng 3.22 millivolts (hatiin ang 1024 sa 3.3). Tandaan na ang pinakamababang boltahe ng sanggunian na maaari mong makuha ay 1.1V. Mayroong dalawang anyo ng AREF - panloob at panlabas, kaya't suriin natin sila.
Hakbang 4: Panlabas na AREF
Ang isang panlabas na AREF ay kung saan mo ibibigay ang isang panlabas na boltahe ng sanggunian sa Arduino board. Maaari itong magmula sa isang kinokontrol na supply ng kuryente, o kung kailangan mo ng 3.3V maaari mo itong makuha mula sa 3.3V pin ng Arduino. Kung gumagamit ka ng isang panlabas na supply ng kuryente, tiyaking ikonekta ang GND sa GND pin ng Arduino. O kung ginagamit mo ang mapagkukunan ng 3.3V ng Arduno - magpatakbo lamang ng isang lumulukso mula sa 3.3V pin hanggang sa AREF pin.
Upang buhayin ang panlabas na AREF, gamitin ang sumusunod sa void setup ():
Pagtukoy sa analogRe (Panlabas); // use AREF para sa sanggunian boltahe
Itinatakda nito ang sanggunian na boltahe sa anumang nakakonekta mo sa AREF pin - na syempre ay magkakaroon ng boltahe sa pagitan ng 1.1V at boltahe ng operasyon ng board. Napakahalagang tala - kapag gumagamit ng isang panlabas na sanggunian ng boltahe, dapat mong itakda ang sanggunian ng analogue sa LABAS bago gamitin ang analogRead (). Pipigilan ka nito mula sa pagpapaikli ng aktibong panloob na boltahe ng sanggunian at ang mga pin ng AREF, na maaaring makapinsala sa microcontroller sa pisara. Kung kinakailangan para sa iyong aplikasyon, maaari kang bumalik sa boltahe ng pagpapatakbo ng board para sa AREF (iyon ay - bumalik sa normal) na may mga sumusunod
sangguniang analogRefer (DEFAULT);
Ngayon upang ipakita ang panlabas na AREF sa trabaho. Gamit ang isang 3.3V AREF, sinusukat ng sumusunod na sketch ang boltahe mula sa A0 at ipinapakita ang porsyento ng kabuuang AREF at ang kinakalkula na boltahe:
# isama ang "LiquidCrystal.h"
LiquidCrystal lcd (8, 9, 4, 5, 6, 7);
int analoginput = 0; // aming analog pin
int analogamount = 0; // nag-iimbak ng papasok na halaga ng lumutang porsyento = 0; // ginamit upang iimbak ang aming porsyento ng halaga ng float na boltahe = 0; // ginamit upang mag-imbak ng halaga ng boltahe
walang bisa ang pag-setup ()
{lcd.begin (16, 2); Pagtukoy sa analogRe (Panlabas); // use AREF for reference voltage}
walang bisa loop ()
{lcd.clear (); analogamount = analogRead (analoginput); porsyento = (analogamount / 1024.00) * 100; boltahe = analogamount * 3.222; // sa millivolts lcd.setCursor (0, 0); lcd.print ("% ng AREF:"); lcd.print (porsyento, 2); lcd.setCursor (0, 1); lcd.print ("A0 (mV):"); lcd.println (boltahe, 2); pagkaantala (250); }
Ang mga resulta ng sketch sa itaas ay ipinapakita sa video.
Hakbang 5: Panloob na AREF
Ang mga microcontroller sa aming mga board ng Arduino ay maaari ring makabuo ng isang panloob na boltahe ng sanggunian na 1.1V at maaari namin itong gamitin para sa gawain ng AREF. Gamitin lamang ang linya:
sanggunian ng analog (INTERNAL);
Para sa mga board ng Arduino Mega, gamitin ang:
sangguniang analogReferensi (INTERNAL1V1);
sa walang bisa na pag-set up () at wala ka na. Kung mayroon kang isang Arduino Mega mayroon ding magagamit na 2.56V sanggunian na boltahe na naaktibo sa:
sangguniang analogReferensi (INTERNAL2V56);
Panghuli - bago mag-ayos ng mga resulta mula sa iyong mga pin ng AREF, palaging i-calibrate ang mga pagbasa laban sa isang kilalang mahusay na multimeter.
Konklusyon
Ang pagpapaandar ng AREF ay nagbibigay sa iyo ng higit na kakayahang umangkop sa pagsukat ng mga signal ng analogue.
Ang post na ito ay dinala sa iyo ng pmdway.com - lahat para sa mga tagagawa ng tagahanga at electronics, na may libreng paghahatid sa buong mundo.
Inirerekumendang:
Subukan ang Bare Arduino, Gamit ang Software ng Laro Gamit ang Capacitive Input at LED: 4 na Hakbang
Subukan ang Bare Arduino, Gamit ang Software ng Laro Gamit ang Capacitive Input at LED: " Push-It " Interactive na laro gamit ang isang hubad na Arduino board, walang mga panlabas na bahagi o mga kable na kinakailangan (gumagamit ng isang capacitive 'touch' input). Ipinapakita sa itaas, ipinapakita ang pagtakbo nito sa dalawang magkakaibang board. Push-Mayroon itong dalawang layunin. Upang mabilis na maipakita / v
Ang ICSP Connector para sa Arduino Nano Nang Walang Soldered Pin Header Ngunit Pogo Pin: 7 Hakbang
Ang ICSP Connector para sa Arduino Nano Nang Walang Soldered Pin Header Ngunit Pogo Pin: Gumawa ng isang konektor ng ICSP para sa Arduino Nano nang walang solder na pin header sa board ngunit Pogo Pin. Mga Bahagi ng 3 × 2 Pin Socket x1 - APitch 2.54mm Dupont Line Wire Babae Pin Connector Housing Terminals x6 - BP75-E2 (1.3mm Conical Head) Spring Test Probe Pogo Pin
Hindi gumagana ang NODEMcu Usb Port? I-upload ang Code Gamit ang USB sa TTL (FTDI) Module sa 2 Hakbang lamang: 3 Hakbang
Hindi gumagana ang NODEMcu Usb Port? I-upload ang Code Gamit ang USB sa TTL (FTDI) Module sa Lamang 2 Mga Hakbang: Pagod na sa pagkonekta sa maraming mga wire mula sa USB hanggang TTL module sa NODEMcu, sundin ang itinuturo na ito, upang mai-upload ang code sa 2 hakbang lamang. Kung ang USB port ng Ang NODEMcu ay hindi gumagana, pagkatapos ay huwag panic. Ito lang ang USB driver chip o ang konektor ng USB,
Kontrolin ang Arduino Gamit ang Smartphone Sa pamamagitan ng USB Gamit ang Blynk App: 7 Mga Hakbang (na may Mga Larawan)
Kontrolin ang Arduino Gamit ang Smartphone Sa Pamamagitan ng USB Sa Blynk App: Sa tutorial na ito, matututunan namin kung paano gamitin ang Blynk app at Arduino upang makontrol ang lampara, ang kumbinasyon ay sa pamamagitan ng USB serial port. Ang layunin ng pagtuturo na ito ay upang ipakita ang pinakasimpleng solusyon sa malayo-pagkontrol ng iyong Arduino o c
Ang Electric Lily o ang Safe Pin: Paano Maging Ligtas at Magandang Magagawa Ito: 9 Mga Hakbang (na may Mga Larawan)
Ang Electric Lily o ang Pin ng Kaligtasan: Paano Maging Ligtas at Magandang Magagawa Ito: Ang itinuturo na ito ay para sa mga walker at bikers. Sinuman ang nais na makita sa gabi at maganda pa rin ang hitsura. Ibigay ito sa iyong kasintahan, iyong sis, iyong bro, homeboy o maging ng iyong ina. Sinumang isa na naka-istilo at naglalakad, tumatakbo, o nagbibisikleta sa gabi!!!