Мазмұны:

Arduino температура мен ылғалдылық сенсоры: 7 қадам
Arduino температура мен ылғалдылық сенсоры: 7 қадам

Бейне: Arduino температура мен ылғалдылық сенсоры: 7 қадам

Бейне: Arduino температура мен ылғалдылық сенсоры: 7 қадам
Бейне: Proyecto de heliostato Templastat / Templastat Heliostat Project: improvements, updates and test 2024, Қараша
Anonim

Автордың толығырақ мәліметін қараңыз:

PIC16F877A аналогты цифрлық түрлендіргіші (ADC)
PIC16F877A аналогты цифрлық түрлендіргіші (ADC)
PIC16F877A аналогты цифрлық түрлендіргіші (ADC)
PIC16F877A аналогты цифрлық түрлендіргіші (ADC)
PIC16F877A микроконтроллері бар СКД интерфейсі
PIC16F877A микроконтроллері бар СКД интерфейсі
PIC16F877A микроконтроллері бар СКД интерфейсі
PIC16F877A микроконтроллері бар СКД интерфейсі
DIY модульдік үстелге арналған қуат көзі
DIY модульдік үстелге арналған қуат көзі
DIY модульдік үстелге арналған қуат көзі
DIY модульдік үстелге арналған қуат көзі

Бұл оқулықта мен DHT11 (немесе DHT22) сенсоры бар Arduino pro mini тақтасының көмегімен температура мен ылғалдылық сенсорының жасалуын түсіндіремін.

1 -қадам: Бейнені қараңыз

Келесі қадамға өтпес бұрын алдымен бейнені көру маңызды. Бейне бәрін түсіндіреді және оның қалай жасалатынын көрсетеді. Дегенмен, бұл жазбада мен техникалық мәліметтер мен мәліметтерді көбірек жазамын.

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

2 -қадам: қажетті бөлшектер

Бұл жобаға қажет бөліктер:

1- Arduino pro шағын тақтасы (немесе кез келген Arduino).

2- DHT11 температура мен ылғалдылық сенсоры (немесе DHT22).

3- 16x2 СКД дисплейі.

4- Сіздің қалауыңыз бойынша қоршау, мүмкіндігінше бейнеде қолданылғандай.

5-10 К потенциометр.

6- бұрандалы терминалдар.

7- Әр түрлі мәндегі резисторлар.

8-9В батарея.

Қажетті құралдар:

1- Дремиль тәрізді қолмен бұрғылау.

2- бұрғылауға арналған әр түрлі биттер, өйткені біз тегістеуіштер мен кескіштерді қолданамыз.

3- көмек қолы.

сонымен қатар мультиметр сияқты электрониканың кәдімгі құралдары.

3 -қадам: Схемалық дизайн

Схемалық дизайн
Схемалық дизайн

Бұл жобада мен өзім сымның орнына ПХД жасауды таңдадым. Мен EasyEDA онлайн құралын жұмысқа жақсы тәжірибе үшін қолдандым.

Бұл easyEDA веб -сайтындағы жобаның беті:

Схеманың түсіндірмесі келесідей:

1- Мен Arduino pro mini бағдарламалау үшін 6 істікшелі ICSP адаптерін қолдандым, себебі ол бортта жоқ. бұл схемада J2.

2- R2- 100 Ом және ол СКД жарықтығын орнатады. Негізінде, егер сіз СКД артқы жарығы күңгірт болғанын қаласаңыз, 100R -ге қарағанда көбірек қарсылық көрсете аласыз. Немесе одан да жақсы, айнымалы сериялы қарсылық ретінде әрекет ететін потенциометрді алыңыз.

3- JP1- бұл жақсы ПХД ізі бар қосқыш. Мен ешқашан нақты терминал орнатпадым, керісінше сымдарды дәнекерледім. Қалағаныңызша жасаңыз.

4- U2- аккумуляторға қосылатын терминалдар. Мұнда мен жақсы байланыс үшін жақсы бұрандалы терминалдарды жақсы көремін. Сіз сымдарды дәнекерлей аласыз, бірақ қосылымды кез келген дірілге төтеп бере алатындай етіп жеткілікті етіп дәнекерлеуді қойыңыз.

5- LCD1- easyEDA-дағы СКД компоненті. Ол Arduino pro mini -мен негізгі байланысқа ие. Бұл жерде түйреуіштер бағдарламалық жасақтамаға ұқсас екеніне көз жеткізіңіз.

6- RV1- СКД контрастын орнатуға арналған 10K потенциометр. Ол тек бір рет қолданылуы керек және СКД -ды бірінші рет қосқанда болады.

4 -қадам: ПХД дизайны

ПХД дизайны
ПХД дизайны
ПХД дизайны
ПХД дизайны

Схемалық дизайнды аяқтағаннан кейін және бәрі нені білдіретінін түсінгеннен кейін, оған ПХД жасаудың уақыты келді.

ПХД редакторында ПХД жасау үшін EasyEDA бағдарламасында «ПХД түрлендіру» түймесін басу керек. Содан кейін, бөліктерді орналастыруды және әдеттегідей бағыттауды бастаңыз. Мен ешқашан автоматты маршрутизаторды пайдаланбауды ұсынамын.

Мен кеңістікті аз болғандықтан жоғарыдан төменгі қабатқа өту үшін көптеген виас қолдандым.

5 -қадам: ПХД дайындаңыз

Енді ПХД дизайны аяқталды. Біз бәрін тексердік, ешқандай мәселе табылмады. Дизайн файлдарын (герберлерді) біз таңдаған ПХД өндіруші компанияға жіберу керек, осылайша бұл біз үшін.

Менің таңдауым - JLCPCB. Олар мұндай жобалар мен прототиптер үшін ең жақсы болып табылады және олар сіздің дизайныңыздың 10 бөлшегіне бар -жоғы 2 долларлық баға ұсынады!

Сонымен, қазір біз [….] Түймесін басып, JLCPCB таңдаңыз. Біз JLCPCB веб -сайтына бағытталғанбыз, өйткені олар EasyEDA -мен серіктес. Енді бәрін толтырып, тапсырыс беріңіз. Енді ПХД келгенше күтіңіз.

Айта кету керек, JLCPCB тек EasyEDA -мен ғана байланысты емес, сонымен қатар олардың компоненттерінің үлкен дүкені бар! Мұндағы артықшылық - ПХД тапсырысы мен компоненттерге тапсырысты бірге жеткізу! Иә, 2 пакеттің бөлек келгенін күтудің қажеті жоқ, керісінше олар бір пакетте жиналады. Мен мұны қолдануды ұсынамын.

6 -қадам: құрастыру

Бізде қазір ПХД бар, барлығы бар. Барлығын бірге жинайтын уақыт келді.

Біріншіден, біз электрониканы схемаға сәйкес дәнекерлеуіміз керек. Бұл жоба үшін оңай тапсырма.

Дәнекерлеуді аяқтағаннан кейін, пластикалық корпуста қажетті тесіктерді кесіңіз, содан кейін ПВД басқа компоненттері бар ыстық желім пистолетін қолданып бекітіңіз.

СКД контрастын реттеу үшін потенциометрді пайдалану керек, жарықтық үшін резистор клапанын таңдау кезінде мен 100R таңдадым.

7 -қадам: код

Бұл жобаның коды осы қадаммен қоса берілген және түсініктеме келесідей:

// кітапхана кодын қосыңыз: #include #include «DHT.h» // DHT Pin орнатыңыз #DHTPIN 2 анықтаңыз

Қажетті кітапханаларды қосыңыз және Arduino pro mini 2 түйреуішін сенсорға арналған деректер түйіні ретінде анықтаңыз. Егер сізде бұл кітапханалар болмаса, оларды міндетті түрде орнатыңыз.

// кітапхананы LiquidCrystal lcd (9, 8, 7, 6, 5, 4) интерфейс түйреуіштерінің нөмірлерімен инициализациялау; #DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE) анықтаңыз;

Енді схемаға сәйкес СКД кітапханасын осы түйреуіштермен инициализациялаңыз. DHT кітапханасын пайдаланыңыз және сенсор ретінде DHT11 таңдаңыз, сондықтан сізде DHT22 болса, оны өзгертуіңіз керек.

Соңғы жолда бізде DHT11 сенсоры бар екенін және оның түйреуіші «DHTPIN» түйреуішінде орналасқанын айтады, бұл біз бұрын анықтағандай 2 -штырь.

void setup () {// СКД бағандар мен жолдар санын орнатады: lcd.begin (16, 2); dht.begin (); lcd.setCursor (0, 0); lcd.print («Температура және»); lcd.setCursor (0, 1); lcd.print («ылғалдылық сенсоры»); кешіктіру (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («THUNDERTRONICS»); lcd.setCursor (0, 1); lcd.print («Хоссам Мограби»); кешіктіру (3000); }

Енді орнату уақыты келді! және мұнда не болып жатыр:

СКД 16 -дан 2 -ге дейін.

Мәндерді алу үшін DHT пәрменін бастаңыз.

«Температура мен ылғалдылық сенсоры» 2 жолға басып шығарыңыз.

3 секундқа кешіктіру.

Дисплейді тазарту

Бірінші жолға «THUNDERTRONICS» басып шығарыңыз, содан кейін «Hossam Moghrabi» 2 -жолға басып шығарыңыз.

3 секундқа кешіктіру.

^Мен мұны мәндер көрсетілмес бұрын шамамен 6 секундқа созылатын сәлемдесу экраны ретінде жасадым.

void loop () {// read ылғалдылығы int h = dht.readHumidity (); // оқу температурасы c int t = dht.readTemperature (); if (isnan (h) || isnan (t)) {lcd.print («ERROR»); қайтару; }

Енді біз қайталанатын мәңгілік циклдің ішіндеміз.

Ылғалдылық көрсеткіштерін «h» айнымалысы мен температура көрсеткіштерін «t» айнымалысы ішінде сақтаңыз.

Содан кейін бізде if операторы бар. Бұл қате туралы хабарды қайтарады. Оны өзгертпей қалдырыңыз.

Енді бізде барлық қажетті құндылықтар бар.

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 («Ылғалдылық =»); lcd.print (h); lcd.print (« %»); // lcd.print («Хоссам Мограби»); кешіктіру (2000);

Соңында біз бұл мәндерді СКД дисплейінде көрсетеміз. Сіз оны қалағаныңызша өзгерте аласыз, себебі ол тек «h» және «t» айнымалы мәндерін басып шығарады. 2 секундқа кідірту - бұл міндетті емес, бірақ сенсордың өзі жылдам емес болғандықтан, физикалық мәндер ешқашан тез өзгермейді. Сондықтан 2 секунд жұмыс үшін өте жылдам!

Бұл сол!

Ұсынылған: