Мазмуну:

DHT11 сенсорун Arduino аркылуу кантип колдонуу керек: 5 кадам
DHT11 сенсорун Arduino аркылуу кантип колдонуу керек: 5 кадам

Video: DHT11 сенсорун Arduino аркылуу кантип колдонуу керек: 5 кадам

Video: DHT11 сенсорун Arduino аркылуу кантип колдонуу керек: 5 кадам
Video: How to use DHT11 DHT22 with NodeMCU ESP8266 to read temperature over WiFi - IoT 2024, Ноябрь
Anonim
DHT11 сенсорун Arduino аркылуу кантип колдонсо болот
DHT11 сенсорун Arduino аркылуу кантип колдонсо болот
DHT11 сенсорун Arduino аркылуу кантип колдонсо болот
DHT11 сенсорун Arduino аркылуу кантип колдонсо болот
DHT11 сенсорун Arduino аркылуу кантип колдонсо болот
DHT11 сенсорун Arduino аркылуу кантип колдонсо болот

Бул окуу куралында биз DHT11 сенсорун Arduino аркылуу сынап көрөбүз.

DHT11 температураны жана нымдуулукту өлчөө үчүн колдонулушу мүмкүн.

Керектүү компоненттер:

  • Arduino Nano
  • DHT11 температура жана нымдуулук сенсору
  • USB Mini
  • Өтмө кабелдер

Керектүү китепкана:

DHT китепканасы

1 -кадам: DHT11ди Arduino менен туташтырыңыз

DHT11ди Arduino менен туташтырыңыз
DHT11ди Arduino менен туташтырыңыз
DHT11ди Arduino менен туташтырыңыз
DHT11ди Arduino менен туташтырыңыз
DHT11ди Arduino менен туташтырыңыз
DHT11ди Arduino менен туташтырыңыз

DHT11ди Arduino менен секирүүчү кабелдерди колдонуп туташтырыңыз.

Сүрөттү караңыз же төмөндөгү көрсөтмөлөрдү аткарыңыз.

DHT11ден Arduino

+ => + 5V

out => D12

- => GND

Андан кийин mini USB аркылуу arduino -ны компьютерге туташтырыңыз

2 -кадам: DHT китепканасын кошуу

DHT китепканасын кошуу
DHT китепканасын кошуу
DHT китепканасын кошуу
DHT китепканасын кошуу
DHT китепканасын кошуу
DHT китепканасын кошуу

Китепкана DHT бул жерден жүктөп алса болот:

DHT11 китепканасы.

Китепкана кошуу үчүн өйдөдөгү сүрөттү көрүңүз же төмөнкү көрсөтмөнү аткарыңыз:

Ачык эскиз ==> Китепкана кошуу ==>. Zip Китепкана кошуу

Жүктөлүп алынган китепкана файлын табыңыз.

Эгер ал ийгиликтүү болсо, Arduino программасын жаап, кайра ачыңыз.

3 -кадам: Arduino Board тандоо

Arduino тактасын тандаңыз
Arduino тактасын тандаңыз

Goto Tools жана arduino тактасын жогорудагы сүрөттө тууралаңыз.

Такта "Arduino Nano"

Процессор "ATmega328P (Эски жүктөгүч)"

Толугураак макала үчүн, мен мурда жасаган "Arduino Nano v.3 кантип колдонуу керек" дегенди окуй аласыз.

4 -кадам: Программа

Программа
Программа

DHT11 сенсорунан маанини окуу үчүн бул кодду кошуңуз

// DHT температурасы жана нымдуулугу сенсору // Бирдиктүү сенсор китепканасынын мисалы // Adafruit Industries үчүн Tony DiCola тарабынан жазылган // MIT лицензиясы менен чыгарылган.

// төмөнкү Arduino китепканаларын талап кылат:

// - DHT сенсор китепканасы: https://github.com/adafruit/DHT-sensor-library // - Adafruit Unified Sensor Lib:

#кошуу

#кошуу #кошуу

#define DHTPIN 2 // DHT сенсоруна туташкан санарип пин

// Feather HUZZAH ESP8266 эскертүү: 3, 4, 5, 12, 13 же 14 -пиндерди колдонуңуз: // Pin 15 иштей алат, бирок DHT программаны жүктөө учурунда ажыратылышы керек.

// Колдонулуп жаткан сенсордун түрүн комментарийлебеңиз:

//#DHTTYPE DHT11 аныктоо // DHT 11#аныктоо DHTTYPE DHT22 // DHT 22 (AM2302) //#DHTTYPE DHT21 аныктоо // DHT 21 (AM2301)

// Сенсордун зымдары жана колдонулушу боюнча чоо -жайын билүү үчүн жетектемени караңыз:

//

DHT_Unified dht (DHTPIN, DHTTYPE);

uint32_t delayMS;

жараксыз орнотуу () {

Serial.begin (9600); // Аппаратты баштоо. dht.begin (); Serial.println (F ("DHTxx Unified Sensor Example")); // Температура сенсорунун чоо -жайын басып чыгаруу. sensor_t сенсор; dht.temperature (). getSensor (& sensor); Serial.println (F ("------------------------------------")); Serial.println (F ("Температура сенсору")); Serial.print (F ("Сенсордун түрү:")); Serial.println (sensor.name); Serial.print (F ("Driver Ver:")); Serial.println (sensor.version); Serial.print (F ("Unique ID:")); Serial.println (sensor.sensor_id); Serial.print (F ("Max Value:")); Serial.print (sensor.max_value); Serial.println (F ("° C")); Serial.print (F ("Min Value:")); Serial.print (sensor.min_value); Serial.println (F ("° C")); Serial.print (F ("Токтом:")); Serial.print (сенсор.чечим); Serial.println (F ("° C")); Serial.println (F ("------------------------------------")); // Нымдуулук сенсорунун чоо -жайын басып чыгаруу. dht.humidity (). getSensor (& sensor); Serial.println (F ("Нымдуулук сенсору")); Serial.print (F ("Sensor Type:")); Serial.println (sensor.name); Serial.print (F ("Driver Ver:")); Serial.println (sensor.version); Serial.print (F ("Unique ID:")); Serial.println (sensor.sensor_id); Serial.print (F ("Max Value:")); Serial.print (sensor.max_value); Serial.println (F ("%")); Serial.print (F ("Min Value:")); Serial.print (sensor.min_value); Serial.println (F ("%")); Serial.print (F ("Токтом:")); Serial.print (сенсор.чечим); Serial.println (F ("%")); Serial.println (F ("------------------------------------")); // Сенсордун чоо -жайына негизделген сенсорлордун окуусун кечеңдетүү. delayMS = sensor.min_delay / 1000; }

void loop () {

// Ченөө ортосундагы кечигүү. кечигүү (delayMS); // Температура окуясын алыңыз жана анын маанисин басып чыгарыңыз. sensors_event_t окуясы; dht.temperature (). getEvent (& event); if (isnan (event.temperature)) {Serial.println (F ("Температураны окуу катасы!")); } else {Serial.print (F ("Температура:")); Serial.print (окуя.температура); Serial.println (F ("° C")); } // Нымдуулук окуясын алыңыз жана анын маанисин басып чыгарыңыз. dht.humidity (). getEvent (& event); if (isnan (event.relativ_humidity)) {Serial.println (F ("Нымдуулукту окуу катасы!"))); } else {Serial.print (F ("Нымдуулук:")); Serial.print (event.relation_ humidity); Serial.println (F ("%")); }}

Же мен берген Эскиздин астындагы файлды жүктөп алыңыз.

Андан кийин жүктөөнү чыкылдатып, анын бүтүшүн күтө туруңуз.

5 -кадам: Жыйынтык

Жыйынтык
Жыйынтык
Жыйынтык
Жыйынтык

Температураны жана нымдуулукту өлчөөнүн жыйынтыгын көрүү үчүн, чыкылдатыңыз Serial Monitor. The натыйжалары ошол жерде көрсөтүлөт.

Эгерде ийгиликтүү жыйынтыктар 1 -сүрөттө көрүнөт

Эгерде сенсор орнотулбаса, анда ал 2 -сүрөттө көрүнөт

окуу үчүн рахмат, суроолор болсо комментарийлерге жазыңыз

Сунушталууда: