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

Stasiun Cuaca Nirkabel Arduino

Komponen dan persediaan

Arduino Due
atau Arduino Mega.
× 1
3.2" TFT HX8357C
× 1
Modul Jam Waktu Nyata DS3231
× 1
Sensor Suhu DHT22
× 1
SparkFun Transceiver Breakout - nRF24L01+
× 1
Breadboard (generik)
× 1
Male-Header 36 Posisi 1 Baris- Panjang (0,1")
7 pin
× 1
Kabel jumper (generik)
beberapa
× 1
Arduino Nano R3
× 1
Xiaomi Powerbank
× 1

Tentang proyek ini

Membangun Stasiun Cuaca Nirkabel adalah pengalaman belajar yang luar biasa. Ketika Anda selesai membangun proyek ini, Anda akan memiliki pemahaman yang lebih baik tentang cara kerja komunikasi nirkabel, cara kerja sensor, dan seberapa kuat platform Arduino. Dengan proyek ini sebagai dasar dan pengalaman yang diperoleh, Anda akan dapat dengan mudah membangun proyek yang lebih kompleks di masa mendatang.

Stasiun cuaca adalah perangkat yang mengumpulkan data terkait cuaca dan lingkungan menggunakan banyak sensor berbeda. Kita dapat mengukur banyak hal seperti:

  • Suhu
  • Kelembaban
  • Angin
  • Tekanan Barometrik
  • indeks UV
  • Hujan

Di Stasiun Cuaca yang akan kita bangun, kita akan mengukur Suhu dan Kelembaban di dua lokasi dan menampilkan tanggal dan waktu saat ini. Membangun stasiun cuaca sangat mudah. Tetapi bisakah pembuat membuat unit dengan layar TFT berwarna dan fitur yang cocok dengan unit komersial? Jawabannya iya! Dengan kekuatan perangkat lunak dan perangkat keras sumber terbuka, seseorang dapat membangun stasiun cuaca yang mengesankan ini dengan mudah!

Proyek ini terdiri dari dua bagian:pemancar dan penerima.

Pemancar mengukur suhu dan kelembaban, dan mengirimkan data secara nirkabel ke penerima. Penerima mengukur suhu dan kelembapan, menerima data dari sensor jarak jauh dan menampilkan semuanya dalam layar TFT berwarna besar.

Ayo bangun proyek ini!

Langkah 1:Dapatkan Semua Bagian

Bagian-bagian yang diperlukan untuk membangun proyek ini adalah sebagai berikut:

  • Arduino Due http://educ8s.tv/part/ArduinoDue
  • Arduino Mega http://educ8s.tv/part/ArduinoMega
  • Arduino Nano http://educ8s.tv/part/ArduinoNano
  • Layar TFT 3,2" http://educ8s.tv/part/32TFT
  • DHT22 http://educ8s.tv/part/DHT22
  • NRF24L01 http://educ8s.tv/part/NRF24L01
  • DS3231 RTC http://educ8s.tv/part/DS3231
  • Breadboard http://educ8s.tv/part/SmallBreadboard
  • Kabel http://educ8s.tv/part/Kabel
  • Pin Header http://educ8s.tv/part/HeaderPins
  • Xiaomi Powerbank http://educ8s.tv/part/Powerbank

Biaya proyek ini sekitar $40. Anda dapat mengurangi biaya proyek sebesar $5 jika Anda menggunakan Arduino Mega daripada Arduino Due. Saya memilih untuk menggunakan Arduino Due untuk penerima karena sangat cepat dan memiliki banyak memori. Ini akan sangat berguna di masa mendatang karena kami menambahkan lebih banyak fitur ke proyek.

Langkah 2:Sensor Suhu dan Kelembaban - DHT22

DHT22 adalah sensor suhu dan kelembaban yang sangat populer. Murah, mudah digunakan, dan spesifikasinya mengklaim presisi dan akurasi yang baik.

Sensor DHT terdiri dari dua bagian:sensor kelembaban kapasitif dan termistor. Ada juga chip di dalamnya yang melakukan beberapa konversi analog ke digital dan mengeluarkan sinyal digital dengan suhu dan kelembaban. Sinyal digital cukup mudah dibaca menggunakan mikrokontroler apa pun.

Karakteristik DHT22

  • Biaya rendah
  • Daya 3 hingga 5V dan I/O
  • penggunaan arus maksimum 2,5mA selama konversi
  • Pembacaan kelembaban 0-100% dengan akurasi 2-5%
  • Pembacaan suhu -40 hingga 125°C ±0,5°C akurasi
  • Lambat

Koneksi dengan Arduino sangat mudah. Kami menghubungkan pin sensor dengan tanda + ke output 5V atau 3.3V dari Arduino. Kami menghubungkan pin sensor dengan tanda - ke GROUND. Terakhir, kami menghubungkan pin OUT ke pin digital Arduino.

Untuk menggunakan sensor DHT22 dengan Arduino, kita harus menggunakan library DHT.

https://github.com/adafruit/DHT-sensor-library

Langkah 3:Modul Jam Waktu Nyata DS3231

Modul Jam Real-Time DS3231 sesuai dengan namanya menunjukkan jam waktu nyata. Menggunakan baterainya, ia dapat menyimpan waktu selama bertahun-tahun karena konsumsi dayanya minimal.

Biaya modul sangat rendah; harganya sekitar $ 2 termasuk baterai! Kami akan menggunakannya untuk menjaga waktu dalam Proyek Stasiun Cuaca kami.

Langkah 4:NRF24L01+:Modul Nirkabel

Modul NRF24L01 adalah modul transceiver dua arah berbiaya rendah. Biayanya kurang dari $3! Ini beroperasi pada pita 2.4GHz dan dapat mencapai kecepatan data 2Mbits! Mengesankan bukan? Ini menggunakan antarmuka SPI untuk berkomunikasi dengan Arduino, sehingga sangat mudah digunakan dengannya. Kita harus menghubungkan 7 dari 8 pin modul agar dapat bekerja dengan Arduino.

Sayangnya, kami tidak dapat memasang modul di papan tempat memotong roti sehingga kami akan menggunakan kabel male-to-female untuk menghubungkan modul ke Arduino. Pin nomor 1 modul adalah GND. Anda harus menghubungkannya ke Arduino Ground. Pin selanjutnya adalah Vcc. Anda harus menghubungkannya ke output 3.3V dari Arduino Uno. Hati-hati! Jangan hubungkan ke 5V atau Anda akan menghancurkan modul Anda! Pin ketiga bernama CE dan Anda dapat menghubungkannya ke pin digital apa pun yang Anda suka. Dalam contoh ini saya akan menghubungkannya ke pin digital 7. Pin 4 adalah CS dan Anda juga dapat menghubungkannya ke pin digital apa pun. Saya akan menghubungkan ke pin digital 8. Pin selanjutnya adalah SCK yang menuju ke pin digital 13 Arduino Uno. Pin selanjutnya adalah MOSI yang menuju ke digital pin 11, dan pin terakhir di MISO yang menuju ke digital pin 12. Itu dia!

Agar mudah digunakan, modul dengan Arduino kita harus menggunakan perpustakaan berikut:https://github.com/TMRh20/RF24

Jika Anda belum pernah menggunakan modul NRF24L01+ sejauh ini, silakan periksa video terlampir untuk melihat cara menggunakannya dengan membuat proyek sederhana. Ini akan membantu Anda memahami cara kerjanya.

Langkah 5:Membangun Pemancar

Mari kita buat pemancarnya terlebih dahulu. Hal ini sangat sederhana.

Untuk pemancar kami menggunakan:

  • Arduino Nano
  • Sensor DHT22
  • Modul nirkabel NRF24L01+
  • Sebuah papan tempat memotong roti
  • Beberapa kabel

Kami menghubungkan pin output sensor ke pin digital 4 Arduino Nano. Kami menghubungkan Ground dan Vcc dan kami siap. Yang harus kita lakukan sekarang adalah menghubungkan modul nirkabel NRF24L01.

Harap lampirkan menggunakan pin yang ditunjukkan pada gambar ketiga. Untuk lebih jelasnya silahkan tonton video detail yang sudah saya lampirkan pada langkah sebelumnya.

Itu saja, pemancar Anda sudah siap. Sekarang mari kita beralih ke penerima.

Langkah 6:Membangun Penerima

Untuk membuat receiver, kita memerlukan bagian berikut:

  • Arduino Due atau Mega
  • Modul Jam Waktu Nyata DS3231
  • Sensor Suhu dan Kelembaban DHT22
  • Modul Nirkabel NRF24L01+
  • Layar TFT Berwarna 3,2"
  • Papan tempat memotong roti
  • 7 pin header
  • Beberapa kabel

Mula-mula kita tekuk 7 pin header dan kita letakkan di beberapa pin Arduino Due. Kami membutuhkan satu untuk Ground dan satu untuk 3.3V. Kami membutuhkan dua di pin I2C. Kami membutuhkan 3 pin digital yang tersisa dari 6 hingga 8. Kami juga harus menyolder tiga kabel ke pin SPI perangkat keras dari pin Arduino Due. Kami membutuhkan MOSI, MISO dan SCK. Periksa diagram dengan cermat. Kami menghubungkan kabel ke pin header dan kami siap memasang layar.

Menghubungkan DS3231

  • Pin VCC pada output 3.3V Arduino
  • pin GND ke GND Arduino dan
  • SDA (Serial Data Line) pin ke pin SDA Arduino dan
  • Pin SCL (Serial Clock Line) ke pin SCL Arduino

Menghubungkan Sensor DHT22

  • Pin VCC pada output 3.3V Arduino
  • pin GND ke GND Arduino dan
  • pin keluaran ke pin digital 8 Arduino

Menghubungkan modul NRF24L01

  • Pin GND ke GND Arduino
  • Pasang VCC ke Arduino 3.3V
  • Pin ke-3 ke pin digital 6 Arduino
  • Pin ke-4 ke pin digital 7 Arduino
  • Pin ke-5 ke pin SCK yang sudah kita solder
  • Pin ke-6 ke pin MOSI yang sudah kita solder
  • Pin ke-7 ke pin MISO yang sudah kita solder

Langkah 7:Kode Pemancar

Pertama-tama, kita harus mengunduh pustaka RF24 untuk membuat hidup kita lebih mudah saat bekerja dengan modul nirkabel NRF24L01. Kami juga membutuhkan pustaka DHT untuk sensor DHT22.

  • Perpustakaan DHT22:https://github.com/adafruit/DHT-sensor-library

Mari kita lihat dulu kode Transmitternya. Ini mengirimkan struktur data sederhana yang berisi dua pelampung, suhu dan kelembaban.

Untuk membangun hubungan komunikasi, kita harus membuat "pipa" antara dua modul. Pipa itu harus memiliki alamat. Kedua modul harus menulis dan membaca dari pipa yang sama untuk berkomunikasi. Itu hal pertama yang kami definisikan dalam kode kami. Kami mengatur alamat pipa ke "0". Selanjutnya kita menentukan saluran di mana kita ingin berkomunikasi dengan modul lain. Chip NRF24L01 mendukung 126 saluran yang berbeda. Kedua modul perlu menggunakan saluran yang sama untuk berkomunikasi satu sama lain. Dalam contoh ini saya menggunakan saluran 115. Selanjutnya, saya menentukan bahwa saya ingin menggunakan daya pancar maksimum yang ditawarkan modul. Ini menggunakan lebih banyak kekuatan tetapi memperluas jangkauan komunikasi. Selanjutnya kita tentukan kecepatan data transmisi. Saya mengaturnya ke 250Kbs yang merupakan kecepatan data serendah mungkin untuk mencapai jangkauan yang lebih baik. Langkah selanjutnya adalah membuka pipa untuk menulisnya nanti.

Pada fungsi loop, kita membaca nilai temperatur dan kelembaban dari sensor, kita menyimpan data tersebut ke dalam struktur data dan kemudian kita mengirimkan struktur data tersebut dengan menuliskan struktur data tersebut ke dalam pipa. Itu dia. Anda dapat menemukan kode terlampir dalam tutorial ini.

FU361QHIQFCEYSE.ino

Langkah 8:Kode Penerima

Sekarang mari kita lihat kode penerima. Kami membutuhkan 4 perpustakaan. Pertama kita harus mendownload library untuk tampilan dari link ini:

Pustaka DISPLAY:https://github.com/Bodmer/TFT_HX8357_Due

Setelah mengunduh perpustakaan, Anda harus membuka file User_Setup.h. Beri komentar pada baris 13 dan batalkan komentar pada baris 14, karena tampilan yang kita miliki menggunakan driver HX8357C. Sekarang kita dapat melanjutkan dengan 3 perpustakaan lainnya. Kami membutuhkan satu perpustakaan untuk jam waktu nyata, satu untuk sensor DHT22 dan terakhir untuk modul nirkabel.

  • NRF24L01:https://github.com/TMRh20/RF24
  • DHT22:https://github.com/adafruit/DHT-sensor-library
  • DS3231:https://github.com/SodaqMoja/Sodaq_DS3231

Mari kita lihat kodenya. Hal pertama yang harus kita lakukan adalah mengatur waktu ke modul jam waktu nyata jika belum disetel. Untuk melakukannya, masukkan tanggal dan waktu saat ini di setRTCTime fungsi, batalkan komentar pada setRTCTime panggil fungsi pada baris 54 dan unggah program ke Arduino. Sekarang waktunya sudah ditentukan. Tapi kemudian kita harus berkomentar setRTCTime panggil fungsi lagi dan unggah program ke Arduino sekali lagi.

Kode penerima berfungsi sebagai berikut. Dalam fungsi setup, kami menginisialisasi semua sensor dan modul dan kami mencetak Antarmuka Pengguna. Kemudian, pada fungsi loop, kami terus memeriksa data nirkabel baru. Jika ada data baru, kami menyimpan data itu dalam variabel dan mencetaknya di layar. Kami membaca suhu dan kelembaban satu menit sekali dan kami hanya memperbarui tampilan jika ada perubahan nilai. Dengan cara ini kami mengurangi kedipan layar lebih banyak lagi! Saya juga telah menyiapkan versi kode dengan suhu yang ditampilkan dalam derajat Fahrenheit. Anda dapat menemukan kedua versi kode yang dilampirkan pada tutorial ini.

F053BTXIQFCEZ09.ino FNV3X4LIQFCEZ0C.ino

Langkah 9:Menguji Proyek

Langkah terakhir untuk menyalakan semuanya dan melihat apakah semuanya berfungsi seperti yang diharapkan. Jika demikian, di bagian atas tampilan tanggal dan waktu saat ini ditampilkan. Di bagian bawah layar, Anda dapat melihat suhu dan kelembapan dari remote dan sensor lokal.

Jika tidak ada data yang ditampilkan untuk sensor jarak jauh , pindahkan pemancar lebih dekat - mungkin di luar jangkauan. Jika masalah berlanjut, periksa semua koneksi sekali lagi - pasti ada yang salah di sana.

Seperti yang Anda lihat, proyek ini adalah demonstrasi hebat tentang kemampuan perangkat keras dan perangkat lunak open source. Dalam beberapa jam, seseorang dapat membangun proyek yang begitu mengesankan! Tentu saja, ini baru permulaan. Kami dapat menambahkan lebih banyak fitur ke proyek. Saya akan segera menambahkan tombol, sehingga kami dapat menampilkan grafik, dan memiliki mode yang berbeda. Kita juga bisa menambahkan lebih banyak sensor, data logging, koneksi internet dan lain sebagainya. Kami menggunakan Arduino Due, jadi kami memiliki banyak memori untuk mengimplementasikan lebih banyak hal. Saya akan senang mendengar pendapat Anda tentang proyek ini. Bagaimana Anda ingin melihatnya berkembang? Silakan kirim komentar atau ide Anda di bagian komentar di bawah!

Jika Anda ingin lebih detail, tonton Video YouTube di pendahuluan atau kunjungi situs web saya. Terima kasih telah melihat!

Kode

Github
https://github.com/adafruit/DHT-sensor-libraryhttps://github.com/adafruit/DHT-sensor-library
Github
https://github.com/TMRh20/RF24https://github.com/TMRh20/RF24
Github
http://DISPLAY:%20https://github.com/Bodmer/TFT_HX8357_Duehttp://DISPLAY:%20https://github.com/Bodmer/TFT_HX8357_Due
Github
https://github.com/SodaqMoja/Sodaq_DS3231https://github.com/SodaqMoja/Sodaq_DS3231

Proses manufaktur

  1. Stasiun Cuaca Raspberry Pi 2
  2. Stasiun Cuaca Raspberry Pi
  3. Stasiun Cuaca V 2.0
  4. Arduino Digital Dice
  5. Iron Man
  6. Temukan Saya
  7. Arduino 3D-Printed Robotic Arm
  8. Kontrol Humidifier Arduino
  9. $10 Portable Arduino Weather Station (AWS)
  10. eDOT - Jam Presisi dan Stasiun Cuaca Berbasis Arduino