Mavzu: Xona iqlimini boshqarish dasturlari Ishdan maqsad
Download 17.36 Kb.
|
12-Laboratoriya
- Bu sahifa navigatsiya:
- Misol. Arduino mikrokontrolleri yordamida DHT11 harorat va namlik sensoridan foydalanib, xona harorati 25 gradusdan oshganda vetillyatorni proporsional tezlikda aylantirish dasturini tuzamiz.
Mavzu: Xona iqlimini boshqarish dasturlari Ishdan maqsad: Laboratoriya mashg’ulotda axborot texnologiyalari bilan jihozlangan auditoriyada har bir akademik guruhda alohida o’tiladi. Mashg’ulotlar faol va interfaol usullar dialogik yondashuv, muammoli ta’lim, aqliy xujum, yangi zamonaviy pedagogik texnologiyalar qo’llaniladi. Talabalarga mavzu xaqida umumiy tushuncha beriladi va bilim ko’nikma hosil qilish. Misol. Arduino mikrokontrolleri yordamida DHT11 harorat va namlik sensoridan foydalanib, xona harorati 25 gradusdan oshganda vetillyatorni proporsional tezlikda aylantirish dasturini tuzamiz. Avval algoritmini tuzib olaylik. Sensordan haroratni so`rab olamiz. Agar u oldingi haroratga teng bo`lsa, demak hech narsa o`zgarmaydi. Agar u 25 gradusdan katta bo`lmasa, ventillyatorni o`chiramiz. Agar katta bo`lsa, 25 dan katta qismini topamiz, ya`ni joriy haroratdan 25 ni ayiramiz. Ushbu farqni 1 dan 15 gradusgacha oraliqda bo`ladi (ya`ni xona harorati maksimall 40 gradus bo`lishi mumkin) deb hisoblab, uni map() funksiyasi yordamida 0 dan 255 gacha oraliqqa akslantiramiz. Hosil bo’lgan son kengligida ventillyatorga PWM signal yuboramiz. // DHT sensori bilan ishlash kutubxonasini ulaymiz #include "DHT.h" // DHT sensorining S klemmasini A2 analogli kirish piniga ulaymiz. #define DHTPIN 2 // Sensor tipini DHT11 deb belgilaymiz. #define DHTTYPE DHT11 // DHT sensorining VCC klemmasini +5V pinga ulaymiz. // DHT sensorining G klemmasini GND pinga ulaymiz. // DHT sensorining VCC klemmasini S klemmasiga 10K resistor bilan ulab // qo`yamiz . DHT11 sensor va motorni ulash sxemasi. // 2 pinga sensor tipining DHT11 ekanligini aytamiz. DHT dht(DHTPIN, DHTTYPE); // 2 ta ketma-ket o`lchangan harorat uchun o`zgaruvchilar kiritamiz. float t0=0, t=0; int motorPin=9; // motorni 9-PWM pinga ulaymiz. void setup() { pinMode(motorPin, OUTPUT); dht.begin(); // Sensorni ishga tushiramiz. } void loop() { // Sensordan haroratni so`raymiz back: t = dht.readTemperature(); delay(2000); // O`lchab bo`lguncha kutib turamiz. if (isnan(t)) goto back; // O`lchash muvafaqqiyatsiz bo`lsa, qayta o`lchaymiz. // Agar harorat oldingidan o`zgarmagan bol`sa hech narsaga tegmaymiz, // va 1 minut kutib, yana qayta o`lchaymiz. if(t==t0){delay(60000); goto back;} // aks holda ventilyatorning aylanish tezligini o`zgartiramiz. if (t>25) { int PWM=map(t-25, 0,15,0,255); // PWM kengligini hisoblaymiz. digitalWrite(motorPin, PWM); // Ventilyator tezligini o`zgartiramiz. // 1 minut kutib turamiz va yana haroratni qayta o`lchaymiz. delay(60000); } } Download 17.36 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling