Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Kit Sensor Suhu & Kelembaban DHT11 & DHT22 untuk Raspberry Pi & Arduino

Komponen dan Perlengkapan

Aplikasi dan Layanan Online

Tentang Proyek Ini

Pendahuluan

Latar Belakang

DHT11 adalah sensor suhu dan kelembaban 4 pin (satu pin tidak digunakan) yang mampu mengukur kelembaban relatif 20% - 90% dan suhu 0 hingga 50 °C. Sensor dapat beroperasi antara 3 dan 5.5V DC dan berkomunikasi menggunakan protokol OneWire miliknya sendiri. Protokol ini memerlukan timing yang sangat presisi untuk mendapatkan data dari sensor. Bit LOW dan HIGH dikodekan pada kabel oleh panjang waktu sinyal HIGH. Waktu total untuk melakukan pembacaan adalah paling lama 23.4 ms. Ini termasuk penundaan 18 ms yang diperlukan untuk memulai transfer data dan jendela hingga 5.4 ms untuk data. Sinyal individual dapat sem pendek 20 μs dan sepanjang 80 μs.

Saat Windows 10 IoT Core pertama kali tersedia saya mengambil Raspberry Pi 2 dan sensor DHT11 saya dan mencobanya di C#. Saya dengan cepat menemukan bahwa ini tidak akan berfungsi. Masalahnya dengan C# di Windows 10 IoT Core adalah bahwa itu tidak akan cukup cepat (setidaknya tidak saat ini).

Saya memposting di forum Microsoft dan memiliki beberapa pertukaran dengan pengembang lain yang mengalami kesulitan yang sama. Saya akhirnya menemukan respons Microsoft tentang protokol OneWire di Windows 10 IoT Core yang menyatakan:

Setelah beberapa saat saya menerima respons pada posting saya yang menyatakan:

Nah, itu akan bagus dan saya sangat bersemangat tentang kemampuan mendatang tetapi siapa yang bisa menunggu? Saya baru-baru ini melihat bahwa Microsoft memposting contoh tentang cara mendukung protokol OneWire menggunakan DHT11 sebagai sensor contoh dan menggunakan C++ di Windows 10 IoT Core. Saya melihat ini sebagai kesempatan untuk membawa ke C#.

Proyek ini tentang mengubah contoh itu menjadi perpustakaan yang dapat digunakan di C#. Saya berterima kasih kepada orang yang menulis perpustakaan untuk membantu membuat sensor populer ini berguna di Windows 10 IoT Core, dan semoga, dengan perpustakaan ini itu akan lebih berguna lagi.

Perpustakaan

Perpustakaan yang saya buat adalah refactoring sederhana dari kode yang awalnya diposting oleh Microsoft jadi saya tidak mengakui kredit untuk pekerjaan yang dilakukan untuk mendapatkan pembacaan sensor.

Perpustakaan menyajikan kelas sederhana yang disebut Dht11 di namespace Sensors.Dht. Membuat objek baru di C# sederhana.

Pertama buka pin GPIO yang pin sensor DHT11 Anda terhubung.

using Sensors.Dht;GpioPin pin = GpioController.GetDefault().OpenPin(4, GpioSharingMode.Exclusive); 

Kemudian serahkan pin ini ke konstruktor kelas Dht11 dan tentukan Mode Drive Pin GPIO. Ini memungkinkan Anda untuk memutuskan apakah akan menambahkan resistor pull-up Anda sendiri.

Dht11 dht11 = new Dht11(_pin, GpioPinDriveMode.Input); 

Untuk mendapatkan pembacaan dari perangkat gunakan metode GetReadingAsync.

DhtReading reading = await dht11.GetReadingAsync().AsTask(); 

Ada overload yang memungkinkan nilai maksimum percobaan ditentukan. Nilai default adalah 20. Ini menentukan berapa banyak upaya untuk membaca sensor sebelum menyerah dan mengembalikan pembacaan gagal.

Struktur DhtReading didefinisikan sebagai:

public value struct DhtReading { bool TimedOut; bool IsValid; double Temperature; double Humidity; int RetryCount; }; 

Observasi

Meski sensor bekerja di C++ ia masih tidak mendapatkan pembacaan setiap kali. Oleh karena itu, perlu opsi percobaan ulang dalam kelas (ini sebenarnya bagian dari contoh Microsoft). Saya pikir akan lebih baik untuk membandingkan ini dengan platform lain untuk melihat bagaimana performanya. Saya mencoba kode di Raspberry Pi 2 yang menjalankan Raspbian serta di Arduino Uno. Kode yang saya gunakan untuk keduanya telah disertakan dalam repositori GitHub.

Video yang disertakan dalam proyek ini akan mendemonstrasikan dan membandingkan output dari setiap platform ini.

Memulai

Susun Rangkaian untuk Raspberry Pi 2

Gunakan panduan ini untuk menyusun rangkaian sambil menggunakan diagram yang terletak di bagian bawah halaman sebagai panduan (perhatikan bahwa warna kabel bersifat opsional dan telah dipilih untuk membantu membuat rangkaian mudah diikuti saat dibangun).

Susun Rangkaian untuk Arduino

Gunakan panduan ini untuk menyusun rangkaian sambil menggunakan diagram yang terletak di bagian bawah halaman sebagai panduan (perhatikan bahwa warna kabel bersifat opsional dan telah dipilih untuk membantu membuat rangkaian mudah diikuti saat dibangun).

Berikut adalah foto rangkaian yang saya bangun.

Kit Sensor Suhu & Kelembaban DHT11 & DHT22 untuk Raspberry Pi & Arduino
Kit Sensor Suhu & Kelembaban DHT11 & DHT22 untuk Raspberry Pi & Arduino
Kit Sensor Suhu & Kelembaban DHT11 & DHT22 untuk Raspberry Pi & Arduino
Kit Sensor Suhu & Kelembaban DHT11 & DHT22 untuk Raspberry Pi & Arduino
Kit Sensor Suhu & Kelembaban DHT11 & DHT22 untuk Raspberry Pi & Arduino
Kit Sensor Suhu & Kelembaban DHT11 & DHT22 untuk Raspberry Pi & Arduino
Kit Sensor Suhu & Kelembaban DHT11 & DHT22 untuk Raspberry Pi & Arduino
Kit Sensor Suhu & Kelembaban DHT11 & DHT22 untuk Raspberry Pi & Arduino
Kit Sensor Suhu & Kelembaban DHT11 & DHT22 untuk Raspberry Pi & Arduino

Memulai Aplikasi untuk Raspberry Pi

Pilih Debug, konfigurasi ARM dan Mesin Jarak Jauh. Sekarang klik kanan proyek, pilih Properti lalu klik tag Debug. Selanjutnya masukkan alamat IP Raspberry Pi 2 di kolom Mesin Jarak Jauh, dan centang tidak digunakan Use authentication.

Tekan F5. Aplikasi akan di-deploy ke perangkat yang mungkin memakan waktu beberapa menit pada kali pertama.

Memulai Aplikasi untuk Arduino

Sketch untuk proyek ini tersedia di GitHub dalam file yang disebut Dht11_Speed. Mulai Arduino IDE dan buka sketch. Unggah sketch ke Arduino (Ctrl U) dan lalu mulai Serial Monitor (Ctrl Shift M)

Jika Anda tidak yakin cara melakukannya atau baru di lingkungan ini video di bawah ini akan mendemonstrasikan cara melakukannya.

Memulai Aplikasi untuk Raspbian

Kode C untuk Raspberry Pi tersedia di GitHub untuk proyek ini dalam file yang disebut Dht11.c. Sumber perlu disalin ke Raspberry Pi lalu dikompilasi di sana. Saya suka menggunakan WinSCP untuk menyalin file. Jika Anda tidak memiliki aplikasi ini saya merekomendasikan Anda untuk mengunduh dan menginstal sekarang. Kode sumber menggunakan wiringPi yang harus diinstal sebelum mengompilasi aplikasi.

Perintah untuk mengompilasi kode di Raspberry Pi adalah:

gcc -oDht11_Speed Dht11_Speed.c -L/usr/local/lib -lwiringPi -std=c99 -lm 

Untuk menjalankan aplikasi masukkan perintah:

sudo ./Dht11_Speed 1000 10 

Di mana 1000 menentukan penundaan 1000 ms (1 detik) dan 10 adalah jumlah sampel yang akan dibaca.

Video akan mendemonstrasikan secara lebih detail cara menyalin kode dan cara mengompilasinya di Raspberry Pi yang menjalankan Raspbian. Untuk mempelajari cara memuat Raspbian ke Raspberry Pi Anda kunjungi https://www.raspberrypi.org/downloads/raspbian/.

Video

Video di bawah adalah demonstrasi aplikasi:

Tonton video ini di YouTube menggunakan mode Theater untuk kualitas terbaik.

Kode

Kode Sumber Visual Studio 2015 C#/C++

https://github.com/porrey/dht.git

Skematik

Dht11_RPi2.fzzKit Sensor Suhu & Kelembaban DHT11 & DHT22 untuk Raspberry Pi & ArduinoKit Sensor Suhu & Kelembaban DHT11 & DHT22 untuk Raspberry Pi & ArduinoDht11_Arduino.fzzKit Sensor Suhu & Kelembaban DHT11 & DHT22 untuk Raspberry Pi & ArduinoKit Sensor Suhu & Kelembaban DHT11 & DHT22 untuk Raspberry Pi & Arduino

Proses manufaktur

  1. Membangun Pencatat Suhu Raspberry Pi dengan Sensor I2C $5
  2. Sensor Suhu Infra Merah TMP006 dengan Raspberry Pi: Panduan Library Python & Pengaturan
  3. Membuat Sensor Suhu Jarak Jauh dengan Raspberry Pi dan Python – Panduan Langkah demi Langkah
  4. Cara Menghubungkan Sensor Suhu One-Wire DS1820 ke Raspberry Pi Menggunakan GPIO
  5. Cara Menghubungkan Termometer Digital One-Wire DS18B20 ke Raspberry Pi – Panduan Langkah Demi Langkah
  6. Bangun Sistem Pemantauan Suhu & Cahaya Multi-Sensor dengan Raspberry Pi & DS18B20
  7. Membangun Pemantau Suhu Rumah Raspberry Pi dengan MCP9808, InfluxDB & Grafana
  8. Menghubungkan Raspberry Pi 3 ke Sensor DHT11 dan Mengunggah Data ke Cloud ThingsIo.ai
  9. Sensor Suhu Bearing Presisi – Deteksi & Pemantauan Akurat
  10. Pengukuran Suhu Inframerah Presisi untuk Proses Sensitif Warna