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

Breakout Suhu & Kelembaban DHT Kompak untuk Raspberry Pi – ATtiny85 & DHT22/DHT11

Komponen hardware: Atmel ATTiny85 × 1 Sensor Suhu DHT22 × 1 Sensor Suhu & Kelembaban DHT11 × 1 Programmer Tiny AVR SparkFun × 1 Resistor 4,7K Ω Adafruit × 3 Resistor 10K Ω Adafruit × 1 Resistor 100 Ω Adafruit × 1 LED Biru Diffused 3mm Adafruit × 1 Saklar Tombol Taktile Adafruit × 1 Strip header jantan 0,1″ 36-pin Break-away Adafruit 1 potong @ panjang 6, 1 potong @ panjang 2 (total 8 pin) × 1 Kabel Jumper generik (0,1″) × 1 Arduino UNO & Genuino UNO Opsional – digunakan untuk debugging dan pengujian. × 1 Aplikasi perangkat lunak dan layanan online: Microsoft Visual Studio 2015 Microsoft Windows 10 IoT Core Arduino IDE

CERITA

Pendahuluan

DHT11 dan DHT22 adalah sensor suhu dan kelembaban yang populer karena akurasinya dengan biaya sangat rendah. Satu masalahnya, mereka bekerja melalui protokol one-wire milik yang memerlukan timing yang presisi. Sensor ini terbukti sulit dibaca pada papan dengan sistem operasi non-real-time.

Beberapa waktu yang lalu, saya memposting artikel berjudul “DHT11 /DHT22 Temperature Sensor” yang menunjukkan cara menggunakan kode contoh Microsoft C++ dari C# untuk membaca sensor ini. Library tersebut bisa mendapatkan pembacaan tetapi saya harus menambahkan logika ulang coba untuk membuatnya lebih andal. Ini terbukti berhasil untuk sebagian besar tetapi beberapa orang mengalami kesulitan untuk membuatnya bekerja secara konsisten.

Mengingat tingkat minat dalam menggunakan sensor ini pada Raspberry Pi saat menjalankan Windows 10 IoT Core, saya memutuskan untuk membuat opsi kedua yang menyediakan metode yang sangat andal untuk membaca sensor ini sambil tetap mempertahankan biaya rendah.

Ringkasan

Pendekatan yang dipresentasikan di sini adalah menyambungkan sensor DHT ke ATtiny85 yang murah dan mengaturinya sebagai perangkat slave I2C. Ini dicapai menggunakan library TinyWireS dan membuat serangkaian register yang dapat dibaca dan ditulis untuk berinteraksi dengan perangkat.

Perangkat mendukung fungsi berikut:

Kode Sumber

Ada tiga kumpulan kode dalam proyek ini. Firmware utama untuk papan, skrip master Arduino yang digunakan untuk menguji dan mendemonstrasikan papan saat terhubung ke Arduino Uno dan aplikasi kode Windows 10 IoT yang menunjukkan cara menggunakan perangkat dari Raspberry Pi. Semua kode tersedia dalam repositori GitHub yang tertaut.

Rangkaian Perangkat

Rangkaian kecil dan hanya menggunakan beberapa komponen murah. ATtiny85 dapat dibeli dari beberapa penjual. Saya merekomendasikan untuk membeli beberapa karena mereka memiliki banyak kegunaan yang berguna.

Rangkaian memiliki header enam pin yang memungkinkannya untuk terhubung ke rangkaian lain atau langsung ke Raspberry Pi. Pin didefinisikan sebagai berikut:

Ada juga header dua pin di mana jumper dapat ditambahkan untuk mengaktifkan, atau dilepaskan untuk menonaktifkan LED papan.

Saat menggunakan ini dalam proyek yang lebih besar, rangkaian DHT Tiny dapat digabungkan atau disematkan ke dalam rangkaian proyek yang ada. Dalam hal ini, pin header dan LED adalah opsional.

Rangkaian juga dapat dibangun pada papan terpisah dan dihubungkan ke Raspberry Pi Anda dengan beberapa kabel atau kabel penyambung.

Memprogram ATtiny85

Muat skrip yang disebut DHT_Tiny_Breakout.ino ke ATtiny85 menggunakan programmer AVR Anda. Jika Anda tidak memiliki programmer, Anda dapat menggunakan Arduino Uno (atau papan serupa). Lihat satu atau beberapa artikel yang tercantum di bawah ini untuk bantuan.

Saya menggunakan SparkFun Tiny AVR Programmer untuk memuat ATtiny85 saya.

Saya menjalankan chip saya pada 16 MHz. Lihat artikel saya berjudul “ATtiny @ 16MHz” untuk instruksi cara melakukannya.

Saat menggunakan ATtiny85, skrip slave memerlukan library TinyWireS untuk diinstal di folder library Anda. Library ini dapat diunduh dari https://github.com/rambo/TinyWire.

Rangkaikan Rangkaian di Breadboard

Langkah pertama adalah mendapatkan DHT Tiny berjalan di breadboard. Gunakan breadboard setengah ukuran, bangun rangkaian dengan mengikuti diagram skematis dan breadboard yang disertakan dalam proyek.

Berikut beberapa tips untuk membantu memudahkannya:

Di bawah ini beberapa gambar versi breadboard dari DHT Tiny saya.

Menghubungkan ke Arduino Uno

Jika Anda tertarik untuk tes cepat, demonstrasi, atau Anda mengalami kesulitan untuk membuat ini bekerja dengan Raspberry Pi Anda, Anda dapat menghubungkan DHT Tiny ke Arduino Uno (atau perangkat serupa).

Muat dan jalankan skrip yang bernama DHT_Tiny_Master.ino. Skrip ini akan menampilkan output di Serial Monitor.

Saat menghubungkan I2C antara kedua papan, penting untuk memiliki resistor pull-up pada garis SDA dan SCL. Dalam rangkaian ini, ada dua resistor 4,7K Ω yang terhubung antara pin dan 5V.

Di bawah ini beberapa gambar DHT Tiny breadboard yang terhubung ke Arduino Uno.

Menghubungkan ke Raspberry Pi

Jika Anda tertarik untuk tes cepat, demonstrasi, atau Anda mengalami kesulitan untuk membuat ini bekerja dengan Raspberry Pi Anda, Anda dapat menghubungkan DHT Tiny ke Arduino Uno (atau perangkat serupa).

Saat menghubungkan I2C antara kedua papan, penting untuk memiliki resistor pull-up pada garis SDA dan SCL. Dalam rangkaian ini, ada dua resistor 4,7K Ω yang terhubung antara pin dan 3V3.

PENTING! Papan DHT Tiny akan dipasok daya dari pin 5V di Raspberry Pi, tetapi resistor pull-up harus dihubungkan ke pin 3V3 di Raspberry Pi (3V3 ada pada pin 1 dan 17).

Di bawah ini beberapa gambar DHT Tiny breadboard yang terhubung ke Raspberry Pi 3.

Menjalankan Aplikasi Windows 10

Dapatkan kode dari tautan repositori GitHub di bagian bawah proyek dan ekstrak ke komputer Anda. Buka kode sumber Aplikasi Universal di Visual Studio 2015 dan deploy ke Raspberry Pi dan luncurkan dari konsol admin atau jalankan dalam mode debug dari Visual Studio.

Jika ini adalah pertama kalinya Anda menjalankan kode dari Visual Studio untuk aplikasi Windows 10 IoT Core, lihat artikel ini dari Microsoft:

Lihat demonstrasi video di bawah ini untuk melihat aplikasi berjalan di Raspberry Pi 3 yang terhubung ke DHT Tiny.

Highlight Aplikasi

Aplikasi UWP Windows 10 ini adalah aplikasi demonstrasi yang menampilkan semua fitur DHT Tiny. Kode akan menampilkan suhu, kelembaban, dan nilai register lainnya dari perangkat. UI juga menyediakan cara untuk mengubah konfigurasi perangkat termasuk alamat perangkat.

Library DHT Tiny

Kode contoh menggunakan library yang ditulis untuk berinteraksi dengan DHT Tiny. Library ini siap digunakan dan dapat disertakan langsung dalam semua aplikasi Anda.

Dapatkan Library dari NuGet

Jika Anda tidak ingin menyertakan proyek secara langsung dalam aplikasi Anda, cukup unduh library DHT Tiny dari NuGet menggunakan perintah yang ditunjukkan di bawah ini. Buka Package Manager Console di Visual Studio dan ketik perintah.

PM> Install-Package IoT.DhtTiny 

Memindai Bus I2C untuk Perangkat

Library DHT Tiny mencakup metode yang akan mencari bus I2C untuk perangkat DHT Tiny apa pun dan mengembalikan daftar alamat. Daftar ini dapat digunakan untuk menginisialisasi satu atau lebih perangkat yang ditemukan. Ini sangat berguna jika Anda mengubah alamat perangkat tetapi tidak ingat apa alamat yang Anda atur. Perhatikan bahwa metode callback adalah opsional.

// *** // *** Enumerate the DHT Tiny devices on the i2c bus. // *** IEnumerable<byte> address = await DhtTiny.FindAllDhtTinyAsync(this.FindAllDhtTinyCallback); // *** // *** Call back method // *** private void FindAllDhtTinyCallback(I2cScanEventArgs e) { int percentComplete = (int)((double)e.CurrentIndex / (double)e.Total * 100.0d); this.Status = string.Format("Locating devices [0x{0:X2}] [{1}%] [Found = {2:##0}]...", e.CurrentAddress, percentComplete, e.Items.Count()); } 

Skematis DHT Tiny Breakout untuk Raspberry Pi

Demonstrasi Perangkat Lunak

Video ini menunjukkan Aplikasi Universal yang berjalan di Raspberry Pi 3 yang terhubung ke DHT Tiny di breadboard.

[VIDEO COMING SOON]

Membuat Perangkat Akhir

Cara termudah dan paling hemat biaya untuk membuat papan adalah menggunakan papan prototipe PCB seperti Perma-Proto Quarter-sized Breadboard PCB dari Adafruit. Gambar di bawah ini menunjukkan breakout menggunakan papan prototipe ini. Perhatikan saya menggunakan dremel untuk mencabut bagian jalur daya dari papan.

See More: DHT Tiny Breakout for the Raspberry Pi


Proses manufaktur

  1. Pemantauan Suhu Raspberry Pi Profesional dengan DS18B20
  2. Membangun Stasiun Cuaca Luar Ruangan dengan Raspberry Pi 2 dan ADS-WS1
  3. Mengukur Sensor Analog pada Raspberry Pi Tanpa ADC Bawaan
  4. Menghubungkan Sensor Ultrasonik HC-SR04 ke Raspberry Pi – Panduan Praktis
  5. Aksesoris Terbaik untuk Melepaskan Potensi Penuh Raspberry Pi
  6. Menggunakan ADC MCP3008 untuk Membaca Sensor Analog dengan Raspberry Pi
  7. SIGHT: Kacamata Cerdas yang Memberdayakan Butaan
  8. Panduan Lengkap Penghubungan SparkFun Qwiic HAT untuk Raspberry Pi
  9. Menginstal Windows 10 IoT Core pada Raspberry Pi 3 Model B+: Panduan Langkah demi Langkah
  10. Buat Robot Raspberry Pi Anda Sendiri dengan Kit MonkMakes RRB2 – Panduan Terperinci