Isi kandungan:

Stesen Cuaca Genggam: 4 Langkah
Stesen Cuaca Genggam: 4 Langkah

Video: Stesen Cuaca Genggam: 4 Langkah

Video: Stesen Cuaca Genggam: 4 Langkah
Video: Cara Setting Kontrol Analog Pubg Mobile Terbaik Movement Super Lincah || PUBG MOBILE 2.6 2024, Julai
Anonim
Stesen Cuaca Genggam
Stesen Cuaca Genggam
Stesen Cuaca Genggam
Stesen Cuaca Genggam
Stesen Cuaca Genggam
Stesen Cuaca Genggam

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

Tandai dan Potong Lubang dan Masukkan Skrin Tetingkap
Tandai dan Potong Lubang dan Masukkan Skrin Tetingkap
Tandai dan Potong Lubang dan Masukkan Skrin Tetingkap
Tandai dan Potong Lubang dan Masukkan Skrin Tetingkap
Tandai dan Potong Lubang dan Masukkan Skrin Tetingkap
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.

  1. Sejajarkan komponen anda di tempat yang anda mahukan dan tandakan lubang skru.
  2. 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).
  3. 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.
  4. Bor lubang yang ditandai dan potong penyambung USB-C. Lubang yang digerudi harus cukup besar untuk membiarkan skru masuk.
  5. 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).
  6. Panaskan skrin ke tempatnya.

Langkah 2: Pasang Oled dan Sensor

Mount Oled dan Sensor
Mount Oled dan Sensor
Mount Oled dan Sensor
Mount Oled dan Sensor
Mount Oled dan Sensor
Mount 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

Pasang Arduino dan Sambungkan Komponen
Pasang Arduino dan Sambungkan Komponen
Mount Arduino dan Connect Components
Mount Arduino dan Connect Components
Mount Arduino dan Connect Components
Mount Arduino dan Connect Components
  1. 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.
  2. Sambungkan komponen dengan penyambung Qwiic. Baik urutan maupun sisi penyambung Qwiic yang penting. Lihat gambar di atas untuk penjelasan.
  3. 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: