Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
Bu dərsdə Arduino istifadə edərək DHT11 sensorunu sınayacağıq.
DHT11 temperatur və rütubəti ölçmək üçün istifadə edilə bilər.
Lazım olan komponentlər:
- Arduino Nano
- DHT11 Temperatur və Nəmlik Sensoru
- USB Mini
- Keçid kabelləri
Tələb olunan kitabxana:
DHT Kitabxanası
Addım 1: DHT11 -i Arduino -ya qoşun
Jumper kabellərindən istifadə edərək DHT11 -ni Arduino -ya qoşun.
Şəkilə baxın və ya aşağıdakı təlimatları izləyin.
DHT11 - Arduino
+ => + 5V
out => D12
- => GND
Arduino mini USB ilə kompüterə qoşulur
Addım 2: DHT Kitabxanasını əlavə edin
Kitabxana DHT -ni buradan yükləyə bilərsiniz:
DHT11 Kitabxanası.
Kitabxana əlavə etmək üçün yuxarıdakı görüntüyə baxın və ya aşağıdakı təlimatları izləyin:
Sketch açın ==> Kitabxanaya daxil edin ==> zip kitabxanası əlavə edin
Yüklədiyiniz kitabxana faylını tapın.
Uğurlu olarsa, Arduinonu bağlayın və yenidən açın.
Addım 3: Arduino Board seçin
Alətlərə gedin və arduino lövhəsini yuxarıdakı şəklə uyğunlaşdırın.
"Arduino Nano" lövhəsi
"ATmega328P (Köhnə Bootloader)" prosessoru
Daha dolğun bir məqalə üçün əvvəldən hazırladığım "Arduino Nano v.3 -ü necə istifadə edəcəyimi" oxuya bilərsiniz.
Addım 4: Proqram
DHT11 sensorundan dəyəri oxumaq üçün bu kodu daxil edin
// DHT Temperatur və Rütubət Sensoru // Vahid Sensor Kitabxanası Nümunəsi // Adafruit Industries üçün Tony DiCola tərəfindən yazılmışdır // MIT lisenziyası ilə buraxılmışdır.
// Aşağıdakı Arduino kitabxanalarını tələb edir:
// - DHT Sensor Kitabxanası: https://github.com/adafruit/DHT-sensor-library // - Adafruit Vahid Sensor Lib:
#daxil edin
#daxil edin #daxil edin
#define DHTPIN 2 // DHT sensoruna qoşulmuş rəqəmsal pin
// Feather HUZZAH ESP8266 notu: 3, 4, 5, 12, 13 və ya 14 pinlərindən istifadə edin - // Pin 15 işləyə bilər, lakin proqram yüklənərkən DHT bağlantısı kəsilməlidir.
// İstifadə olunan sensorun növünü qeyd edin:
//#DHTTYPE DHT11 təyin edin // DHT 11#DHTTYPE DHT22 təyin edin // DHT 22 (AM2302) //#DHTTYPE DHT21 təyin edin // DHT 21 (AM2301)
// Sensor naqilləri və istifadəsi haqqında ətraflı məlumat üçün bələdçiyə baxın:
//
DHT_Unified dht (DHTPIN, DHTTYPE);
uint32_t gecikdirmə MS;
boş quraşdırma () {
Serial.begin (9600); // Cihazı işə salın. dht.begin (); Serial.println (F ("DHTxx Vahid Sensor Nümunəsi")); // İstilik sensoru detallarını çap edin. sensor_t sensoru; dht.temperature (). getSensor (& sensor); Serial.println (F ("------------------------------------")); Serial.println (F ("Temperatur Sensoru")); Serial.print (F ("Sensor Tipi:")); Serial.println (sensor.adı); Serial.print (F ("Sürücü Ver:")); Serial.println (sensor.versiya); Serial.print (F ("Unikal ID:")); Serial.println (sensor.sensor_id); Serial.print (F ("Maksimum dəyər:")); Serial. çap (sensor.max_value); Serial.println (F ("° C")); Serial.print (F ("Minimum dəyər:")); Serial. çap (sensor.min_value); Serial.println (F ("° C")); Serial.print (F ("Çözünürlük:")); Serial.çap (sensor. Qətnamə); Serial.println (F ("° C")); Serial.println (F ("------------------------------------")); // Rütubət sensoru detallarını çap edin. dht.humidity (). getSensor (& sensor); Serial.println (F ("Nəmlik Sensoru")); Serial.print (F ("Sensor Tipi:")); Serial.println (sensor.adı); Serial.print (F ("Sürücü Ver:")); Serial.println (sensor.versiya); Serial.print (F ("Unikal ID:")); Serial.println (sensor.sensor_id); Serial.print (F ("Maksimum dəyər:")); Serial. çap (sensor.max_value); Serial.println (F ("%")); Serial.print (F ("Minimum dəyər:")); Serial. çap (sensor.min_value); Serial.println (F ("%")); Serial.print (F ("Çözünürlük:")); Serial.çap (sensor. Qətnamə); Serial.println (F ("%")); Serial.println (F ("------------------------------------")); // Sensor detallarına əsaslanaraq sensorlar oxunması arasındakı gecikməni təyin edin. gecikməMS = sensor.min_delay / 1000; }
boşluq döngəsi () {
// Ölçmələr arasındakı gecikmə. gecikmə (gecikmə MS); // Temperatur hadisəsini alın və dəyərini çap edin. sensors_event_t hadisəsi; dht.temperature (). getEvent (& hadisə); if (isnan (hadisə.temperatur)) {Serial.println (F ("İstiliyin oxunması xətası!")); } başqa {Serial.print (F ("Temperatur:")); Serial. çap (hadisə.temperatur); Serial.println (F ("° C")); } // Nəmlik hadisəsi alın və dəyərini çap edin. dht.humidity (). getEvent (& event); if (isnan (event.relativ_humidity)) {Serial.println (F ("Rütubət oxumaq xətası!")); } başqa {Serial.print (F ("Rütubət:")); Serial.çap (hadisə.qiymət_nəmlik); Serial.println (F ("%")); }}
Və ya aşağıda təqdim etdiyim Sketch -in altındakı faylı yükləyin.
Sonra yükləmə düyməsini basın və bitməsini gözləyin.
Addım 5: Nəticə
İstilik və rütubət ölçmələrinin nəticələrini görmək üçün Serial Monitor düyməsini basın, nəticələr orada göstəriləcək.
Uğurlu olarsa, nəticələr Şəkil 1 kimi görünəcək
Sensor quraşdırılmasa, şəkil 2 kimi görünəcək
oxuduğunuz üçün təşəkkür edirəm, suallarınız varsa şərh bölməsinə yazın