Orodha ya maudhui:

Joto la Arduino na Sura ya Unyevu: Hatua 7
Joto la Arduino na Sura ya Unyevu: Hatua 7

Video: Joto la Arduino na Sura ya Unyevu: Hatua 7

Video: Joto la Arduino na Sura ya Unyevu: Hatua 7
Video: Функция Arduino Millis поясняется 3 примерами 2024, Julai
Anonim

Fuata na Thundertronics Fuata Zaidi na mwandishi:

PIC16F877A Analog to Digital Converter (ADC)
PIC16F877A Analog to Digital Converter (ADC)
PIC16F877A Analog to Digital Converter (ADC)
PIC16F877A Analog to Digital Converter (ADC)
Kiunga cha LCD Na PIC16F877A Microcontroller
Kiunga cha LCD Na PIC16F877A Microcontroller
Kiunga cha LCD Na PIC16F877A Microcontroller
Kiunga cha LCD Na PIC16F877A Microcontroller
Ugavi wa Nguvu ya Benchi ya Msimu
Ugavi wa Nguvu ya Benchi ya Msimu
Ugavi wa Nguvu ya Benchi ya Msimu
Ugavi wa Nguvu ya Benchi ya Msimu

Katika mafunzo haya, nitaelezea utengenezaji wa sensorer ya joto na unyevu kutumia Arduino pro mini board na DHT11 (au DHT22) sensor.

Hatua ya 1: Tazama Video

Ni muhimu kuona video kwanza kabla ya kuhamia hatua inayofuata. Video inaelezea kila kitu na inaonyesha jinsi inafanywa. Walakini, katika chapisho hili, nitaandika data na maelezo zaidi ya kiufundi.

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

Hatua ya 2: Sehemu Zinazohitajika

Sehemu zinazohitajika kwa mradi huu ni:

1- Arduino pro mini board (au Arduino yoyote).

2- DHT11 joto na sensorer ya unyevu (au DHT22).

Onyesho la 3- 16x2 LCD.

4- Bando la chaguo lako, ikiwezekana sawa na ile iliyotumiwa kwenye video.

5- 10K potentiometer.

6- Vifungo vya vituo.

7- Wapingaji wa maadili tofauti.

8- 9v betri.

wakati zana zinazohitajika ni:

1- mkono kuchimba kama Dremil.

2- bits tofauti kwa kuchimba visima, kwani tutatumia bits laini na kukata bits.

3- kusaidia mikono.

pamoja, vifaa vya kawaida vya elektroniki kama multimeter na kadhalika.

Hatua ya 3: Ubunifu wa Mpangilio

Ubunifu wa skimu
Ubunifu wa skimu

Katika mradi huu, nimechagua kuifanya PCB badala yake niiunganishe wiring. Kwa hivyo nimetumia zana ya mkondoni ya EasyEDA kwa kazi hiyo ambayo ilikuwa uzoefu mzuri.

Huu ndio ukurasa wa mradi kwenye wavuti rahisi ya EDED: https://easyeda.com/Hossam_VEGETA_Moghrabi/Arduin …….

Maelezo ya mpango ni kama ifuatavyo:

1- Nimetumia adapta ya ICSP ya pini 6 kupanga Arduino pro mini kwani haiji na moja kwenye ubao. ni J2 katika mpango.

2- R2 ni 100 Ohms na inaweka mwangaza wa LCD. Kimsingi, unaweza kuweka upinzani zaidi kuliko 100R ikiwa unataka taa ya taa ya LCD kuwa nyepesi. Au bora bado, pata potentiometer ya kufanya kama upinzani wa safu tofauti.

3- JP1 ni kontakt tu ambayo ina alama nzuri ya PCB. Sijawahi kuweka terminal halisi lakini badala yake niliuza waya. Fanya upendavyo.

4- U2 ni vituo vya unganisho la betri. Hapa, napendelea vituo vyema vya screw ili kupata unganisho thabiti. Unaweza kuziunganisha waya, lakini hakikisha kuweka solder ya kutosha ili kufanya unganisho kuwa thabiti vya kutosha kuhimili mitikisiko yoyote.

5- LCD1 ni sehemu ya LCD katika rahisiEDA. Inayo unganisho la msingi kwa Arduino pro mini. Hakikisha kuwa pini hapa zinafanana na zile zilizo kwenye programu.

6- RV1 ni potentiometer ya 10K kuweka tofauti ya LCD. Inapaswa kutumika mara moja tu na ni wakati unapoanza kutumia LCD.

Hatua ya 4: Ubunifu wa PCB

Ubunifu wa PCB
Ubunifu wa PCB
Ubunifu wa PCB
Ubunifu wa PCB

Baada ya kumaliza muundo wa skimu na kuelewa kila kitu inamaanisha nini, sasa ni wakati wa kutengeneza PCB kwa hiyo.

Unapaswa kushinikiza "Badilisha kwa PCB" kwa EasyEDA kuunda PCB katika mhariri wa PCB. Kisha, anza kuweka sehemu na kufanya njia kama kawaida. Ninashauri kamwe kutumia auto-router ingawa.

Nimetumia vias nyingi kuhamia kutoka safu ya juu kwenda chini kwani nafasi ni ndogo sana.

Hatua ya 5: Tengeneza PCB

Sasa, muundo wa PCB umekamilika. Tuliangalia kila kitu na hakuna shida iliyopatikana. Tunahitaji kutuma faili za muundo (vijidudu) kwa kampuni ya upotoshaji ya PCB ya chaguo letu ili iweze kutufanyia.

Kampuni yangu ya kuchagua ni JLCPCB. Wao ni bora kwa miradi kama hiyo na prototyping na wanapeana $ 2 tu ya bei kwa vipande 10 vya muundo wako!

Kwa hivyo, sasa tunabofya (….) Na uchague JLCPCB. Tumeelekezwa kwa wavuti ya JLCPCB kwani ni washirika wa EasyEDA. Sasa jaza kila kitu na uweke utaratibu. Sasa subiri tu hadi PCB zifike.

Inafaa kutajwa kuwa JLCPCB sio tu kuwa na EasyEDA inayohusishwa nao, lakini pia wana duka kubwa la vifaa pia! Faida hapa ni kupata agizo la PCB na agizo la vifaa kusafirishwa pamoja! Ndio, hakuna haja ya kusubiri vifurushi 2 kufika kando, lakini badala yake vimeunganishwa katika kifurushi kimoja. Ninapendekeza sana kutumia hii.

Hatua ya 6: Mkutano

Tuna PCB peke yake na kila kitu sasa. Ni wakati wa kukusanya kila kitu pamoja.

Kwanza, tunahitaji kuuza umeme kulingana na mpango. Ni kazi rahisi kwa mradi huu.

Baada ya kumaliza kutengenezea, sasa kata mashimo muhimu kwenye ua wa plastiki kisha urekebishe PCB na vifaa vingine vizuri ndani ukitumia bunduki ya moto ya gundi.

Sasa unapaswa kutumia potentiometer kurekebisha utofauti wa LCD, wakati unachagua valve inayofaa ya mwangaza kwa mwangaza, nimechagua 100R.

Hatua ya 7: Kanuni

Nambari ya mradi huu imeambatanishwa na hatua hii, na maelezo ni kama ifuatavyo:

// ni pamoja na nambari ya maktaba: # pamoja na # pamoja na "DHT.h" // weka Pini ya DHT #fafanua DHTPIN 2

Jumuisha maktaba muhimu na fafanua pini 2 ya Arduino pro mini kama pini ya data ya sensa. Hakikisha kusanikisha maktaba hizi ikiwa hauna.

// anzisha maktaba na nambari za pini za interface LiquidCrystal lcd (9, 8, 7, 6, 5, 4); #fafanua DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE);

Sasa anzisha maktaba ya LCD na pini hizi kulingana na skimu yenyewe. Tumia pia maktaba ya DHT na uchague DHT11 kama sensa ya kutumia, kwa hivyo ikiwa una DHT22 basi unapaswa kuibadilisha.

Mstari wa mwisho unasema tuna sensorer ya DHT11 na pini yake ya data iko kwenye pini "DHTPIN" ambayo ni pini 2 kama tulivyoielezea hapo awali.

kuanzisha batili () {// kusanidi idadi ya safu na safu za LCD: lcd.anza (16, 2); kuanza (); lcd.setCursor (0, 0); lcd.print ("Joto na"); lcd.setCursor (0, 1); lcd.print ("sensorer ya unyevu"); kuchelewesha (3000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("THUNDERTRONICS"); lcd.setCursor (0, 1); lcd.print ("Hossam Moghrabi"); kuchelewesha (3000); }

Sasa ni wakati wa kuanzisha! na hii ndio inayoendelea:

LCD ni 16 kwa 2 aina.

Anza amri ya DHT kupata maadili.

Chapisha "sensorer ya joto na unyevu" kwenye mistari 2.

Kuchelewesha sekunde 3.

Onyesha maonyesho

Chapisha "THUNDERTRONICS" kwenye mstari wa kwanza kisha chapisha "Hossam Moghrabi" katika mstari wa 2.

Kuchelewesha sekunde 3.

^ Nimefanya hii kama skrini ya kukaribisha ambayo hudumu sekunde 6 au hivyo kabla maadili hayajaonyeshwa.

kitanzi batili () {// kusoma unyevu ndani h = dht.readHumidity (); // soma joto katika c int t = dht. somaTemperature (); ikiwa (isnan (h) || isnan (t)) {lcd.print ("ERROR"); kurudi; }

Sasa tuko ndani ya kitanzi chetu cha milele ambacho kitaendelea kujirudia.

Hifadhi usomaji wa unyevu ndani ya "h" anuwai na viwango vya joto ndani ya "t" anuwai.

Ifuatayo, tuna taarifa ya ikiwa. Hii kimsingi inarudisha ujumbe wa kosa wakati kuna hitilafu. Acha bila kuibadilisha.

Sasa tuna maadili yote ambayo tunahitaji.

lcd.setCursor (0, 0); lcd.print ("Temp. ="); lcd.print (t); lcd.print (""); lcd.print ((char) 223); lcd.print ("C"); lcd.setCursor (0, 1); lcd.print ("Unyevu ="); lcd.print (h); lcd.print ("%"); // lcd.print ("Hossam Moghrabi"); kuchelewa (2000);

Mwishowe, tunaonyesha maadili haya kwenye onyesho la LCD. Unaweza kuibadilisha jinsi unavyotaka kwa sababu ni kuchapisha tu maadili ndani ya vigeuzi vya "h" na "t". Kuweka ucheleweshaji wa sekunde 2 ni hiari lakini hautafaidika sana kuifanya haraka kwani sensa yenyewe sio haraka na hata ikiwa ni hivyo, bado maadili ya mwili hayabadiliki haraka hiyo. Kwa hivyo sekunde 2 ni haraka sana kwa kazi hiyo!

Hiyo ni!

Ilipendekeza: