Daftar Isi:

Stasiun Cuaca Genggam: 4 Langkah
Stasiun Cuaca Genggam: 4 Langkah

Video: Stasiun Cuaca Genggam: 4 Langkah

Video: Stasiun Cuaca Genggam: 4 Langkah
Video: Mengenal Alat-alat pengamatan Meteorologi dan Klimatologi 2024, November
Anonim
Stasiun Cuaca Genggam
Stasiun Cuaca Genggam
Stasiun Cuaca Genggam
Stasiun Cuaca Genggam
Stasiun Cuaca Genggam
Stasiun Cuaca Genggam

Dalam Instruksi ini kita akan menggunakan Arduino, layar oled, dan kombo sensor lingkungan SparkFun dengan sensor CCS811 dan BME280 untuk membangun perangkat genggam yang mengukur suhu, kelembaban, tingkat TVOC, tekanan barometrik, dan tingkat karbon dioksida. Anda dapat menggunakan Arduino apa pun dengan kode yang disediakan, tetapi saya menggunakan mikro mikro SparkFun Qwiic. Jika Anda seorang pemula, saya sarankan Anda menggunakan bagian yang sama dengan yang saya gunakan, hanya untuk menjaga hal-hal sederhana. Saya memilih papan mikro SparkFun Qwiic pro karena ukurannya yang kecil dan konektor Qwiic, sehingga mudah untuk menghubungkan komponen Anda. Jika Anda menggunakan papan yang berbeda, pastikan untuk membeli topi, phat, atau pelindung Qwiic agar sesuai dengan papan Anda.

Perlengkapan:

  • Breakout Kombo Lingkungan SparkFun -
  • SparkFun Micro OLED Breakout -
  • SparkFun Qwiic Pro Micro -
  • Kabel Qwiic, 50mm -
  • Kotak proyek, ukuran untuk komponen Anda, saya menggunakan sekitar 3 x 2 x 1 -
  • Opsional: Jika Anda menggunakan Qwiic Pro Micro, Anda mungkin memerlukan kabel usb-c (jika Anda belum memilikinya) untuk daya dan pemrograman
  • Layar jendela, sekitar 1,5 x 1,5 inci
  • Sekrup (lihat gambar di atas)

Peralatan:

  • Tongkat lem panas dan pistol lem panas
  • Gunting
  • Silet atau pisau x-acto, mampu memotong kotak proyek Anda

Langkah 1: Tandai dan Potong Lubang dan Letakkan di Layar Jendela

Tandai dan Potong Lubang dan Letakkan di Layar Jendela
Tandai dan Potong Lubang dan Letakkan di Layar Jendela
Tandai dan Potong Lubang dan Letakkan di Layar Jendela
Tandai dan Potong Lubang dan Letakkan di Layar Jendela
Tandai dan Potong Lubang dan Letakkan di Layar Jendela
Tandai dan Potong Lubang dan Letakkan di Layar Jendela

Kami akan menandai dan memotong lubang untuk oled, sensor lingkungan dan konektor USB-C untuk pemrograman dan daya.

  1. Sejajarkan komponen Anda di tempat yang Anda inginkan dan tandai lubang sekrup.
  2. Tandai kotak, untuk oled, persegi ukuran layar dan untuk sensor lingkungan, persegi sedikit lebih besar dari 2 sensor (lihat gambar di atas).
  3. Tandai ruang untuk konektor USB-C. Papan Qwiic Pro Micro saya memiliki header yang sudah disolder di atasnya, jadi saya memasukkannya ke dalam sepotong busa dan menandainya. Jika milik Anda tidak, letakkan rata di bagian bawah kasing untuk menandai lubangnya.
  4. Bor lubang yang ditandai dan potong konektor USB-C. Lubang yang dibor harus cukup besar untuk membiarkan sekrup masuk.
  5. Potong persegi layar jendela sedikit lebih besar dari lubang untuk sensor. Potong ruang pada layar jendela untuk lubang sekrup dan tiang pemasangan (lihat gambar di atas).
  6. Lem panas layar ke tempatnya.

Langkah 2: Pasang Oled dan Sensor

Gunung Oled dan Sensor
Gunung Oled dan Sensor
Gunung Oled dan Sensor
Gunung Oled dan Sensor
Gunung Oled dan Sensor
Gunung Oled dan Sensor

Pasang sensor oled dan lingkungan dalam kasing. Sekrup yang lebih besar masuk ke lubang yang Anda bor dan sekrup yang lebih kecil masuk ke tiang di sudut tutup kasing. Gunakan ring untuk spacer. Untuk sekrup yang lebih besar, lihat diagram di atas untuk klarifikasi. Anda mungkin perlu menggunakan lebih dari satu mesin cuci untuk jarak.

Langkah 3: Pasang Arduino dan Hubungkan Komponen

Pasang Arduino dan Hubungkan Komponen
Pasang Arduino dan Hubungkan Komponen
Pasang Arduino dan Hubungkan Komponen
Pasang Arduino dan Hubungkan Komponen
Pasang Arduino dan Hubungkan Komponen
Pasang Arduino dan Hubungkan Komponen
  1. Papan Qwiic Pro Micro saya memiliki header yang sudah disolder di atasnya, jadi saya memasukkan sepotong busa dan menempelkannya. Jika milik Anda tidak memiliki header, rekatkan ke bagian bawah casing. Pastikan ada cukup ruang untuk menghubungkan kabel Qwiic.
  2. Hubungkan komponen dengan konektor Qwiic. Baik urutan maupun sisi konektor Qwiic tidak masalah. Lihat gambar di atas untuk memperjelas.
  3. Sekarang Anda dapat menyatukan kotak proyek Anda. Pastikan kabel Qwiic terhubung erat dan tidak terjepit.

Langkah 4: Kode

Untuk mengaktifkan dan menjalankan papan mikro Qwiic pro Anda, ikuti tutorial ini.

Setelah selesai, kode di bawah ini dapat Anda temukan di GitHub di sini.

#include #include #include #include #define PIN_RESET 9#define DC_JUMPER 1#define CCS811_ADDR 0x5B //Alamat I2C DefaultMicroOLED oled(PIN_RESET, DC_JUMPER);CCS811 myCCS811(CCS811_ADDR);BME280 pengaturan BME saya; Kawat.mulai(); oled.mulai(); // Inisialisasi OLED oled.clear(ALL); // Kosongkan memori internal layar oled.display(); // Menampilkan apa yang ada di buffer (splashscreen) oled.clear(PAGE); // Hapus buffer. randomSeed(analogRead(A0) + analogRead(A1)); //Inisialisasi BME280 //Untuk I2C, aktifkan yang berikut dan nonaktifkan bagian SPI myBME280.settings.commInterface = I2C_MODE; myBME280.settings. I2CAddress = 0x77; myBME280.settings.runMode = 3; //Mode normal myBME280.settings.tStandby = 0; myBME280.settings.filter = 4; myBME280.settings.tempOverSample = 5; myBME280.settings.pressOverSample = 5; myBME280.settings.humidOverSample = 5; CCS811Core::CCS811_Status_e returnCode = myCCS811.beginWithStatus(); //Memanggil.begin() menyebabkan pengaturan dimuat delay(10); //Pastikan sensor memiliki cukup waktu untuk menyala. BME280 membutuhkan 2ms untuk memulai. byte id = myBME280.begin(); //Mengembalikan ID 0x60 jika penundaan berhasil (10000); }void print_data() { oled.setFontType(0); oled.setCursor(0, 0); oled.print("TMP"); oled.setCursor(25, 0); oled.print(bulat(myBME280.readTempF())); oled.setCursor(0, 10); oled.print("HUM"); oled.setCursor(25, 10); oled.print(bulat(myBME280.readFloatHumidity())); oled.setCursor(0, 20); oled.print("VOC"); oled.setCursor(25, 20); oled.print(bulat(myCCS811.getTVOC())); oled.setCursor(0, 30); oled.print("BAR"); oled.setCursor(25, 30); oled.print(bulat(myBME280.readFloatPressure())); oled.setCursor(0, 40); oled.print("CO2"); oled.setCursor(25, 40); oled.print(bulat(myCCS811.getCO2())); oled.display(); }void loop() { delay(2000); //Periksa untuk melihat apakah data tersedia jika (myCCS811.dataAvailable()) { //Memanggil fungsi ini memperbarui variabel global tVOC dan eCO2 myCCS811.readAlgorithmResults(); //printData mengambil nilai tVOC dan eCO2 float BMEtempC = myBME280.readTempC(); float BMEhumid = myBME280.readFloatHumidity(); //Ini mengirimkan data suhu ke CCS811 myCCS811.setEnvironmentalData(BMEhumid, BMEtempC); } print_data(); penundaan(2000); }

Rekatkan kode di Arduino IDE dan kompilasi. Layar akan menampilkan logo SparkFun selama beberapa detik, dan kemudian mulai menampilkan kondisi langsung. Kondisi diperbarui setiap 2 detik. Terima kasih sudah membaca.

Ada pertanyaan?

Tinggalkan komentar atau email saya di sini

Direkomendasikan: