Turinys:

Didelio tikslumo nuotolinis duomenų registravimas naudojant multimetrą/„Arduino“/„pfod“Programa: 10 žingsnių (su paveikslėliais)
Didelio tikslumo nuotolinis duomenų registravimas naudojant multimetrą/„Arduino“/„pfod“Programa: 10 žingsnių (su paveikslėliais)

Video: Didelio tikslumo nuotolinis duomenų registravimas naudojant multimetrą/„Arduino“/„pfod“Programa: 10 žingsnių (su paveikslėliais)

Video: Didelio tikslumo nuotolinis duomenų registravimas naudojant multimetrą/„Arduino“/„pfod“Programa: 10 žingsnių (su paveikslėliais)
Video: GTM1 Apsaugos, gaisro, temperatūros aliarmai 2024, Liepa
Anonim
Didelio tikslumo nuotolinis duomenų registravimas naudojant multimetrą/„Arduino“/„pfodApp“
Didelio tikslumo nuotolinis duomenų registravimas naudojant multimetrą/„Arduino“/„pfodApp“
Didelio tikslumo nuotolinis duomenų registravimas naudojant multimetrą/„Arduino“/„pfodApp“
Didelio tikslumo nuotolinis duomenų registravimas naudojant multimetrą/„Arduino“/„pfodApp“
Didelio tikslumo nuotolinis duomenų registravimas naudojant multimetrą/„Arduino“/„pfodApp“
Didelio tikslumo nuotolinis duomenų registravimas naudojant multimetrą/„Arduino“/„pfodApp“

Atnaujinta 2017 m. Balandžio 26 d. Patikslinta grandinė ir plokštė, skirta naudoti su 4000ZC USB skaitikliais.

Nereikia „Android“kodavimo

Ši instrukcija parodo, kaip iš „Arduino“galima pasiekti daugybę didelio tikslumo matavimų ir nuotoliniu būdu siųsti juos registravimui ir braižymui. Norėdami sužinoti apie didelės spartos duomenų registravimą (2000 mėginių per sekundę), žr. Šią instrukciją „Nuotolinis didelės spartos duomenų registravimas naudojant„ Arduino “/GL AR150/„ Android “/„ pfodApp “

„Arduino“įmontuotas „AtoD“keitiklis yra prasto tikslumo, paprastai +/- 10% ir labai ribotas, paprastai tik nuo 0 iki 5 V nuolatinės įtampos. Naudodami paprastą grandinę ir biblioteką, galite maitinti „Arduino“didelio tikslumo automatinio diapazono matavimais iš multimetro su optiškai izoliuotu RS232 ryšiu. Turėdami matavimus prie eskizo, galite valdyti rezultatus pagal vertes. Ši pamoka taip pat apima matavimo siuntimą nuotoliniu būdu, naudojant „WiFi“, „Bluetooth“, „Bluetooth Low Energy“arba SMS, į „Android“mobilųjį telefoną, kad būtų rodomas, registruojamas ir braižomas naudojant „pfodApp“.

Ši instrukcija naudoja „Arduino Mega2560 5V“plokštę, kurią galite suporuoti su įvairiais ryšio ekranais, „Ethernet“, „WiFi“, „Bluetooth V2“(klasikinis), „Bluetooth LE“arba SMS. Čia pateikta sąsajos aparatinė įranga ir biblioteka taip pat gali būti naudojama su 3.3 V „Arduino“suderinamomis plokštėmis. Be „Mega2560“, galite naudoti daugybę kitų plokščių, tokių kaip „UNO“su „Ehternet“skydu, pagrindinė plokštė ESP8266 (atskira), plokštė su integruota „Bluetooth Low Energy“, pvz., „Arduino 101“, arba plokštės, jungiančios prie ryšio. posistemį naudojant SPI, pvz., „RedBear BLE“skydą ir „Adafrut“„Bluefruit SPI“plokštes. „pfodDesignerV2“palaiko visus šiuos plokščių derinius ir sugeneruos jiems kodą. Ribojanti sąlyga yra ta, kad norint prisijungti prie šio multimetro RS232 skydo, reikia turėti nemokamą aparatūros seriją.

Čia pateikta grandinė ir kodas veikia su daugeliu multimetrų. Lengvai prieinamas, nebrangus, yra „Tekpower TP4000ZC“, taip pat žinomas kaip „Digitek TD-4000ZC“. Multimetrai, veikiantys su šia grandine ir biblioteka, yra „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

1 žingsnis:

Ši pamoka susideda iš dviejų dalių:

Pirmoji dalis apima aparatūros sąsają su multimetru ir kodų biblioteką naudojant „Arduino Mega“. Jei norite tik išmatuoti savo „Arduino“, tai yra viskas, ko jums reikia.

Antroji dalis apima matavimo siuntimą į nuotolinį „Android“mobilųjį telefoną rodymui, registravimui ir braižymui. Šiame pavyzdyje naudosime „Bluetooth“skydą ir sukursime pagrindinį eskizą naudodami „pfodDesignerV2“, tačiau taip pat galite sukurti „WiFi“, „Ethernet“, „Bluetooth Low Energy“ir SMS ryšių kodą naudodami „pfodDesignerV2“. Tada multimetro biblioteka pridedama prie pagrindinio eskizo, kad būtų užbaigtas kodas. Norint rodyti, registruoti ir pavaizduoti rodmenis, nereikia „Android“kodavimo. Viskas valdoma pagal jūsų „Arduino“kodą.

Šį projektą taip pat galima rasti internete adresu www.pfod.com.au

Norėdami pamatyti nuotolinį multimetro rodymą, žiūrėkite šį pamokomą Alaino „Arduino Data Glasses For My Multimeter“.

2 žingsnis: multimetras

Multimetras
Multimetras

Šioje pamokoje naudojami multimetrai yra nebrangūs (~ US40) „Tekpower TP4000ZC“(taip pat žinomi kaip „Digitek DT-4000ZC“) ir senesni „Digitech QM1538“, kurie nebėra parduodami. Abu šie matuokliai vizualiai yra vienodi ir naudoja tą patį RS232 kodavimą.

Čia pateikiamos „Tekpower TP4000ZC“specifikacijos: -DC įtampa: 400 mV/4/40/400V ± 0,5%+5, 600V ± 0,8%kintamosios srovės įtampa: 4/40/400V ± 0,8%+5, 400mV/600V ± 1,2%+ 5DC srovė: 400/4000μA ± 2,0%+5, 40/400mA ± 1,5%+5, 4/10A ± 2%+5AC srovė: 400/4000μA ± 2,5%+3, 40/400mA ± 2%+5, 4 /10A ± 2,5%+5 Atsparumas: 400Ω/4/40/400kΩ/4MΩ ± 1%+5, 40MΩ ± 2%+5 Talpa: 40nF ± 3,5%+10, 400nF/4/40μF ± 3%+5, 100μF ± 3,5% +5 Dažnis: 10Hz -10MHz ± 0,1% +5 Darbo ciklas: 0,1%-99,9%± 2,5% +5 Temperatūra: 0oC - +40oC ± 3oC, -50oC - +200oC ± 0,75%± 3oC, +200oC - +750oC ± 1,5% ± 3 ° C, skiriamoji geba 0,1 ° C per pridėtą termoporos zondą.

Multimetro RS232 ryšys yra tik vienas būdas ir jūs negalite keisti multimetro nustatymų nuotoliniu būdu, todėl turite rankiniu būdu pasirinkti matavimo tipą. Tačiau skaitiklis automatiškai keičiasi, o įtampos ir srovės nustatymai valdo tiek kintamąją, tiek nuolatinę srovę.

3 žingsnis: RS232 sąsajos aparatinė įranga

RS232 sąsajos aparatinė įranga
RS232 sąsajos aparatinė įranga
RS232 sąsajos aparatinė įranga
RS232 sąsajos aparatinė įranga
RS232 sąsajos aparatinė įranga
RS232 sąsajos aparatinė įranga

Yra dvi sąsajos. Naujesni „Digitek DT-4000ZC“ir „Tekpower TP40000ZC“skaitikliai tiekiami su USB kabeliu. Nors senesniam „Digitek QM1538“buvo pateiktas RS232 9 kontaktų D jungties kabelis. Aukščiau pateikta grandinė (pdf versija) parodo, kaip prijungti kelių metrų opto jungtį prie „Arduino RX“nuoseklaus kaiščio. Pastaba: ši grandinė buvo atnaujinta, kad būtų pridėtas dar vienas apsauginis rezistorius R2, skirtas „Digitek DT-4000ZC“ir „Tekpower TP40000ZC“skaitikliams. Šis rezistorius nebuvo įtrauktas į aukščiau parodytą 9 kontaktų D jungties plokštę.

„Digitek DT-4000ZC“ir „Tekpower TP40000ZC“

Norint naudoti „Digitek DT-4000ZC“ir „Tekpower TP40000ZC“, jums reikia 3,5 mm garso kabelio, skirto vyriškam ir stereofoniniam arba monofoniniam, ir 3,5 mm lizdo.

„Digitek QM1538“

Senesniam „Digitek QM1538“jums reikia 9 kontaktų D lizdo. 9 kontaktų D jungtis turi poslinkio kaiščius, kurie nebus prijungti prie prototipo skydo. Tiesiog nupjaukite 4 kaiščių eilę, kad galėtumėte lituoti jungtį prie plokštės, nes grandinėje naudojami tik antros 5 kaiščių eilės kaiščiai. Montavimo kojos buvo sulenktos, kad jungtis gulėtų plokščia, o jungtis buvo pritvirtinta prie prototipo skydo naudojant 2 dalių epoksidinius klijus („Araldite“). Šiam projektui nereikia 10K rezistoriaus, kuris yra sumontuotas tiekiamų RS232 kabelių jungtyje (prijungta tarp 2 ir 3 kaiščių).

Signalo prijungimas prie „Arduino RX“kaiščio

Ši grandinė veiks tiek 5V, tiek 3,3 V „Arduino“plokštėms. Čia mes naudojame „Mega2560“(5 V) „Arduino“ir sumontavome grandinę ant prototipo skydo, kaip parodyta aukščiau.

Skraidantis laidas naudojamas prijungti skydo TP1 prie „Serial1 RX“, kaiščio D19, „Mega2560“.

Pastaba apie programinės įrangos seriją: iš pradžių šis skydas buvo suporuotas su UNO, naudojant programinės įrangos seriją 10, 11 kaiščiuose. Tačiau kai suporuotas su „Bluetooth Shield on Serial“, esant 9600baud, kai kurie priėmimo baitai buvo prarasti. RS232 perkėlimas į aparatinės įrangos nuoseklųjį ryšį išsprendė šią problemą. Taigi, norint naudoti patikimą nuotolinį rodymą ir registravimą, jei naudojate ryšio skydą, jungiantį serijiniu būdu, jums reikia plokštės su dviem ar daugiau aparatinės įrangos serijų, tokių kaip „Mega2560“. Kitos alternatyvos yra UNO su „Ehternet“skydu, ESP8266 pagrindinė plokštė (atskira), plokštė su integruota „Bluetooth Low Energy“, pvz., „Anduino 101“, arba plokštės, jungiančios prie ryšio posistemės naudojant SPI, pvz., „RedBear BLE“skydą ir „Adafrut“„Bluefruit SPI“. lentos. „pfodDesignerV2“palaiko visas šias plokštes ir sugeneruos jų kodą.

4 žingsnis: „PfodVC820MultimeterParser“biblioteka

„Tekpower TP4000ZC“ir daugelis kitų mulimetrų nesiunčia matavimo per RS232 kaip ASCII tekstą, o siunčia 14 baitų su nustatytais bitais, priklausomai nuo to, kurie LCD ekrano segmentai yra apšviesti. 14 baitų koduotė paaiškinta šiame pdf. PfodVC820MeterParser.zip biblioteka iššifruoja šiuos baitus į teksto eilutes ir plūdes. (VC820 nurodo vieną iš skaitiklių, naudojančių šią koduotę.) Taip pat žiūrėkite „QtDMM“, skirtą „Windows“, „Mac“ir „Linux“kompiuterių programinei įrangai, kuri tvarko įvairius multimetrus.

Yra minimalus „pfodVC820MeterParser“bibliotekos naudojimo pavyzdys, „MeterParserExample.ino“. Prijunkite matuoklį prie 2400baud serijinio ryšio ir paskambinkite haveReading () kiekviena kilpa, kad apdorotumėte baitus. „haveReading“() grįš į „true“, kai bus išanalizuotas naujas visas skaitymas. Tada galite paskambinti getAsFloat (), kad gautumėte vertę (pakeistą) kaip plūdę, arba getAtStr (), kad gautumėte rodmenis su mastelio keitimu spausdinant ir registruojant. Yra ir kitų būdų, kaip pasiekti matavimo tipą „getTypeAsStr ()“ir „getTypeAsUnicode“(), taip pat kitus naudingumo metodus.

#include "pfodVC820MeterParser.h" pfodVC820MeterParser skaitiklis; // void setup () {Serial.begin (74880); Serial1.begin (2400); meter.connect (& Serial1); } plūdės skaitymas; void loop () {if (meter.haveReading ()) {reading = meter.getAsFloat (); // naudokite tai Arduino skaičiavimams Serial.print ("Skaitymas su vienetais:"); Serijinis atspaudas (meter.getDigits ()); Serial.print (meter.getScalingAsStr ()); Serial.print (meter.getTypeAsStr ()); Serijinis atspaudas (F ("= kaip atspausdintas plūdė (6 skaitmenys):")); Serial.println (skaitymas, 6); Serial.println ("Laikas (sek.) Ir skaitymas kaip eilutė registravimui"); Serijinis atspaudas (((plūdės) milis ())/1000.0); Serial.print (", sek"); Serial.print (meter.getAsStr ()); Serial.print (','); Serial.println (meter.getTypeAsStr ()); }}

Kai skaitiklis nustatytas į C laipsnį ir naudojant termoelemento zondą, eskizo pavyzdyje pateikiama tokia išvestis „Arduino IDE“serijiniame monitoriuje

Skaitymas su vienetais: 25.7C = atspausdintas plūdėmis (6 skaitmenys): 25.700000Laikas (sek.) Ir Skaitymas kaip eilutė registravimo metu 2.40, sek., 25.7, C

5 žingsnis: 2 dalis - nuotolinis rodymas, registravimas ir braižymas

Šioje pamokos dalyje aprašoma, kaip nuotoliniu būdu rodyti, registruoti ir pavaizduoti skaitiklio rodmenis „Android“mobiliajame telefone. „pfodApp“naudojamas ekranui tvarkyti, registruoti ir braižyti „Android“mobiliajame telefone. „Android“programavimas nereikalingas. Visi ekranai, registravimas ir braižymas yra visiškai valdomi jūsų „Arduino“eskizu. Nemokama programa „pfodDesignerV2“leidžia jums sukurti „Android“meniu ir diagramą, tada sugeneruoti „Arduino“eskizą.

„pfodApp“palaiko kelis ryšio tipus: „Ethernet“, „WiFi“, „Bluetooth V2“(klasikinis), „Bluetooth LE“arba SMS. Šioje pamokoje duomenų registravimui ir braižymui naudojamas „Arduino 101“(„Bluetooth Low Energy“). Taip pat palaikomos kitos „Bluetooth“energijos taupymo plokštės. Ši pamoka naudoja SMS, kad prisijungtų prie „pfodApp“. Galite naudoti pfodDesignerV2, kad prie to SMS pavyzdžio pridėtumėte duomenų registravimą ir diagramų sudarymą. „pfodDesignerV2“taip pat turi galimybių generuoti „Arduino“kodą į „Bluetooth V2“(klasikinį) skydą, kad būtų galima prisijungti prie „pfodApp“.

Šiame pavyzdyje naudosime „Iteadstudio Bluetooth Shield V2.2“, kuris jungiasi prie „Arduino Mega2560“per 9600baud serijinį ryšį. Naudodami nemokamą programą „pfodDesignerV2“, sukūrėme paprastą meniu, kuriame yra tik etiketė, rodanti skaitiklio rodmenis, ir vienas mygtukas, skirtas atidaryti diagramą. Šiame puslapyje yra daugybė „pfodDesignerV2“vadovėlių. Kai turėsime pagrindinį eskizą, jį pakeisime, kad pridėtume skaitiklio analizatorių ir nusiųstume skaitiklio rodmenis bei duomenis registravimui ir diagramų sudarymui.

Meniu projektavimas

Šiame skyriuje sukursime „Android“/„pfodApp“meniu, kuriame bus rodomas skaitiklio rodmuo ir mygtukas rodmenų diagramai atidaryti. Rodmenys taip pat išsaugomi faile „Android“mobiliajame telefone

6 veiksmas: etiketės pridėjimas

Etiketės pridėjimas
Etiketės pridėjimas
Etiketės pridėjimas
Etiketės pridėjimas
Etiketės pridėjimas
Etiketės pridėjimas

Įdiekite nemokamą „pfodDesignerV2“ir paleiskite naują meniu.

Numatytasis tikslas yra serijinis, esant 9600baud, kuris yra reikalingas „Iteadstudio Bluetooth Shield V2.2“. Jei jungiatės naudodami „Bluetooth“energijos taupymo įrenginį arba „Wifi“ar SMS, tada spustelėkite Tikslas, kad pakeistumėte pasirinkimą.

Norėdami pridėti etiketę, kad būtų rodomas skaitiklio rodmuo, spustelėkite Pridėti meniu elementą ir pasirinkite slinkite žemyn, kad pasirinktumėte Etiketė.

Pasirinkite tinkamą šrifto dydį ir spalvas. Palikite tekstą kaip etiketę, nes pakeisime sugeneruotą kodą, kad vėliau jį pakeistume matuoklio matavimu. Čia mes nustatėme šrifto dydį į +7, šrifto spalvą į raudoną ir foną į sidabrą.

Grįžkite į redagavimo meniu_1 ekraną ir nustatykite atnaujinimo intervalą 1 sek. Dėl to „pfodApp“pakartotinai paprašys meniu maždaug kartą per sekundę, kad etiketėje būtų rodomas paskutinis rodinys.

7 veiksmas: diagramos mygtuko pridėjimas

Diagramos mygtuko pridėjimas
Diagramos mygtuko pridėjimas
Diagramos mygtuko pridėjimas
Diagramos mygtuko pridėjimas
Diagramos mygtuko pridėjimas
Diagramos mygtuko pridėjimas
Diagramos mygtuko pridėjimas
Diagramos mygtuko pridėjimas

Dar kartą spustelėkite Pridėti meniu elementą, kad pridėtumėte diagramos mygtuką.

Redaguokite diagramos mygtuko tekstą į kažką tinkamo, pvz. tiesiog „Diagrama“ir pasirinkite šrifto dydį ir spalvas.

Tada spustelėkite mygtuką „Diagrama“, kad atidarytumėte sklypo redagavimo ekraną. Bus tik vienas brėžinys, todėl spustelėkite mygtukus Redaguoti 2 ir 3 brėžinius, slinkite žemyn ir spustelėkite Slėpti grafiką kiekvienam iš jų.

Redaguokite diagramos etiketę į kažką tinkamo, pvz. "Multimetras". Nereikia keisti jokių kitų schemos nustatymų, nes mes keisime eskizą, kad būtų išsiųsta skirtinga y ašies etiketė, atsižvelgiant į multimetro nustatymus.

Galiausiai grįžkite į redagavimo meniu_1 ir redagavimo eilutę, tai nustato meniu apačioje esantį tekstą ir bendrą meniu fono spalvą. Čia mes nustatėme raginimą „Nuotolinis multimetras“, kurio šrifto dydis +3 ir fono spalva sidabrinė.

Dabar galite grįžti į redagavimo meniu_1 ir spustelėti peržiūros meniu, kad peržiūrėtumėte meniu dizainą.

Jei jums nepatinka dizainas, galite jį pakeisti prieš sugeneruodami kodą. Jei norite atskirti etiketę nuo mygtuko, galite pridėti keletą tuščių etikečių, kaip aprašyta čia. Diagramos pridėjimas ir duomenų registravimas, kaip rodyti/nubraižyti „Arduino“duomenis „Android“, yra dar viena pamoka apie pfodDesignerV2/pfodApp duomenų registravimą ir diagramų sudarymą.

8 žingsnis: sukurkite „Arduino“eskizą

„Arduino“eskizo generavimas
„Arduino“eskizo generavimas
„Arduino“eskizo generavimas
„Arduino“eskizo generavimas

Norėdami sugeneruoti „Arduino“kodą, kuris parodys šį meniu „pfodApp“, grįžkite į redagavimo meniu_1 ekraną ir slinkite žemyn ir spustelėkite mygtuką „Generuoti kodą“.

Spustelėkite mygtuką „Rašyti kodą į failą“, kad išvestumėte „Arduino“eskizą į /pfodAppRawData/pfodDesignerV2.txt failą savo mobiliajame telefone. Tada išeikite iš pfodDesignerV2. Perkelkite „pfodDesignerV2.txt“failą į kompiuterį naudodami USB ryšį arba failų perkėlimo programą, pvz., „Wifi“failų perkėlimo pro. Sukurto eskizo kopija yra čia, pfodDesignerV2_meter.txt

Įkelkite eskizą į „Arduino IDE“ir užprogramuokite „Uno“(arba „Mega“) plokštę. Tada pridėkite „Iteadstudio Bluetooth Shield V2.2“. Įdiekite „pfodApp“savo „Android“mobiliajame telefone ir sukurkite naują „Bluetooth“ryšį, pavadintą, pavyzdžiui, multimetru. Žiūrėkite pfodAppForAndroidGettingStarted.pdf, kaip sukurti naujus ryšius. Tada, kai naudojate „pfodApp“, kad atidarytumėte multimetro ryšį, pamatysite savo sukurtą meniu.

Atidarius diagramą nerodomas nieko įdomaus, nes mes nepridėjome prie multimetro aparatinės/programinės įrangos.

9 veiksmas: pridėkite multimetrą

Multimetro pridėjimas
Multimetro pridėjimas
Multimetro pridėjimas
Multimetro pridėjimas
Multimetro pridėjimas
Multimetro pridėjimas

Pakeisime sukurtą eskizą, kad pridėtume multimetro analizatorių ir išsiųstume jo duomenis į „Android“mobilųjį telefoną. Visas modifikuotas eskizas yra čia, pfod_meter.ino

Šie pakeitimai prideda multimetro analizatorių ir 5 sekundžių laikmatį. Jei per tą laiką nėra naujų galiojančių rodmenų, eskizas nustoja siųsti duomenis ir atnaujina „Android“/„pfodApp“ekraną į „ - - -“. Keičiant rankinį skaitiklio pasirinkimą, diagramos etiketės atnaujinamos, tačiau norėdami pamatyti naujas etiketes, turite išeiti iš diagramos ir ją iš naujo pasirinkti. Kita vertus, skaitiklio rodmenys automatiškai atnaujinami kas sekundę. Galiausiai „pfodApp“pagal numatytuosius nustatymus tvarko „Unicode“, todėl rodant skaitiklio rodmenis metodas „getTypeAsUnicode ()“naudojamas norint grąžinti „Unicode“omų, Ω ir degsC, ℃ rodmenis.

Diagramos mygtukas rodo atnaujintą rodmenų diagramą:-

Diagramos duomenys CSV formatu taip pat išsaugomi faile į „Android“mobilųjį telefoną, esantį /pfodAppRawData/Mulitmeter.txt, kad vėliau būtų galima perkelti į kompiuterį ir importuoti į skaičiuoklę tolesniems skaičiavimams ir diagramų sudarymui.

10 veiksmas: išsamios eskizo modifikacijos

  1. Atsisiųskite „pfodVC820MeterParser.zip“biblioteką, tada atidarykite „Arduino IDE“ir spustelėkite Eskizas → Įtraukti biblioteką → Pridėti.zip, kad pridėtumėte šią biblioteką prie savo IDE.
  2. Prie eskizo pridėkite biblioteką „pfodVC820MeterParser“. Spustelėkite Eskizas → Įtraukti biblioteką → pfodVC820MeterParser. Tai pridės įtraukimo teiginius eskizo viršuje.
  3. Redaguoti pfodParser_codeGenerated parser ("V1"); į pfodParser_codeGenerated parser (""); Tai išjungia meniu talpyklą pfodApp, todėl bus rodomi meniu pakeitimai. Galite grįžti į „V3“, kai baigsite visus pakeitimus, kad iš naujo įgalintumėte meniu talpyklą.
  4. Pridėkite šias eilutes, kad sukurtumėte programinės įrangos serijos ir multimetro objektus. pfodVC820MeterParser skaitiklis;
  5. Sąrankos pabaigoje () pridėkite Serial1.begin (2400); meter.connect (& Serial1);
  6. Virš kilpos () pridėti nepasirašytą ilgą validReadingTimer = 0; const unsigned long VALID_READINGS_TIMEOUT = 5000; // 5 sek. Bool haveValidReadings = true; // nustatykite į true, kai yra teisingi rodmenys int mõõtukasType = meter. NO_READING; ir ciklo viršuje () pridėti if (meter.haveReading ()) {if (meter.isValid ()) {validReadingTimer = millis (); haveValidReadings = tiesa; } int newType = metras.getType (); if (assessmentType! = newType) {// išvedami nauji duomenų registravimo pavadinimai parser.print (F ("sec,")); parseris.println (meter.getTypeAsStr ()); }asureType = newType; } if ((milis () - validReadingTimer)> VALID_READINGS_TIMEOUT) {haveValidReadings = false; // per paskutines 5 sekundes nėra naujo galiojančio rodmens}
  7. Toliau kilpoje pakeiskite parser.print (F ("{= Multimetras | laikas (sek.) | Plot_1_1 ~~~ ||}")); su parser.print (F ("{= Multimetras | laikas (sek.) | Meter Reading ~~~")); parseris.print (meter.getTypeAsStr ()); parser.print (F ("||}"));
  8. Ciklo apačioje () pakeiskite sendData (); su if (haveValidReadings) {sendData (); }
  9. SendData () pakeiskite parser.print (','); parser.print (((float) (plot_1_var-plot_1_varMin)) * plot_1_scaling + plot_1_varDisplayMin); su parser.print (','); parseris.print (meter.getAsStr);
  10. SendMainMenu () pakeiskite parser.print (F ("~ Etiketė")); su parser.print ('~'); if (haveValidReadings) {parser.print (meter.getDigits ()); parseris.print (meter.getScalingAsStr ()); parser.print (meter.getTypeAsUnicode ()); } else {parser.print (F (" - - -")); }
  11. „SendMainMenuUpdate“() pridėkite parser.print (F ("|! A")); parser.print ('~'); if (haveValidReadings) {parser.print (meter.getDigits ()); parseris.print (meter.getScalingAsStr ()); parser.print (meter.getTypeAsUnicode ()); } else {parser.print (F (" - - -")); } Norėdami atnaujinti rodmenis, kai naudojate meniu talpyklą.

Išvada

Ši pamoka parodė, kaip prijungti nebrangų multimetrą prie „Arduino Mega2560“per RS232. Taip pat palaikomos daugelis kitų lentų. „PfodVC820MeterParserlibrary“analizuoja multimetro duomenis į plūdes, kad galėtų atlikti „Arduino“skaičiavimus, o eilutes rodyti ir registruoti. „pfodDesignerV2“buvo naudojamas pagrindiniam eskizui sugeneruoti, kad būtų parodytas multimetro rodmuo ir parodytas verčių grafikas „Android“mobiliajame telefone naudojant „pfodApp“. „Android“programavimas nereikalingas. Prie šio pagrindinio eskizo buvo pridėtas multimetro valdymas, o galutinis eskizas rodo dabartinį multimetro rodmenį jūsų „Android“mobiliajame telefone, taip pat nubraižo rodmenis ir registruoja juos į failą jūsų mobiliajame telefone, kad vėliau galėtų naudoti.

Rekomenduojamas: