İçindekiler:
- Gereçler:
- Aletler:
- Adım 1: Delikleri İşaretle ve Kes ve Pencere Ekranına Yerleştir
- Adım 2: Oled ve Sensörü Monte Edin
- Adım 3: Arduino'yu Monte Edin ve Bileşenleri Bağlayın
- 4. Adım: Kod
Video: El Tipi Hava İstasyonu: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Bu Eğitilebilir Kitapta, sıcaklık, nem, TVOC seviyeleri, barometrik basınç ve karbondioksit seviyelerini ölçen bir el cihazı oluşturmak için bir Arduino, bir oled ekran ve CCS811 ve BME280 sensörleriyle birlikte bir SparkFun çevresel sensör kombinasyonu kullanacağız. Verilen kodla herhangi bir Arduino'yu kullanabilirsiniz, ancak ben bir SparkFun Qwiic pro mikro kullanıyorum. Yeni başlayan biriyseniz, işleri basit tutmak için kullandığım parçaları kullanmanızı öneririm. SparkFun Qwiic pro mikro kartını küçük boyutu ve Qwiic konektörü için seçtim, bu da bileşenlerinizi bağlamayı kolaylaştırıyor. Farklı bir tahta kullanıyorsanız, tahtanıza uyacak bir Qwiic şapka, phat veya kalkan satın aldığınızdan emin olun.
Gereçler:
- SparkFun Çevresel Combo Breakout -
- SparkFun Micro OLED Breakout -
- SparkFun Qwiic Pro Mikro -
- Qwiic Kablo, 50mm -
- Proje kutusu, bileşenlerinize göre boyut, yaklaşık 3 x 2 x 1 kullanıyorum -
- İsteğe bağlı: Qwiic Pro Micro kullanıyorsanız, güç ve programlama için bir usb-c kablosuna (zaten yoksa) ihtiyacınız olabilir.
- Pencere ekranı, yaklaşık 1,5 x 1,5 inç
- Vidalar (yukarıdaki resme bakın)
Aletler:
- Sıcak tutkal çubukları ve sıcak tutkal tabancası
- Makas
- Proje kutunuzu kesebilen jilet veya x-acto bıçağı
Adım 1: Delikleri İşaretle ve Kes ve Pencere Ekranına Yerleştir
Oled, çevresel sensör ve programlama ve güç için USB-C konektörü için delikleri işaretleyip keseceğiz.
- Bileşenlerinizi istediğiniz yere hizalayın ve vida deliklerini işaretleyin.
- Oled için kareler, ekranın boyutunda bir kare ve çevre sensörü için 2 sensörden biraz daha büyük bir kare işaretleyin (yukarıdaki resimlere bakın).
- USB-C konektörü için alanı işaretleyin. Qwiic Pro Micro kartımda zaten lehimlenmiş başlıklar vardı, bu yüzden bir parça köpüğün içine koyup işaretledim. Sizinki yoksa, deliği işaretlemek için kasanın altına yaslayın.
- İşaretli delikleri delin ve USB-C konektörünü kesin. Delinmiş delikler vidaların geçmesine izin verecek kadar büyük olmalıdır.
- Sensör deliğinden biraz daha büyük bir kare pencere ekranı kesin. Vida deliği ve montaj direği için pencere ekranında boşluk bırakın (yukarıdaki resimlere bakın).
- Ekranı yerine sıcak yapıştırın.
Adım 2: Oled ve Sensörü Monte Edin
Oled ve çevre sensörünü kasaya monte edin. Daha büyük vidalar açtığınız deliklere, daha küçük vidalar ise kasa kapağının köşesindeki direklere girer. Ara parçalar için pulları kullanın. Daha büyük vidalar için, açıklama için yukarıdaki şemaya bakın. Boşluk için birden fazla pul kullanmanız gerekebilir.
Adım 3: Arduino'yu Monte Edin ve Bileşenleri Bağlayın
- Qwiic Pro Micro kartımda zaten lehimlenmiş başlıklar vardı, bu yüzden bir parça köpüğün içine koyup yapıştırdım. Sizinkinde başlık yoksa, kasanın altına yapıştırın. Qwiic kablosunun bağlanması için yeterli alan olduğundan emin olun.
- Bileşenleri Qwiic konektörleriyle bağlayın. Qwiic konektörünün ne sırası ne de tarafı önemli. Açıklama için yukarıdaki resimlere bakın.
- Artık proje kutunuzu bir araya getirebilirsiniz. Qwiic kablolarının sıkıca bağlanmasını ve sıkışmamasını sağlayın.
4. Adım: Kod
Qwiic pro mikro kartınızı kurmak ve çalıştırmak için bu öğreticiyi izleyin.
Bu yapıldıktan sonra, kod aşağıdadır ve GitHub'da burada bulabilirsiniz.
#include #include #include #include #define PIN_RESET 9#define DC_JUMPER 1#define CCS811_ADDR 0x5B //Varsayılan I2C AdresiMicroOLED oled(PIN_RESET, DC_JUMPER);CCS811 myCCS811(CCS811_ADDR);BME280 myBME {280;(100) gecikmesi); Wire.begin(); oled.begin(); // OLED oled.clear(ALL) öğesini başlat; // Ekranın dahili belleğini temizle oled.display(); // Arabellekte ne olduğunu göster (açılış ekranı) oled.clear(PAGE); // Arabelleği temizle. randomSeed(analogRead(A0) + analogRead(A1)); //BME280'i başlat //I2C için aşağıdakileri etkinleştirin ve SPI bölümünü devre dışı bırakın myBME280.settings.commInterface = I2C_MODE; myBME280.settings. I2CAAdres = 0x77; myBME280.settings.runMode = 3; //Normal mod 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 (); //.begin()'i çağırmak, ayarların yüklenmesine neden olur delay(10); // Sensörün açılması için yeterli zamana sahip olduğundan emin olun. BME280'in başlatılması için 2 ms gerekir. bayt kimliği = myBME280.begin(); //Gecikme başarılıysa (10000) 0x60 kimliğini döndürür; }void print_data() { oled.setFontType(0); oled.setCursor(0, 0); oled.print("TMP"); oled.setCursor(25, 0); oled.print(round(myBME280.readTempF())); oled.setCursor(0, 10); oled.print("HUM"); oled.setCursor(25, 10); oled.print(round(myBME280.readFloatHumidity())); oled.setCursor(0, 20); oled.print("VOC"); oled.setCursor(25, 20); oled.print(yuvarlak(myCCS811.getTVOC())); oled.setCursor(0, 30); oled.print("BAR"); oled.setCursor(25, 30); oled.print(round(myBME280.readFloatPressure())); oled.setCursor(0, 40); oled.print("CO2"); oled.setCursor(25, 40); oled.print(yuvarlak(myCCS811.getCO2())); oled.display(); }void loop() { gecikme(2000); //Verilerin mevcut olup olmadığını kontrol edin if (myCCS811.dataAvailable()) { //Bu fonksiyonun çağrılması global tVOC ve eCO2 değişkenlerini günceller myCCS811.readAlgorithmResults(); //printData, tVOC ve eCO2 float değerlerini getirir BMEtempC = myBME280.readTempC(); float BMEhumid = myBME280.readFloatHumidity(); //Bu, sıcaklık verilerini CCS811 myCCS811.setEnvironmentalData(BMEhumid, BMEtempC); } print_data(); gecikme(2000); }
Kodu Arduino IDE'ye yapıştırın ve derleyin. Ekran birkaç saniye SparkFun logosunu göstermeli ve ardından canlı koşulları görüntülemeye başlamalıdır. Koşullar yaklaşık her 2 saniyede bir güncellenir. Okuduğunuz için teşekkürler.
Bir sorun var mı?
Buraya bir yorum bırakın veya bana e-posta gönderin
Önerilen:
ESP8266 ve ESP32 Kendin Yap Kullanan Profesyonel Hava İstasyonu: 9 Adım (Resimlerle)
ESP8266 ve ESP32 DIY Kullanan Profesyonel Hava İstasyonu: LineaMeteoStazione, Sensirion'dan profesyonel sensörler ve ayrıca bazı Davis Instrument bileşenleri (Rain Gauge, Anemometer) ile arayüzlenebilen eksiksiz bir meteoroloji istasyonudur
HC-12 Uzun Menzilli Mesafe Hava İstasyonu ve DHT Sensörleri: 9 Adım
HC-12 Uzun Menzilli Mesafe Hava İstasyonu ve DHT Sensörleri: Bu derste iki dht sensörü, HC12 modülleri ve I2C LCD Ekran kullanarak uzak uzun mesafe meteoroloji istasyonu yapmayı öğreneceğiz.Videoyu İzle
NaTaLia Hava İstasyonu: Arduino Güneş Enerjili Hava İstasyonu Doğru Şekilde Yapıldı: 8 Adım (Resimlerle)
NaTaLia Hava İstasyonu: Arduino Güneş Enerjili Hava İstasyonu Doğru Şekilde Yapıldı: 2 farklı lokasyonda 1 yıllık başarılı operasyonun ardından, güneş enerjili meteoroloji istasyonu proje planlarımı paylaşıyor ve gerçekten uzun süre hayatta kalabilen bir sisteme nasıl evrildiğini açıklıyorum. güneş enerjisinden dönemler. Takip ederseniz
DIY Hava İstasyonu ve WiFi Sensör İstasyonu: 7 Adım (Resimlerle)
DIY Hava İstasyonu ve WiFi Sensör İstasyonu: Bu projede size bir WiFi sensör istasyonu ile birlikte bir hava istasyonunun nasıl oluşturulacağını göstereceğim. Sensör istasyonu, yerel sıcaklık ve nem verilerini ölçer ve WiFi aracılığıyla hava durumu istasyonuna gönderir. Hava durumu istasyonu daha sonra t görüntüler
Raspberry Pi ve Weewx Kullanan Acurite 5'i 1 Arada Hava İstasyonu (Diğer Hava İstasyonları Uyumludur): 5 Adım (Resimlerle)
Acurite 5'i 1 Arada Hava İstasyonu Raspberry Pi ve Weewx Kullanarak (diğer Hava İstasyonları Uyumludur): Acurite 5'i 1 arada meteoroloji istasyonunu satın aldığımda, evde yokken hava durumunu kontrol edebilmek istedim. Eve gelip kurduğumda, ekranı bir bilgisayara bağlamam ya da akıllı hub'larını satın almam gerektiğini fark ettim,