Satura rādītājs:
- 1. darbība. Kas jums būs nepieciešams:
- 2. darbība: savienojiet Arduino ar DHT11
- 3. darbība: lejupielādējiet Arduino IDE
- Solis: pievienojiet Arduino datoram
- 5. darbība: ielādējiet bibliotēku
- 6. darbība: iegūstiet Arduino kodu
- 7. solis: ielādējiet kodu Arduino
- 8. darbība: lejupielādējiet un instalējiet apstrādi
- 9. darbība. Koda apstrāde
- 10. darbība: koda failu apstrāde
- 11. solis: fonts apstrādē
- 12. solis: pabeigšana
- 13. darbība. Problēmu novēršana
Video: Temperatūras un mitruma displejs un datu vākšana, izmantojot Arduino un apstrādi: 13 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
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:
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
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 un instalējiet datorā
www.arduino.cc/en/Main/Software
Solis: pievienojiet Arduino datoram
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ē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
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
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
- Bibliotēka "DHTlib" netika nokopēta pareizi
- COM ports nav pareizi iestatīts
- Sensors nebija pareizi pievienots
- 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
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
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ē
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
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
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:
Kā izveidot mitruma un temperatūras reālā laika datu ierakstītāju, izmantojot Arduino UNO un SD karti - DHT11 datu reģistrētāja simulācija Proteus: 5 soļi
Kā izveidot mitruma un temperatūras reālā laika datu ierakstītāju, izmantojot Arduino UNO un SD karti | DHT11 datu reģistrētāja simulācija Proteus: Ievads: čau, tas ir Liono Maker, šeit ir YouTube saite. Mēs veidojam radošu projektu ar Arduino un strādājam pie iegultām sistēmām. Datu reģistrētājs: Datu reģistrētājs (arī datu reģistrētājs vai datu ierakstītājs) ir elektroniska ierīce, kas laika gaitā reģistrē datus
EAL - Industry 4.0 GPS datu vākšana Rc automašīnā: 4 soļi
EAL - Industry 4.0 GPS datu vākšana Rc Car: Šajā pamācībā mēs runāsim par to, kā mēs uzstādām GPS moduli RC automašīnā un ievietojām savāktos datus tīmekļa vietnē, lai to būtu vieglāk uzraudzīt. Mēs iepriekš esam sagatavojuši pamācību par to, kā mēs izgatavojām savu RC automašīnu, un to var atrast šeit. Tas izmanto th
Temperatūras/mitruma datu analīze, izmantojot Ubidots un Google izklājlapas: 6 soļi
Temperatūras/mitruma datu analīze, izmantojot Ubidots un Google lapas: Šajā apmācībā mēs izmērīsim dažādus temperatūras un mitruma datus, izmantojot temperatūras un mitruma sensoru. Jūs arī uzzināsit, kā nosūtīt šos datus uz Ubidots. Lai jūs varētu to analizēt no jebkuras vietas dažādiem lietojumiem. Arī nosūtot
Arduino 24 stundu temperatūras mitruma displejs: 3 soļi (ar attēliem)
Arduino 24 stundu temperatūras mitruma displejs: DHT11 ir lielisks sensors, lai sāktu darbu. Tas ir lēts un viegli savienojams ar Arduino. Tas ziņo par temperatūru un mitrumu ar aptuveni 2% precizitāti, un šajā pamācībā kā grafiskais displejs tiek izmantots Gameduino 3, kas parāda 24 stundu vēsturi. W
Temperatūras un mitruma datu reģistrētājs no Arduino uz Android tālruni ar SD kartes moduli, izmantojot Bluetooth: 5 soļi
Temperatūras un mitruma datu reģistrētājs no Arduino līdz Android tālrunim ar SD kartes moduli, izmantojot Bluetooth: Sveiki visi, šī ir mana pirmā pamācība, ceru, ka es palīdzu veidotāju kopienai, jo esmu guvis labumu no tā. Bieži vien savos projektos mēs izmantojam sensorus, bet atrodam veidu, kā datus savākt, uzglabāt un nekavējoties pārsūtīt uz tālruņiem vai citām ierīcēm