Isi kandungan:
- Bekalan:
- Alat:
- Langkah 1: Tandai dan Potong Lubang dan Masukkan Skrin Tetingkap
- Langkah 2: Pasang Oled dan Sensor
- Langkah 3: Pasang Arduino dan Sambungkan Komponen
- Langkah 4: Kod
Video: Stesen Cuaca Genggam: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Dalam Instructable ini kita akan menggunakan Arduino, paparan oled, dan kombo sensor persekitaran SparkFun dengan sensor CCS811 dan BME280 di atas kapal untuk membina peranti genggam yang mengukur suhu, kelembapan, tahap TVOC, tekanan barometrik, dan tahap karbon dioksida. Anda boleh menggunakan Arduino apa pun dengan kod yang disediakan, tetapi saya menggunakan mikro SparkFun Qwiic pro. Sekiranya anda seorang pemula, saya cadangkan anda menggunakan bahagian yang sama dengan yang saya gunakan, untuk memastikan semuanya mudah. Saya memilih papan mikro pro SparkFun Qwiic kerana saiznya yang kecil dan penyambung Qwiic, memudahkan penyambungan komponen anda. Sekiranya anda menggunakan papan yang berbeza, pastikan anda membeli topi, phat, atau pelindung Qwiic agar sesuai dengan papan anda.
Bekalan:
- Pelarian Kombo Alam Sekitar SparkFun -
- SparkFun Micro OLED Breakout -
- SparkFun Qwiic Pro Micro -
- Kabel Qwiic, 50mm -
- Kotak projek, saiz komponen anda, saya menggunakan sekitar 3 x 2 x 1 -
- Pilihan: Sekiranya anda menggunakan Qwiic Pro Micro, anda mungkin memerlukan kabel usb-c (jika belum memilikinya) untuk kuasa dan pengaturcaraan
- Skrin tetingkap, kira-kira 1.5 x 1.5 inci
- Skru (lihat gambar di atas)
Alat:
- Tongkat gam panas dan pistol gam panas
- Gunting
- Pisau cukur atau pisau x-acto, mampu memotong kotak projek anda
Langkah 1: Tandai dan Potong Lubang dan Masukkan Skrin Tetingkap
Kami akan menandakan dan memotong lubang untuk sensor persekitaran, dan penyambung USB-C untuk program dan kuasa.
- Sejajarkan komponen anda di tempat yang anda mahukan dan tandakan lubang skru.
- Tandakan kotak, untuk segi empat sama dengan ukuran skrin dan untuk sensor persekitaran, sebuah kotak sedikit lebih besar daripada 2 sensor (lihat gambar di atas).
- Tandakan ruang untuk penyambung USB-C. Papan Qwiic Pro Micro saya telah terpasang di atas kepala sehingga saya memasukkan ke dalam sekeping busa dan menandainya. Sekiranya tidak, letakkan rata di bahagian bawah casing untuk menandakan lubang.
- Bor lubang yang ditandai dan potong penyambung USB-C. Lubang yang digerudi harus cukup besar untuk membiarkan skru masuk.
- Potong kotak tetingkap tetingkap sedikit lebih besar daripada lubang untuk sensor. Potong ruang pada skrin tingkap untuk lubang skru dan tiang pelekap (lihat gambar di atas).
- Panaskan skrin ke tempatnya.
Langkah 2: Pasang Oled dan Sensor
Pasang sensor oled dan persekitaran dalam casing tersebut. Skru yang lebih besar masuk ke lubang yang anda gerudi dan skru yang lebih kecil masuk ke tiang di sudut penutup casing. Gunakan mesin basuh untuk spacer. Untuk skru yang lebih besar, lihat rajah di atas untuk penjelasan. Anda mungkin perlu menggunakan lebih daripada satu mesin basuh untuk jarak.
Langkah 3: Pasang Arduino dan Sambungkan Komponen
- Papan Qwiic Pro Micro saya sudah terpasang di atas kepala sehingga saya memasukkan ke dalam sekeping busa dan menempelkannya ke bawah. Sekiranya anda tidak mempunyai tajuk, tempelkan ke bahagian bawah casing. Pastikan ada ruang yang cukup untuk menyambung kabel Qwiic.
- Sambungkan komponen dengan penyambung Qwiic. Baik urutan maupun sisi penyambung Qwiic yang penting. Lihat gambar di atas untuk penjelasan.
- Sekarang anda boleh memasukkan kotak projek anda bersama-sama. Pastikan kabel Qwiic disambungkan dengan erat dan jangan tersepit.
Langkah 4: Kod
Untuk menyiapkan dan menjalankan papan mikro Qwiic pro anda ikuti tutorial ini.
Setelah selesai, kod di bawah anda boleh mendapatkannya di GitHub di sini.
#include #include #include #include #define PIN_RESET 9 # define DC_JUMPER 1 # define CCS811_ADDR 0x5B // Alamat I2C LalaiMicroOLED oled (PIN_RESET, DC_JUMPER); CCS811 myCCS811 (CCS811_ADDR); BME280 myBME (BME280); Wire.begin (); oled.begin (); // Mulakan oled.clear OLED (SEMUA); // Kosongkan memori dalaman paparan oled.display (); // Paparkan apa yang ada di buffer (splashscreen) oled.clear (PAGE); // Kosongkan penyangga. randomSeed (analogRead (A0) + analogRead (A1)); // Permulaan BME280 // Untuk I2C, aktifkan yang berikut dan lumpuhkan bahagian SPI myBME280.settings.commInterface = I2C_MODE; myBME280.settings. I2CAddress = 0x77; myBME280.settings.runMode = 3; // Mod biasa 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 tetapan dimuatkan kelewatan (10); // Pastikan sensor mempunyai masa yang cukup untuk menghidupkan. BME280 memerlukan 2ms untuk memulakan. byte id = myBME280.begin (); // Mengembalikan ID 0x60 jika penundaan berjaya (10000); } kosongkan 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 (); } gelung kosong () {kelewatan (2000); // Periksa untuk mengetahui apakah data tersedia jika (myCCS811.dataAvailable ()) {// Memanggil fungsi ini mengemas kini pemboleh ubah tVOC dan eCO2 global myCCS811.readAlgorithmResults (); // printData mengambil nilai tVOC dan eCO2 float BMEtempC = myBME280.readTempC (); terapung BMEhumid = myBME280.readFloatHumidity (); // Ini menghantar data suhu ke CCS811 myCCS811.setEnvironmentalData (BMEhumid, BMEtempC); } print_data (); kelewatan (2000); }
Tampal kod di Arduino IDE dan kumpulkan. Skrin harus menunjukkan logo SparkFun selama beberapa saat, dan kemudian mula memaparkan keadaan langsung. Keadaan dikemas kini setiap 2 saat. Terima kasih untuk membaca.
Ada Soalan?
Tinggalkan komen atau e-mel saya di sini
Disyorkan:
Stesen Cuaca Profesional Menggunakan ESP8266 dan ESP32 DIY: 9 Langkah (dengan Gambar)
Stesen Cuaca Profesional Menggunakan ESP8266 dan ESP32 DIY: LineaMeteoStazione adalah stesen cuaca lengkap yang dapat dihubungkan dengan sensor profesional dari Sensirion serta beberapa komponen Alat Davis (Rain Gauge, Anemometer) Projek ini bertujuan sebagai stesen cuaca DIY tetapi hanya memerlukan
Stesen Cuaca NaTaLia: Stesen Cuaca Bertenaga Suria Arduino Selesai Dengan Cara yang Betul: 8 Langkah (dengan Gambar)
Stesen Cuaca NaTaLia: Stesen Cuaca Bertenaga Suria Arduino Selesai Dengan Cara yang Betul: Setelah 1 tahun beroperasi di 2 lokasi yang berbeza, saya berkongsi rancangan projek stesen cuaca berkuasa solar saya dan menerangkan bagaimana ia berkembang menjadi sistem yang benar-benar dapat bertahan dalam jangka masa yang lama tempoh dari tenaga suria. Sekiranya anda mengikuti
Stesen Cuaca DIY & Stesen Sensor WiFi: 7 Langkah (dengan Gambar)
DIY Weather Station & WiFi Sensor Station: Dalam projek ini saya akan menunjukkan kepada anda cara membuat stesen cuaca bersama dengan stesen sensor WiFi. Stesen sensor mengukur data suhu dan kelembapan tempatan dan menghantarnya, melalui WiFi, ke stesen cuaca. Stesyen cuaca kemudian memaparkan
Stesen Cuaca Acurite 5 dalam 1 Menggunakan Pi Raspberry dan Weewx (Stesen Cuaca lain Sesuai): 5 Langkah (dengan Gambar)
Stesen Cuaca Acurite 5 in 1 Menggunakan Raspberry Pi dan Weewx (Stesen Cuaca yang Lain Sesuai): Semasa saya membeli stesen cuaca Acurite 5 in 1, saya ingin dapat memeriksa cuaca di rumah saya semasa saya tiada. Semasa saya pulang dan menyiapkannya, saya menyedari bahawa saya mesti mempunyai paparan yang disambungkan ke komputer atau membeli hab pintar mereka
Stesen Tenaga Dorm / Stesen Pengisian NiMH yang Dilengkapkan: 3 Langkah
Stesen Janakuasa Dorm / Stesen Pengisian NiMH yang Dikemas: Saya mempunyai kekacauan stesen janakuasa. Saya mahu memadamkan semua yang dikenakan ke satu meja kerja dan mempunyai ruang untuk solder / dll di atasnya. Senarai kuasa: Telefon bimbit (rosak, tetapi mengecas bateri telefon saya, jadi ia selalu dipasang dan meneteskan