Sadržaj:
- Korak 1: Instaliranje Arduino IDE, ESP8266 ploča i biblioteka i vašeg ThingSpeak računa
- Korak 2: Istražite skicu
- Korak 3: Objašnjenja o…
- Korak 4: Komunikacija
- Korak 5: Glavne varijable
Video: Kako izgraditi vlastiti anemometar pomoću trskastih prekidača, Hall -ovog senzora i nekih bilješki na Nodemcu - 2. dio - Softver: 5 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Uvod
Ovo je nastavak prvog posta "Kako izgraditi vlastiti anemometar pomoću trskastih prekidača, senzora Hall efekta i nekih bilješki na Nodemcu - 1. dio - hardver" - gdje pokazujem kako sastaviti uređaje za mjerenje brzine i smjera vjetra. Ovdje ćemo iskoristiti softver za kontrolu mjerenja dizajniran za upotrebu u Nodemcu -u koristeći Arduino IDE.
Opis projekta
U prethodnom postu, uređaji naoružani i povezani na Nodemcu mogu mjeriti brzinu i smjer vjetra. Kontrolni softver je dizajniran za čitanje rotacije anemometra u određenom vremenskom periodu, izračunavanje linearne brzine, čitanje smjera u kojem se lopatica nalazi, prikaz rezultata u OLED -u, objavljivanje rezultata u ThingSpeaku i spavanje 15 minuta do sledeće merenje.
Odricanje odgovornosti: Ovaj anemometar se ne smije koristiti u profesionalne svrhe. To je samo za akademsku ili kućnu upotrebu.
Napomena: Engleski nije moj prirodni jezik. Ako pronađete gramatičke greške koje vas sprječavaju u razumijevanju projekta, obavijestite me da ih ispravim. Hvala ti puno.
Korak 1: Instaliranje Arduino IDE, ESP8266 ploča i biblioteka i vašeg ThingSpeak računa
Instaliranje Arduino IDE -a i Nodemcu -a
Ako nikada niste instalirali IDE, Arduino pročitajte vodič na linku - Kako instalirati Arduino IDE - gdje možete pronaći potpuna uputstva.
Sljedeći korak za instaliranje Nodemcu ploče koristite ovaj vodič iz Magesh Jayakumar Instructables koji je vrlo potpun. Kako instalirati Nodemcu no Arduino IDE
Instaliranje biblioteka
Sljedeći korak morate instalirati biblioteke koje skica koristi. Uobičajeni su i možete slijediti dolje navedene korake.
Biblioteka ThingSpeak -
ESP8266 biblioteka -
Kreiranje ThingSpeak računa
Da biste koristili ThingSpeak (https://thingspeak.com/), morate stvoriti račun (još uvijek je besplatan za određeni broj interakcija) na koji možete spremiti podatke izmjerene u vašem anemometru i pratiti uvjete vjetra u vašem domu, čak i preko mobilnog telefona. Korištenjem ThingSpeak -a možete dati javnosti pristup svojim prikupljenim podacima svima koji su zainteresovani. To je dobra prednost ThingSpeak -a. Unesite početnu stranicu i slijedite korake za kreiranje računa.
Nakon što je račun kreiran, uđite u ovaj vodič - ThingSpeak Getting Started - da biste stvorili svoje kanale. Prilično je objašnjeno. Ukratko, morate stvoriti kanal na kojem će se podaci pohraniti. Ovaj kanal ima ID i API ključa koji se trebaju referencirati u skici svaki put kada želite snimiti podatke. ThingSpeak će pohraniti sve podatke u banku i prikazati ih svaki put kada pristupite svom računu, na način koji ste konfigurirali.
Korak 2: Istražite skicu
Dijagram toka
Na dijagramu možete razumjeti fluksogram skice. Kada se probudite (povežite) Nodemcu, on će se povezati s vašom Wi-Fi mrežom, čije ste parametre konfigurirali i početi odbrojavati 1 minutu vremena za izvođenje mjerenja. Prvo, brojat će rotacije anemometra 25 sekundi, izračunajte linearnu brzinu i očitati smjer vjetra. Rezultati su prikazani na OLED -u. Ponovite iste korake i za ovo drugo čitanje će se prenijeti na ThingSpeak.
Zatim Nodemcu spava 15 minuta kako bi uštedio bateriju. Budući da koristim mali solarni panel, imperativ je da to učinim. Ako koristite izvor od 5 V, možete izmijeniti program tako da ne spava i nastaviti mjeriti podatke.
Struktura programa
Na dijagramu možete vidjeti strukturu skice.
Anemometer_Instructables
To je glavni program koji učitava biblioteke, pokreće varijable, kontrolira prekid pripajanja, poziva sve funkcije, izračunava brzinu vjetra, određuje njegov smjer i uspavljuje.
komunikacije
Povežite WiFi i pošaljite podatke na ThingSpeak.
vjerodajnice.h
Ključevi vaše WiFi mreže i identifikatori vašeg računa u ThingSpeak -u. Ovdje ćete promijeniti svoje ključeve ID -ove i API -je.
definira.h
Sadrži sve varijable programa. Ovdje možete promijeniti vrijeme čitanja ili koliko dugo bi čvor trebao spavati.
funkcije
Sadrži funkcije za kombiniranje parametara i očitavanje multipleksera, kao i funkciju za očitavanje rotacija anemometra.
oledDisplay
Prikažite na ekranu rezultate brzine i smjera vjetra.
Korak 3: Objašnjenja o…
Priloži prekid
Rotacija anemometra mjeri se pomoću funkcije attachInterrupt () (i detachInterrupt ()) u GPIO 12 (pin D6) Nodemcu-a (Ima značajku prekida na svojim pinovima D0-D8).
Prekidi su događaji ili stanja koja uzrokuju da mikrokontroler zaustavi izvršavanje zadatka koji izvršava, privremeno radi u drugom zadatku i vrati se na početni zadatak.
Detalje funkcije možete pročitati na poveznici za vodič Arduino. Pogledajte attachInterrupt ().
Sintaksa: attachInterrupt (pin, funkcija povratnog poziva, tip/način prekida);
pin = D6
funkcija povratnog poziva = rpm_anemometar - broji svaki impuls na varijabli.
tip/način prekida = RISING - prekida se kada pin pređe s niskog na visoko.
Pri svakom impulsu koji proizvodi magneto u Hall -ovom senzoru, pin prelazi s niskog na visoki, a funkcija brojanja se aktivira i sumira puls u promjenljivoj vrijednosti, u toku utvrđenih 25 sekundi. Nakon što vrijeme istekne, brojač je isključen (detachInterrupt ()) i rutina izračunava brzinu dok je isključen.
Izračunavanje brzine vjetra
Nakon što se utvrdi koliko je okretaja anemometar dao za 25 sekundi, izračunavamo brzinu.
- RADIO je mjerenje od središnje osi anemometra do vrha ping pong loptice. Sigurno ste dobro izmjerili svoje - (pogledajte to na dijagramu koji kaže 10 cm).
- RPS (rotacije u sekundi) = rotacije / 25 sekundi
- RPM (rotacije u minuti) = RPS * 60
- OMEGA (kutna brzina - radijani u sekundi) = 2 * PI * RPS
- Linearna_Velocity (metri u sekundi) = OMEGA * RADIO
- Linearna_Velocity_kmh (Km na sat) = 3,6 * Linearna_Velocity i to je ono što će biti poslano na ThingSpeak.
Pročitajte smjer lopatice
Za očitavanje položaja lopatice za vjetar radi određivanja smjera vjetra program šalje niske i visoke signale multiplekseru sa svim kombinacijama parametara A, B, C (muxABC matrica) i pričekajte da primite rezultat na pin A0 to može biti bilo koji napon između 0 i 3.3V. Kombinacije su prikazane na dijagramu.
Na primjer, kada je C = 0 (nisko), B = 0 (nisko), A = 0 (nisko), multiplekser mu daje podatke o pinu 0 i šalje signal A0 koji čita Nodemcu; ako je C = 0 (nisko), B = 0 (nisko), A = 1 (visoko), multiplekser će vam poslati podatke iz pina 1 i tako dalje, dok se čitanje 8 kanala ne završi.
Kako je signal analogan, program se pretvara u digitalni (0 ili 1), ako je napon manji ili jednak 1,3 V signal je 0; ako je veći od 1,3V signal je 1. Vrijednost 1,3V je proizvoljna i za mene je radila vrlo dobro. Uvijek postoje mala curenja struje i to štiti da nema lažno pozitivnih rezultata.
Ti se podaci pohranjuju u vektorski val [8] koji će se porediti s nizom adresa kao kompas. Pogledajte matricu na dijagramu. Na primjer, ako je primljeni vektor [0, 0, 1, 0, 0, 0, 0, 0, 0] on u matrici pokazuje smjer E i odgovara kutu od 90 stupnjeva; ako [0, 0, 0, 0, 0, 0, 1, 1] označava u matrici WNW adresu i odgovara uglu od 292,5 stepeni. N odgovara [1, 0, 0, 0, 0, 0, 0, 0, 0] i ugao od 0 stepeni.
Ono što će biti poslano u ThingSpeak je pod kutom jer prihvaća samo brojeve.
Korak 4: Komunikacija
Kako poslati podatke u ThingSpeak
Funkcija thingspeaksenddata () je odgovorna za slanje podataka.
ThingSpeak.setField (1, float (linear_velocity_kmh)) - Pošalji podatke o brzini u polje1 mog kanala
ThingSpeak.setField (2, float (wind_Direction_Angle)) - Pošaljite podatke o adresi u polje 2 mog kanala
ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey) - Pošalji na moj kanal myChannelNumber, sa pisanim API -jem myWriteAPIKey označenim TS. Ove podatke je generirala TS prilikom kreiranja vašeg računa i kanala.
Na gornjim slikama možete vidjeti kako ThingSpeak prikazuje primljene podatke.
Na ovoj vezi možete pristupiti podacima mog projekta na javnom kanalu ThingSpeak -a.
Korak 5: Glavne varijable
parametri lopatica
- MUX_A D5 - mux pi A do Nodemcu pina D5
- MUX_B D4 - mux pin B na Nodemcu pin D4
- MUX_C D3 - mux pin C na Nodemcu pin D3
- READPIN 0 - Analogni ulaz na NodeMcu = A0
- NO_PINS 8 - broj mux pinova
- val [NO_PINS] - portovi 0 do 7 mux
- wind_Direction_Angle - Kut smjera vjetra
- Niz windRose [16] = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"} - kardenali, kolateral i pod -kolateral
- 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} - uglovi svakog smjera
- Cifra [16] [NO_PINS] - Matrica smjerova
- muxABC [8] [3] - ABC mux kombinacije
parametri anemometra
- rpmcount - izbrojite koliko je punih rotacija anemometar napravio u predviđenom vremenu
- timemeasure = 25.00 - vrijeme trajanja mjerenja u sekundama
- timetoSleep = 1 - Nodemcu vrijeme buđenja u minutama
- sleepTime = 15 - vrijeme za spavanje u minutama
- o / min, rps - frekvencije rotacije (rotacije u minuti, rotacije u sekundi)
- radijus - metri - mjera dužine krila anemometra
- linearna_ brzina - linearna brzina u m/seg
- linearna_brzina_kmh - linearna brzina u km/h
- omega - radijalna brzina u rad/seg
Ispod možete pronaći kompletnu skicu. Napravite novu fasciklu na fascikli Arduino na vašem računaru sa istim imenom kao i glavni program (Anemometer_Instructables) i spojite ih sve zajedno.
Unesite podatke svoje WiFi mreže i ThingSpeak ID i API Writer ključ u dio Credentials.h i spremite. Otpremite na Nodemcu i to je sve.
Za testiranje rada sistema preporučujem dobar rotirajući ventilator.
Za pristup podacima mobilnim telefonom preuzmite aplikaciju za IOS ili Android pod nazivom ThingView, koja je, na sreću, još uvijek besplatna.
Konfigurirajte postavke računa i bit ćete spremni vidjeti uvjete vjetra kod kuće gdje god se nalazili.
Ako vas zanima, pristupite mom kanalu ThingSpeak Channel ID: 438851, koji je javni i tamo ćete pronaći mjerenja vjetra i smjera u mojoj kući.
Zaista se nadam da ćete se zabaviti.
Ako imate bilo kakvih nedoumica, ne ustručavajte se kontaktirati me.
Pozdrav
Preporučuje se:
Vodič: Kako izgraditi VL53L0X modul laserskog senzora pomoću Arduino UNO: 3 koraka
Vodič: Kako izgraditi VL53L0X modul senzora laserskog dometa pomoću Arduino UNO -a: Opisi: Ovaj vodič će vam svima pokazati detalje o tome kako izgraditi detektor udaljenosti pomoću modula senzora laserskog dometa VL53L0X i Arduino UNO -a i radit će poput vas željeti. Slijedite upute i razumjet ćete ovog učitelja
Vodič: Kako izgraditi detektor dometa pomoću Arduino Uno i ultrazvučnog senzora: 3 koraka
Vodič: Kako izgraditi detektor dometa pomoću Arduino Uno i ultrazvučnog senzora: Opis: Ovaj vodič prikazuje kako napraviti jednostavan detektor dometa koji može mjeriti udaljenost između ultrazvučnog senzora (US-015) i prepreke ispred njega. Ovaj ultrazvučni senzor US-015 vaš je savršen senzor za mjerenje udaljenosti i
Vodič: Kako napraviti alarm na vratima pomoću alarma senzora magnetskog prekidača MC-18: 3 koraka
Vodič: Kako napraviti alarm na vratima pomoću alarma magnetskog prekidača MC-18: Zdravo momci, napravit ću vodič o alarmu senzora magnetskog prekidača MC-18 koji radi u normalno zatvorenom načinu rada. Ali najprije ću vam objasniti ukratko šta se podrazumeva pod normalno blizu. Postoje dvije vrste načina rada, normalno otvorene i normalno zatvorene
Kako izgraditi vlastiti anemometar pomoću trska, prekidača Hall efekta i nekih bilješki na Nodemcu. - 1. dio - Hardver: 8 koraka (sa slikama)
Kako izgraditi vlastiti anemometar pomoću trska, prekidača Hall efekta i nekih bilješki na Nodemcu. - 1. dio - Hardver: Uvod Od početka studija o Arduinu i kulturi proizvođača volio sam graditi korisne uređaje koristeći otpad i komade otpada, poput čepova boca, komada PVC -a, limenki za piće itd. Volim dati sekundu život svakom komadu ili bilo kom drugu
Kako izgraditi vlastiti mlazni motor: 10 koraka (sa slikama)
Kako izgraditi vlastiti mlazni motor: Ne morate biti Jay Leno da biste posjedovali motor na mlazni pogon, a mi ćemo vam pokazati kako ovdje napraviti vlastitu mlaznu enignu za pogon vaših otkačenih vozila. Ovo je projekt koji je u tijeku, a puno dodatnih informacija bit će dostupno na našoj web stranici