Mundarija:
- 1 -qadam: elementlar ro'yxati
- 2 -qadam: Nisbiy kirish
- 3 -qadam: O'chirish sxemasini ulang
- 4 -qadam: kompilyatsiya qilishga tayyorgarlik
- 5 -qadam: DHT22 datchikli seriyali port uchun test kodi
- 6 -qadam: Loyihaning kodi
- 7 -qadam: tavsif
Video: Arduino UNO yordamida ob -havo stantsiyasi: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Muallif: Hazel Yang
Bu loyiha ma'lumotlar oqimini nazorat qilish uchun Arduino UNO taxtasi, ma'lumotlarni yig'ish uchun DHT22 sensori va ma'lumotlarni ko'rsatish uchun OLED ekran yordamida ob -havo stantsiyasi.
1 -qadam: elementlar ro'yxati
1. Ekran: OLED, 1,3 dyuymli displey SH1106, I2C oq rang ---- PID: 18283
2. Sensor: Raqamli namlik va harorat sensori DHT22 ---- PID: 7375
3. Ulanadi: o'tish simlari ---- PID: 10316 yoki 10318 yoki 10312 (uzunligiga bog'liq) yoki siz qattiq simdan foydalanishingiz mumkin 22 AWG ---- PID: 22490
Non paneli ---- PID: 10686 yoki 10698 yoki 103142 (o'lchamiga bog'liq)
4. Quvvat: Bu kabel faqat kompyuterning USB portiga ulanishi mumkin va kabel IDE va Arduino platasi o'rtasida ma'lumotlarni uzatish uchun ham ishlatiladi. USB kabel, A dan B gacha, M/M, 0,5 M (1.5FT) ---- PID: 29862
Yoki siz kartani quvvatlantirish uchun foydalanishingiz mumkin: 5V 2A AC/DC adapteri ---- PID: 10817.
2 -qadam: Nisbiy kirish
Ekranga kirish: 1,3 dyuymli OLED displey oq
1. Siz asosiy sozlash va tavsiflarni ko'rsatadigan hujjatni topishingiz mumkin:
Sensorning kiritilishi: namlik va harorat sensori DHT22 1. Siz tavsiflangan hujjatni topishingiz mumkin:
3 -qadam: O'chirish sxemasini ulang
DHT22 sensori ketma -ket ma'lumotlarni 2 -pinga yuboradi. Shunday qilib, ikkinchi pinni chapdan ulang, "SDA" pinini 2 -pinga ulash lozim.
SSH1106 displeyi uchun uzatish uchun analog pin ishlatiladi. Ekranning sxemasi Arduino "A5" ga "SCL" va Arduino "A4" ga "SDA" pinli bo'ladi. Pikselli joylashuv ma'lumotlari uzluksiz uzatilayotganda, dasturdagi displey funktsiyasi har safar sensordan ma'lumotlarni o'qiganida buyruqni ishga tushiradi.
Sensor ham, ekran ham 3.3V dan Arduino -ni doimiy quvvat manbai sifatida yoqishi mumkin. Quvvat olish uchun biz ikkala VCC pinini Arduino -ning "3.3V" ga ulashimiz kerak. Va "GND" pinlarini Arduino kartasidagi "GND" piniga ulash mumkin.
USB A - B kabelidan foydalaning, Arudinoni kompyuterga ulang.
4 -qadam: kompilyatsiya qilishga tayyorgarlik
Olikrausdan SSH1106 ekrani uchun "u8glib".
Adafruit DHT22 sensori uchun "DHT sensorlar kutubxonasi". Siz ikkita kutubxonani yuklab olishingiz kerak: DHT22 sensor kutubxonasi:
U8glib:
Ularni ochish uchun IDE -dagi "kutubxonani boshqarish" -dan foydalaning. Kutubxonalarni boshqarishning onlayn ko'rsatmasi:
5 -qadam: DHT22 datchikli seriyali port uchun test kodi
DHT22 sensori ketma -ket portini sinab ko'rish (DHT22 kutubxonasida joylashgan >> misollar):
(Siz bu qismni o'tkazib yuborishingiz mumkin.)
Faqat DHT22 sensorini sinab ko'rish uchun ma'lumot normal o'qiladi
#qo'shing
#qo'shing
#qo'shing
#qo'shing
#qo'shing
#DHTPIN 2 ni aniqlang
#DHTTYPE DHT22 ni aniqlang
DHT dht (DHTPIN, DHTTYPE);
bo'sh o'rnatish () {
Serial.begin (9600);
Serial.println (F ("DHT22 testi!"));
dht.begin ();
}
void loop () {
// O'lchovlar orasida bir necha soniya kuting.
kechikish (2000);
// O'qish harorati yoki namligi taxminan 250 millisekundni oladi!
// Sensor o'qishlari 2 soniyagacha bo'lishi mumkin (u juda sekin)
float h = dht.readHumidity ();
// Haroratni Selsiy bo'yicha o'qing (standart)
float t = dht.readTemperature ();
// Farengeyt haroratini o'qing (isFahrenheit = rost)
float f = dht.readTemperature (rost);
// O'qish muvaffaqiyatsiz bo'lganligini tekshiring va erta chiqing (qaytadan urinish uchun).
agar (isnan (h) || isnan (t) || isnan (f)) {
Serial.println (F ("DHT sensoridan o'qib bo'lmadi!"));
qaytish;
}
// Farengeytda issiqlik indeksini hisoblash (standart)
float hif = dht.computeHeatIndex (f, h);
// Tselsiy bo'yicha issiqlik indeksini hisoblash (isFahreheit = false)
float hic = dht.computeHeatIndex (t, h, false);
Serial.print (F ("Namlik:"));
Ketma -ket chop etish (h);
Serial.print (F ("% Harorat:"));
Ketma -ket chop etish (t);
Serial.print (F ("° C"));
Ketma -ket chop etish (f);
Serial.print (F ("° F Issiqlik indeksi:"));
Ketma -ket chop etish (hic);
Serial.print (F ("° C"));
Serial.print (hif);
Serial.println (F ("° F"));
}
// Dastur tuzilgandan so'ng, ma'lumotlarni tekshirish uchun TOOLS >> SERIAL MONITOR tugmasini bosing.
// Sinov dasturining oxiri.
6 -qadam: Loyihaning kodi
#qo'shing
#qo'shing
#qo'shing
#qo'shing
#qo'shing
#DHTPIN 2 ni aniqlang
#DHTTYPE DHT22 ni aniqlang
#"U8glib.h" ni qo'shing
U8GLIB_SH1106_128X64 u8g (U8G_I2C_OPT_NONE);
DHT sensori (DHTPIN, DHTTYPE);
bo'sh durang (bekor) {
u8g.setFont (u8g_font_unifont);
float h = sensor.readHumidity ();
// Haroratni Selsiy bo'yicha o'qing (standart)
float t = sensor.readTemperature ();
// O'qish muvaffaqiyatsiz bo'lganligini tekshiring va erta chiqing (qaytadan urinish uchun).
agar (isnan (h) || isnan (t)) {
u8g.print ("Xato.");
uchun(;;);
qaytish;
}
u8g.setPrintPos (4, 10);
u8g.print ("Harorat (C):");
u8g.setPrintPos (4, 25);
u8g.chop (t);
u8g.setPrintPos (4, 40);
u8g.print ("Namlik (%):");
u8g.setPrintPos (4, 55);
u8g.chop (h);
}
bo'sh o'rnatish (bekor) {
u8g.setRot180 ();
Serial.begin (9600);
sensor.begin ();
}
bo'sh halqa (bo'sh) {
// rasm aylanishi
u8g.firstPage ();
qil {
chizish ();
} while (u8g.nextPage ());
// kechiktirishdan keyin rasmni qayta tiklash (2000);
}
// Asosiy dasturning oxiri.
7 -qadam: tavsif
Keyin, Arduino kartasi uchun pim sxemasini ishga tushiring. Sensor kutubxonasi ob'ektni e'lon qilish uchun ma'lumotni talab qiladi.
Sensor ma'lumotlarini "Serial.print ()" funktsiyasi yordamida raqamli pin 2 orqali chiqish ma'lumotlarini kuzatish orqali sinab ko'rishingiz mumkin. Ma'lumot uzatish chastotasi har 2 soniyada taxminan 1 o'qish (0,5 Gts) bo'lgani uchun, Arduino IDE -da dasturlashtirilganida, biz loop funktsiyasi ichidagi kechikishni 2 soniyadan ko'proq qilib sozlashimiz kerak. Shunday qilib, loop funktsiyasi ichida "kechikish (2000)" mavjud. Bu ma'lumotlar tez -tez yangilanib turishini ta'minlaydi. "Draw" funktsiyasida ma'lumotlarni ketma -ket ma'lumotlar portidan oling va "readHumidity" va "readTemperature" funktsiyalari yordamida ularni raqamlarga joylashtiring.
Namlik va haroratni "u8glib" faylidagi bosib chiqarish funktsiyasidan foydalanib chop eting. "SetPrintPos" funktsiyasidagi raqamni o'zgartirish orqali pozitsiyani o'zgartirishingiz mumkin. Chop etish funktsiyasi matn va raqamlarni to'g'ridan -to'g'ri ko'rsatishi mumkin.
Uskunani sozlash uchun ketma -ket portga 10 soniya kechikish bering. Keyin sensor uchun start funktsiyasini chaqiring. Mening davramga ko'ra, mening ekranim teskari edi. Men ekranni aylantirish uchun "setRot180" funktsiyasini ham qo'shdim.
Arduino kartasining pastadir funktsiyasi asosiy vazifadir. Sensor har yangilanganida matn va ma'lumotlarni ko'rsatish uchun chizish funksiyasi chaqiriladi.
Ekran quyidagicha ko'rinadi:
Siz Arduino UNO -ni kompyuterdan uzishingiz va uni 2,1 mm quvvat ulagichiga ulangan 5V shahar quvvat adapteri yordamida quvvatlantirishingiz mumkin. U dasturni o'z diskida saqlaydi va quvvat olgandan so'ng dasturni doimiy ravishda qayta ishga tushirishi mumkin.
Tavsiya:
DIY -- Arduino Uno yordamida smartfon yordamida boshqariladigan o'rgimchak robotini qanday yasash mumkin: 6 qadam
DIY || Qanday qilib Arduino Uno yordamida smartfon yordamida boshqariladigan o'rgimchak robotini yasash mumkin: O'rgimchak robotni yaratishda robototexnika haqida ko'p narsalarni bilib olish mumkin. Bu videoda biz sizga o'rgimchak robotini yasashni ko'rsatamiz, uni biz o'z smartfonimiz yordamida boshqaramiz (Androi
Qanday qilib Arduino UNO yordamida dron yasash mumkin - Mikrokontroller yordamida kvadrokopter yasang: 8 qadam (rasmlar bilan)
Qanday qilib Arduino UNO yordamida dron yasash mumkin | Mikrokontroller yordamida kvadrokopter yasang: Kirish Youtube kanalimga tashrif buyuring Drone - bu juda qimmat gadjet (mahsulot). Bu postda men qanday qilib arzon narxda ishlab chiqarishni muhokama qilmoqchiman? Qanday qilib o'z qo'llaringiz bilan arzon narxda shunday qilib yasashingiz mumkin … Xo'sh, Hindistonda barcha materiallar (motorlar, ESClar
Arduino Uno yordamida LM35 harorat sensori yordamida haroratni o'qish: 4 qadam
Arduino Uno yordamida LM35 harorat sensori yordamida haroratni o'qish: Salom bolalar, biz LM35ni Arduino bilan qanday ishlatishni bilib olamiz. Lm35 --55 ° C dan 150 ° C gacha bo'lgan harorat qiymatlarini o'qiy oladigan harorat sensori. Bu haroratga mutanosib analog kuchlanishni ta'minlaydigan 3-terminalli qurilma. Yuqori
Model temir yo'li - Arduino yordamida DCC qo'mondonlik stantsiyasi :: 3 qadam
Namunaviy temir yo'l - Arduino -dan foydalangan holda DCC qo'mondonlik stantsiyasi :: 2018 yil avgustda yangilangan - yangi ko'rsatmalarni ko'ring: https: //www.instructables.com/id/Model-Railroad-DC… Yangilangan 28 -aprel, 2016 -yil: Endi 16 ta ishtirokchi/punktni boshqarish imkoniyati. qo'mondonlik stantsiyasiga. T1 - T8 burilish moslamalari "B" tugmasi orqali mavjud T9 - T1 burilishlari
Yotoqxona elektr stantsiyasi/NiMH zaryadlash stantsiyasi: 3 qadam
Yotoqxona elektr stantsiyasi/NiMH zaryadlash stantsiyasi: Menda elektr stantsiyasi bor. Men bitta dastgohga zaryadlangan hamma narsani siqib chiqarmoqchi edim va unda lehimlash uchun joy bo'lishi kerak edi. Quvvatli narsalar ro'yxati: uyali telefon (buzilgan, lekin u mening telefonim batareyalarini zaryad qiladi, shuning uchun u har doim ulanadi va zaryadlanadi)