Агуулгын хүснэгт:

Arduino -ийн температур ба чийгшил мэдрэгч: 7 алхам
Arduino -ийн температур ба чийгшил мэдрэгч: 7 алхам

Видео: Arduino -ийн температур ба чийгшил мэдрэгч: 7 алхам

Видео: Arduino -ийн температур ба чийгшил мэдрэгч: 7 алхам
Видео: Arduino Nano, BME280 и SSD1306 OLED-метеостанция 2024, Арваннэгдүгээр
Anonim

Thundertronics -ийн зохиогчийн дэлгэрэнгүйг дагах:

PIC16F877A аналоги тоон хөрвүүлэгч (ADC)
PIC16F877A аналоги тоон хөрвүүлэгч (ADC)
PIC16F877A аналоги тоон хөрвүүлэгч (ADC)
PIC16F877A аналоги тоон хөрвүүлэгч (ADC)
PIC16F877A микроконтроллертой LCD интерфэйс
PIC16F877A микроконтроллертой LCD интерфэйс
PIC16F877A микроконтроллертой LCD интерфэйс
PIC16F877A микроконтроллертой LCD интерфэйс
DIY модульчлагдсан вандан цахилгаан хангамж
DIY модульчлагдсан вандан цахилгаан хангамж
DIY модульчлагдсан вандан цахилгаан хангамж
DIY модульчлагдсан вандан цахилгаан хангамж

Энэхүү гарын авлагад би DHT11 (эсвэл DHT22) мэдрэгчтэй Arduino pro mini board ашиглан температур, чийгшлийн мэдрэгчийг хэрхэн яаж хийхийг тайлбарлах болно.

Алхам 1: Видеог үзээрэй

Дараагийн алхам руу шилжихийн өмнө видеог эхлээд үзэх нь чухал юм. Видео нь бүх зүйлийг тайлбарлаж, үүнийг хэрхэн яаж хийхийг харуулдаг. Гэсэн хэдий ч, энэ нийтлэлд би илүү техникийн мэдээлэл, дэлгэрэнгүй мэдээллийг бичих болно.

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

Алхам 2: Шаардлагатай эд анги

Энэхүү төсөлд шаардлагатай хэсгүүд нь:

1- Arduino pro mini board (эсвэл ямар ч Arduino).

2- DHT11 температур ба чийгшлийн мэдрэгч (эсвэл DHT22).

3- 16x2 хэмжээтэй LCD дэлгэц.

4- Таны сонгосон хашаа, видеонд ашигласантай адилхан.

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

6- Шураг терминалууд.

7- Янз бүрийн утгын эсэргүүцэл.

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

Шаардлагатай хэрэгслүүд нь:

1- Дремил шиг гар өрөм.

2- Өрөмдлөгийн өөр өөр битүүд, учир нь бид тэгшлэх, хайчлах хэсгүүдийг ашиглах болно.

3- туслах гар.

Дээрээс нь электроникийн ердийн хэрэгсэл болох мултиметр гэх мэт.

Алхам 3: Схемийн дизайн

Схемийн дизайн
Схемийн дизайн

Энэ төсөлд би өөрөө ПХБ хийхээс илүү өөрөө ПХБ хийхээр шийдсэн. Тиймээс би EasyEDA онлайн хэрэгслийг ажилдаа ашиглахад сайхан туршлага болсон.

Энэ бол easyEDA вэбсайт дээрх төслийн хуудас юм:

Схемийн тайлбар дараах байдалтай байна

1- Би Arduino pro mini-ийг програмчлахад 6 зүү бүхий ICSP адаптер ашигласан бөгөөд энэ нь онгоцонд байхгүй. Энэ нь схемийн хувьд J2 юм.

2- R2 нь 100 Ом бөгөөд LCD-ийн тод байдлыг тохируулдаг. Ерөнхийдөө хэрэв та LCD арын гэрлийг бүдэг болгохыг хүсч байвал 100R -ээс илүү эсэргүүцэл үзүүлэх боломжтой. Эсвэл илүү сайн, хувьсах цувралын эсэргүүцлийн үүрэг гүйцэтгэх потенциометрийг аваарай.

3- JP1 бол зүгээр л ПХБ-ийн ул мөр сайтай холбогч юм. Би хэзээ ч бодит терминал тавиагүй, харин утсыг гагнасан. Хүссэнээрээ хий.

4- U2 бол батерейны холболтын терминал юм. Энд би бат бөх холболт авахын тулд сайхан шураг терминалуудыг илүүд үздэг. Та утсыг гагнах боломжтой боловч ямар ч чичиргээг тэсвэрлэхийн тулд холболтыг хангалттай хатуу болгохын тулд хангалттай гагнуур тавихаа мартуузай.

5- LCD1 бол easyEDA-ийн LCD бүрэлдэхүүн хэсэг юм. Энэ нь Arduino pro mini -тэй үндсэн холболттой. Энд байгаа тээглүүр нь програм хангамжийнхтай ижил байгаа эсэхийг шалгаарай.

6- RV1 бол LCD тодосгогчийг тохируулах 10K потенциометр юм. Үүнийг зөвхөн нэг удаа ашиглах ёстой бөгөөд та LCD дэлгэцийг анх асаахад л ашиглах ёстой.

Алхам 4: ПХБ -ийн дизайн

ПХБ -ийн дизайн
ПХБ -ийн дизайн
ПХБ -ийн дизайн
ПХБ -ийн дизайн

Схемийн дизайныг дуусгаад бүх зүйл юу гэсэн үг болохыг ойлгосны дараа ПХБ хийх цаг болжээ.

ПХБ засварлагч дээр ПХБ үүсгэхийн тулд EasyEDA дээр "ПХБ руу хөрвүүлэх" товчийг дарах хэрэгтэй. Дараа нь эд ангиудыг байрлуулж, ердийнх шиг чиглүүлэлт хийж эхлээрэй. Гэхдээ би автомат чиглүүлэгчийг хэзээ ч ашиглахгүй байхыг зөвлөж байна.

Би маш бага зайтай тул дээрээс олон давхарга руу шилжихийн тулд маш олон виас ашигласан.

Алхам 5: ПХБ -ийг үйлдвэрлэх

Одоо ПХБ -ийн дизайн дуусч байна. Бид бүх зүйлийг шалгаж үзсэн боловч ямар ч асуудал гарсангүй. Бид дизайны файлуудыг (гэрчүүдийг) өөрсдийн сонгосон ПХБ -ийн үйлдвэрлэгч компанид илгээх ёстой бөгөөд ингэснээр энэ нь бидний төлөө хийх боломжтой болно.

Миний сонгосон компани бол JLCPCB юм. Эдгээр нь ийм төсөл, прототип хийхэд хамгийн тохиромжтой бөгөөд таны дизайны 10 ширхэг бүтээгдэхүүний ердөө 2 долларын үнийг санал болгодог.

Тиймээс, одоо бид (….) Дарж JLCPCB -ийг сонгоно уу. EasyEDA -тай хамтран ажилладаг тул бид JLCPCB вэбсайт руу чиглэсэн болно. Одоо бүх зүйлийг бөглөөд захиалгаа өгөөрэй. ПХБ ирэх хүртэл хүлээх л үлдлээ.

JLCPCB нь EasyEDA -тэй холбоотой төдийгүй бүрэлдэхүүн хэсгүүдийн томоохон дэлгүүртэй гэдгийг дурдах нь зүйтэй болов уу! ПХБ -ийн захиалга болон бүрэлдэхүүн хэсгүүдийн захиалгыг хоёуланг нь нийлүүлэх нь эндээс давуу тал болно! Тиймээ, 2 багцыг тусад нь ирэхийг хүлээх шаардлагагүй, гэхдээ тэдгээрийг нэг багц болгон нийлүүлдэг. Үүнийг ашиглахыг маш их зөвлөж байна.

Алхам 6: Чуулган

Бидэнд ПХБ ганцаараа байгаа, одоо бүх зүйл байгаа. Бүгдийг нэг дор цуглуулах цаг болжээ.

Нэгдүгээрт, бид цахилгаан хэрэгслийг схемийн дагуу гагнах хэрэгтэй. Энэ төслийн хувьд хялбар ажил.

Гагнах ажлыг дуусгасны дараа хуванцар хашлага дахь шаардлагатай нүхийг хайчилж, дараа нь ПХБ -ийг бусад бүрэлдэхүүн хэсгүүдтэй халуун цавуугаар сайтар засаарай.

Та одоо потенциометр ашиглан LCD -ийн тодосгогчийг тохируулах ёстой бөгөөд гэрэлтүүлгийн хувьд шаардлагатай резистор хавхлагыг сонгохдоо би 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);

Схемийн дагуу LCD номын санг эдгээр зүүгээр эхлүүлээрэй. Мөн DHT номын санг ашиглаж, мэдрэгч болгон DHT11 -ийг сонгоорой, хэрэв танд DHT22 байгаа бол үүнийг өөрчлөх хэрэгтэй.

Сүүлчийн мөрөнд бид DHT11 мэдрэгчтэй бөгөөд түүний өгөгдлийн зүү нь өмнө нь тодорхойлсноор 2 -р зүү "DHTPIN" дээр байна гэж хэлдэг.

void setup () {// LCD -ийн багана, мөрийн тоог тохируулах: 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); }

Одоо тохируулах цаг боллоо! бөгөөд энд юу болж байна:

LCD нь 16 -аас 2 төрөлтэй.

Утга авахын тулд DHT командыг эхлүүлнэ үү.

"Температур ба чийгшлийн мэдрэгч" -ийг 2 мөрөнд хэвлэ.

3 секунд хойшлуул.

Дэлгэцийг цэвэрлэх

Эхний мөрөнд "THUNDERTRONICS" гэж хэвлээд дараа нь 2 -р мөрөнд "Хоссам Мограби" гэж хэвлэ.

3 секунд хойшлуул.

^Би үүнийг утгыг харуулахаас өмнө ойролцоогоор 6 секунд орчим үргэлжилдэг угтах дэлгэц болгон хийсэн.

void loop () {// чийгшил унших 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.хэвлэх (t); lcd.print (""); lcd.хэвлэх ((char) 223); lcd.print ("C"); lcd.setCursor (0, 1); lcd.print ("Чийгшил ="); lcd.хэвлэх (h); lcd.print (" %"); // lcd.print ("Хоссам Мограби"); саатал (2000);

Эцэст нь бид эдгээр утгыг LCD дэлгэц дээр харуулдаг. Та үүнийг хүссэнээрээ өөрчилж болно, учир нь энэ нь "h" ба "t" хувьсагчдын дотор утгыг хэвлэх явдал юм. 2 секундын хоцрогдол хийх нь сонголт биш боловч мэдрэгч өөрөө тийм ч хурдан биш тул биет утга нь хэзээ ч тийм хурдан өөрчлөгддөггүй тул үүнийг хурдан хийх нь танд ашиг тусаа өгөхгүй. Тиймээс 2 секунд нь ажлын хувьд маш хурдан юм!

Ингээд болох нь тэр!

Зөвлөмж болгож буй: