Sisukord:

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

Video: Arduino + temperatuur + niiskus: 4 sammu

Video: Arduino + temperatuur + niiskus: 4 sammu
Video: BME280 Sensor Test with Arduino: pressure, humidity and temperature for the New Chronograph Project 2024, November
Anonim
Arduino + temperatuur + niiskus
Arduino + temperatuur + niiskus
Arduino + temperatuur + niiskus
Arduino + temperatuur + niiskus
Arduino + temperatuur + niiskus
Arduino + temperatuur + niiskus

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

Materjalid
Materjalid
Materjalid
Materjalid
Materjalid
Materjalid
Materjalid
Materjalid

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

Samm: seadistage Arduino + temperatuur

Arduino + temperatuuri seadistamine
Arduino + temperatuuri seadistamine
Arduino + temperatuuri seadistamine
Arduino + temperatuuri seadistamine
Arduino + temperatuuri seadistamine
Arduino + temperatuuri seadistamine

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

Niiskusanduri ühendamine
Niiskusanduri ühendamine
Niiskusanduri ühendamine
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 !

Koodi seadistamine !!!
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 !!!

Soovitan: