Sisällysluettelo:

Arduino -lämpötila- ja kosteusanturi: 7 vaihetta
Arduino -lämpötila- ja kosteusanturi: 7 vaihetta

Video: Arduino -lämpötila- ja kosteusanturi: 7 vaihetta

Video: Arduino -lämpötila- ja kosteusanturi: 7 vaihetta
Video: How to make a moisture detector using a moisture sensor module..#viralshorts#shorts#arduino 2024, Heinäkuu
Anonim

Seuraa lisää tekijältä:

PIC16F877A Analoginen digitaalimuunnin (ADC)
PIC16F877A Analoginen digitaalimuunnin (ADC)
PIC16F877A Analoginen digitaalimuunnin (ADC)
PIC16F877A Analoginen digitaalimuunnin (ADC)
LCD -liitäntä PIC16F877A -mikrokontrollerilla
LCD -liitäntä PIC16F877A -mikrokontrollerilla
LCD -liitäntä PIC16F877A -mikrokontrollerilla
LCD -liitäntä PIC16F877A -mikrokontrollerilla
DIY modulaarinen penkki virtalähde
DIY modulaarinen penkki virtalähde
DIY modulaarinen penkki virtalähde
DIY modulaarinen penkki virtalähde

Tässä opetusohjelmassa aion selittää lämpötila- ja kosteusanturin valmistuksen käyttämällä Arduino pro mini -korttia, jossa on DHT11 (tai DHT22) -anturi.

Vaihe 1: Katso video

On tärkeää nähdä video ennen kuin siirryt seuraavaan vaiheeseen. Video selittää kaiken ja osoittaa, miten se tehdään. Tässä viestissä kirjoitan kuitenkin lisää teknisiä tietoja ja yksityiskohtia.

www.youtube.com/watch?v=56LKl7Xd770

Vaihe 2: Tarvittavat osat

Tässä projektissa tarvittavat osat ovat:

1- Arduino pro mini -levy (tai mikä tahansa Arduino).

2- DHT11 lämpötila- ja kosteusanturi (tai DHT22).

3-16x2 LCD-näyttö.

4- Valitsemasi kotelo, mieluiten sama kuin videossa käytetty.

5-10K potentiometri.

6- Ruuviliittimet.

7- Eri arvojen vastukset.

8-9v akku.

kun tarvittavat työkalut ovat:

1-käsipora kuin Dremil.

2 erilaista poranterää, koska käytämme tasoitus- ja leikkuuteriä.

3- auttavat kädet.

lisäksi tavalliset elektroniikkatyökalut, kuten yleismittari ja niin edelleen.

Vaihe 3: Kaavamainen suunnittelu

Kaavamainen suunnittelu
Kaavamainen suunnittelu

Tässä projektissa olen valinnut tehdä piirilevyn sille sen sijaan, että johdottaisin sen itse. Joten olen käyttänyt EasyEDA -verkkotyökalua työhön, mikä oli mukava kokemus.

Tämä on hankkeen sivu easyEDA -verkkosivustolla:

Kaavion selitys on seuraava:

1- Olen käyttänyt 6-nastaista ICSP-sovitinta Arduino pro minin ohjelmointiin, koska sen mukana ei tule sellaista. se on J2 kaavamaisesti.

2- R2 on 100 ohmia ja se asettaa nestekidenäytön kirkkauden. Periaatteessa voit vastustaa enemmän kuin 100R, jos haluat LCD -taustavalon olevan himmeämpi. Tai vielä parempaa, hanki potentiometri toimimaan muuttuvan sarjan vastuksena.

3- JP1 on vain liitin, jolla on mukava PCB-jalanjälki. En koskaan laittanut varsinaista liitintä, vaan juotin johdot. Tee niin kuin haluat.

4- U2 on akun liitännät. Tässä pidän parempana mukavia ruuviliittimiä saadakseni kiinteän yhteyden. Voit juottaa johdot, mutta muista laittaa tarpeeksi juotetta, jotta liitäntä on riittävän luja kestämään tärinää.

5- LCD1 on easyEDA: n LCD-komponentti. Siinä on perusyhteys Arduino pro miniin. Varmista, että nastat ovat samat kuin ohjelmistossa.

6- RV1 on 10K-potentiometri LCD-näytön kontrastin asettamiseksi. Sitä tulee käyttää vain kerran, ja se kytketään nestekidenäyttöön ensimmäisen kerran.

Vaihe 4: Piirilevyjen suunnittelu

PCB -suunnittelu
PCB -suunnittelu
PCB -suunnittelu
PCB -suunnittelu

Kun olet tehnyt kaavamaisen suunnittelun ja ymmärtänyt, mitä kaikki tarkoittaa, on nyt aika tehdä piirilevy sille.

Painamalla "Muunna PCB: ksi" EasyEDA: ssa voit luoda PCB: n PCB -editorissa. Aloita sitten osien sijoittaminen ja reititys tavalliseen tapaan. Suosittelen kuitenkin, että et koskaan käytä automaattista reititintä.

Olen käyttänyt paljon vias liikkua ylhäältä alas kerrokseen, koska tilaa on niin vähän.

Vaihe 5: Valmistele piirilevy

PCB -suunnittelu on nyt valmis. Tarkistimme kaiken, eikä ongelmaa löytynyt. Meidän on lähetettävä suunnittelutiedostot (gerberit) valitsemallemme piirilevyjen valmistusyritykselle, jotta se voi tehdä sen puolestamme.

Valitsemani yritys on JLCPCB. Ne ovat parhaita tällaisiin projekteihin ja prototyyppien laatimiseen, ja ne tarjoavat vain 2 dollaria hintaa koko 10 kappaletta suunnittelustasi!

Napsauta nyt (…) ja valitse JLCPCB. Meidät ohjataan JLCPCB: n verkkosivustolle, koska he ovat EasyEDAn kumppaneita. Täytä nyt kaikki ja tee tilaus. Odota nyt, kunnes piirilevyt tulevat.

On syytä mainita, että JLCPCB: hen ei liity vain EasyEDA, vaan niillä on myös suuri komponenttivarasto! Etuna on, että sekä PCB -tilaus että komponenttitilaus toimitetaan yhdessä! Kyllä, sinun ei tarvitse odottaa kahden paketin saapumista erikseen, vaan ne on yhdistetty yhteen pakettiin. Suosittelen lämpimästi tämän käyttämistä.

Vaihe 6: Kokoonpano

Meillä on nyt PCB: t yksin kaiken kanssa. On aika koota kaikki yhteen.

Ensinnäkin meidän on juotettava elektroniikka kaavion mukaisesti. Tämä projekti on helppo tehtävä.

Kun olet lopettanut juottamisen, leikkaa nyt tarvittavat reiät muovikoteloon ja kiinnitä piirilevy muiden komponenttien kanssa hyvin sisälle kuumaliimapistoolilla.

Sinun pitäisi nyt käyttää potentiometriä LCD -näytön kontrastin säätämiseen, kun valitset tarvittavan vastusventtiilin kirkkaudelle, olen valinnut 100R.

Vaihe 7: Koodi

Tämän projektin koodi on liitetty tähän vaiheeseen, ja selitys on seuraava:

// sisällytä kirjastokoodi: #include #include "DHT.h" // aseta DHT -nasta #define DHTPIN 2

Sisällytä tarvittavat kirjastot ja määritä Arduino pro minin nasta 2 anturin datatapiksi. Muista asentaa nämä kirjastot, jos sinulla ei ole niitä.

// alustetaan kirjasto LiquidCrystal lcd (9, 8, 7, 6, 5, 4) käyttöliittymän numeroilla; #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE);

Alusta nyt LCD -kirjasto näillä nastoilla kaavion mukaisesti. Käytä myös DHT -kirjastoa ja valitse käytettäväksi anturiksi DHT11, joten jos sinulla on DHT22, vaihda se.

Viimeinen rivi kertoo, että meillä on DHT11 -anturi ja sen datanappi on nastassa "DHTPIN", joka on nasta 2, kuten aiemmin määriteltiin.

void setup () {// aseta nestekidenäytön sarakkeiden ja rivien määrä: lcd.begin (16, 2); dht.begin (); lcd.setCursor (0, 0); lcd.print ("Lämpötila ja"); lcd.setCursor (0, 1); lcd.print ("kosteusanturi"); viive (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("THUNDERTRONICS"); lcd.setCursor (0, 1); lcd.print ("Hossam Moghrabi"); viive (3000); }

Nyt on asetusten aika! ja tässä mitä tapahtuu:

LCD -näyttö on 16 x 2 -tyyppinen.

Käynnistä DHT -komento saadaksesi arvot.

Tulosta "Lämpötila- ja kosteusanturi" kahdelle riville.

Viive 3 sekuntia.

Selkeä näyttö

Tulosta "THUNDERTRONICS" ensimmäiselle riville ja sitten "Hossam Moghrabi" toiselle riville.

Viive 3 sekuntia.

^Olen tehnyt tämän aloitusnäytönä, joka kestää noin 6 sekuntia ennen kuin arvot näytetään.

void loop () {// lue kosteus int h = dht.readHumidity (); // lämpötilan lukeminen c int t = dht.readTemperature (); if (isnan (h) || isnan (t)) {lcd.print ("ERROR"); palata; }

Nyt olemme ikuisen silmukan sisällä, joka toistaa itseään.

Säilytä kosteuslukemat "h" -muuttujan sisällä ja lämpötilalukemat "t" -muuttujan sisällä.

Seuraavaksi meillä on if -lause. Tämä palauttaa periaatteessa virheilmoituksen virheen sattuessa. Jätä se muuttamatta sitä.

Nyt meillä on kaikki arvot, joita tarvitsemme.

lcd.setCursor (0, 0); lcd.print ("Lämpötila ="); lcd.print (t); lcd.print (""); lcd.print ((char) 223); lcd.print ("C"); lcd.setCursor (0, 1); lcd.print ("Kosteus ="); lcd.print (h); lcd.print (" %"); // lcd.print ("Hossam Moghrabi"); viive (2000);

Lopuksi näytämme nämä arvot LCD -näytöllä. Voit muuttaa sitä haluamallasi tavalla, koska se vain tulostaa arvot "h" ja "t" -muuttujien sisälle. Kahden sekunnin viiveen asettaminen on aika valinnaista, mutta et hyötyisi nopeammasta tekemisestä, koska anturi ei ole niin nopea ja vaikka se onkin, fyysiset arvot eivät koskaan muutu niin nopeasti. Joten 2 sekuntia on erittäin nopea työhön!

Se on siinä!

Suositeltava: