Kazalo:

Preprost notranji observatorij: 9 korakov (s slikami)
Preprost notranji observatorij: 9 korakov (s slikami)

Video: Preprost notranji observatorij: 9 korakov (s slikami)

Video: Preprost notranji observatorij: 9 korakov (s slikami)
Video: Как правильно работать с силиконом? Делаем аккуратный шов! Распространенные ошибки! 2024, November
Anonim
Preprost notranji observatorij
Preprost notranji observatorij

Ta projekt vam bo pokazal, kako narediti preprost observatorij z nekaterimi obstoječimi in enostavno dostopnimi senzorji. Dejansko sem to zgradil za enega od svojih študentov. Učenec bi rad izvedel, kako sončna svetloba vpliva na sobno temperaturo in vlažnost. Zainteresirane fizikalne količine v tem projektu so (1) intenzivnost svetlobe, (2) vlažnost, (3) temperatura in (4) zračni tlak. S temi informacijami bi lahko naredili druge sisteme ali naprave za krmiljenje klimatske naprave, vlažilnika zraka ali grelnika za ustvarjanje udobnega sobnega okolja.

1. korak: Priprava senzorjev

Priprava senzorjev
Priprava senzorjev

Vezje lahko sestavite z naslednjimi senzorji ali preprosto kupite plošče modulov teh senzorjev ali ploščo modulov.

1. Senzor svetlobe okolice TEMT6000 (podatkovni list PDF)

2. Tlak in temperatura BMP085 ali BMP180 (*sta stara izdelka, morda boste morali poiskati druge alternative) (učni dokument Adafruit)

3. Senzor temperature in vlažnosti DHT11 (učni dokument Adafruit)

4. Senzor UV svetlobe GUVA-S12SD (podatkovni list PDF)

Za uporabo senzorjev sem priložil nekaj referenčnih povezav. Na internetu boste morda našli nekaj koristnih vaj in referenc.

2. korak: Priprava glavnega procesorja

Priprava glavnega procesorja
Priprava glavnega procesorja

Za preizkus sistema in kodiranja sem se odločil za ploščo Arduino Uno. Vendar sem ugotovil, da atmega328P nima dovolj pomnilnika za shranjevanje in izvajanje kode, če je dodanih več senzorjev. Zato priporočam, da lahko uporabite ploščo atmega2560 Arduino, ko potrebujete več kot 4 senzorje.

Mikro krmilnik (MCU):

· Plošča Atmega328P za Arduino

· Ali plošča Atmega2560 za Arduino

3. korak: Priprava sistema

Priprava sistema
Priprava sistema
Priprava sistema
Priprava sistema

Rad bi izmeril nekatere fizične lastnosti na prostem in v zaprtih prostorih. Nazadnje sem priključil naslednje senzorje na ploščo Atmega2560.

Notranje okolje:

1. Tlak in temperatura BMP180 x 1 kos

2. Senzor temperature in vlažnosti DHT11 x 1 kos

Zunanje okolje:

1. Senzor zunanje svetlobe TEMT6000 x 1 kos

2. Tlak in temperatura BMP085 x 1 kos

3. Senzor temperature in vlažnosti DHT11 x 1 kos

4. Senzor UV svetlobe GUVA-S12SD x 1 kos

Morda boste ugotovili, da sem za merjenje tlaka uporabil različne senzorje. To je samo zato, ker med gradnjo vezja nimam plošče z moduli BMP180. Priporočam, da uporabite iste senzorje, če želite natančno meritev in pošteno primerjavo.

4. korak: Priprava beleženja podatkov

Poleg tega želim, da naprava shrani podatke, ne da bi se povezala z računalnikom. Dodal sem modul za beleženje podatkov z uro v realnem času. Sledijo elementi za beleženje podatkov in povezovanje žic.

· SD kartice

· CR1220 kovanna baterija

· Modul za beleženje podatkov za Arduino (učni dokument Adafruit)

5. korak: Priprava orodij

Sledi nekaj orodij ali naprav, ki bi bila potrebna za izdelavo vezja.

  • Orodje za zavijanje 30AWG
  • Spajkalnik
  • Spajkalna žica (brez svinca)
  • Ogledna plošča
  • Glave 2,54 mm
  • Mostične žice
  • Zavijalne žice (30AWG)
  • Vroče lepilo
  • 3D tiskanje (če za napravo potrebujete etui)
  • Arduino IDE (to potrebujemo za programiranje mikro krmilne plošče)

6. korak: Ponovno nastavite uro DS1307 v realnem času (RTC) na modulu za beleženje podatkov

Ponastavite uro realnega časa DS1307 (RTC) na modulu za beleženje podatkov
Ponastavite uro realnega časa DS1307 (RTC) na modulu za beleženje podatkov
Ponastavite uro DS1307 Real Time Clock (RTC) na modulu za beleženje podatkov
Ponastavite uro DS1307 Real Time Clock (RTC) na modulu za beleženje podatkov

Podatke bi rad uporabil za znanstveni eksperiment. Zato je za analizo podatkov pomemben pravilen čas merjenja. Uporaba funkcije delay () v programiranju bi povzročila napako pri merjenju časa. Nasprotno, ne vem, kako natančno meriti v realnem času samo na platformi Arduino. Da bi se izognili napaki pri vzorčenju ali zmanjšali merilno napako, bi rad vzel vsak merilni vzorec s zapisom časa. Na srečo ima modul za beleženje podatkov uro realnega časa (RTC). Z njim lahko prikažemo čas vzorčenja podatkov.

Za uporabo RTC sledim navodilom (povezava) za ponastavitev RTC. Priporočam, da to storite najprej s ploščo Arduino Uno. To je zato, ker morate pri uporabi plošče Atmega2560 spremeniti vezje (povezava I2C je drugačna). Ko nastavite RTC, ne odstranite baterije cr1220. Medtem preverite stanje baterije pred beleženjem podatkov.

7. korak: Povezava

Povezava
Povezava
Povezava
Povezava
Povezava
Povezava

Ločil sem notranje in zunanje meritve. Tako sem naredil dve glavi za povezavo dveh različnih skupin senzorjev. Za namestitev glav sem uporabil prazen prostor na modulu za beleženje podatkov. Za dokončanje povezave vezja uporabljam spajkanje in zavijanje. Postopek zavijanja je čist in priročen, spajkalni spoj pa močan in varen. Izberete lahko udoben način za izgradnjo vezja. Če uporabljate ploščo Atmega2560, se prepričajte, da ste vzpostavili povezavo za preskok za zatiče SDA in SCL. Povezavo RTC na ščitniku za beleženje podatkov je treba znova povezati.

Za povezavo senzorjev sem spajkal glave na senzorskih modulih, nato pa sem uporabil ovijanje z žico, da povežem vse senzorje z glavo. Ko uporabljate izhodne senzorske module, sem priporočil, da natančno preverite delovno napetost. Nekateri senzorski moduli sprejemajo vhode 5V in 3.3V, nekateri pa omejujejo uporabo samo 5V ali 3.3V. Naslednja tabela prikazuje uporabljene senzorske module in delovno napetost.

Tabela. Senzorski modul in delovna napetost

8. korak: Programiranje MCU

Programiranje MCU
Programiranje MCU

Na srečo lahko najdem primere uporabe za vse senzorje. Če jih še niste uporabljali, jih lahko prenesete v internet ali pa jih namestite z upraviteljem knjižnice v Arduino IDE.

Za vsak vzorec sem programiral izhod sistema. Niz bo izpisan in shranjen na nameščeni kartici SD. Če si želite ogledati podatke, izklopite napravo in nato odklopite kartico SD. Nato lahko kartico SD namestite v bralnik kartic. Datoteka bo shranjena kot datoteka csv. Ko prenesete podatkovno datoteko v računalnik, si jo lahko ogledate v besedilnem programu ali programu za delovne liste.

(Izvorno kodo lahko prenesete v priloženi datoteki.)

9. korak: Preizkusite in uporabite

Preizkusite in uporabite!
Preizkusite in uporabite!
Preizkusite in uporabite!
Preizkusite in uporabite!
Preizkusite in uporabite!
Preizkusite in uporabite!

Pomembno je, da razumete pomen podatkov. Pogostost vzorčenja je eden pomembnih parametrov. Trenutni časovni interval merjenja je 1 min, morda ga boste morali spremeniti.

Poleg tega bi ugotovili, da merilo temperature DHT11 ni natančno. Če potrebujete natančnejšo vrednost, lahko uporabite temperaturni odčitek tlačnih senzorjev BMP.

Hvala, ker ste to prebrali!

Priporočena: