Satura rādītājs:

Temperatūras un mitruma displejs un datu vākšana, izmantojot Arduino un apstrādi: 13 soļi (ar attēliem)
Temperatūras un mitruma displejs un datu vākšana, izmantojot Arduino un apstrādi: 13 soļi (ar attēliem)

Video: Temperatūras un mitruma displejs un datu vākšana, izmantojot Arduino un apstrādi: 13 soļi (ar attēliem)

Video: Temperatūras un mitruma displejs un datu vākšana, izmantojot Arduino un apstrādi: 13 soļi (ar attēliem)
Video: Arduino Tutorial 28 - DHT11 Temperature Sensor with LCD | SunFounder's ESP32 IoT Learnig kit 2024, Jūlijs
Anonim
Temperatūras un mitruma displejs un datu vākšana, izmantojot Arduino un apstrādi
Temperatūras un mitruma displejs un datu vākšana, izmantojot Arduino un apstrādi

Ievads: Šis ir projekts, kurā tiek izmantota Arduino tāfele, sensors (DHT11), Windows dators un apstrādes (bezmaksas lejupielādējama) programma, lai parādītu temperatūru, mitruma datus digitālā un joslu diagrammas formā, parādītu laiku un datumu un veiktu skaitīšanu programmas darbības laikā un ierakstiet visus datus.csv formātā, kad programma ir aizvērta.

Iedvesma:

Vispirms man JĀSAKA, ka esmu pavisam iesācējs un esmu ļoti daudz iemācījies no šī projekta. Tādējādi es cenšos uzrakstīt šo pamācību, lai tā būtu izlasāma un saprotama iesācējam.

Es biju redzējis dažādus Arduino projektus temperatūras un mitruma mērīšanai, bet es gribēju programmu, kas:

1) Izmērītā temperatūra un mitrums

2) Parādīja datus gan grafikā (es izvēlējos joslu diagrammu), gan digitālā formā

3) Ir pulksteņa funkcija

4) Tam ir laika skaitīšanas taimeris

5) Saglabā šos datus.csv (Excel) faila formātā.

Man bija iedvesma no programmām, kuras izveidoja Sowmith Mandadi, R-B un aaakash3, taču neviens no šiem nebija tieši tas, ko es gribēju. Tāpēc es iemācījos rakstīt kādu pamata kodu un izveidoju to, ko vēlējos.

1. darbība. Kas jums būs nepieciešams:

Kas jums būs nepieciešams
Kas jums būs nepieciešams
Kas jums būs nepieciešams
Kas jums būs nepieciešams

Daļas un materiāli:*Dators - es izmantoju Windows datoru Windows 10 operētājsistēmu

(Esmu pārliecināts, ka varētu izmantot Linux vai Mac, man vienkārši nav neviena, tāpēc es neaptveršu šo operētājsistēmu izmantošanu)

*Arduino dēlis - es izmantoju Arduino Uno plati, taču derēs jebkura Arduino plate ar USB

*USB kabelis -USB A/B kabelis -tāds pats kā vecā tipa "printera kabelis" (parasti nāk ar Arduino plati)

*DHT 11 temperatūras /mitruma sensors- lēti no 4 līdz 8 USD

(Piezīme: ir 2 versijas, kuras izmantoju 3 kontaktu versiju, 4 kontaktu versijai būs nepieciešams izmantot maizes dēli un 10K rezistoru, 3 tapām ir iespiesta shēma, kas ietver 10K rezistoru) Skatiet Fritzing diagrammas nākamajās darbībās

*Savienojuma vadi

Dupont vadi (dubultie iekšējie gali), ja pievienojat 3 kontaktu DHT11 bez maizes dēļa

Standarta džemperis M/F vadi (viens gals, viens gals, sieviete) un M/M džemperis (abi gali, vīrieši), lai savienotu 4 kontaktu DHT11 - lai iegūtu vairāk informācijas, skatiet 2. darbību

*Arduino IDE - programma Arduino programmu (sauktu par skicēm) rakstīšanai bez maksas @

www.arduino.cc/en/Main/Software

*Apstrāde - programma, lai bez maksas uzrakstītu apstrādes skices @

processing.org/download/

* "DHTLib" fails -bibliotēkas fails (tas ir fails, kas nonāk programmā Arduino IDE zem mapes ar nosaukumu "Bibliotēka", tas būs jāpievieno Arduino skicei, pirms Arduino var nolasīt datus no DHT11 -sk. 5. darbība, lai lejupielādētu failu un instrukcijas

2. darbība: savienojiet Arduino ar DHT11

Savienojiet Arduino ar DHT11
Savienojiet Arduino ar DHT11
Savienojiet Arduino ar DHT11
Savienojiet Arduino ar DHT11
Savienojiet Arduino ar DHT11
Savienojiet Arduino ar DHT11
Savienojiet Arduino ar DHT11
Savienojiet Arduino ar DHT11

Vispirms nosakiet, kurš DHT11 jums ir

Es izmantoju 3 tapu, jo tajā jau ir nepieciešamais 10K rezistors.

Ja jums ir 4 tapas, jums būs nepieciešams 10K rezistors un maizes dēlis

Savienojiet DHT11 ar Arduino dēli. Šī programma prasa DHT 11 signāla tapu savienot ar Arduino tapu #7, Pos (+) tapu savienot ar 5V Arduino un Neg (-) ar GND uz Arduino.

Skatiet Diagrammas un Fritzing diagrammas

3. darbība: lejupielādējiet Arduino IDE

Lejupielādējiet Arduino IDE
Lejupielādējiet Arduino IDE

Lejupielādējiet Arduino IDE un instalējiet datorā

www.arduino.cc/en/Main/Software

Solis: pievienojiet Arduino datoram

Savienojiet Arduino ar datoru
Savienojiet Arduino ar datoru

Vispirms instalējiet Arduino IDE, kurā ir draiveri Arduino USB savienojumam.

Savienojiet Arduino ar datoru, izmantojot USB.

Pagaidiet, līdz dators atpazīst Arduino plati un instalē visus draiverus.

Atveriet IDE programmu un pārbaudiet sērijas savienojumu.

Ja Arduino tāfele netiek parādīta portā Tools> Tools (sarkans aplis), aizveriet IDE un atveriet to vēlreiz.

* Svarīgi*, kad IDE ir atvērts un Arduino plate ir pievienota, izmantojot USB. Arduino platei jābūt savienotai ar pareizo seriālo portu. Windows datoros to sauc par COM portu. Lai to izdarītu IDE, dodieties uz Tools> Port:> Serial ports. Kā redzams diagrammā, seriālajam portam (sarkanajam aplim) jāatbilst portam, kas norādīts IDE programmas apakšējā labajā stūrī (dzeltenais aplis).

5. darbība: ielādējiet bibliotēku

Ielādēt bibliotēku
Ielādēt bibliotēku
Ielādēt bibliotēku
Ielādēt bibliotēku
Ielādēt bibliotēku
Ielādēt bibliotēku
Ielādēt bibliotēku
Ielādēt bibliotēku

Ielādējiet DHT11 bibliotēku. Sākumā tas mani mulsināja, bet tiešām ir pavisam vienkārši.

Lejupielādējiet failu ar nosaukumu “DHTLib” un izpakojiet. Kopējiet neiesaiņoto “DHTLib” failu.

Atsauces uz šo bibliotēku var atrast:

playground.arduino.cc/Main/DHTLib

(To uzrakstīja Robs Tillaarts, pamatojoties uz citu darbu)

Datorā atrodiet mapi Arduino un atveriet to. (Tas būs visur, kur lejupielādējāt IDE un instalējāt to datorā)

Skatīt diagrammu

Atrodiet failu ar nosaukumu “bibliotēkas” un atveriet to, pēc tam ielīmējiet mapi “DHTLib” “bibliotēku” failā. Aizveriet to un pēc tam restartējiet IDE.

Skatīt diagrammu

Kad IDE ir atkārtoti atvērts, varat pārbaudīt, vai ir instalēta DHT bibliotēka. Skice> Iekļaut bibliotēku.

Skatīt diagrammu

Piezīme Noklikšķinot uz DHTLib cilnē "iekļaut bibliotēku", bibliotēka tiks ievietota Arduino kodā kā "#include dht.h".

Jums tas nav jādara, jo tas jau ir kodā, kuru lejupielādēsit nākamajā darbībā.

6. darbība: iegūstiet Arduino kodu

Iegūstiet Arduino kodu
Iegūstiet Arduino kodu

Lejupielādējiet Temp_Hum_Instructable.zip failu un izpakojiet to. Atveriet Temp_Hum_Instructable.ino ar Arduino IDE.

Alternatīvi apskatiet šo kodu un precīzi kopējiet un ielīmējiet vai ierakstiet Arduino IDE:

#iekļaut

dht DHT; #define DHT11PIN 7 // nosaka 7. tapu DHT11 signāla savienojuma void setup () {Serial.begin (9600); // atver sērijas} void loop () {int chk = DHT.read11 (DHT11PIN); // nolasa DHT11 Serial.print (DHT.temperature, 0); // izdrukā temp sērijas Serial.print (","); // izdrukā komatu sērijas Serial.print (DHT.humidity, 0); // drukā mitrumu sērijas Serial.println (); // vagona atgriešanās aizkave (2000); // pagaidiet 2 sekundes}

Kad esat pabeidzis, tam vajadzētu izskatīties kā iepriekš redzamajā diagrammā

7. solis: ielādējiet kodu Arduino

Ielādējiet kodu Arduino
Ielādējiet kodu Arduino
Ielādējiet kodu Arduino
Ielādējiet kodu Arduino
Ielādējiet kodu Arduino
Ielādējiet kodu Arduino
Ielādējiet kodu Arduino
Ielādējiet kodu Arduino

Vispirms saglabājiet skici vietā un ar nosaukumu, kuru atcerēsities, piemēram: Temp_Hum.

Tālāk jums jāielādē skice Arduino plāksnē, nospiežot labo bultiņas pogu (augšupielādēt).

Skatīt diagrammu

Tas prasīs dažas sekundes; apakšējā labajā stūrī redzēsit progresa joslu.

Tad jūs redzēsit: Gatavs augšupielādēts ziņojums kreisajā apakšējā stūrī un balts teksts IDE apakšā, kas stāsta par atmiņu

Skatīt diagrammu

Ja tiek parādīts kļūdas kods (oranžs teksts IDE apakšā), tam vajadzētu būt vienam no šiem

  1. Bibliotēka "DHTlib" netika nokopēta pareizi
  2. COM ports nav pareizi iestatīts
  3. Sensors nebija pareizi pievienots
  4. Kods nav pareizi ievietots IDE. Oranžo tekstu var ritināt, un tas sniegs norādi par to, kas nav kārtībā. Atgriezieties un pārbaudiet, iespējams, tā ir vienkārša kļūda.

Kad tas ir izdarīts, uzmanīgi apskatiet savu Arduino dēli. Ik pēc pāris sekundēm mirgo mazā gaismas diode blakus burtiem “TX”. Tas ir Arduino, kas sūta informāciju atpakaļ uz datoru. Lai to pārbaudītu, noklikšķiniet uz mazā palielināmā stikla simbola IDE labajā augšējā stūrī.

Skatīt diagrammu

Tiks atvērts seriālais monitors un parādīti temperatūras un mitruma dati, atdalīti ar komatu. Ņemiet vērā, ka temperatūras dati ir norādīti pēc Celsija. Tas ir labi, mēs vēlāk pārveidosim par Fārenheitu (vai ne, ja izvēlēsities).

Skatīt diagrammu

Pēc tam aizveriet seriālo monitoru un pēc tam aizveriet IDE. (Jūs taču atcerējāties to saglabāt, vai ne?). Tagad vēlreiz apskatiet Arduino plati (neatvienojiet to no USB, kurā tas saņem barošanu, un nesūtiet datus uz datora sērijas portu). Vai tas joprojām mirgo? Jā, lieliski. Kad programma ir ielādēta Arduino, tā darbosies tik ilgi, kamēr tai būs jauda.

Piezīme par kodu: ja paskatās uz Arduino kodu, kas sākas ar “void loop ();”. Nākamās 5 koda rindiņas liek Arduino lasīt datus no DHT un izdrukāt tos ar komatu atdalītu seriālo kopni. Nākamā rinda “kavēšanās (2000);” stāsta Arduino gaidīt 2 sekundes (2000 milisekundes), tāpēc dati tiek saņemti ik pēc 2 sekundēm. Tad tas atgriežas pie “void loop ();” - komanda, kas liek Arduino to darīt vēlreiz. Mainot vērtību aizkaves rindā, tiks mainīts datu saņemšanas biežums. Piemērs: mainīsies uz (600000) līdz 10 minūtēm (600000 milisekundes = 10 minūtes). Datu saņemšana ik pēc 2 sekundēm rada daudz datu, tāpēc tagad jūs zināt, kā mainīt datu lasīšanas biežumu. Vienkārši atcerieties, ja vēlāk mainīsit vērtību nepieciešams augšupielādēt jauno programmu.

Labi, sēdi un ievelc elpu, jo esi vairāk nekā pusceļā. Jā !!

8. darbība: lejupielādējiet un instalējiet apstrādi

Lejupielādējiet un instalējiet apstrādi
Lejupielādējiet un instalējiet apstrādi
Lejupielādējiet un instalējiet apstrādi
Lejupielādējiet un instalējiet apstrādi

processing.org/download/

Diezgan vienkārši izvēlieties programmu, kas atbilst jūsu datoram operētājsistēmai Windows 64bit vs 32 bit. Ja jūs to nezināt, atveriet datora vadības paneli (ikonu skats, nevis kategorijas skats) un dodieties uz sistēmu, kas tur tiks parādīta.

Skatīt diagrammu

Lejupielādējiet un pēc tam instalējiet programmu.

Pirmo reizi atverot un palaižot apstrādi, iespējams, saņemsit Java drošības ziņojumu. Noklikšķiniet uz "atļaut" privātiem tīkliem. Java ir datorvaloda, ko izmanto Processing (un Arduino IDE). Interesanti, ka man nekad nav bijis drošības ziņojums ar Arduino IDE, tikai apstrāde.

9. darbība. Koda apstrāde

Apstrādes kods
Apstrādes kods

Labi tagad apstrādes kodam.

Šī man bija vissarežģītākā daļa, bet arī vislielākā iespēja mācīties. Lai gan Arduino kods bija aptuveni 20 rindas, šī koda galvenajā kodā ir +/- 270 rindas un vēl 70 + klasēs.

Tagad pirmā lieta, kas jums jājautā, ir “Kas ir nodarbības?”. Labs jautājums. Tas attiecas uz objektorientētu programmēšanu. Īsāk sakot, galvenajā kodā notiek virkne lietu: displeja izmēra un krāsas noteikšana, pulkstenis, taimeris, kods kursora atrašanās vietas parādīšanai, kods datu saglabāšanai.csv failā un dažas rindiņas kas nodarbojas ar kodu, kas parāda joslu diagrammas. Lai gan Arduino IDE viss kods bija vienā lapā, šim apstrādes kodam ir trīs cilnes. Pirmais ir galvenais kods, un nākamie divi ir kods, kas parāda joslu diagrammas. (Šis kods faktiski tiek saglabāts trīs atsevišķos failos apstrādes koda mapē.) Atsevišķās cilnes sauc par “klasēm”, un tās ir definētas 48. un 56. rindā, un pēc tam tiek parādītas galvenā koda 179.-182. Rindā. Cilvēki, kuri uzrakstīja apstrādes programmu, šo objektu orientēto programmēšanu sauc. (īsu aprakstu skatiet:

Būtībā tas, ko šajā kodā (Recta1, Recta2) dara, ir izveidot taisnstūrus, kas pārvietojas uz augšu un uz leju, pamatojoties uz datiem, kas no sērijas DHT11 saņemti. Padomājiet par vecmodīgu termometru, jo augstāks dzīvsudrabs kļūst karstāks, bet tas tiek darīts ar datiem, nevis dzīvsudrabu. Patiesībā klasēs tiek izveidoti četri taisnstūri, divi statiski taisnstūri, kas attēlo termometra fonu, un divi dinamiski taisnstūri, kas reaģē uz datiem un pārvietojas uz augšu un uz leju. Papildus taisnstūru pārvietošanai kods maina dinamiskā taisnstūra krāsu un temperatūras un mitruma digitālā displeja krāsu, pamatojoties uz sērijveidā saņemtajiem datiem.

10. darbība: koda failu apstrāde

Tikai daži koda apstrādes pamati:

Es ļoti iesaku izlasīt Makey: Getting Started withProcessing, ko uzdeva Casey Reas un Ben Fry, Processing dibinātāji.

processing.org/books/#reasfry2

Es nemēģināšu izskaidrot visus apstrādes aspektus vai koda rakstīšanu apstrādei. Kā jau iepriekš teicu, esmu iesācējs un domāju, ka ir daudz labāku cilvēku, no kuriem mācīties. Tomēr es saprotu manu uzrakstīto kodu (izmēģinājumi un kļūdas ir labi skolotāji).

1. Vispirms jāiekļauj bibliotēkas (tāpat kā Arduino) un jāpaziņo mainīgie (1.-25. Rinda)

2. Tālāk iestatiet displeja dēli (27.-63. Rindas)

3. Palaidiet atkārtotu koda daļu- es domāju, ka šī koda daļa atkārtosies, kamēr programma darbojas. In Arduino jūs atcerēsities “void loop ();” (6. darbība). Apstrādē tas tagad ir “void draw ();” (65. – 184. Rindas)

4. Nākamais ir datu iegūšana no seriālā porta un to piešķiršana mainīgajiem (int, float, String)

int-

peldēt-

Stīga-

(185. – 245. Rinda)

4. Visbeidzot, veids, kā aizvērt programmu un saglabāt datus (246.-271. Rindas)

Labi: lejupielādējiet failu Temp_Hum_F_3_2 (Fārenheitam)

Vai Temp_Hum_C_3_1 (Celsija)

un izpakojiet failu. Atvērt ar apstrādi.

11. solis: fonts apstrādē

Fonts apstrādē
Fonts apstrādē

Svarīgi: es aicinu jūsu uzmanību uz 36.-37

36 font = loadFont ("SourceCodePro-Bold-48.vlw"); // ielādē datos saglabāto fontu

mape 37 textFont (fonts);

Šī fontu bibliotēka "SourceCodePro-Bold-48.vlw" ir iekļauta apstrādes failu lejupielādēs un nav jāmaina uz funkciju.

Tomēr, lai mainītu fontu uz kaut ko citu, jums būs jāielādē jaunais fonts apstrādes skicē UN jāaizstāj "SourceCodePro-Bold-48.vlw" ar jauno fontu.

. Par laimi apstrāde ir padarījusi pirmo daļu ļoti vieglu.

Vispirms atveriet skici un pēc tam noklikšķiniet uz:

Rīki> Izveidot fontu

tas paver logu

Skatīt diagrammu

Ritiniet uz leju līdz vajadzīgajam jaunajam fontam, noklikšķiniet uz tā un pēc tam noklikšķiniet uz Labi. Fonts tagad ir ielādēts skiču mapē.

Pēc tam aizstājiet tekstu "SourceCodePro-Bold-48.vlw" ar precīzu jaunā fonta nosaukumu (ieskaitot.vlw faila formātu)

Ja tas nav izdarīts, jaunais fonts netiks ielādēts kodā, un kods radīs kļūdas (tāpat kā kļūdas Arduino valodā- melnajā lodziņā programmas apakšā).

12. solis: pabeigšana

Pabeigšana uz augšu
Pabeigšana uz augšu
Pabeigšana uz augšu
Pabeigšana uz augšu
Pabeigšana uz augšu
Pabeigšana uz augšu
Pabeigšana uz augšu
Pabeigšana uz augšu

Lai sāktu apstrādes programmu, noklikšķiniet uz bultiņas, jūs varat saņemt Java brīdinājumu. Noklikšķiniet: Atļaut piekļuvi.

Skatīt diagrammu

Labi, vai programma darbojās? Ja tā, jūs saņemsiet displeju, kā redzams diagrammā.

(Nē? Skatiet problēmu novēršanu nākamajā darbībā)

Jā? Tagad mēģiniet turēt DHT11 aizvērtā plaukstā vai novietot zem fēna siltā gaisa plūsmas. Skaitļiem vajadzētu mainīties. Jā? Lieliski. tas nozīmē, ka viss darbojas labi.

Lai aizvērtu programmu un saglabātu datus, noklikšķiniet uz lodziņa “Noklikšķiniet šeit, lai aizvērtu un saglabātu datus”.

Tagad, lai atrastu saglabātos datus, dodieties uz mapi Temp_Hum_F_3_1 vai Temp_Hum_C_3_1 Processing (tagad jums vajadzētu būt iespējai to atrast), atveriet to un atrodiet mapi Dati. Atveriet šo un jums vajadzētu redzēt.csv failu, kas nosaukts pēc programmas slēgšanas datuma un laika (piemērs 1-10-18--22-30-16.csv nozīmē 2018. gada 10. janvāris 10:30:16). Atveriet to, izmantojot Excel (vai Open Office izklājlapas ekvivalentu). Jums vajadzētu redzēt kaut ko līdzīgu diagrammai. Datuma, laika, darbības laika, temperatūras un mitruma slejas ar datiem. Tagad jūs varat grafiski attēlot datus, izmantojot Excel vai visu, ko vēlaties ar to darīt. (Piezīme: ja aplūkojat pirmo datu ievadi, dati par temperatūru un mitrumu nav pareizi, tas ir normāli un ir tikai kļūda, pirmo reizi startējot programmu)

Labi jā !!!!!

Tu to izdarīji

Ja jums ir kādi jautājumi, lūdzu, rakstiet, un es darīšu visu iespējamo, lai atbildētu un palīdzētu.

Paldies, ka palika pie šī un veiksmi. Es ceru, ka tas ir tikai sākums ….

Tālāk man Bluetooth un, iespējams, Android….

13. darbība. Problēmu novēršana

Traucējummeklēšana
Traucējummeklēšana
Traucējummeklēšana
Traucējummeklēšana

Arduino problēmas

Ja tiek parādīts kļūdas kods (oranžs teksts IDE apakšā), tam vajadzētu būt vienam no šiem. DHTlib bibliotēka netika nokopēta pareizi

COM ports nav pareizi iestatīts

Sensors nebija pareizi pievienots

Kods nebija pareizi ielādēts IDE

Ja šķiet, ka viss Arduino ir kārtībā, atveriet seriālo monitoru un pārbaudiet, vai tiek parādīti dati

Ja redzat pareizus datus, tas nozīmē, ka Arduino puse darbojas. Atcerieties, ka pirms apstrādes sākšanas aizveriet seriālo monitoru, ja seriālais monitors ir atvērts. Apstrāde nevar nolasīt datus.

Apstrādes problēmas:

Tie tiks parādīti apstrādes programmas apakšējā daļā.

Ja tiek parādīta kļūda, aprakstot “fontu”, atgriezieties 11. darbībā un ielādējiet fontu, kā aprakstīts.

Ja rodas kļūda, kas izskatās šādi: Kļūda, atspējojot serialEvent () COM4 null- vienkārši restartējiet apstrādes skici, noklikšķinot uz bultiņas, kā norādīts 12. darbībā

Ja tiek parādīta kļūda, kurā norādīts: Kļūda, atverot seriālo portu, mēģiniet mainīt 32. – 34. Rindu uz kaut ko līdzīgu, kur “COM4” atbilst jūsu Arduino skices COM portam.

myPort = newSerial (šis, "COM4", 9600); // Port myPort.bufferUntil ('\ n') // pagaidiet, līdz sērijai ir dati

Ieteicams: