Talaan ng mga Nilalaman:

Mataas na Katumpakan ng Remote na Pag-log ng Data Gamit ang Multimeter / Arduino / pfodApp: 10 Hakbang (na may Mga Larawan)
Mataas na Katumpakan ng Remote na Pag-log ng Data Gamit ang Multimeter / Arduino / pfodApp: 10 Hakbang (na may Mga Larawan)

Video: Mataas na Katumpakan ng Remote na Pag-log ng Data Gamit ang Multimeter / Arduino / pfodApp: 10 Hakbang (na may Mga Larawan)

Video: Mataas na Katumpakan ng Remote na Pag-log ng Data Gamit ang Multimeter / Arduino / pfodApp: 10 Hakbang (na may Mga Larawan)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Disyembre
Anonim
Mataas na Katumpakan ng Remote na Pag-log ng Data Gamit ang Multimeter / Arduino / pfodApp
Mataas na Katumpakan ng Remote na Pag-log ng Data Gamit ang Multimeter / Arduino / pfodApp
Mataas na Katumpakan ng Remote na Pag-log ng Data Gamit ang Multimeter / Arduino / pfodApp
Mataas na Katumpakan ng Remote na Pag-log ng Data Gamit ang Multimeter / Arduino / pfodApp
Mataas na Katumpakan ng Remote na Pag-log ng Data Gamit ang Multimeter / Arduino / pfodApp
Mataas na Katumpakan ng Remote na Pag-log ng Data Gamit ang Multimeter / Arduino / pfodApp

Nai-update noong ika-26 ng Abril 2017 Binagong circuit at board para magamit sa 4000ZC USB meter.

Walang kinakailangang pag-coding sa Android

Ipinapakita sa iyo ng itinuturo na ito kung paano i-access ang isang malawak na hanay ng mga mataas na sukat ng katumpakan mula sa iyong Arduino at ipadala din sa kanila ang malayo para sa pag-log at paglalagay. Para sa Pag-log ng Mataas na Bilis ng Data (2000 na mga sample / sec) tingnan ang instrucatble na ito, Remote na Pag-log ng Data ng Bilis na Mataas na gamit ang Arduino / GL AR150 / Android / pfodApp

Ang converter ng AtoD na nakapaloob sa Arduino's ay may mahinang kawastuhan, karaniwang +/- 10% at napaka-limitadong saklaw, karaniwang 0 hanggang 5V DC volts lamang. Gamit ang isang simpleng circuit at library, maaari mong pakainin ang iyong Arduino na may mataas na katumpakan na mga pagsukat na awtomatikong sumasaklaw mula sa isang multimeter na may isang optikong nakahiwalay na koneksyon sa RS232. Ang pagkakaroon ng mga pagsukat na magagamit sa iyong sketch ay nagbibigay-daan sa iyo na kontrolin ang mga output batay sa mga halaga. Saklaw din ng tutorial na ito ang pagpapadala ng pagsukat sa malayuan, sa pamamagitan ng WiFi, Bluetooth, Bluetooth Low Energy o SMS, sa isang Android mobile para sa pagpapakita, pag-log at paglalagay gamit ang pfodApp.

Ang itinuturo na ito ay gumagamit ng isang Arduino Mega2560 5V board na maaari mong ipares sa iba't ibang mga kalasag sa komunikasyon, Ethernet, WiFi, Bluetooth V2 (klasiko), Bluetooth LE o SMS. Ang interface ng hardware at library na ipinakita dito ay maaaring magamit ng alos sa mga katugmang board ng 3.3V Arduino. Pati na rin ang Mega2560 maaari kang gumamit ng iba't ibang mga iba pang mga board tulad ng UNO na may at Ehternet na kalasag, isang base board na ESP8266 (mag-isa), isang board na may pinagsamang Bluetooth Low Energy, tulad ng Arduino 101, o mga board na kumonekta sa komunikasyon sub-system na gumagamit ng SPI tulad ng panangga ng RedBear BLE at mga board ng Bluefruit SPI ng Adafrut. Sinusuportahan ng pfodDesignerV2 ang lahat ng mga kumbinasyon ng board at bubuo ng code para sa kanila. Ang kondisyon na naglilimita ay kailangan mong magkaroon ng isang libreng Serial ng Hardware upang kumonekta sa kalasag na Multimeter RS232 na ito.

Ang circuit at code na ipinakita dito ay gumagana sa isang bilang ng mga multimeter. Ang isang madaling magagamit, mura, ang isa ay isang Tekpower TP4000ZC, kilala rin bilang Digitek TD-4000ZC. Ang mga multimeter na gumagana sa circuit at library na ito ay kasama ang Digitek DT-4000ZC, Digitech QM1538, Digitech QM1537, Digitek DT-9062, Digitek INO2513, Digitech QM1462, PeakTech 3330, Tenma 72-7745, Uni-Trend UT30A, Uni-Trend UT30E, Uni -Trend UT60E, Voltcraft VC 820, Voltcraft VC 840

Hakbang 1:

Ang tutorial na ito ay may dalawang bahagi:

Sinasaklaw ng unang bahagi ang interface ng hardware sa multimeter at ang code library gamit ang isang Arduino Mega. Kung nais mo lamang makuha ang pagsukat sa iyong Arduino ito lang ang kailangan mo.

Saklaw ng ikalawang bahagi ang pagpapadala ng pagsukat sa isang malayuang Android mobile para sa pagpapakita, pag-log at paglalagay. Sa halimbawang ito gagamitin namin ang isang kalasag na Bluetooth at bubuo ng pangunahing sketch gamit ang pfodDesignerV2, ngunit maaari ka ring makabuo ng code para sa mga koneksyon sa WiFi, Ethernet, Bluetooth Low Energy at SMS gamit ang pfodDesignerV2. Pagkatapos ay idinagdag ang multimeter library sa pangunahing sketch upang makumpleto ang code. Walang kinakailangang pag-coding ng Android upang maipakita, mag-log at magplano ng pagbabasa. Ang lahat ay kinokontrol mula sa iyong Arduino code.

Ang proyektong ito ay magagamit din on-line sa www.pfod.com.au

Para sa isang remote na pagpapakita ng ulo ng multimeter, tingnan ang itinuturo na ito, Arduino Data Salamin Para sa Aking Multimeter ni Alain.

Hakbang 2: Ang Multimeter

Ang Multimeter
Ang Multimeter

Ang mga multimeter na ginamit sa tutorial na ito ay ang mura (~ US40) Tekpower TP4000ZC (kilala rin bilang Digitek DT-4000ZC) at ang mas matandang Digitech QM1538, na hindi na nabili. Ang parehong mga metro na ito ay pareho ang paningin at gumagamit ng parehong pag-encode ng RS232 ng pagsukat.

Narito ang mga detalye para sa Tekpower TP4000ZC: -DC Boltahe: 400mV / 4/40 / 400V ± 0.5% + 5, 600V ± 0.8% AC Boltahe: 4/40 / 400V ± 0.8% + 5, 400mV / 600V ± 1.2% + 5DC Kasalukuyang: 400 / 4000μA ± 2.0% + 5, 40 / 400mA ± 1.5% + 5, 4 / 10A ± 2% + 5AC Kasalukuyang: 400 / 4000μA ± 2.5% + 3, 40 / 400mA ± 2% + 5, 4 / 10A ± 2.5% + 5 Paglaban: 400Ω / 4/40 / 400kΩ / 4MΩ ± 1% + 5, 40MΩ ± 2% + 5Capacitance: 40nF ± 3.5% + 10, 400nF / 4 / 40μF ± 3% + 5, 100μF ± 3.5% + 5Frequency: 10Hz-10MHz ± 0.1% + 5D cycle ng duty: 0.1% -99.9% ± 2.5% + 5Temperature: 0oC - + 40oC ± 3oC, -50oC - + 200oC ± 0.75% ± 3oC, + 200oC - + 750oC ± 1.5% ± 3oC, Resolution 0.1oC sa pamamagitan ng kasamang thermocouple probe.

Ang koneksyon ng RS232 ng multimeter ay isang paraan lamang at hindi mo mababago ang mga setting ng multimeter nang malayuan, kaya kailangan mong manu-manong piliin ang uri ng pagsukat. Gayunpaman ang metro ay awtomatikong sumasaklaw at ang Boltahe at Kasalukuyang mga setting ay hawakan ang parehong AC at DC.

Hakbang 3: Ang RS232 Interface Hardware

Ang RS232 Interface Hardware
Ang RS232 Interface Hardware
Ang RS232 Interface Hardware
Ang RS232 Interface Hardware
Ang RS232 Interface Hardware
Ang RS232 Interface Hardware

Mayroong dalawang mga interface. Ang mas bagong Digitek DT-4000ZC at Tekpower TP40000ZC metro ay may kasamang USB cable. Habang ang mas matandang Digitek QM1538 ay binigyan ng isang RS232 9pin D na konektor cable. Ipinapakita ng circuit sa itaas (bersyon ng pdf) kung paano ikonekta ang opto na kopya ng multi-meter upang himukin ang isang serial pin na Arduino RX. Tandaan: Ang circuit na ito ay na-update upang magdagdag ng isa pang risistor ng proteksyon, R2, para sa Digitek DT-4000ZC at Tekpower TP40000ZC metro. Ang risistor na ito ay hindi kasama sa board ng konektor ng 9pin D na ipinakita sa itaas.

Digitek DT-4000ZC at Tekpower TP40000ZC

Para sa Digitek DT-4000ZC at Tekpower TP40000ZC, kailangan mo ng isang 3.5mm audio cable na lalaki sa lalaki, gagawin ng stereo o mono, at isang 3.5mm socket.

Digitek QM1538

Para sa mas matandang Digitek QM1538, kailangan mo ng isang 9pin D socket. Ang konektor ng 9pin D ay may mga offset na pin na hindi mai-plug sa prototype na kalasag. Putulin lamang ang hilera ng 4 na mga pin upang maaari mong solder ang konektor sa board, dahil ang circuit ay gumagamit lamang ng mga pin sa pangalawang hilera ng 5 mga pin. Ang mga tumataas na binti kung saan baluktot upang pabayaan ang konektor ay namamalagi at ang konektor ay na-secure sa prototype na kalasag gamit ang 2 bahagi na epoxy glue ("Araldite") Ang layout ng konektor ng pin ay ipinakita sa itaas ay mula sa site na ito. Ang risistor na 10K na dumarating na naka-mount sa loob ng konektor ng mga ibinigay na RS232 cable (na konektado sa pagitan ng mga pin 2 at 3) ay hindi kinakailangan para sa proyektong ito.

Pagkonekta ng signal sa isang Arduino RX pin

Ang circuit na ito ay gagana para sa parehong 5V at 3.3V Arduino boards. Narito gumagamit kami ng isang Mega2560 (5V) Arduino at na-mount ang circuit sa isang prototype na kalasag tulad ng ipinakita sa itaas.

Ginagamit ang isang lumilipad na tingga upang ikonekta ang TP1 sa kalasag sa isang Serial1 RX, pin D19, sa Mega2560.

Tandaan tungkol sa Serial ng Software: Sa una ang kalasag na ito ay ipinares sa isang UNO gamit ang Software Serial sa mga pin 10, 11. Gayunpaman kapag ipinares sa Bluetooth Shield sa Serial sa 9600baud, ilang natanggap na byte ay nawala. Ang paglipat ng RS232 sa isang koneksyon sa Serial ng Hardware ay nalutas ang isyung ito. Kaya para sa maaasahang remote na pagpapakita at pag-log, kung gumagamit ka ng isang kalasag sa komunikasyon na kumokonekta sa pamamagitan ng serial, kailangan mo ng isang board na may dalawa o higit pang Mga Serial sa Hardware tulad ng Mega2560. Ang iba pang mga kahalili ay isang UNO na may at Ehternet na kalasag, isang base board ng ESP8266 (tumayo nang mag-isa), isang board na may pinagsamang Bluetooth Low Energy tulad ng Anduino 101 o mga board na kumonekta sa sub-system ng komunikasyon gamit ang SPI tulad ng RedBear BLE Shield at Adafrut's Bluefruit SPI mga board. Sinusuportahan ng pfodDesignerV2 ang lahat ng mga board na ito at bubuo ng code para sa kanila.

Hakbang 4: Ang PfodVC820MultimeterParser Library

Ang Tekpower TP4000ZC at isang bilang ng iba pang mulimeter ay hindi nagpapadala ng pagsukat sa pamamagitan ng RS232 bilang ASCII na teksto, sa halip ay nagpapadala ito ng 14 bytes na may mga piraso na naka-set depende sa kung aling mga segment ng LCD display ang naiilawan. Ang pag-encode ng 14 bytes ay ipinaliwanag sa pdf na ito. Ang pfodVC820MeterParser.zip library ay nagde-decode ng mga byte na ito sa mga string ng teksto at float. (Ang VC820 ay tumutukoy sa isa sa mga metro na gumagamit ng encoding na ito.) Tingnan din ang QtDMM para sa Windows, Mac at Linux computer software na humahawak ng isang malawak na hanay ng mga multimeter.

Mayroong isang minimal na halimbawa, MeterParserExample.ino, ng paggamit ng pfodVC820MeterParser library. Ikonekta ang metro sa isang 2400baud serial connection at pagkatapos ay tawagan ang haveReading () bawat loop upang maproseso ang mga byte. ang mayReading () ay babalik totoo kapag may isang bagong kumpletong binasa ng parsed. Pagkatapos ay maaari kang tumawag sa getAsFloat () upang makuha ang halaga (na-scale) bilang isang float o getAtStr () upang makuha ang pagbabasa gamit ang pag-scale para sa pag-print at pag-log. Mayroong iba pang mga pamamaraan na magagamit upang ma-access ang uri ng pagsukat, getTypeAsStr () at getTypeAsUnicode (), pati na rin ang iba pang mga pamamaraan ng utility.

# isama ang "pfodVC820MeterParser.h" pfodVC820MeterParser meter; // void setup () {Serial.begin (74880); Serial1.begin (2400); meter.connect (& Serial1); } float pagbabasa; void loop () {if (meter.haveReading ()) {reading = meter.getAsFloat (); // gamitin ito para sa mga kalkulasyon ng Arduino Serial.print ("Pagbasa na may mga yunit:"); Serial.print (meter.getDigits ()); Serial.print (meter.getScalingAsStr ()); Serial.print (meter.getTypeAsStr ()); Serial.print (F ("= bilang float na nakalimbag (6 na mga digit):")); Serial.println (pagbabasa, 6); Serial.println ("Oras (sec) at Pagbasa bilang string para sa pag-log"); Serial.print (((float) millis ()) / 1000.0); Serial.print (", sec,"); Serial.print (meter.getAsStr ()); Serial.print (','); Serial.println (meter.getTypeAsStr ()); }}

Gamit ang meter na nakatakda sa Deg C at ginagamit ang thermocouple probe, binibigyan ng halimbawa ng sketch ang output na ito sa serial monitor ng Arduino IDE

Pagbasa na may mga yunit: 25.7C = bilang float na naka-print (6 na mga digit): 25.700000Time (sec) at Pagbasa bilang string para sa pag-log 2.40, sec, 25.7, C

Hakbang 5: Bahagi 2 - Malayong Display, Pag-log at Plotting

Saklaw ng bahaging ito ng tutorial kung paano malayuang ipakita, mag-log at magplano ng pagbabasa ng metro sa iyong Android mobile. Ginagamit ang pfodApp upang hawakan ang pagpapakita, pag-log at paglalagay sa iyong Android mobile. Walang kinakailangang programa sa Android. Ang lahat ng mga ipinapakita, pag-log at paglalagay ay ganap na kinokontrol ng iyong Arduino sketch. Hinahayaan ka ng libreng pfodDesignerV2 app na idisenyo ang iyong Android menu at tsart at pagkatapos ay bubuo ng isang Arduino sketch para sa iyo.

Sinusuportahan ng pfodApp ang isang bilang ng mga uri ng koneksyon, Ethernet, WiFi, Bluetooth V2 (klasiko), Bluetooth LE o SMS. Ang tutorial na ito ay gumagamit ng Arduino 101 (Bluetooth Mababang Enerhiya) para sa pag-log ng data at paglalagay. Ang iba pang mga Bluetooth Low Energy board ay sinusuportahan din. Ang tutorial na ito ay gumagamit ng SMS upang kumonekta sa pfodApp. Maaari mong gamitin ang pfodDesignerV2 upang magdagdag ng pag-log ng data at pag-chart sa halimbawa ng SMS. Ang pfodDesignerV2 ay mayroon ding mga pagpipilian upang makabuo ng Arduino code sa isang Bluetooth V2 (klasiko) na kalasag upang kumonekta sa pfodApp.

Para sa halimbawang ito gagamitin namin ang isang Iteadstudio Bluetooth Shield V2.2 na kumokonekta sa Arduino Mega2560 sa pamamagitan ng isang 9600baud serial connection. Gamit ang libreng pfodDesignerV2 app nag-set up kami ng isang simpleng menu na mayroon lamang isang label upang ipakita ang pagbabasa ng metro at isang pindutan upang buksan ang tsart. Ang pahinang ito ay may isang bilang ng mga tutorial sa pfodDesignerV2. Kapag mayroon kaming pangunahing sketch, babaguhin namin ito upang idagdag ang meter parser at ipadala ang pagbabasa ng metro at data para sa pag-log at pag-chart.

Pagdidisenyo ng Menu

Sa seksyong ito ay magdidisenyo kami ng isang menu ng Android / pfodApp na magpapakita ng pagbabasa ng metro at isang pindutan upang buksan ang isang tsart ng mga pagbasa. Ang mga pagbasa ay nai-save din sa isang file sa Android mobile

Hakbang 6: Pagdaragdag ng isang Label

Pagdaragdag ng isang Label
Pagdaragdag ng isang Label
Pagdaragdag ng isang Label
Pagdaragdag ng isang Label
Pagdaragdag ng isang Label
Pagdaragdag ng isang Label

I-install ang libreng pfodDesignerV2 at magsimula ng isang bagong menu.

Ang default na Target ay Serial sa 9600baud na kung saan ay kung ano ang kailangan para sa Iteadstudio Bluetooth Shield V2.2. Kung kumokonekta ka gamit ang isang aparatong Bluetooth Low Energy o Wifi o SMS pagkatapos mag-click sa Target upang baguhin ang pagpipilian.

Upang magdagdag ng isang label upang maipakita ang pagbabasa ng metro, mag-click sa Magdagdag ng Item sa Menu at piliin ang mag-scroll pababa upang piliin ang Label.

Pumili ng angkop na laki at kulay ng font. Iwanan ang Teksto bilang Label dahil babagoin namin ang nabuong code upang mapalitan ito ng pagsukat ng metro sa paglaon. Naitakda namin ang laki ng font sa +7, kulay ng font sa Pula at background sa Silver.

Bumalik sa screen ng Pag-edit ng Menu_1 at magtakda ng isang Refresh Interval 1 seg. Gagawin muli ng pfodApp ang menu tungkol sa isang beses sa isang segundo upang ipakita ang pinakabagong pagbabasa sa Label.

Hakbang 7: Pagdaragdag ng isang Button ng Tsart

Pagdaragdag ng isang Button ng Tsart
Pagdaragdag ng isang Button ng Tsart
Pagdaragdag ng isang Button ng Tsart
Pagdaragdag ng isang Button ng Tsart
Pagdaragdag ng isang Button ng Tsart
Pagdaragdag ng isang Button ng Tsart
Pagdaragdag ng isang Button ng Tsart
Pagdaragdag ng isang Button ng Tsart

Mag-click muli sa Magdagdag ng Menu Item upang magdagdag ng isang Button ng Tsart.

I-edit ang teksto ng Chart Button sa isang bagay na angkop, hal. "Chart" lamang at pumili ng isang laki ng font at mga kulay.

Pagkatapos mag-click sa pindutang "Tsart" upang buksan ang screen ng pag-edit ng plot. Magkakaroon lamang ng isang balangkas kaya mag-click sa I-edit ang Plot 2 at I-edit ang Plot 3 na mga pindutan at mag-scroll pababa at mag-click sa Itago ang Plot para sa bawat isa sa kanila.

I-edit ang label ng tsart sa isang bagay na angkop, hal. "Multimeter". Hindi kailangang baguhin ang anuman sa iba pang mga setting ng balangkas dahil babaguhin namin ang sketch upang magpadala ng iba't ibang label na y-axis depende sa setting ng multimeter.

Panghuli bumalik sa Pag-edit ng Menu_1 at I-edit ang Prompt, itinatakda nito ang teksto sa ilalim ng menu at pangkalahatang kulay ng background ng menu. Naitakda namin dito ang prompt sa "Remote Multimeter" na may laki ng font +3 at kulay sa background na Silver.

Maaari ka na ngayong bumalik sa Pag-edit ng Menu_1 at i-click ang I-preview ang Menu upang i-preview ang disenyo ng menu.

Kung hindi mo gusto ang disenyo maaari mo itong baguhin bago mo mabuo ang code. Kung nais mong mapalabas ang Label mula sa pindutan maaari kang magdagdag ng ilang mga blangko na label tulad ng inilarawan dito. Ang pagdaragdag ng isang Tsart at Pag-log ng Data sa Paano Magpapakita / Magplano ng Data ng Arduino sa Android ay isa pang tutorial sa pfodDesignerV2 / pfodApp datalogging at charting.

Hakbang 8: Pagbubuo ng Arduino Sketch

Bumubuo ng Arduino Sketch
Bumubuo ng Arduino Sketch
Bumubuo ng Arduino Sketch
Bumubuo ng Arduino Sketch

Upang makabuo ng Arduino code na ipapakita ang menu na ito sa pfodApp, bumalik sa screen ng Pag-edit ng Menu_1 at mag-scroll pababa at i-click ang pindutang Bumuo ng Code.

I-click ang pindutang "Sumulat ng Code upang mag-file" upang ma-output ang Arduino sketch sa /pfodAppRawData/pfodDesignerV2.txt file sa iyong mobile. Pagkatapos ay lumabas sa pfodDesignerV2. Ilipat ang pfodDesignerV2.txt file sa iyong PC gamit ang alinman sa isang koneksyon sa USB o isang file transfer app, tulad ng wifi file transfer pro. Ang isang kopya ng nabuong sketch ay narito, pfodDesignerV2_meter.txt

I-load ang sketch sa iyong Arduino IDE at i-program ang iyong Uno (o Mega) board. Pagkatapos ay idagdag ang Iteadstudio Bluetooth Shield V2.2. Ang pag-install ng pfodApp sa iyong Android mobile at lumikha ng isang bagong koneksyon sa Bluetooth na pinangalanan, halimbawa, Multimeter. Tingnan ang pfodAppForAndroidGettingStarted.pdf para sa kung paano lumikha ng mga bagong koneksyon. Pagkatapos kapag gumamit ka ng pfodApp upang buksan ang koneksyon sa Multimeter makikita mo ang iyong dinisenyo menu.

Ang pagbubukas ng Tsart ay hindi nagpapakita ng anumang kawili-wili dahil hindi namin naidagdag sa multimeter hardware / software.

Hakbang 9: Pagdaragdag ng Multimeter

Pagdaragdag ng Multimeter
Pagdaragdag ng Multimeter
Pagdaragdag ng Multimeter
Pagdaragdag ng Multimeter
Pagdaragdag ng Multimeter
Pagdaragdag ng Multimeter

Susubukan naming baguhin ang nabuong sketch upang idagdag ang multimeter parser at ipadala ang data nito sa iyong Android mobile. Narito ang kumpletong binagong sketch, pfod_meter.ino

Ang mga pagbabago na ito ay nagdaragdag ng multimeter parser at isang 5sec timer. Kung walang bagong wastong pagbabasa sa oras na iyon pagkatapos ay itigil ng sketch ang pagpapadala ng data at i-update ang pagpapakita ng Android / pfodApp sa "- - -". Habang binago ang manu-manong pagpili ng metro ang mga label ng tsart ay na-update, ngunit kailangan mong lumabas sa tsart at piliin muli ito upang makita ang mga bagong label. Sa kabilang banda, ang pagbabasa ng metro ay awtomatikong nai-update bawat segundo. Sa wakas pinangangasiwaan ng pfodApp ang Unicode bilang default kaya kapag ipinapakita ang meter na binabasa ang pamamaraan na getTypeAsUnicode () ay ginagamit upang ibalik ang Unicode para sa ohms, Ω, at degsC, ℃ para sa pagpapakita ng metro.

Nagpapakita ang pindutan ng tsart ng isang pag-update ng tsart ng mga pagbasa: -

Ang data ng tsart, sa format na CSV, ay nai-save din sa isang file sa iyong Android mobile sa ilalim ng /pfodAppRawData/Mulitmeter.txt para sa paglaon ay ilipat sa iyong computer at i-import sa isang spreadsheet para sa karagdagang mga kalkulasyon at pag-chart.

Hakbang 10: Ang Detalye ng Mga Pagbabago ng Sketch

  1. I-download ang pfodVC820MeterParser.zip library at pagkatapos buksan ang Arduino IDE at mag-click sa Sketch → Isama ang Library → Magdagdag ng.zip upang idagdag ang library na ito sa iyong IDE.
  2. Idagdag ang library ng pfodVC820MeterParser sa sketch. Mag-click sa Sketch → Isama ang Library → pfodVC820MeterParser. Dagdagan nito ang mga isinasamang pahayag sa tuktok ng sketch.
  3. I-edit ang pfodParser_codeGenerated parser ("V1"); sa pfodParser_codeGenerated parser (""); Hindi pinagagana nito ang pag-cache ng menu sa pfodApp upang maipakita ang iyong mga pagbabago sa menu. Maaari kang bumalik sa "V3" kapag natapos mo na ang lahat ng iyong mga pagbabago upang muling paganahin ang pag-cache sa menu.
  4. Idagdag ang mga linyang ito upang likhain ang mga bagay para sa serial ng software at ang multimeter. pfodVC820MeterParser meter;
  5. Sa pagtatapos ng pag-set up () magdagdag ng Serial1.begin (2400); meter.connect (& Serial1);
  6. Sa itaas ng loop () magdagdag ng unsigned mahabang validReadingTimer = 0; const unsigned long VALID_READINGS_TIMEOUT = 5000; // 5secs bool haveValidReadings = true; // set to true kapag may wastong pagbasa int pagsukatType = meter. NO_READING; at sa tuktok ng loop () idagdag kung (meter.haveReading ()) {if (meter.isValid ()) {validReadingTimer = millis (); haveValidReadings = totoo; } int newType = meter.getType (); kung (pagsukatType! = newType) {// output bagong pamagat ng datalogging parser.print (F ("sec,")); parser.println (meter.getTypeAsStr ()); } type ng pagsukat = newType; } kung ((millis () - validReadingTimer)> VALID_READINGS_TIMEOUT) {haveValidReadings = false; // walang bagong wastong pagbabasa sa huling 5 sec}
  7. Karagdagang pababa sa loop palitan ang parser.print (F ("{= Multimeter | oras (secs) | Plot_1 ~~~ ||}")); na may parser.print (F ("{= Multimeter | oras (secs) | Pagbasa ng Metro ~~~")); parser.print (meter.getTypeAsStr ()); parser.print (F ("||}"));
  8. Sa ilalim ng loop () palitan ang sendData (); na may kung (haveValidReadings) {sendData (); }
  9. Sa sendData () palitan ang parser.print (','); parser.print (((float) (plot_1_var-plot_1_varMin)) * plot_1_scaling + plot_1_varDisplayMin); may parser.print (','); parser.print (meter.getAsStr);
  10. Sa sendMainMenu () palitan ang parser.print (F ("~ Label")); may parser.print ('~'); kung (haveValidReadings) {parser.print (meter.getDigits ()); parser.print (meter.getScalingAsStr ()); parser.print (meter.getTypeAsUnicode ()); } iba pa {parser.print (F ("- - -")); }
  11. Sa sendMainMenuUpdate () magdagdag ng parser.print (F ("|! A")); parser.print ('~'); kung (haveValidReadings) {parser.print (meter.getDigits ()); parser.print (meter.getScalingAsStr ()); parser.print (meter.getTypeAsUnicode ()); } iba pa {parser.print (F ("- - -")); } Upang mai-update ang pagbabasa kapag gumagamit ng menu caching.

Konklusyon

Ipinakita ng tutorial na ito kung paano ikonekta ang isang murang multimeter sa isang Arduino Mega2560 sa pamamagitan ng RS232. Maraming iba pang mga board ay sinusuportahan din. Ang pfodVC820MeterParserlibrary ay ini-parse ang data ng multimeter sa float para sa mga kalkulasyon ng Arduino at mga string para sa pagpapakita at pag-log. Ginamit ang pfodDesignerV2 upang makabuo ng isang pangunahing sketch upang maipakita ang pagbabasa ng multimeter at ipakita ang isang balangkas ng mga halaga sa isang Android mobile gamit ang pfodApp. Walang kinakailangang programa sa Android. Sa pangunahing sketch na ito ay idinagdag ang paghawak ng multimeter at ipinapakita ng huling sketch ang kasalukuyang pagbabasa ng multimeter sa iyong Android mobile pati na rin ang paglalagay ng mga pagbasa at pag-log sa mga ito sa isang file sa iyong mobile para magamit sa paglaon.

Inirerekumendang: