Daftar Isi:
- Langkah 1: Daftar Item
- Langkah 2: Pengantar Relatif
- Langkah 3: Hubungkan Sirkuit
- Langkah 4: Bersiaplah untuk Mengkompilasi
- Langkah 5: Kode Uji untuk Port Serial Sensor DHT22
- Langkah 6: Kode untuk Proyek
- Langkah 7: Deskripsi
Video: Stasiun Cuaca Menggunakan Arduino UNO: 7 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Dibuat oleh: Hazel Yang
Proyek ini adalah stasiun cuaca menggunakan papan Arduino UNO untuk mengontrol aliran data, sensor DHT22 untuk mengumpulkan data dan layar OLED untuk menampilkan data.
Langkah 1: Daftar Item
1. Layar: OLED, 1.3 Tampilan SH1106, I2C warna putih ---- PID: 18283
2. Sensor: Sensor Kelembaban dan Suhu Digital DHT22 ---- PID: 7375
3. Menghubungkan: Kabel Jumper ---- PID: 10316 atau 10318 atau 10312 (tergantung panjangnya) atau Anda dapat menggunakan kabel solid 22 AWG ---- PID: 22490
Papan tempat memotong roti ---- PID: 10686 atau 10698 atau 103142 (tergantung ukuran)
4. Power: Kabel ini hanya dapat dihubungkan dengan port USB komputer dan kabel ini juga digunakan untuk transfer data antara IDE dan board Arduino. KABEL USB, A TO B, M/M, 0.5M (1.5FT) ---- PID: 29862
Atau Anda dapat menggunakan ini untuk memberi daya pada papan: Adaptor AC/DC 5V 2A ---- PID: 10817.
Langkah 2: Pengantar Relatif
Pengenalan Layar: Layar OLED 1,3 Putih
1. Anda dapat menemukan dokumen yang menunjukkan pengaturan dan deskripsi dasar:
Pengenalan Sensor: Sensor Kelembaban dan Suhu DHT22 1. Anda dapat menemukan dokumen yang menunjukkan deskripsi:
Langkah 3: Hubungkan Sirkuit
Sensor DHT22 mengirimkan data serial ke pin 2. Jadi, sambungkan pin kedua dari kiri, pin "SDA" harus terhubung ke pin 2.
Untuk tampilan SSH1106, ia menggunakan pin analog untuk mengirim. Sirkuit layar akan menjadi pin "SCL" ke pin "A5" Arduino dan "SDA" ke pin "A4" Arduino. Sementara data posisi piksel ditransmisikan secara terus-menerus, fungsi tampilan dalam program hanya memicu perintah sekali setiap kali membaca data dari sensor.
Baik sensor dan layar dapat menggunakan 3.3V untuk menyalakan Arduino sebagai input daya DC. Untuk memberi daya, kita perlu menghubungkan kedua pin "VCC" ke "3.3V" Arduino. Dan pin "GND" dapat dengan mudah dihubungkan ke pin "GND" di papan Arduino.
Gunakan kabel USB A to B, sambungkan Arudino ke komputer.
Langkah 4: Bersiaplah untuk Mengkompilasi
"u8glib" untuk layar SSH1106 dari Olikraus.
"Perpustakaan sensor DHT" untuk sensor DHT22 dari Adafruit. Anda harus mengunduh dua perpustakaan: Perpustakaan sensor DHT22:
U8glib:
Dan gunakan "kelola perpustakaan" di IDE untuk membuka ritsletingnya. Instruksi online untuk mengelola perpustakaan:
Langkah 5: Kode Uji untuk Port Serial Sensor DHT22
Uji coe untuk port serial sensor DHT22 (yang ada di dalam perpustakaan DHT22 >> contoh):
(Anda dapat melewati bagian ini.)
Itu hanya untuk menguji sensor DHT22 membaca data secara normal
#termasuk
#termasuk
#termasuk
#termasuk
#termasuk
#menentukan DHTPIN 2
#definisikan DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
batalkan pengaturan() {
Serial.begin(9600);
Serial.println(F("Tes DHT22!"));
dht.mulai();
}
lingkaran kosong() {
// Tunggu beberapa detik di antara pengukuran.
penundaan(2000);
// Membaca suhu atau kelembapan membutuhkan waktu sekitar 250 milidetik!
// Pembacaan sensor mungkin juga 'berumur' hingga 2 detik (ini adalah sensor yang sangat lambat)
float h = dht.readHumidity();
// Baca suhu sebagai Celcius (default)
float t = dht.readTemperature();
// Baca suhu sebagai Fahrenheit (isFahrenheit = true)
float f = dht.readTemperature(true);
// Periksa apakah ada pembacaan yang gagal dan keluar lebih awal (untuk mencoba lagi).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Gagal membaca dari sensor DHT!"));
kembali;
}
// Hitung indeks panas dalam Fahrenheit (default)
float hif = dht.computeHeatIndex(f, h);
// Hitung indeks panas dalam Celcius (isFahreheit = false)
float hik = dht.computeHeatIndex(t, h, false);
Serial.print(F("Kelembaban: "));
Serial.print(h);
Serial.print(F("% Suhu: "));
Serial.print(t);
Serial.print(F("°C"));
Serial.print(f);
Serial.print(F("°F Indeks panas: "));
Serial.print(hic);
Serial.print(F("°C"));
Serial.print(hif);
Serial.println(F("°F"));
}
// Setelah mengkompilasi program, klik TOOLS >> SERIAL MONITOR untuk mengecek data.
// Akhir dari program pengujian.
Langkah 6: Kode untuk Proyek
#termasuk
#termasuk
#termasuk
#termasuk
#termasuk
#menentukan DHTPIN 2
#definisikan DHTTYPE DHT22
#sertakan "U8glib.h"
U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);
Sensor DHT (DHTPIN, DHTTYPE);
batal undian(batal) {
u8g.setFont(u8g_font_unifont);
float h = sensor.readHumidity();
// Baca suhu sebagai Celcius (default)
float t = sensor.readTemperature();
// Periksa apakah ada pembacaan yang gagal dan keluar lebih awal (untuk mencoba lagi).
if (isnan(h) || isnan(t)) {
u8g.print("Error.");
untuk(;;);
kembali;
}
u8g.setPrintPos(4, 10);
u8g.print("Suhu(C):");
u8g.setPrintPos(4, 25);
u8g.print(t);
u8g.setPrintPos(4, 40);
u8g.print("Kelembaban(%):");
u8g.setPrintPos(4, 55);
u8g.print(h);
}
pengaturan batal(batal) {
u8g.setRot180();
Serial.begin(9600);
sensor.mulai();
}
lingkaran batal (batal) {
// lingkaran gambar
u8g.halamanpertama();
melakukan {
seri();
} while(u8g.nextPage());
// membangun kembali gambar setelah beberapa penundaan delay(2000);
}
// Akhir dari program utama.
Langkah 7: Deskripsi
Kemudian, inisialisasi sirkuit pin untuk papan Arduino. Karena library sensor membutuhkan data untuk mendeklarasikan objek.
Dan Anda dapat menguji data sensor dengan memantau data keluaran melalui pin 2 digital dengan menggunakan fungsi yang disebut "Serial.print()". Karena frekuensi transmisi data kira-kira 1 pembacaan setiap 2 detik (yaitu 0,5 Hz), ketika diprogram di Arduino IDE, kita perlu mengatur penundaan di dalam fungsi loop menjadi lebih dari 2 detik. Jadi ada "delay(2000)" di dalam fungsi loop. Ini memastikan data akan sering di-refresh. Dalam fungsi "draw", dapatkan data dari port data serial dan masukkan ke dalam angka float menggunakan fungsi "readHumidity" dan "readTemperature".
Cetak kelembaban dan suhu menggunakan fungsi cetak di file "u8glib". Anda dapat menyesuaikan posisi dengan mengubah nomor di fungsi "setPrintPos". Fungsi cetak dapat langsung menampilkan teks dan angka.
Untuk mengatur perangkat keras, beri port serial penundaan 10 detik. Kemudian panggil fungsi start untuk sensor. Menurut sirkuit saya, layar saya terbalik. Jadi saya juga menyertakan fungsi "setRot180" untuk memutar tampilan.
Fungsi loop dari papan Arduino adalah fungsi utama. Itu terus memanggil fungsi undian untuk menampilkan teks dan data setiap kali sensor di-refresh.
Layar terlihat seperti ini:
Anda dapat melepaskan Arduino UNO dari komputer Anda dan menyalakannya menggunakan adaptor daya 5V DC yang terhubung ke colokan listrik 2.1mm. Ini menyimpan program di dalam drive-nya dan dapat terus menjalankan program lagi setelah diberi daya.
Direkomendasikan:
Stasiun Cuaca Mini Menggunakan Arduino dan ThingSpeak: 4 Langkah
Stasiun Cuaca Mini Menggunakan Arduino dan ThingSpeak: Halo semuanya. Dalam Instruksi ini, saya akan memandu Anda melalui langkah-langkah untuk membuat stasiun cuaca mini yang dipersonalisasi. Selain itu, kami akan menggunakan ThingSpeak API untuk mengunggah data cuaca kami ke server mereka, atau apa tujuan
Stasiun Cuaca NaTaLia: Stasiun Cuaca Bertenaga Surya Arduino Dilakukan dengan Cara yang Benar: 8 Langkah (dengan Gambar)
Stasiun Cuaca NaTaLia: Stasiun Cuaca Bertenaga Surya Arduino Selesai dengan Cara yang Benar: Setelah 1 tahun beroperasi dengan sukses di 2 lokasi berbeda, saya membagikan rencana proyek stasiun cuaca bertenaga surya saya dan menjelaskan bagaimana hal itu berkembang menjadi sistem yang benar-benar dapat bertahan lama periode dari tenaga surya. Jika Anda mengikuti
Stasiun Cuaca DIY & Stasiun Sensor WiFi: 7 Langkah (dengan Gambar)
Stasiun Cuaca DIY & Stasiun Sensor WiFi: Dalam proyek ini saya akan menunjukkan cara membuat stasiun cuaca bersama dengan stasiun sensor WiFi. Stasiun sensor mengukur data suhu dan kelembaban lokal dan mengirimkannya, melalui WiFi, ke stasiun cuaca. Stasiun cuaca kemudian menampilkan
Stasiun Cuaca Kamar Menggunakan Arduino & BME280: 4 Langkah
Room Weather Station Menggunakan Arduino & BME280: Sebelumnya saya membagikan sebuah stasiun cuaca sederhana yang menampilkan Suhu dan Kelembaban daerah setempat. Masalahnya adalah perlu waktu untuk memperbarui dan datanya tidak akurat. Dalam tutorial ini kita akan membuat pemantau cuaca dalam ruangan
Stasiun Cuaca 5 in 1 Acurite Menggunakan Raspberry Pi dan Weewx (Stasiun Cuaca lain Kompatibel): 5 Langkah (dengan Gambar)
Stasiun Cuaca Acurite 5 in 1 Menggunakan Raspberry Pi dan Weewx (Stasiun Cuaca Lainnya Kompatibel): Ketika saya membeli stasiun cuaca Acurite 5 in 1, saya ingin dapat memeriksa cuaca di rumah saya saat saya pergi. Ketika saya sampai di rumah dan memasangnya, saya menyadari bahwa saya harus menghubungkan layar ke komputer atau membeli hub pintar mereka