Tartalomjegyzék:

Egy egyszerű beltéri megfigyelőközpont: 9 lépés (képekkel)
Egy egyszerű beltéri megfigyelőközpont: 9 lépés (képekkel)

Videó: Egy egyszerű beltéri megfigyelőközpont: 9 lépés (képekkel)

Videó: Egy egyszerű beltéri megfigyelőközpont: 9 lépés (képekkel)
Videó: A beltéri lépcső alapjai - Az alaptól a festésig -29. Rész 2024, Július
Anonim
Egyszerű beltéri obszervatórium
Egyszerű beltéri obszervatórium

Ez a projekt megmutatja, hogyan lehet egy egyszerű megfigyelőállomást létrehozni néhány meglévő és könnyen beszerezhető érzékelővel. Valóban, ezt az egyik tanítványomnak építettem. A diák szeretné megtudni, hogyan befolyásolja a napfény a szoba hőmérsékletét és páratartalmát. A projektben érdekelt fizikai mennyiségek (1) fényintenzitás, (2) páratartalom, (3) hőmérséklet és (4) légnyomás. Ezen információk birtokában más rendszereket vagy eszközöket készíthet légkondicionáló, párásító vagy fűtőberendezés vezérlésére a kényelmes helyiségek kialakítása érdekében.

1. lépés: Az érzékelők előkészítése

Érzékelők előkészítése
Érzékelők előkészítése

Az áramkört a következő érzékelőkkel építheti fel, vagy egyszerűen megvásárolhatja az érzékelők modullapjait vagy a modullapot.

1. Környezeti fényérzékelő TEMT6000 (adatlap PDF)

2. Nyomás és hőmérséklet BMP085 vagy BMP180 (*régi termékek, előfordulhat, hogy más alternatívákat kell keresni) (tanulási dokumentum az Adafruit -tól)

3. Hőmérséklet és páratartalom érzékelő DHT11 (tanulási dokumentum az Adafruit -tól)

4. UV fényérzékelő GUVA-S12SD (adatlap PDF)

Az érzékelők használatához csatoltam néhány hivatkozási linket. Hasznos oktatóanyagokat és hivatkozásokat találhat az interneten.

2. lépés: A fő processzor előkészítése

A fő processzor előkészítése
A fő processzor előkészítése

Az Arduino Uno kártyát választottam a rendszer és a kódolás tesztelésére. Azonban azt tapasztaltam, hogy az atmega328P nem rendelkezik elegendő memóriával a kód tárolásához és futtatásához, ha több érzékelőt adnak hozzá. Ezért azt javaslom, hogy használja az atmega2560 Arduino kártyát, ha több mint 4 érzékelőre van szüksége.

Mikrovezérlő (MCU):

· Atmega328P tábla Arduino számára

· Vagy Atmega2560 tábla az Arduino számára

3. lépés: A rendszer előkészítése

A rendszer előkészítése
A rendszer előkészítése
A rendszer előkészítése
A rendszer előkészítése

Szeretnék mérni néhány fizikai jellemzőt kültéren és beltéren. Végül a következő érzékelőket csatlakoztattam egy Atmega2560 kártyához.

Beltéri környezet:

1. Nyomás és hőmérséklet BMP180 x 1 db

2. Hőmérséklet és páratartalom érzékelő DHT11 x 1 db

Kültéri környezet:

1. Környezeti fényérzékelő TEMT6000 x 1 db

2. Nyomás és hőmérséklet BMP085 x 1 db

3. Hőmérséklet és páratartalom érzékelő DHT11 x 1 db

4. UV fényérzékelő GUVA-S12SD x 1 db

Előfordulhat, hogy különböző érzékelőket használtam a nyomás mérésére. Ez csak azért van, mert az áramkör építésekor nincs BMP180 modullapom. Javaslom, hogy ugyanazokat az érzékelőket használja, ha pontos mérésre és tisztességes összehasonlításra van szüksége.

4. lépés: Az adatnapló előkészítése

Ezenkívül szeretném, ha a készülék az adatokat számítógép nélkül csatlakoztatva tárolná. Hozzáadtam egy adatnaplózó modult valós idejű órával. Az alábbiakban az adatnaplózásra és a vezetékek csatlakoztatására vonatkozó tételek találhatók.

· SD kártya

· CR1220 érme elem

· Adatnapló modul Arduino számára (tanulási dokumentum az Adafruit -tól)

5. lépés: Az eszközök előkészítése

A következőkben néhány olyan eszközre vagy eszközre van szükség, amelyek szükségesek az áramkör felépítéséhez.

  • 30AWG csomagolóeszköz
  • Forrasztópáka
  • Forrasztó huzal (nincs vezeték)
  • Kenyeretábla
  • 2,54 mm -es fejlécek
  • Jumper vezetékek
  • Csomagoló huzalok (30AWG)
  • Forró ragasztó
  • 3D nyomtatás (ha tokra van szüksége a készülékhez)
  • Arduino IDE (erre szükségünk van a mikrovezérlő kártya programozásához)

6. lépés: Állítsa vissza a DS1307 valós idejű óráját (RTC) az adatnapló modulon

Állítsa vissza a DS1307 valós idejű órát (RTC) az adatnapló modulon
Állítsa vissza a DS1307 valós idejű órát (RTC) az adatnapló modulon
Állítsa vissza a DS1307 valós idejű óráját (RTC) az adatnapló modulon
Állítsa vissza a DS1307 valós idejű óráját (RTC) az adatnapló modulon

Az adatokat tudományos kísérletekhez szeretném felhasználni. Így az adatok elemzéséhez fontos a helyes mérési idő. A delay () függvény használata a programozásban mérési hibát idézhet elő az időeltolás során. Éppen ellenkezőleg, nem tudom, hogyan kell pontos valós idejű mérést végezni csak az Arduino platformon. A mintavételi időhiba elkerülése vagy a mérési hiba minimalizálása érdekében minden mérési mintát időrögzítéssel szeretnék venni. Szerencsére az adatnapló modul valós idejű órával (RTC) rendelkezik. Használhatjuk az adatmintavétel idejének kiadására.

Az RTC használatához követem az utasításokat (link) az RTC visszaállításához. Javaslom, hogy ezt először az Arduino Uno táblával tegye meg. Ez azért van, mert módosítania kell az áramkört, amikor az Atmega2560 kártyát használja (az I2C csatlakozás eltérő). Az RTC beállítása után ne vegye ki a cr1220 elemet. Addig is ellenőrizze az akkumulátor állapotát az adatgyűjtés előtt.

7. lépés: Csatlakozás

Kapcsolat
Kapcsolat
Kapcsolat
Kapcsolat
Kapcsolat
Kapcsolat

Elkülönítettem a beltéri és a kültéri mérést. Így két fejlécet készítettem két különböző érzékelőcsoport csatlakoztatására. Az adatgyűjtő modul üres helyét használtam a fejlécek felszerelésére. Az áramkör csatlakoztatásának befejezéséhez forrasztást és csomagolást használok. A csomagolás folyamata tiszta és praktikus, míg a forrasztási kötés erős és rögzített. Kiválaszthat egy kényelmes módszert az áramkör felépítéséhez. Ha az Atmega2560 kártyát használja, győződjön meg arról, hogy kiépített egy ugrócsatlakozót az SDA és SCL csapokhoz. Az RTC csatlakozását az adatgyűjtő pajzson újra kell csatlakoztatni.

Az érzékelők csatlakoztatásához forrasztottam a fejléceket az érzékelőmodulokon, majd dróttekercseléssel kötöttem össze az összes érzékelőt a fejlécekkel. Amikor kilépő érzékelő modulokat használ, azt javasoltam, hogy gondosan ellenőrizze az üzemi feszültséget. Egyes érzékelőmodulok 5 V és 3,3 V bemenetet is elfogadnak, de egyesek csak 5 V vagy 3,3 V feszültséget használnak. A következő táblázat a használt érzékelő modulokat és az üzemi feszültséget mutatja.

Asztal. Érzékelő modul és üzemi feszültség

8. lépés: Az MCU programozása

Az MCU programozása
Az MCU programozása

Szerencsére megtalálom az alkalmazási példákat az összes érzékelőre. Ha még nem használta őket, letöltheti őket az internetről, vagy telepítheti őket az Arduino IDE könyvtárkezelőjével.

Beprogramoztam, hogy a rendszer minden minta számára karakterláncot adjon ki. A karakterlánc kimenetre kerül és a csatlakoztatott SD -kártyán tárolódik. Ha meg szeretné tekinteni az adatokat, kapcsolja ki a készüléket, majd válassza le az SD -kártyát. Ezután csatlakoztathatja az SD -kártyát a kártyaolvasóhoz. A fájl csv fájlként kerül tárolásra. Miután letöltötte az adatfájlt a számítógépre, megtekintheti azt egy szöveges programmal vagy egy munkalap programmal.

(A forráskódot letöltheti a csatolt fájlból.)

9. lépés: Tesztelje és használja

Teszteld és használd!
Teszteld és használd!
Teszteld és használd!
Teszteld és használd!
Teszteld és használd!
Teszteld és használd!

Fontos, hogy megértse az adatok jelentését. A mintavételi gyakoriság az egyik fontos paraméter. Az aktuális mérési időintervallum 1 perc, lehet, hogy módosítania kell.

Ezenkívül azt találja, hogy a DHT11 hőmérséklete nem pontos. Ha pontosabb értékre van szüksége, akkor használja a BMP nyomásérzékelők hőmérséklet -leolvasását.

Köszönöm, hogy ezt elolvastad!

Ajánlott: