Ovdje pročitajte kako se registrirati na forum.

DIY: Mini Meteorološka Stanica

Tvoj projekt je upravo dovršen? Podijeli s nama što si napravio u ovom podforumu! Upute drugima kako napraviti isti projekt su uvijek dobrodošle!
Odgovorite
Avatar
dekip#5003
Hobist
Hobist
Postovi: 44
Pridružen/a: pon srp 30, 2018 10:04 pm
Lokacija: Beograd
Kontakt:

DIY: Mini Meteorološka Stanica

Post Postao/la dekip#5003 » čet sij 31, 2019 7:25 pm

Na ono čuveno pitanje, a šta taj Arduino može da uradi, odgovor bi mogao biti, svašta. Arduino, ili bolje reći mikorkontroleri mogu da urade baš svašta. Od paljenja jedne obične LE diode, do pokretanja robota veličine porodične kuće. Od merenja obične temperature, do upravljanja CNC mašinom. Dugo nisam postavljao DIY projekte ovde, jer mi je to nekako po prirodi stvari bilo rezervisano za Svet Kompjutera. Ovih dana sam pravio jednu manju meteorološku stanicu, pa je prava prilika da je na ovaj način predstavim.

Ideja je da se u malo prikladno kućište spakuje neophodna elektronika za merenje i očitavanje temperature. Izbor je pao na klon Pro Minija, ali usled brzopletosti pri naručivanju, naručio sam model koji je klon na kvadrat. Naleteo sam na Wavgatovu varijantu Pro Minija sa sopstvenim mikrokontrolerom AVGA328p. Prema rečima proizvođača u pitanju je potpuno kompatibilna ploča sa Pro Minijem. Ma kako da ne. Naručio sam nekoliko primeraka i kod svih sam imao iste probleme. Prvi problem se ogleda u tome da pozivanjem serijala u setup funkciji (Serial.begin()), dolazi do potpunog blokiranja ploče. Probao sam sa raznim vrednostima bauda ali ništa nije vredelo. Ovo je u startu dovelo do toga da se ceo projekat razvija na krštenoj ploči pa da se posle isti prebaci na ovaj Wavgat uz prekrštene fige da će isti proraditi. Drugi problem se ogleda u tome da ploča ima problematičnu naponsku sekciju. Ukoliko ploču napajamo preko RAW pina naponima od, recimo 9 volti, na VCC ćemo imati jedva 1,7V. Wavgat se mora napajti direktno preko VCC pina regulisanim naponom od 5 volti, jer govorimo o 5-voltnoj ploči. Inače, iako istih dimenzija sa istim pinoutom i ipak u velikoj meri kompatibilna sa Pro Minijem, za ovu ploču moramo dodati definicije i biblioteke u IDE. Iste možete preuzeti odavde.

slika

Kompletan projekat će se lemiti na perforiranu PCB dimenzija 5x7cm. Za merenje temperature sam upotrebio BMP280 modul koji osim temperature može da meri i atmosferski pritisak, a preko njega, posredno i nadmorsku visinu. Za komunikaciju sa MCU koristi I2C interfejs a radi na 3,3V. Logička kola su tolerantna na 5V, tako da se ne moraju koristiti level šifteri. Za prikaz sam upoterbio Oled ekran 0,96" sa rezolucijom 128x64 piksela. I ova ploča koristi I2C interfejs ali radi na 5 volti. Za "peglanje" napona na 3,3V sam upotrebio AMS1117 3,3V naponski regulator, uz par kondenzatora od 100uF i 10uF. Crvena LED i otpornik od 150 oma su tu na 3,3V liniji da malo zašarenim kućište. Kad sam kod kućišta, uzeo sam jedno sa dimenzijama 85x58x33mm. Kućište ima providni poklopac i vodonepropusno je. Unutrašnjost je dovoljno prostrana da se sva elektronika lepo spakuje a tu su i padovi za pričvršćavanje PCB-a. Na kraju je ostalo dovoljno prostora za neko eventualno dodavanje senzora vlažnosti vazduha, a isto putuje iz Kine brzinom kornjače. Kad stigne, ovaj post će dobiti jedan update.

slika

slika

slika

slika

slika

slika

slika

slika

slika

slika

Na PCB sam prvo zalemio mikro USB modul pod uglom od 90 stepeni a preko ugaonih muških hedera. Na taj način je sam konektor zapravo došao ispod PCB. Za njega sam sa zadnje strane kućišta napravio otvor, dovoljan za priključivanje kabla. Od njega su 5V i GND išli na IN i GND nožice AMS1117 regulatora. Između 5V i GND sam postavio kondenzator od 100uF 16V. GND dalje ide na odgovarajuće pinove Wavgata, BMP280 i Oled ekrana. 5V ide dalje ka VCC mikrokontrolera i VDD pinu ekrana. Sa OUT nožice naponskog regulatora vodimo 3,3V ka VCC senzora. Na 3,3V i GND sam dodao 10uF 20V kondenzator. Takođe sam dodao crvenu LED i 150 oma otpronik. Ona će svetleti ako ima 3,3V napon na izlazi regulatora. Naravno, moglo se i bez nje. Analogni I2C interfejs Wavgata je povezan na I2C ekrana i senzora. SDA ekrana i senzora sam povezao na A4. SCK ekrana i SCL senzora sam povezao na A5. Ekran, senzor i MCU su na PCB postavljeni preko ženskih hedera koji su zalemljnei na ploči. Na ovaj način se nešto od komponenti može lako zameniti ako zatreba.

----------------------

Kod: Označite sve

#include <Wire.h>;
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
Adafruit_BMP280 bmp;
void setup() {
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  display.clearDisplay();
  display.display();
  delay(500);
  if (!bmp.begin()) {
    while (1);
  }
}

void loop() {
  display.clearDisplay();
  display.setTextSize(2);
  display.setTextColor(WHITE);
  delay(1000);
 
  display.setCursor(10,10);
  display.print(int(bmp.readTemperature()));
  display.print(" ");
  display.print((char)247);
  display.print("C");
  display.startscrollleft(0x00, 0x0F);
  delay(2000);
  display.stopscroll();
  delay(1000);
  display.startscrollright(0x00, 0x0F);
  delay(2000);
  display.stopscroll();
  delay(1000);
  display.display();

  display.clearDisplay();
  display.setCursor(10,10);
  display.print(int(bmp.readPressure()/100));
  display.print(" ");
  display.print("mbar");
  display.startscrollleft(0x00, 0x0F);
  delay(2000);
  display.stopscroll();
  delay(1000);
  display.startscrollright(0x00, 0x0F);
  delay(2000);
  display.stopscroll();
  delay(1000);
  display.display();

  display.clearDisplay();
  display.setCursor(10,10);
  display.print(int(bmp.readPressure()/1000));
  display.print(" ");
  display.print("kPa");
  display.startscrollleft(0x00, 0x0F);
  delay(2000);
  display.stopscroll();
  delay(1000);
  display.startscrollright(0x00, 0x0F);
  delay(2000);
  display.stopscroll();
  delay(1000);
  display.display();

  display.clearDisplay();
  display.setCursor(10,10);
  display.print(int(bmp.readAltitude(917)));
  display.print(" ");
  display.print("m");
  display.startscrollleft(0x00, 0x0F);
  delay(2000);
  display.stopscroll();
  delay(1000);
  display.startscrollright(0x00, 0x0F);
  delay(2000);
  display.stopscroll();
  delay(1000);
  display.display(); 
}
-------------------------

Za ovaj projekat je potrebno nekoliko biblioteka. Prva je Wire.h koja je već dostupna u okviru IDE. Za ekran sam upotrebio Adafruit_SSD1306 i Adafruit_GFX. Za BMP280 sam upotrebio Adafruit_Sensor i Adafruit_BMP280 biblioteke. Nakon pravljenja objekata ekrana i senzora u setup funkciji ih pokrećemo. Za ekran ovde upisujemo I2C adresu, a u mom kao i u većini slučajeva je 0x3C. BMP280 senzor nekad može da pravi problem prilikom inicijalizacije pa smo pribegli triku sa if petljom koja će se vrteti u okviru setup funkcije dok se senzor ne pokrene. I2C adresa senzora je najčešće 0x77 i ukoliko ne dobijete ikakva očitavanja, to jest, skeč ostane "zaglavljen" u setup funkciji treba ispratiti u okviru Adafruit_BMP280.h fajla liniju #define BMP280_ADDRESS i postaviti ispravnu I2C adresu. Nakon toga bi senzor morao da radi. U loop funkciji podešavamo ekran i formatiramo ga po potrebi. Ja sam dodao malo scroll efekta uz zastajanje skeča radi očitavanja određenih vrednosti. Ostaje još senzor vlage, ali o tom po tom.

slika

Prilikom testiranja uređaj je trošio oko 22mA što se može prilično smanjiti slanjem mikrokontrolera na spavanje, i na taj način bi uređaj mogao da radi i na baterije. Litijum-jonska 18650 baterija na 3,7V u power banku se dobro držala satima i ovako. Nisam merio koliko dugo može da radi na bateriji ali govorimo o izuzetno štedljivim komponentama gde je samo Wavgat nepoznanica što se tiče potršnje, mada mislim da je u pitanju prilično mali potrošač. Ako će se ići na baterije, LED koju sam dodao bi trebalo izbaciti, scroll efekt, kao i učestalost merenja i očitavanja podataka. Uz uspavljivanje mikrokontrolera.

slika

Šta vi mislite o ovom projektu? Imate li kakve sugestije?
Avatar
haluzanpavao#5335
Novak
Novak
Postovi: 22
Pridružen/a: sri lip 13, 2018 12:19 pm

Re: DIY: Mini Meteorološka Stanica

Post Postao/la haluzanpavao#5335 » pet vel 01, 2019 8:20 am

Pozdrav;
Lijepo zaokružena prića-modu reći da je to lijepi skoro pa zaokružen projekat, te prekrasno prezentiran.
Ja bi priću pojeftinio sa sirovim ATtiny85 umjesto AVGA328p. ploće i pokušao bi nadograditi i animometar .
U nekoj budučnosti bi cijelu priču prebacio na internet da mogu čitati podatke mjerenja kada nisam u blizini meteorološke stanice.
Toliko za sada; i nemojte zamjeriti na mome (kao prigovaranje-kritiziranje), htio sam samo reći da bi ja malo drukćije :)
Lijepi pozdrav i puno sreće sa projektom.
domagoj#5644
Ozbiljni hardveraš
Ozbiljni hardveraš
Postovi: 76
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Zagreb

Re: DIY: Mini Meteorološka Stanica

Post Postao/la domagoj#5644 » pet vel 01, 2019 9:05 am

Pozdrav!
Ovo super izgleda, a prezentacija još bolja. Svaka čast.
Pozdrav, Domagoj
Avatar
dekip#5003
Hobist
Hobist
Postovi: 44
Pridružen/a: pon srp 30, 2018 10:04 pm
Lokacija: Beograd
Kontakt:

Re: DIY: Mini Meteorološka Stanica

Post Postao/la dekip#5003 » pet vel 01, 2019 7:27 pm

haluzanpavao#6384 je napisao/la:
pet vel 01, 2019 8:20 am
Pozdrav;
Lijepo zaokružena prića-modu reći da je to lijepi skoro pa zaokružen projekat, te prekrasno prezentiran.
Ja bi priću pojeftinio sa sirovim ATtiny85 umjesto AVGA328p. ploće i pokušao bi nadograditi i animometar .
U nekoj budučnosti bi cijelu priču prebacio na internet da mogu čitati podatke mjerenja kada nisam u blizini meteorološke stanice.
Toliko za sada; i nemojte zamjeriti na mome (kao prigovaranje-kritiziranje), htio sam samo reći da bi ja malo drukćije :)
Lijepi pozdrav i puno sreće sa projektom.
Anemometar? Ovo je uređaj koji je predviđen da stoji u kući. Anemometar meri brzinu vetra. I nije baš jeftin.

U svakom slučaju, hvala vam na lepim rečima.
Avatar
haluzanpavao#5335
Novak
Novak
Postovi: 22
Pridružen/a: sri lip 13, 2018 12:19 pm

Re: DIY: Mini Meteorološka Stanica

Post Postao/la haluzanpavao#5335 » pet vel 01, 2019 9:54 pm

Oprosti kolega ako sam te razžalostio, nije mi bila namjera.
A za anemometar sam pomislio da se doma napravi :) more koštati max 100 kn a ako napravimo i elektroniku doma ne košta ni 50 kn . Sori, ali ja sam inovator i same mi gluposti padaju na pamet.
Avatar
dekip#5003
Hobist
Hobist
Postovi: 44
Pridružen/a: pon srp 30, 2018 10:04 pm
Lokacija: Beograd
Kontakt:

Re: DIY: Mini Meteorološka Stanica

Post Postao/la dekip#5003 » pet vel 01, 2019 10:16 pm

haluzanpavao#6369 je napisao/la:
pet vel 01, 2019 9:54 pm
Oprosti kolega ako sam te razžalostio, nije mi bila namjera.
A za anemometar sam pomislio da se doma napravi :) more koštati max 100 kn a ako napravimo i elektroniku doma ne košta ni 50 kn . Sori, ali ja sam inovator i same mi gluposti padaju na pamet.
Ma opušteno.
Samo nisam razumeo zbog čega bih stavljao anemometar na uređaj koji će stajati u kući.

Nakon malo testiranja, došao sam do zaključka da mi naponski regulator pravi probleme prilikom merenja, to jest, "dogreva" senzor. Moraću da zamenim mesta ekranu i senzoru.
Avatar
david.zovko#5852
e-radionica.com team
e-radionica.com team
Postovi: 239
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Osijek, Croatia
Kontakt:

Re: DIY: Mini Meteorološka Stanica

Post Postao/la david.zovko#5852 » pon vel 04, 2019 8:32 am

Super prezentacija, hvala ti Dejane!

Prvi puta vidim Atmegu328 kopiju koja nije brendirana kao originalna Atmega328. Kinezi su stvarno nekada fascinantni... uložiti toliko u chip kojega nisu ni dobro kopirali :)

Kakav ti je ovo software na mobitelu koji prikazuje info o potrošnji? Gdje si nabavio kutije s prozirnim poklopcem?
Avatar
dekip#5003
Hobist
Hobist
Postovi: 44
Pridružen/a: pon srp 30, 2018 10:04 pm
Lokacija: Beograd
Kontakt:

Re: DIY: Mini Meteorološka Stanica

Post Postao/la dekip#5003 » uto vel 05, 2019 6:50 pm

Pa sad, da li je do čipa ili ne, ja sam do sada imao problem samo sa Serial-om.

Za softer... Piše u zaglavlju UM24C. U pitanju je mali USB tester, jako zgodan da se prati kako preko telefona, tako i preko računara. A za kutije, Aliexpres, a gde bi drugde.
Avatar
david.zovko#5852
e-radionica.com team
e-radionica.com team
Postovi: 239
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Osijek, Croatia
Kontakt:

Re: DIY: Mini Meteorološka Stanica

Post Postao/la david.zovko#5852 » čet vel 07, 2019 3:17 pm

dekip#4002 je napisao/la:
uto vel 05, 2019 6:50 pm
Pa sad, da li je do čipa ili ne, ja sam do sada imao problem samo sa Serial-om.

Za softer... Piše u zaglavlju UM24C. U pitanju je mali USB tester, jako zgodan da se prati kako preko telefona, tako i preko računara. A za kutije, Aliexpres, a gde bi drugde.
Zgodno! Hvala ti za info
Odgovorite