Arduino + temperatuur + niiskus: 4 sammu
Arduino + temperatuur + niiskus: 4 sammu
Anonim

Lihtne temperatuuriandur, mis kasutab ühte LM35 täpset temperatuuriandurit, niiskusandurit ja Arduino, nii et saate oma tulevaste projektidega ühendust võtta. Vooluahel saadab jadateavet temperatuuri ja niiskuse kohta, et saaksite seda oma arvutis kasutada. Võtsin andmed oma kompostist. Projekt on seotud olemasoleva toote igapäevase prügimäega, millega igaüks saab köögijäätmeid kodus kompostiks muuta. Toote kohta lisateabe saamiseks minge aadressile https://www.dailydump.org/content/. Digicompost kuvab prügimäel toimuvad muutused (temperatuuri, niiskuse muutused)

Samm: materjalid

- Arduino (saate kasutada muud mikrokontrollerit, kuid siis peate koodi muutma.) Siin on andmeleht.- BreadBoard.- Niiskusandur.- Juhtmed.

Samm: seadistage Arduino + temperatuur

Arduino on avatud lähtekoodiga elektroonika prototüüpimisplatvorm, mis põhineb paindlikul ja hõlpsasti kasutataval riist- ja tarkvaral. See on mõeldud kunstnikele, disaineritele, harrastajatele ja kõigile, kes on huvitatud interaktiivsete objektide või keskkondade loomisest. Lisateabe saamiseks logige sisse (https://www.arduino.cc) Temperatuurianduri ühendamine: LM35 -l on kolm jalga ja see näeb välja nagu transistor. Mõlemad välisjalad on+5v ja maapind ning keskmine jalg arendab proovipinget. Analoog -digitaalmuundur (ADC) teisendab analoogväärtused digitaalseks lähenduseks, mis põhineb valemil ADC väärtus = proov * 1024 / võrdluspinge (+5v). Nii et +5 voltreferentsi korral on digitaalne lähendus = sisendpinge * 205. (nt 2.5v * 205 = 512,5) LM35 on täpne lineaarne temperatuuriandur, mis tarnib 10 mv Celsiuse kraadi kohta. See tähendab, et 15 kraadi juures annaks näit.150v või 150 millivolti. Selle väärtuse lisamisel meie ADC teisendusse (.15v * 205 = 30.75) saame Celsiuse temperatuuri lähedase lähenduse, jagades digitaalse sisendi arvu kahega. Kui LM35 tarniti erinevat võrdluspinget (9v või 12v), peaksime kasutama teistsugust teisendusmeetodit. Selle vooluahela puhul jagamine kahega toimib hästi.

Samm: niiskusanduri ühendamine

Niiskusanduril on kaks tihvti, millest üks on maandamiseks ja teine välja, mis läheb tihvti 3 külge arduinole. Olen kasutanud kohapeal valmistatud andurit niiskuse/ niiskuse testimiseks, kuid võib kasutada ka SHT15, millel on nii temperatuur kui ka niiskus.

Samm: koodi seadistamine !

Ühendage arduino arvutiga, avage rakendus, valige sobiv port ja mudeli nr. enne kodeerimise alustamist. Kui kõik on tehtud, kirjutage kood alla, nagu allpool näidatud: int pin = 5; // analoog pinint putPin = 3; // niiskuseint tempc = 0, tempf = 0; // temperatuurimuutujadproovid [8]; // muutujad parema täpsuse saavutamiseksint maxi = -100, mini = 100; // maksimaalse/min temperatuuri alustamiseksint i; float humi = 0; float prehum = 0; float humconst = 0; float truehum = 0; float pretruehum = 0; pikk pretruehumconst = 0; pikk valb = 0; void setup () {Serial.begin (9600); // käivita jadaühendus} void loop () {for (i = 0; i <= 7; i ++) {sample = (5.0 * analogRead (pin) * 100.0) / 1024,0; tempc = tempc + proovid ; viivitus (1000);} tempc = tempc/8,0; tempf = (tempc * 9)/ 5 + 32; valb = analogRead (putPin); // niiskuse arvutamineprehum = (valb/5); humconst = (0,16/0,0062); humi = prehum - humconst; pretruehumconst = 0,00216*tempc; pretruehum = 1,0546 -pretruehumconst; truehum = humi/preruehum; viivitus (1000); Seeria. print (tempc, DEC); Serial.print ("Celsius"); Serial.print ("Niiskus:"); Serial.print ((pikk) truehum); Serial.println ("%"); tempc = 0; viivitus (1000); // viivitus enne tsüklit} Kui kõik on tehtud, klõpsake üleslaadimisnupul, mille üleslaadimine võtab natuke aega ja kui üleslaadimine on lõpetatud, klõpsake andurilt näitude saamiseks kindlasti jadaühendusel !!!