Cuprins:

Stație meteo portabilă: 4 pași
Stație meteo portabilă: 4 pași

Video: Stație meteo portabilă: 4 pași

Video: Stație meteo portabilă: 4 pași
Video: Statie meteo wireless de la Lidl 2024, Noiembrie
Anonim
Stație meteo portabilă
Stație meteo portabilă
Stație meteo portabilă
Stație meteo portabilă
Stație meteo portabilă
Stație meteo portabilă

În acest Instructable vom folosi un Arduino, un afișaj oled și un senzor de mediu SparkFun cu senzori CCS811 și BME280 la bord pentru a construi un dispozitiv portabil care măsoară temperatura, umiditatea, nivelurile TVOC, presiunea barometrică și nivelurile de dioxid de carbon. Puteți utiliza orice Arduino cu codul furnizat, dar eu folosesc un micro SparkFun Qwiic pro. Dacă sunteți începător, vă sugerez să utilizați aceleași părți pe care le folosesc, doar pentru a simplifica lucrurile. Am ales placa micro SparkFun Qwiic pro pentru dimensiunea sa mică și conectorul Qwiic, facilitând conectarea componentelor. Dacă utilizați o altă placă, asigurați-vă că cumpărați o pălărie, phat sau scut Qwiic pentru a se potrivi cu placa dvs.

Provizii:

  • SparkFun Environmental Combo Breakout -
  • SparkFun Micro OLED Breakout -
  • SparkFun Qwiic Pro Micro -
  • Cablu Qwiic, 50 mm -
  • Caseta de proiect, dimensiunea componentelor dvs., folosesc aproximativ 3 x 2 x 1 -
  • Opțional: dacă utilizați Qwiic Pro Micro, este posibil să aveți nevoie de un cablu USB-C (dacă nu aveți deja unul) pentru alimentare și programare
  • Ecranul ferestrei, aproximativ 1,5 x 1,5 inci
  • Șuruburi (vezi poza de mai sus)

Instrumente:

  • Lipici fierbinți și pistol de lipit fierbinte
  • Foarfece
  • Lama de ras sau cuțitul x-acto, capabil să taie cutia de proiect

Pasul 1: marcați și tăiați găurile și introduceți ecranul ferestrei

Marcați și tăiați găurile și introduceți ecranul ferestrei
Marcați și tăiați găurile și introduceți ecranul ferestrei
Marcați și tăiați găurile și introduceți ecranul ferestrei
Marcați și tăiați găurile și introduceți ecranul ferestrei
Marcați și tăiați găurile și introduceți ecranul ferestrei
Marcați și tăiați găurile și introduceți ecranul ferestrei

Vom marca și tăia găurile pentru senzorul de mediu, oled și conectorul USB-C pentru programare și alimentare.

  1. Aliniați componentele unde doriți și marcați găurile șuruburilor.
  2. Marcați pătratele, pentru oled, un pătrat de dimensiunea ecranului și pentru senzorul de mediu, un pătrat puțin mai mare decât cei 2 senzori (vezi imaginile de mai sus).
  3. Marcați spațiul pentru conectorul USB-C. Placa Qwiic Pro Micro avea deja anteturi lipite, așa că am introdus-o într-o bucată de spumă și am marcat-o. Dacă al tău nu, așează-l plat pe fundul carcasei pentru a marca gaura.
  4. Găuriți găurile marcate și decupați conectorul USB-C. Găurile forate trebuie să fie suficient de mari pentru a permite șuruburilor să treacă.
  5. Tăiați un pătrat de ecran de fereastră puțin mai mare decât orificiul senzorului. Decupați spațiul de pe ecranul ferestrei pentru orificiul șurubului și stâlpul de montare (vedeți imaginile de mai sus).
  6. Lipiți fierbinte ecranul la locul său.

Pasul 2: Montați Oled și senzorul

Montați Oled și senzorul
Montați Oled și senzorul
Montați Oled și senzorul
Montați Oled și senzorul
Montați Oled și senzorul
Montați Oled și senzorul

Montați senzorul oled și de mediu în carcasă. Șuruburile mai mari intră în găurile pe care le-ați forat și șuruburile mai mici intră în stâlpii din colțul capacului carcasei. Folosiți șaibele pentru distanțiere. Pentru șuruburile mai mari, consultați schema de mai sus pentru clarificare. Poate fi necesar să utilizați mai multe șaibe pentru spațiere.

Pasul 3: Montați Arduino și conectați componentele

Montați componentele Arduino și Connect
Montați componentele Arduino și Connect
Montați componentele Arduino și Connect
Montați componentele Arduino și Connect
Montați componentele Arduino și Connect
Montați componentele Arduino și Connect
  1. Placa Qwiic Pro Micro avea deja anteturi lipite, așa că am introdus-o într-o bucată de spumă și am lipit-o. Dacă al tău nu are anteturi, lipiți-l în partea de jos a carcasei. Asigurați-vă că există suficient spațiu pentru conectarea cablului Qwiic.
  2. Conectați componentele cu conectorii Qwiic. Nici comanda, nici partea laterală a conectorului Qwiic nu sunt importante. Vedeți imaginile de mai sus pentru clarificare.
  3. Acum vă puteți fixa caseta de proiect împreună. Asigurați-vă că cablurile Qwiic sunt conectate strâns și nu sunt ciupite.

Pasul 4: Cod

Pentru a pune în funcțiune placa micro Qwiic pro, urmați acest tutorial.

Odată ce ați terminat, codul este mai jos, îl puteți găsi pe GitHub aici.

#include #include #include #include #define PIN_RESET 9 # define DC_JUMPER 1 # define CCS811_ADDR 0x5B // Default I2C AddressMicroOLED oled (PIN_RESET, DC_JUMPER); CCS811 myCCS811 (CCS811_ADDR); BME280 vo (my); Wire.begin (); oled.begin (); // Inițializați OLED oled.clear (ALL); // Ștergeți memoria internă a afișajului oled.display (); // Afișați ce este în buffer (splashscreen) oled.clear (PAGE); // Ștergeți tamponul. randomSeed (analogRead (A0) + analogRead (A1)); // Inițializați BME280 // Pentru I2C, activați următoarele și dezactivați secțiunea SPI myBME280.settings.commInterface = I2C_MODE; myBME280.settings. I2CAddress = 0x77; myBME280.settings.runMode = 3; // Mod 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 (); // Apelarea.begin () face ca setările să fie încărcate cu întârziere (10); // Asigurați-vă că senzorul a avut suficient timp pentru a porni. BME280 necesită 2 ms pentru a porni. octet id = myBME280.begin (); // Returnează ID-ul de 0x60 dacă întârzierea reușită (10000); } 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 (rotund (myBME280.readFloatHumidity ())); oled.setCursor (0, 20); oled.print ("COV"); oled.setCursor (25, 20); oled.print (round (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 (round (myCCS811.getCO2 ())); oled.display (); } void loop () {delay (2000); // Verificați dacă datele sunt disponibile dacă (myCCS811.dataAvailable ()) {// Apelarea acestei funcții actualizează variabilele globale tVOC și eCO2 myCCS811.readAlgorithmResults (); // printData preia valorile tVOC și eCO2 float BMEtempC = myBME280.readTempC (); plutitor BMEhumid = myBME280.readFloatHumidity (); // Aceasta trimite datele de temperatură către CCS811 myCCS811.setEnvironmentalData (BMEhumid, BMEtempC); } print_data (); întârziere (2000); }

Lipiți codul în IDE-ul Arduino și compilați-l. Ecranul trebuie să afișeze sigla SparkFun timp de câteva secunde, apoi să înceapă să afișeze condițiile live. Condițiile se actualizează aproximativ la fiecare 2 secunde. Mulțumesc pentru lectură.

Ai o întrebare?

Lasă un comentariu sau trimite-mi un email aici

Recomandat: