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

Stasiun Cuaca Arduino Nano: Kit Sensor dan Layar OLED

Komponen dan Perlengkapan

Berikut adalah daftar komponen yang diperlukan untuk membangun stasiun cuaca lokal ini:

KomponenJumlah
Arduino Nano R31
Seeed Grove - Sensor Barometer (BMP280)1
Sensor Suhu & Kelembaban DHT11 (4 pin)1
Modul Layar OLED 0.96 inci 64×128 ElectroPeak1
Sensor UV GUVA-S12SD1
Modul RTC DS32311

Alat dan Mesin yang Diperlukan

Aplikasi dan Layanan Online

Tentang Proyek

Selama ini, saya ingin membuat stasiun cuaca tanpa menggunakan internet. Sangat mengesankan untuk mengukur data cuaca di sekitar Anda dan memeriksa data kapan saja yang diinginkan. Oleh karena itu, saya membuat stasiun cuaca lokal yang tampak keren, yang dapat mengukur tekanan udara, suhu, kelembaban, dan indeks UV hari ini (jika Anda menaruhnya di dekat jendela). Dan masih ada lagi! Stasiun ini juga dilengkapi layar jam untuk menampilkan waktu, tanggal, dan hari dalam seminggu.

Langkah 1: Membuat Kotak Pelindung (Enclosure)

Saya menggunakan Autodesk Fusion 360 untuk mendesain kotak pelindung dan mencetaknya dengan filament PLA hijau. Kotak ini memerlukan struktur pendukung (supports) dan saya mencetaknya dengan 20% infill serta kecepatan 70 mm/s menggunakan printer Ender 3. File STL untuk kotak pelindung disertakan dalam proyek ini.

Langkah 2: Sensor BMP280

BMP280 adalah sensor tekanan atmosfer dan suhu yang berkomunikasi dengan Arduino menggunakan protokol I2C atau SPI. Di sini, saya menggunakan SPI. Untuk menggunakan SPI, hubungkan sebagai berikut:

Pada bagian kode, untuk menggunakan sensor ini kita perlu perpustakaan (library). Pertama, sertakan perpustakaan dalam kode dengan #include <Adafruit_BMP280.h>. Anda dapat mengunduh perpustakaan dari sumber resmi.

Selanjutnya, saya menentukan pin SPI untuk sensor. Dalam fungsi setup, saya menginisialisasi sensor BMP, dan dalam fungsi loop, saya membaca data tekanan dan suhu menggunakan perintah bmp.readPressure() dan bmp.readTemperature(). Saya membagi nilai tekanan dengan 100 untuk mengukur tekanan dalam satuan hPa. Untuk mengukur ketinggian, saya menggunakan perintah bmp.readAltitude(1005.47). Perhatikan bahwa Anda perlu mengubah nilai (1005.47) sesuai dengan tekanan rata-rata di wilayah Anda.

Langkah 3: Modul RTC DS3231

Stasiun cuaca ini juga memiliki layar waktu yang dapat menampilkan waktu saat ini, tanggal, dan hari dalam seminggu. Untuk tujuan ini, saya menggunakan modul RTC DS3231, yang berkomunikasi menggunakan protokol I2C. Oleh karena itu, hubungkan sebagai berikut:

Pertama, Anda harus mengatur waktu dan tanggal pada RTC menggunakan program DS3231_set.ino dari contoh perpustakaan.

Dalam program utama, saya sertakan perpustakaan #include <DS3231.h> dan membaca data waktu sesuai petunjuk dari perpustakaan. Di sini, saya menggunakan contoh dari perpustakaan sebagai referensi kode. Saya membuat kondisi untuk setiap hari dalam seminggu untuk menemukan hari saat ini.

Langkah 4: Sensor DHT11

Saya menggunakan sensor ini untuk mengukur kelembaban. Untuk itu, saya menghubungkan data out sensor ke pin D2 Arduino. Dalam program, saya sertakan perpustakaan DHT #include <DHT.h>, kemudian dalam setup saya menginisialisasi sensor dan dalam loop, saya membaca nilai kelembaban menggunakan perintah dht.readHumidity().

Langkah 5: Sensor UV GUVA-S12SD

GUVA-S12SD adalah dioda fototipe Schottky berbasis nitrat galium. Ini memiliki panjang gelombang deteksi UV typikal 240–370 nm (yang mencakup UVB dan sebagian besar spektrum UVA). Sensor ini menghasilkan tegangan analog yang dikalibrasi dan bervariasi sesuai intensitas cahaya UV. Jadi, kita dapat membaca nilai analog melalui ADC Arduino.

Dalam fungsi loop, saya membaca nilai analog sensor dan menghitung indeks UV:

float sensorValue = analogRead(A0);
float sensorVoltage = sensorValue / 1024 * 5.0;
int UV_index = sensorVoltage / 0.1;

Langkah 6: Layar OLED

Saya menggunakan layar OLED 0.96 inci 128×64 untuk proyek ini, yang menggunakan protokol I2C, jadi saya menghubungkannya ke Arduino sebagai berikut:

Dalam program, pertama-tama saya sertakan perpustakaan Adafruit_SSD1306 dan Adafruit_GFX:

#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

Selanjutnya, saya membuat variabel layar dan menambahkan beberapa bitmap untuk menampilkan gambar. Dalam setup, saya menginisialisasi layar. Kemudian dalam loop, saya menampilkan setiap data menggunakan fungsi display.print(). Saya menampilkan data pada empat halaman: Waktu, Tekanan, Suhu & Kelembaban, dan Indeks UV. Ada jeda 5 detik antara setiap halaman.

Klip Video

Tonton demonstrasi proyek dalam video yang tersedia.

Kode

Berikut adalah kode lengkap untuk stasiun cuaca lokal Arduino Nano. Kode ini mengintegrasikan semua sensor dan menampilkan data secara bergantian pada layar OLED.

#include <Wire.h>
#include <SPI.h>
#include <Adafruit_BMP280.h>
#include <DS3231.h>
#include <DHT.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Fonts/FreeSans9pt7b.h>
#include <Fonts/FreeMonoBoldOblique12pt7b.h>

// Inisialisasi pin dan objek sensor disertakan dalam file proyek asli.
// Loop utama menampilkan waktu, tekanan, ketinggian, suhu, kelembaban, dan indeks UV.
// Setiap data ditampilkan selama 5 detik sebelum beralih ke halaman berikutnya.

Bagian dan Kotak Khusus

File desain 3D untuk kotak pelindung tersedia untuk dicetak menggunakan printer 3D agar semua komponen teratur terpasang.

Skematik

Skematik rangkaian lengkap tersedia sebagai bagian dari dokumentasi proyek untuk referensi pemasangan kabel.

Proses manufaktur

  1. Stasiun Cuaca Tenaga Surya DIY dengan Raspberry Pi
  2. Membangun Stasiun Cuaca Luar Ruangan dengan Raspberry Pi 2 dan ADS-WS1
  3. Membangun Stasiun Cuaca Raspberry Pi yang Mengirim Data Cuaca Harian melalui Email
  4. Stasiun Cuaca Canggih v2.0: Pemantauan Suhu, Tekanan, Kelembaban & Ketinggian Real-Time
  5. Stasiun Pencampur Minuman 6-Terowong Berbasis Arduino – Buat Otomatisasi Koktail Sendiri
  6. Sistem Sensor Suhu Multi-Posisi untuk Integrasi Rumah Cerdas
  7. Pencatat Data Balon Cuaca Arduino Berkinerja Tinggi
  8. Membuat Stasiun Cuaca Arduino Portabel $10 (AWS) – DIY Mudah dengan Nano, DHT22, BMP180 & LCD
  9. Pemantauan Cuaca Real-Time dengan Arduino & ThingSpeak IoT
  10. Bangun Stasiun Cuaca WiFi dengan ESP8266 dan Sensor Suhu DHT22