Tartalomjegyzék:
- 1. lépés: Az Arduino IDE, ESP8266 táblák és könyvtárak, valamint a ThingSpeak -fiók telepítése
- 2. lépés: A vázlat feltárása
- 3. lépés: Magyarázatok a…
- 4. lépés: Kommunikáció
- 5. lépés: Fő változók
Videó: Hogyan építsünk saját szélmérőt Reed kapcsolók, Hall Effect érzékelő és néhány törmelék segítségével a Nodemcu -n - 2. rész - Szoftver: 5 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Bevezetés
Ez a folytatása az első bejegyzésnek "Hogyan építsünk saját szélmérőt nádkapcsolókkal, Hall -effektus -érzékelővel és néhány törmelékkel a Nodemcu -n - 1. rész - Hardver" - ahol bemutatom a szélsebesség- és iránymérő eszközök összeszerelését. Itt az Arduino IDE -t használó Nodemcu -ban való használatra tervezett mérésvezérlő szoftvert fogjuk használni.
A projekt leírása
Az előző bejegyzésben a Nodemcu -hoz élesített és csatlakoztatott eszközök képesek mérni a szél sebességét és irányát. A vezérlőszoftvert úgy tervezték, hogy egy ideig leolvassa a szélsebességmérő forgását, kiszámítja a lineáris sebességet, leolvassa a lapát irányát, megjeleníti az eredményeket az OLED -ben, közzéteszi az eredményeket a ThingSpeak -ben és 15 percig alszik, amíg a következő mérés.
Jogi nyilatkozat: Ezt a szélmérőt nem szabad professzionális célokra használni. Csak tanulmányi vagy otthoni használatra alkalmas.
Megjegyzés: Az angol nem a természetes nyelvem. Ha olyan nyelvtani hibákat talál, amelyek akadályozzák a projekt megértésében, kérjük, tudassa velem, hogy kijavítsam azokat. Nagyon szépen köszönöm.
1. lépés: Az Arduino IDE, ESP8266 táblák és könyvtárak, valamint a ThingSpeak -fiók telepítése
Az Arduino IDE és a Nodemcu telepítése
Ha még soha nem telepítette az Arduino IDE -t, olvassa el az oktatóanyagot a linken - Az Arduino IDE telepítése -, ahol megtalálja a teljes utasításokat.
A következő lépés a Nodemcu tábla telepítéséhez használja ezt az oktatóanyagot a Magesh Jayakumar Instructables programból, amely nagyon teljes. A Nodemcu no Arduino IDE telepítése
Könyvtárak telepítése
A következő lépésben telepítenie kell a vázlat által használt könyvtárakat. Gyakoriak, és követheti az alábbi lépéseket.
ThingSpeak könyvtár -
ESP8266 Könyvtár -
ThingSpeak -fiók létrehozása
A ThingSpeak (https://thingspeak.com/) használatához létre kell hoznia egy fiókot (bizonyos számú interakció esetén továbbra is ingyenes), ahol el tudja menteni a szélmérőjében mért adatokat, és figyelemmel kíséri az otthoni szélviszonyokat, akár mobiltelefonon keresztül. A ThingSpeak használatával nyilvános hozzáférést biztosíthat az összegyűjtött adatokhoz annak, akit érdekel. Ez a ThingSpeak jó előnye. Lépjen be a kezdőlapra, és kövesse a fiók létrehozásához szükséges lépéseket.
A fiók létrehozása után adja meg ezt az oktatóanyagot - ThingSpeak Getting Started - a csatornák létrehozásához. Elég jól meg van magyarázva. Összefoglalva, létre kell hoznia egy csatornát, ahol az adatok tárolódnak. Ez a csatorna rendelkezik egy azonosítóval és egy kulcs API -val, amelyre minden alkalommal, amikor adatokat kíván rögzíteni, hivatkozni kell a vázlatra. A ThingSpeak tárolja az összes adatot egy bankban, és minden alkalommal megjeleníti őket, amikor belép a fiókjába, a beállított módon.
2. lépés: A vázlat feltárása
Folyamatábra
A diagramon megértheti a vázlat fluxogramját. Amikor felébreszti (összekapcsolja) a Nodemcu-t, az csatlakozik a Wi-Fi hálózatához, amelynek paramétereit konfigurálta, és elkezdi számolni az 1 perces időt a mérések elvégzéséhez. Először 25 másodpercig számolja az anemométer forgásait. a lineáris sebességet és olvassa el a szél irányát. Az eredmények az OLED -en jelennek meg. Végezze el ugyanazokat a lépéseket, és a második olvasáshoz a ThingSpeak továbbítja.
Ezután a Nodemcu 15 percig alszik, hogy kímélje az akkumulátort. Mivel kicsi napelemet használok, feltétlenül ezt kell tennem. Ha 5 V -os forrást használ, módosíthatja a programot, hogy ne aludjon, és folyamatosan mérheti az adatokat.
A programok felépítése
Az ábrán látható a vázlat felépítése.
Anemometer_Instructables
Ez a fő program, amely betölti a könyvtárakat, elindítja a változókat, vezérli a csatolás megszakítását, meghívja az összes funkciót, kiszámítja a szélsebességet, meghatározza annak irányát és elaltatja.
kommunikáció
Csatlakoztassa a WiFi -t, és küldje el az adatokat a ThingSpeak -nek.
hitelesítő adatok.h
A WiFi hálózat kulcsait és a fiók azonosítóit a ThingSpeak alkalmazásban. Itt módosíthatja a kulcsazonosítókat és az API -kat.
meghatározza.h
Ez tartalmazza a program összes változóját. Itt módosíthatja az olvasási időt vagy azt, hogy a nodemcu mennyi ideig aludjon.
funkciókat
Ez tartalmazza a paraméterek kombinálására és a multiplexer kiolvasására szolgáló funkciókat, valamint a szellőzőmérő forgásának olvasására szolgáló funkciót.
oledDisplay
A szél sebességének és irányának képernyőn megjelenített eredményei.
3. lépés: Magyarázatok a…
Csatolja a megszakítást
Az anemométer forgását a attachInterrupt () (és detachInterrupt ()) függvény méri a Nodemcu GPIO 12-ben (D6-os érintkező) (megszakítási funkciója van a D0-D8 érintkezőin).
A megszakítások olyan események vagy feltételek, amelyek miatt a mikrokontroller leállítja az általa végrehajtott feladat végrehajtását, ideiglenesen más feladatban dolgozik, és visszatér a kezdeti feladathoz.
A funkció részleteit az Arduino oktatóanyagának linkjén olvashatja. Lásd: attachInterrupt ().
Szintaxis: attachInterrupt (pin, visszahívási funkció, megszakítás típusa/mód);
csap = D6
visszahívási funkció = rpm_anemometer - minden impulzust számlál egy változón.
megszakítás típusa/mód = RISING - megszakítás, amikor a csap alacsonyról magasra emelkedik.
A Hall -érzékelő mágnese által előállított minden impulzusnál a tű alacsonyról magasra emelkedik, és a számláló funkció aktiválódik, és az impulzus egy változóban összeáll a 25 másodperc alatt. Az idő letelte után a számláló lekapcsolódik (detachInterrupt ()), és a rutin kiszámítja a sebességet lekapcsolás közben.
A szélsebesség kiszámítása
Miután meghatároztuk, hogy az anemométer hány fordulatot tett 25 másodperc alatt, kiszámítjuk a sebességet.
- A RÁDIÓ az anemométer középtengelyétől a pingponglabda csúcsáig terjedő mérés. Biztos nagyon jól mérted a tiedet (lásd ezt a 10 cm -es ábrán).
- RPS (fordulat másodpercenként) = fordulat / 25 másodperc
- RPM (fordulat percenként) = RPS * 60
- OMEGA (szögsebesség - radián másodpercenként) = 2 * PI * RPS
- Lineáris_sebesség (méter / másodperc) = OMEGA * RÁDIÓ
- Linear_Velocity_kmh (Km per hour) = 3.6 * Linear_Velocity, és ezt fogják küldeni a ThingSpeak -nek.
Olvassa el a szélkapu irányát
A széllapát helyzetének leolvasásához és a szél irányának meghatározásához a program alacsony és magas jeleket küld a multiplexernek az A, B, C paraméterek összes kombinációjával (muxABC mátrix), és várja meg, hogy megkapja az eredményt az A0 tűn Ez bármilyen feszültség lehet 0 és 3,3 V között. A kombinációkat a diagram mutatja.
Például, ha C = 0 (alacsony), B = 0 (alacsony), A = 0 (alacsony), a multiplexer megadja neki a 0 -as adat adatait, és elküldi a jelet A0 -nak, amelyet a Nodemcu olvas; ha C = 0 (alacsony), B = 0 (alacsony), A = 1 (magas), akkor a multiplexer elküldi az 1. tű és így tovább adatait, amíg a 8 csatorna leolvasása befejeződik.
Mivel a jel analóg, a program átalakul digitálisvá (0 vagy 1), ha a feszültség kisebb vagy egyenlő, mint 1,3 V, akkor a jel 0; ha nagyobb, mint 1.3V, akkor a jel 1. Az 1.3V érték tetszőleges, és számomra nagyon jól működött. Mindig vannak kis áramszivárgások, és ez védi, hogy nincsenek hamis pozitív eredmények.
Ezeket az adatokat egy vektor [8] tárolja, amelyet összehasonlítanak a címberemmel, mint iránytűvel. Lásd a diagram mátrixát. Például, ha a kapott vektor [0, 0, 1, 0, 0, 0, 0, 0, 0], akkor a mátrixban az E irányt jelzi, és 90 fokos szögnek felel meg; ha [0, 0, 0, 0, 0, 0, 1, 1] jelzi a mátrixban a WNW címet, és 292,5 fokos szögnek felel meg. Az N megfelel [1, 0, 0, 0, 0, 0, 0, 0, 0] és 0 fokos szögnek.
Amit a ThingSpeak küld, az szögben van, mert csak számokat fogad el.
4. lépés: Kommunikáció
Hogyan lehet adatokat küldeni a ThingSpeaknek
A thingspeaksenddata () függvény felelős az adatok küldéséért.
ThingSpeak.setField (1, float (linear_velocity_kmh)) - A sebességadatok elküldése a csatornám 1. mezőjébe
ThingSpeak.setField (2, float (wind_Direction_Angle)) - A címadatok elküldése a csatornám 2. mezőjébe
ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey) - Küldés a csatornámra myChannelNumber, a TS által megjelölt írott myWriteAPIKey API -val. Ezeket az adatokat a TS generálta a fiók és a csatorna létrehozásakor.
A fenti képeken láthatja, hogyan mutatja a ThingSpeak a kapott adatokat.
Ezen a linken elérheti projektem adatait a ThingSpeak nyilvános csatornáján.
5. lépés: Fő változók
szélkapu paraméterek
- MUX_A D5 - mux pi A - Nodemcu D5 tű
- MUX_B D4 - B -típusú dugasz - Nodemcu D4 tű
- MUX_C D3 - mux C csap - Nodemcu D3 tű
- READPIN 0 - Analóg bemenet a NodeMcu -n = A0
- NO_PINS 8 - mux csapok száma
- val [NO_PINS] - a mux 0-7 portjai
- wind_Direction_Angle - Szélirány szöge
- String windRose [16] = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"} - bíborosok, biztosítékok és részbiztosítékok
- windAng [16] = {0, 22,5, 45, 67,5, 90, 112,5, 135, 157,5, 180, 202,5, 225, 247,5, 270, 292,5, 315, 337,5} - az egyes irányok szögei
- Digit [16] [NO_PINS] - Directions Matrix
- muxABC [8] [3] - ABC mux kombinációk
anemométer paraméterei
- rpmcount - számolja meg, hány teljes fordulatot végzett az anemométer a megadott idő alatt
- időmérés = 25.00 - mérési idő másodpercben
- timetoSleep = 1 - Nodemcu ébrenléti ideje percben
- sleepTime = 15 - az alvási idő perceiben
- ford./perc, ford./perc - forgási gyakoriság (fordulat percenként, fordulat másodpercenként)
- sugár - méter - az anemométer szárnyának hossza
- lineáris_sebesség - lineáris sebesség m/szegben
- linear_velocity_kmh - lineáris sebesség km/h -ban
- omega - radiális sebesség rad/seg
Az alábbiakban megtalálható a teljes vázlat. Hozzon létre egy új mappát a számítógép Arduino mappájában, ugyanazzal a névvel, mint a fő program (Anemometer_Instructables), és rakja össze őket.
Adja meg a wifi -hálózat adatait, valamint a ThingSpeak azonosítót és az API -író kulcsot a Credentials.h részben, és mentse. Töltsd fel a Nodemcu -ba és ennyi.
A rendszer működésének teszteléséhez jó forgó ventilátort ajánlok.
Az adatok mobiltelefonról történő eléréséhez töltse le az IOS vagy az Android ThingView nevű alkalmazását, amely szerencsére még mindig ingyenes.
Konfigurálja fiókja beállításait, és készen áll arra, hogy bárhol is láthassa az otthoni szélviszonyokat.
Ha érdekli, nyissa meg a ThingSpeak Channel ID csatornámat: 438851, amely nyilvános, és ott megtalálja a szél- és irányméréseket a házamban.
Nagyon remélem, hogy jól szórakozik.
Ha kétségei vannak, ne habozzon kapcsolatba lépni velem.
Üdvözlettel
Ajánlott:
Hogyan építsünk egy 8x8x8 LED -es kockát és vezéreljük egy Arduino segítségével: 7 lépés (képekkel)
Hogyan készítsünk 8x8x8 LED -es kockát és vezéreljük azt egy Arduino -val: 2020. január szerkesztés: Hagyom, ha valaki ötletek generálására szeretné használni, de már nincs értelme kocka építeni ezen utasítások alapján. A LED -illesztőprogram -IC -k már nem készülnek, és mindkét vázlatot a régi verzióban írták
Hogyan építsünk saját szélmérőt Reed kapcsolók, Hall Effect érzékelő és néhány törmelék segítségével a Nodemcu -n. - 1. rész - Hardver: 8 lépés (képekkel)
Hogyan készítsünk saját szélmérőt Reed kapcsolók, Hall Effect érzékelő és néhány törmelék segítségével a Nodemcu -n. - 1. rész - Hardver: Bevezetés Mivel az Arduino és a Maker Culture tanulmányaival kezdtem, szerettem hasznos eszközöket építeni szemét- és törmelékdarabok felhasználásával, például palackkupakokat, PVC darabokat, italosdobozokat stb. élet bármelyik darabnak vagy társnak
Hogyan építsünk megfogókaros nyomkövető robotot a Nrf24l01 Arduino segítségével: 3 lépés (képekkel)
Hogyan kell felépíteni a markolókaros nyomkövető robotot a Nrf24l01 Arduino útján: Az utasítás " Hogyan építsük meg a markoló kar nyomkövető robotot a Nrf24l01 Arduino útvonalon " elmagyarázza, hogyan lehet háromfokú szabadságú megfogó kart építeni a lánctalpas kerekesre, amelyet kétmotoros L298N modul hajt meg MEG segítségével
Hogyan építsünk saját sugárhajtóművet: 10 lépés (képekkel)
Hogyan építsünk saját sugárhajtóművet: Nem kell Jay Leno -nak lenned ahhoz, hogy egy sugárhajtású motorkerékpárt birtokolj, és megmutatjuk, hogyan készítsd el saját sugárhajtóművedet itt, hogy táplálja a furcsa járműveket. Ez egy folyamatban lévő projekt, és rengeteg további információ található a weboldalunkon
Hogyan építsünk gitár hangsugárzót vagy építsünk kettőt a sztereóhoz: 17 lépés (képekkel)
Hogyan építsünk gitár hangszóró dobozt vagy építsünk kettőt a sztereóhoz: Azt akartam, hogy egy új gitár hangszóró legyen az épített csőerősítővel. A hangszóró kint marad a boltomban, így nem kell semmi különlegesnek lennie. A Tolex burkolat túl könnyen megsérülhet, ezért csak homok után feketére szórtam a külső felületet