Tartalomjegyzék:
- Lépés: Ismerkedés az ultrahangos távolságérzékelővel
- 2. lépés: Az ESP8266 kártya kiválasztása
- 3. lépés: Hozzon létre egy ThingSpeak csatornát
- 4. lépés: Az ESP-12F programozása
- 5. lépés: A vázlat feltöltése
- 6. lépés: Az elektronikus áramkör kiépítése
- 7. lépés: Az érzékelő befejezése
Videó: Akkumulátoros vízgyűjtő szintérzékelő: 7 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Házunknak van egy víztartálya, amelyet a tetőre eső eső táplált, és amelyet a WC -hez, a mosógéphez és a kert öntözőberendezéséhez használnak. Az elmúlt három évben a nyarak nagyon szárazak voltak, ezért folyamatosan figyeltük a tartály vízszintjét. Eddig egy fapálcikát használtunk, amit a tartályba tettünk és megjelöltük a szintet. De ezen mindenképpen javítani kell!
Ez az a pont, ahol ez a projekt bejön. Az ötlet az, hogy egy ultrahangos távolságérzékelőt rögzítsünk a tartály tetejére. Ez az érzékelő hanghullámokat kibocsátó szonárként működik, amelyeket a víz felszíne tükröz. Attól kezdve, hogy a hullámok visszatérnek, és a hangsebességet, kiszámíthatja a víz felszínétől való távolságot, és meghatározhatja, hogy mennyire van tele a tartály.
Mivel nincs hálózati csatlakozásom a tartály közelében, elengedhetetlen, hogy a teljes eszköz akkumulátorokkal működjön. Ez azt jelenti, hogy tudatában kellett lennem az összes alkatrész energiafogyasztásának. Az adatok visszaküldéséhez úgy döntöttem, hogy egy ESP8266 mikrochip beépített Wifi-jét használom. Bár a Wifi meglehetősen energiaigényes, előnye van egy másik típusú rádiókapcsolattal szemben: közvetlenül csatlakozhat otthona vezeték nélküli útválasztójához anélkül, hogy egy másik eszközt kellene létrehoznia, amely reléként működik.
Az energiatakarékosság érdekében az ESP8266 készüléket legtöbbször mély alvásba helyezem, és óránként mérést végzek. A vízszint nyomon követéséhez ez több mint elég. Az adatokat a ThingSpeak elküldi, majd egy alkalmazáson keresztül leolvashatja okostelefonon.
Még egy részlet! A távolság méréséhez elengedhetetlen hangsebesség a hőmérséklettől és kisebb mértékben a páratartalomtól függ. A pontos külső méréshez az évszakok során egy BME280 érzékelőt dobunk be, amely méri a hőmérsékletet, a páratartalmat és a nyomást. Bónuszként vízszint -érzékelőnkből mini időjárás -állomás is készül.
Alkatrészek:
- 1x ESP8266 ESP-12F.
- 1x ESP-12F adapterlemez.
- 1x FT232RL FTDI: USB -soros adapter.
- 1x HC-SR04-P: ultrahangos távolságmérő modul. Vegye figyelembe, hogy a P fontos, mivel ez az a verzió, amelynek minimális minimális üzemi feszültsége 3V.
- 1x BME280 3.3V verzió: hőmérséklet-, nyomás- és páratartalom -érzékelő.
- 1x IRL2203N: n-csatornás MOSFET tranzisztor.
- 1x MCP1700-3302E 3.3V verzió: feszültségszabályozó.
- 3x újratölthető AA elem, pl. 2600 mAh.
- 1x elemtartó 3 elemhez.
- 1x kenyeretábla.
- Ellenállások: 1x 470K, 1x 100K, 4x 10K.
- Kondenzátorok: 2x kerámia 1uF.
- 3x váltókapcsoló.
- U-alakú kenyértábla huzalok.
- Jumper vezetékek.
- Műanyag levestartó 1l.
- Rögzítőgyűrű a tartályhoz.
A kódot elérhetővé tettem a GitHubon.
Lépés: Ismerkedés az ultrahangos távolságérzékelővel
A víz felszínétől való távolságot egy ultrahangos érzékelővel, a HC-SR04-P-vel mérjük. Csakúgy, mint a denevér, ez az érzékelő szonárt használ: hangimpulzust küld az emberi fül számára túl magas, tehát ultrahangos frekvenciával, és várja, hogy ütközzön egy tárgyhoz, visszaverődjön és visszatérjen. Ezután a távolság kiszámítható a visszhang visszavételéhez szükséges időből és a hangsebességből.
Konkrétan, ha a Trig csapot legalább 10 μs -ig magasra húzzák, az érzékelő 8 impulzus sorozatot küld 40 Hz -es frekvenciával. A választ ezután az Echo tüskén kapjuk meg impulzus formájában, amelynek időtartama megegyezik az ultrahangos impulzus küldése és fogadása közötti idővel. Ekkor el kell osztanunk 2-vel, mivel az ultrahangos impulzus ide-oda halad, és szükségünk van az egyirányú utazási időre, és szorozni kell a hangsebességgel, ami körülbelül 340 m/s.
De várj egy percet! Valójában a hangsebesség a hőmérséklettől és kisebb mértékben a páratartalomtól függ. Hülyéskedem, vagy ez releváns? Egy számítási eszközzel azt találjuk, hogy télen (-5 ° C -ot figyelembe véve) 328,5 m/s, nyáron (25 ° C -ot figyelembe véve) 347,1 m/s lehet. Tehát tegyük fel, hogy találunk egyirányú 3 ms utazási időt. Télen ez 98,55 cm -t, nyáron pedig 104,13 cm -t jelentene. Ez elég nagy különbség! Tehát ahhoz, hogy elegendő pontosságot érjünk el az évszakokban, sőt éjjel -nappal, hozzá kell adnunk egy hőmérőt a beállításokhoz. Úgy döntöttem, hogy a BME280 -at is beépítem, amely méri a hőmérsékletet, a páratartalmat és a nyomást. A speedOfSound függvényben használt kódban egy képlet, amely kiszámítja a hangsebességet mindhárom paraméter tekintetében, bár a hőmérséklet valóban a legfontosabb tényező. A páratartalomnak még kisebb hatása van, de a nyomás hatása elhanyagolható. Használhatnánk egy egyszerűbb képletet, amely csak a speedOfSoundSimple -ben megvalósított hőmérsékletet veszi figyelembe.
Van még egy fontos pont a HC-SR04-en. Két változat áll rendelkezésre: a standard változat 5 V-os feszültséggel működik, míg a HC-SR04-P 3 V-tól 5 V-ig terjedő feszültségtartományban működik. Mivel a 3 újratölthető AA elem körülbelül 3x1,25 V = 3,75 V feszültséget biztosít, fontos, hogy a P-verziót szerezze be. Néhány eladó rosszul küldhet. Tehát nézze meg a képeket, ha vásárol egyet. A két változat mind hátul, mind elöl másnak tűnik, ahogy ezen az oldalon ismertetjük. A P-verzió hátulján mindhárom chip vízszintes, míg a standard verzióban az egyik függőleges. Elöl a standard változat extra ezüst elemmel rendelkezik.
Az elektronikus áramkörben tranzisztorként kapcsolóként kapcsoljuk ki az ultrahangos érzékelő áramellátását, amikor a beállítás mély alvó állapotba kerül az akkumulátor élettartamának megtakarítása érdekében. Ellenkező esetben még mindig körülbelül 2 mA -t fogyasztana. A BME280 viszont csak körülbelül 5 μ -t fogyaszt, ha inaktív, ezért nem szükséges kikapcsolni a tranzisztorral.
2. lépés: Az ESP8266 kártya kiválasztása
Ahhoz, hogy az érzékelőt a lehető leghosszabb ideig működtessük akkumulátorral, takarékoskodnunk kell az energiafogyasztással. Míg az ESP8266 Wifi-je nagyon kényelmes módot kínál érzékelőnk felhőhöz való csatlakoztatására, az energiaigényes is. Működés közben az ESP8266 körülbelül 80 mA -t fogyaszt. Tehát 2600 mAh -s akkumulátorokkal csak legfeljebb 32 órán keresztül tudnánk működtetni készülékünket, mielőtt lemerülnének. A gyakorlatban ez kevesebb lesz, mivel nem tudjuk használni a teljes 2600 mAh kapacitást, mielőtt a feszültség túl alacsony szintre csökken.
Szerencsére az ESP8266 rendelkezik mély alvó üzemmóddal is, amelyben szinte minden ki van kapcsolva. A terv tehát az, hogy az ESP8266 -ot a legtöbbször mély alvásba helyezi, és olyan gyakran felébreszti, hogy mérést végezzen, és elküldi az adatokat a Wifi -n keresztül a ThingSpeaknek. Ezen az oldalon a maximális mély alvási idő körülbelül 71 perc volt, de az ESP8266 Arduino 2.4.1 magja óta körülbelül 3,5 órára nőtt. A kódomban egy órát rendeztem.
Először kipróbáltam a kényelmes NodeMCU fejlesztőlapot, de sajnos mély alvás közben még mindig körülbelül 9 mA-t fogyasztott, ami legfeljebb 12 napos tiszta mély alvást biztosít számunkra, anélkül, hogy figyelembe vennénk az ébredési időközöket. Fontos bűnös az AMS1117 feszültségszabályozó, amely akkor is használja az áramot, ha megpróbálja megkerülni az akkumulátort közvetlenül a 3,3 V -os tűhöz csatlakoztatva. Ez az oldal a feszültségszabályozó és az USB UART eltávolítását ismerteti. Ezt azonban soha nem sikerült megtennem anélkül, hogy tönkretenném a táblát. Ezenkívül az USB UART eltávolítása után már nem tud csatlakozni az ESP8266 -hoz, hogy kiderítse, mi történt rosszul.
A legtöbb ESP8266 fejlesztőpanel úgy tűnik, hogy a pazarló AMS1117 feszültségszabályozót használja. Az egyik kivétel a WEMOS D1 mini (bal oldali kép), amely a gazdaságosabb ME6211 -gyel érkezik. Valójában azt tapasztaltam, hogy a WEMOS D1 mini körülbelül 150 μA -t használ mély alvásban, ami inkább hasonlít rá. A legtöbb valószínűleg az USB UART -nak köszönhető. Ezzel a táblával azonban saját maga kell forrasztania a csapok fejléceit.
Mindazonáltal sokkal jobban teljesíthetünk egy olyan csupasz csontú táblával, mint az ESP-12F (kép a jobb oldalon), amely nem rendelkezik USB UART-al vagy feszültségszabályozóval. A 3,3 V-os tű táplálásakor csak 22 μA mélyalvási fogyasztást találtam!
De ahhoz, hogy az ESP-12F működőképes legyen, készüljön fel forrasztásra és egy kicsit nagyobb gondra a programozással! Továbbá, hacsak az akkumulátorok nem szállítják közvetlenül a megfelelő feszültséget, ami 3V és 3,6V között van, saját feszültségszabályozót kell biztosítanunk. A gyakorlatban kiderül, hogy nehéz olyan akkumulátorrendszert találni, amely ebben a tartományban biztosít feszültséget a teljes kisütési ciklus során. Ne feledje, hogy a HC-SR04-P érzékelőt is be kell kapcsolni, amely elméletileg akár 3 V feszültséggel is működhet, de nagyobb feszültség esetén pontosabban működik. Ezen túlmenően a diagramomban a HC-SR04-P-t egy tranzisztor kapcsolja be, ami kis extra feszültségcsökkenést okoz. Az MCP1700-3302E feszültségszabályozót fogjuk használni. A maximális bemeneti feszültség 6V, így akár 4 db AA elemmel tápláljuk. Úgy döntöttem, hogy 3 db AA elemet használok.
3. lépés: Hozzon létre egy ThingSpeak csatornát
Adataink tárolására a ThingSpeak nevű IoT felhőszolgáltatást fogjuk használni. Lépjen a https://thingspeak.com/ oldalra, és hozzon létre egy fiókot. Miután bejelentkezett, kattintson az Új csatorna gombra a csatorna létrehozásához. A csatorna beállításaiban adja meg a kívánt nevet és leírást. Ezután nevezzük el a csatornamezőket, és aktiváljuk őket a jobb oldali jelölőnégyzetekre kattintva. Ha változatlanul használja a kódomat, a következő mezők vannak:
- 1. mező: vízszint (cm)
- 2. mező: elemszint (V)
- 3. mező: hőmérséklet (° C)
- 4. mező: páratartalom (%)
- 5. mező: nyomás (Pa)
A későbbiekben írja le a csatornaazonosítót, a Read API -kulcsot és az Write API -kulcsot, amelyek a menü API -kulcsaiban találhatók.
Egy alkalmazás segítségével okostelefonjáról leolvashatja a ThingSpeak adatait. Android telefonomon az IoT ThingSpeak Monitor widgetet használom. A csatornaazonosítóval és a Read API kulccsal kell konfigurálnia.
4. lépés: Az ESP-12F programozása
Szükségünk van csupasz csontkártyára, hogy spóroljunk az akkumulátor élettartamán, de a hátránya, hogy kicsit nehezebb programozni, mint egy beépített USB UART-al rendelkező fejlesztőpanelt.
Az Arduino IDE -t fogjuk használni. Vannak más utasítások is, amelyek elmagyarázzák, hogyan kell használni, ezért itt röviden. Az ESP8266 -ra való felkészüléshez a következő lépések szükségesek:
- Töltse le az Arduino IDE -t.
- Telepítse az ESP8266 kártya támogatását. A Fájl - Beállítások - Beállítások menüben adja hozzá a https://arduino.esp8266.com/stable/package_esp8266com_index.json URL -címet a További fórumkezelő URL -címekhez. Ezután az Eszközök - Fórum - Táblákkezelő menüben telepítse az esp8266 by esp8266 közösség alkalmazást.
- Válassza ki táblának: Általános ESP8266 modul.
Az ESP-12F kezeléséhez adapterlapot használtam, amely általában az online boltokban kapható. A chipet a lemezhez forrasztottam, majd a fejléceket a lemezhez forrasztottam. Csak ekkor fedeztem fel, hogy az adapterlap túl széles egy szabványos kenyérlaphoz! Nem hagy szabad csapokat az oldalán a kapcsolatok létrehozásához.
A megoldás az volt, hogy U alakú vezetékeket használok, és a jobb oldali képen látható módon csatlakoztatom őket, mielőtt az ESP8266-ot az adapterlemezzel a kenyérlapra helyezné. Így a GND és a VCC a kenyértábla síneire van csatlakoztatva, és a fennmaradó csapok elérhetők a kenyértáblán lejjebb. Hátránya, hogy a kenyérsütő táblája elég zsúfolt lesz a vezetékekkel, miután befejezte a teljes áramkört. Egy másik megoldás az, hogy két kenyérlapot illesztenek össze, ahogy ez a videó mutatja.
Ezután az ESP-12F programozásához a számítógép USB-portján keresztül szükségünk van egy USB-soros adapterre. Az FT232RL FTDI programozót használtam. A programozó jumperrel választhat a 3.3V vagy az 5V között. 3,3 V -ra kell állítani az ESP8266 esetében. Ne felejtse el, mert az 5V megsütheti a chipet! Az illesztőprogramok telepítésének automatikusnak kell lennie, de ha a programozás nem működik, megpróbálhatja manuálisan telepíteni őket erről az oldalról.
Az ESP8266 programozási móddal rendelkezik, amellyel új firmware -t tölthet fel a vakura, és vaku módban, hogy a flash memóriából futtassa az aktuális firmware -t. Ezen módok közötti választáshoz néhány csapnak bizonyos értéket kell felvennie a rendszerindításkor:
- Programozás: GPIO0: alacsony, CH-PD: magas, GPIO2: magas, GPIO15: alacsony
- Vaku: GPIO0: magas, CH-PD: magas, GPIO2: magas, GPIO15: alacsony
Az adapterlemez már gondoskodik a CH-PD felhúzásáról és a GPIO15 lehúzásáról 10K ellenállással.
Tehát az elektronikus áramkörünkben még fel kell húznunk a GPIO2-t. Továbbá biztosítunk egy kapcsolót, amellyel az ESP8266 programozható vagy vaku üzemmódba állítható, és egy kapcsolót az alaphelyzetbe állításhoz, ami az RST földeléshez való csatlakoztatásával történik. Győződjön meg arról is, hogy az FT232RL TX tűjét az ESP8266 RXD csapjához csatlakoztatja, és fordítva.
A programozási sorrend a következő:
- Állítsa a GPIO2 -t alacsonyra a programozó kapcsoló bezárásával.
- Állítsa alaphelyzetbe az ESP8266 készüléket a visszaállító kapcsoló bezárásával, majd újbóli megnyitásával. Az ESP8266 programozási módban indul.
- Állítsa vissza a GPIO2 -t a programozó kapcsoló kinyitásával.
- Töltse fel az új firmware -t az Arduino IDE -ből.
- Állítsa vissza alaphelyzetbe az ESP8266 készüléket a reset kapcsoló bezárásával és újbóli kinyitásával. Az ESP8266 most vaku módban indul, és futtatja az új firmware -t.
Most a híres Blink -vázlat feltöltésével tesztelheti, hogy működik -e a programozás.
Ha mindez működik, legalább a GND, VCC, GPIO2, RST, TXD és RXD csapok megfelelően vannak forrasztva és csatlakoztatva. Micsoda megkönnyebbülés! Mielőtt azonban folytatná, azt javaslom, hogy tesztelje a többi érintkezőt is a multiméterével. Nekem magamnak volt problémám az egyik csapdal. Használhatja ezt a vázlatot, amely 5 másodpercig egyenként magasra állítja a csapokat, majd 20 másodpercig mély alvásba helyezi az ESP8266 készüléket. Annak érdekében, hogy az ESP8266 mély alvás után felébredjen, csatlakoztatnia kell az RST -t a GPIO16 -hoz, amely ébresztési jelet ad.
5. lépés: A vázlat feltöltése
A kódot elérhetővé tettem a GitHubon, ez csak egy fájl: Level-Sensor-Deepsleep.ino. Csak töltse le és nyissa meg az Arduino IDE -ben. Vagy válassza a Fájl - Új lehetőséget, és csak másolja/illessze be a kódot.
Néhány adatot meg kell adnia a fájl elején: a használni kívánt WLAN nevét és jelszavát, a statikus IP -adatokat, valamint a ThingSpeak csatorna csatornaazonosítóját és Write API -kulcsát.
A blog tippjét követve, a DHCP helyett, ahol az útválasztó dinamikusan hozzárendel egy IP -t, statikus IP -t használunk, ahol magunk állítjuk be az ESP8266 IP -címét. Ez sokkal gyorsabbnak bizonyul, így spórolunk az aktív időn és ezáltal az akkumulátor energiáján. Tehát meg kell adnunk egy elérhető statikus IP -címet, valamint az útválasztó (átjáró), az alhálózati maszk és a DNS -kiszolgáló IP -címét. Ha nem biztos abban, hogy mit kell kitöltenie, olvassa el a statikus IP beállítását az útválasztó kézikönyvében. A Windows számítógépen, amely Wifi-n keresztül csatlakozik az Ön útválasztójához, indítson el egy héjat (Windows gomb-r, cmd), és írja be az ipconfig /all parancsot. A legtöbb szükséges információt a Wi-Fi részben találja.
A kódot megvizsgálva látható, hogy a többi Arduino kóddal ellentétben a legtöbb művelet a beállítási funkcióban történik, nem pedig a ciklusfüggvényben. Ennek oka az, hogy az ESP8266 mélyen alszik, miután befejezte a beállítási funkciót (hacsak nem OTA módban kezdtük). Az ébredés után olyan, mint egy újraindítás, és újra elindítja a telepítést.
Íme a kód legfontosabb jellemzői:
- Az ébredés után a kód magasra állítja a switchPin (alapértelmezett GPIO15) értéket. Ez bekapcsolja a tranzisztort, amely viszont bekapcsolja a HC-SR04-P érzékelőt. Mielőtt mélyen alszik, visszaállítja a tűt alacsonyra, kikapcsolja a tranzisztor és a HC-SR04-P készüléket, és gondoskodik arról, hogy ne használjon drágább akkumulátort.
- Ha a modePIN (alapértelmezett GPIO14) alacsony, a kód OTA módban megy a mérési mód helyett. Az OTA (over-the-air update) segítségével a firmware-t Wifi-n keresztül frissíthetjük a soros port helyett. Esetünkben ez nagyon kényelmes, mivel a további frissítésekhez már nem kell csatlakoztatnunk a soros eszközt az USB adapterhez. Csak állítsa alacsonyra a GPIO14 -et (az OTA kapcsolóval az elektronikus áramkörben), állítsa vissza az ESP8266 -at (a reset kapcsolóval), és elérhetővé kell válnia az Arduino IDE -ben feltöltésre.
- Az analóg PIN -kódon (A0) mérjük az akkumulátor feszültségét. Ez lehetővé teszi számunkra, hogy kikapcsoljuk készülékünket, vagyis az állandó mély alvást, ha a feszültség túl alacsony, minVoltage alá csökken, hogy megvédjük az akkumulátorokat a túl kisütéstől. Az analóg mérés nem túl pontos, mi a numMeasuresBattery (alapértelmezett 10) méréseket végezzük, és az átlagot vesszük a pontosság javítása érdekében.
- A HC-SR04-P érzékelő távolságmérése a distanceMeasurement funkcióban történik. A pontosság javítása érdekében a mérést megismétlik numMeasuresDistance (alapértelmezett 3) alkalommal.
- Van egy funkció, amellyel kiszámítható a speedOfSound a BME280 érzékelő által mért hőmérséklet, páratartalom és nyomás alapján. A BME280 alapértelmezett I2C címe 0x76, de ha nem működik, akkor lehet, hogy 0x77 -re kell módosítania: bool bme280Started = bme280.begin (0x77);
- A BME280 -at kényszerített üzemmódban fogjuk használni, ami azt jelenti, hogy egy mérést vesz igénybe, és visszaáll alvó állapotba az energiatakarékosság érdekében.
- Ha a kapacitást (l), a teljes távolságot (cm) és a területet (m2) állítja be, a kód a távolságmérésből kiszámítja a víztartály fennmaradó térfogatát: dupla fennmaradó térfogat = kapacitás+10,0*(teljes távolság)*terület; és töltse fel ezt a ThingSpeak -re. Ha megtartja az alapértelmezett értékeket, akkor a vízfelület távolságát cm -ben tölti fel.
6. lépés: Az elektronikus áramkör kiépítése
Fentebb az elektronikus áramkör diagramja. Elég nagy egy kenyértáblához, különösen a túlméretezett adapterlemezzel és az U-alakú vezetékek trükkjével. Valamikor minden bizonnyal azt kívántam, bárcsak használtam volna a két kenyérlap összekapcsolásának alternatíváját, de végül sikerült.
Íme az áramkör fontos jellemzői:
- Két feszültség játszik szerepet: az akkumulátor bemeneti feszültsége (körülbelül 3,75 V) és a 3,3 V, amely táplálja az ESP8266 -ot és a BME280 -at. A 3,3 V -ot a törőpanel bal sínjére, a 3,75 V -ot a jobb sínre tettem. A feszültségszabályozó átalakítja a 3,75 V -ot 3,3 V -ra. Az adatlap utasításait követve hozzáadtam 1 μF kondenzátort a feszültségszabályozó bemenetéhez és kimenetéhez a stabilitás növelése érdekében.
- Az ESP8266 GPIO15 csatlakozik a tranzisztor kapujához. Ez lehetővé teszi, hogy az ESP8266 bekapcsolja a tranzisztort és ezáltal az ultrahangos érzékelőt, amikor aktív, és kikapcsolja, amikor mély alvásba megy.
- A GPIO14 egy kapcsolóhoz, az OTA kapcsolóhoz van csatlakoztatva. A kapcsoló bezárása jelzi az ESP8266 készüléket, amelyet legközelebb OTA módban szeretnénk elindítani, azaz miután megnyomjuk (bezárjuk és kinyitjuk) a RESET kapcsolót, és új vázlatot töltünk fel a levegőbe.
- Az RST és a GPIO2 csapok a programozási rajz szerint vannak csatlakoztatva. Az RST csap most a GPIO16 -hoz is csatlakozik, hogy az ESP8266 felébredjen a mély alvásból.
- Az ultrahangos érzékelő TRIG és ECHO csapjai a GPIO12 és GPIO13, míg a BME280 SCL és SDA csapjai a GPIO5 és GPIO4 csatlakozóhoz vannak csatlakoztatva.
- Végezetül az analóg csap ADC a bemeneti feszültséghez csatlakoztatott feszültségosztón keresztül történik. Ez lehetővé teszi a bemeneti feszültség mérését az akkumulátorok töltöttségének ellenőrzéséhez. Az ADC csap 0V és 1V közötti feszültséget képes mérni. A feszültségosztóhoz 100K és 470K ellenállásokat választottunk. Ez azt jelenti, hogy az ADC tüske feszültségét a következők adják meg: V_ADC = 100K/(100K+470K) V_in. Ha a V_ADC = 1V értéket vesszük, ez azt jelenti, hogy a bemeneti feszültséget V_in = 570/100 V_ADC = 5,7V -ig tudjuk mérni. Ami az energiafogyasztást illeti, némi áram szivárog át a feszültségosztón. V_in = 3,75V esetén az akkumulátorokból I_leak = 3,75V/570K = 6,6 μA.
Még akkor is, ha az áramkör akkumulátorról működik, csatlakoztatható az USB soros adapterhez. Csak győződjön meg arról, hogy kihúzza az adapter VCC -jét, és csatlakoztatja a GND, RX és TX programozási diagramhoz hasonló módon. Ez lehetővé teszi a Soros monitor megnyitását az Arduino IDE -ben, hogy elolvashassa a hibakeresési üzeneteket, és győződjön meg arról, hogy minden a várt módon működik.
A teljes áramkörhöz 50 μA áramfelvételt mértem mély alvás közben, amikor akkumulátorról működik. Ez magában foglalja az ESP8266 -ot, a BME280 -at, az ultrahangos érzékelőt (amelyet a tranzisztor kikapcsol), és a szivárgást a feszültségosztón keresztül és esetleg más szivárgásokat. Szóval ez nem is rossz!
Megállapítottam, hogy a teljes aktív idő körülbelül 7 másodperc, ebből 4,25 másodperc a Wifi -hez való csatlakozáshoz és 1,25 másodperc az adatok ThingSpeak -hez történő elküldéséhez. Tehát 80mA aktív árammal óránként 160 μAh -t találtam az aktív időre. Ha hozzáadunk 50 μAh-t óránként a mély alvás állapotához, akkor összesen 210 μAh-t kapunk óránként. Ez azt jelenti, hogy a 2600 mAh -s akkumulátorok elméletileg 12400 óra = 515 napig tartanak. Ez az abszolút maximum, ha ki tudnánk használni az akkumulátorok teljes kapacitását (ez nem így van), és nincsenek szivárgások, amelyeket a jelenlegi méréseimmel nem találtam. Szóval még nem látom, hogy ez tényleg így van -e.
7. lépés: Az érzékelő befejezése
Az érzékelőt egy 1 literes műanyag edénybe tettem, amely korábban levest tartalmazott. Alul két lyukat készítettem, hogy illeszkedjenek a HC-SR04-P érzékelő "szeméhez". A lyukakon kívül a tartálynak vízállónak kell lennie. Ezután kör alakú gyűrűvel rögzítik a víztartály falához, amelyet általában esővíz -elvezető csőhöz használnak.
Jó szórakozást a projekthez!
Ajánlott:
Mini akkumulátoros CRT oszcilloszkóp: 7 lépés (képekkel)
Mini akkumulátoros CRT oszcilloszkóp: Üdv! Ebben az utasításban megmutatom, hogyan lehet mini akkumulátoros CRT oszcilloszkópot készíteni. Az oszcilloszkóp fontos eszköz az elektronikával való munkához; láthatja az összes jel áramlását egy áramkörben, és hibaelhárítás
Akkumulátoros LED -es lámpák napelemes töltéssel: 11 lépés (képekkel)
Akkumulátoros LED -es lámpák napelemes töltéssel: A feleségem tanítja az embereket, hogyan kell szappant készíteni, a legtöbb órája este volt, és télen 16:30 körül sötétedik, néhány tanítványának nehézséget okozott megtalálni ház. Elöl volt egy táblánk, de még az utcai lámpával is
Akkumulátoros lámpa, amely mágnesek segítségével kapcsol be!: 8 lépés (képekkel)
Akkumulátoros lámpa, amely mágnesek segítségével kapcsol be !: Tudjuk, hogy a legtöbb lámpa fizikai kapcsolóval kapcsol be/ki. A célom ezzel a projekttel az volt, hogy létrehozzak egy egyedi módot a lámpa könnyű be- és kikapcsolására a klasszikus kapcsoló nélkül. Lenyűgözött a lámpa ötlete, amely megváltoztatta az alakját a folyamat során
Akkumulátoros iroda. Naprendszer automatikus keleti/nyugati napelemek és szélturbina kapcsolással: 11 lépés (képekkel)
Akkumulátoros iroda. Napelemes rendszer keleti/nyugati napelemek és szélturbinák automatikus kapcsolásával: A projekt: Egy 200 négyzetméteres irodát akkumulátorral kell működtetni. Az irodának tartalmaznia kell a rendszerhez szükséges összes vezérlőt, elemet és alkatrészt. A nap- és szélerőművek feltöltik az akkumulátorokat. Van egy kis probléma csak
Kokszgép szintérzékelő - most beszéddel!: 6 lépés (képekkel)
Kokszgép szintérzékelő-most a beszéddel! , és a beszélt hang hozzáadása! Miután elkészítettem az első szintérzékelőmet, egy piezo zümmögőt adtam hozzá a