Obsah:
- Krok 1: Instalace desek a knihoven Arduino IDE, ESP8266 a vašeho účtu ThingSpeak
- Krok 2: Prozkoumání náčrtu
- Krok 3: Vysvětlení o …
- Krok 4: Komunikace
- Krok 5: Hlavní proměnné
Video: Jak si postavit vlastní anemometr pomocí jazýčkových spínačů, Hallova senzoru a některých kousků na Nodemcu - Část 2 - Software: 5 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Úvod
Toto je pokračování prvního příspěvku „Jak si sestavit vlastní anemometr pomocí jazýčkových spínačů, senzoru Hall Effect a některých scrapů na Nodemcu - část 1 - Hardware“- kde ukazuji, jak sestavit zařízení pro měření rychlosti a směru větru. Zde využijeme software pro řízení měření navržený pro použití v Nodemcu pomocí Arduino IDE.
Popis projektu
V předchozím příspěvku jsou zařízení ozbrojená a připojená k Nodemcu schopna měřit rychlost a směr větru. Řídicí software byl navržen tak, aby snímal otáčení anemometru po určitou dobu, vypočítal lineární rychlost, přečetl směr, ve kterém je lopatka, ukázal výsledky v OLED, publikoval výsledky v ThingSpeak a spal 15 minut, dokud další měření.
Disclaimer: Tento anemometr by neměl být používán pro profesionální účely. Je pouze pro akademické nebo domácí použití.
Poznámka: angličtina není můj přirozený jazyk. Pokud najdete gramatické chyby, které vám brání porozumět projektu, dejte mi prosím vědět a opravte je. Děkuji mnohokrát.
Krok 1: Instalace desek a knihoven Arduino IDE, ESP8266 a vašeho účtu ThingSpeak
Instalace Arduino IDE a Nodemcu
Pokud jste nikdy nenainstalovali IDE Arduino, přečtěte si návod v odkazu - Jak nainstalovat Arduino IDE - kde najdete kompletní pokyny.
Další krok k instalaci desky Nodemcu použijte tento návod z Magesh Jayakumar Instructables, který je velmi kompletní. Jak nainstalovat Nodemcu no Arduino IDE
Instalace knihoven
V dalším kroku musíte nainstalovat knihovny, které skica používá. Jsou běžné a můžete postupovat podle níže uvedených kroků.
Knihovna ThingSpeak -
Knihovna ESP8266 -
Vytvoření účtu ThingSpeak
Chcete -li používat ThingSpeak (https://thingspeak.com/), musíte si vytvořit účet (pro určitý počet interakcí je stále zdarma), kde můžete ukládat naměřená data do vašeho anemometru a sledovat větrné podmínky ve vašem domě, dokonce přes mobil. Pomocí ThingSpeak můžete poskytnout veřejný přístup ke svým shromážděným údajům komukoli, koho to zajímá. To je dobrá výhoda ThingSpeak. Zadejte domovskou stránku a vytvořte si účet podle uvedených pokynů.
Jakmile je účet vytvořen, vytvořte si kanály pomocí tohoto kurzu - ThingSpeak Začínáme -. Je to docela dobře vysvětleno. Stručně řečeno, musíte vytvořit kanál, kde budou data uložena. Tento kanál má ID a klíčové API, na které by měl být náčrtek odkazován pokaždé, když chcete zaznamenávat data. ThingSpeak uloží všechna data do banky a zobrazí je při každém přístupu k vašemu účtu způsobem, který jste nakonfigurovali.
Krok 2: Prozkoumání náčrtu
Vývojový diagram
V diagramu můžete pochopit fluxogram skici. Když probudíte (propojíte) Nodemcu, připojí se k vaší síti Wi-Fi, jejíž parametry jste nakonfigurovali, a začne počítat 1 minutu času k provedení měření. Nejprve bude počítat otáčky anemometru po dobu 25 sekund, vypočítat lineární rychlost a odečtěte směr větru. Výsledky jsou zobrazeny na OLED. Proveďte stejné kroky znovu a pro toto druhé čtení se to přenese do ThingSpeak.
Poté Nodemcu spí 15 minut, aby šetřil baterii. Jelikož používám malý solární panel, je nutné, abych tak učinil. Pokud používáte zdroj 5 V, můžete program upravit tak, aby nespal, a pokračovat v měření dat.
Struktura programů
V diagramu vidíte strukturu náčrtu.
Anemometr_Instructables
Je to hlavní program, který načítá knihovny, spouští proměnné, ovládá přerušení připojení, vyvolává všechny funkce, vypočítává rychlost větru, určuje jeho směr a uspává.
komunikace
Připojte WiFi a odešlete data do ThingSpeak.
pověření. h
Klíče vaší WiFi sítě a identifikátory vašeho účtu v ThingSpeak. Zde změníte ID klíčů a rozhraní API.
definuje. h
Obsahuje všechny proměnné programu. Zde můžete změnit časy čtení nebo jak dlouho by měl nodemcu spát.
funkce
Obsahuje funkce pro kombinování parametrů a čtení multiplexeru a také funkci pro čtení otáček anemometru.
oledDisplej
Zobrazit na obrazovce výsledky rychlosti a směru větru.
Krok 3: Vysvětlení o …
Připojte přerušení
Otáčení anemometru se měří pomocí funkce attachInterrupt () (a detachInterrupt ()) v GPIO 12 (pin D6) Nodemcu (na pinech D0-D8 má funkci přerušení).
Přerušení jsou události nebo podmínky, které způsobí, že mikrokontrolér zastaví provádění úlohy, kterou provádí, dočasně pracuje v jiném úkolu a vrátí se k původnímu úkolu.
Podrobnosti o funkci si můžete přečíst v odkazu na tutoriál Arduina. Viz attachInterrupt ().
Syntaxe: attachInterrupt (pin, funkce zpětného volání, typ/režim přerušení);
kolík = D6
funkce zpětného volání = rpm_anemometer - počítá každý puls na proměnné.
typ/režim přerušení = RISING - přerušení, když kolík přejde z nízkého na vysoký.
Při každém pulzu vytvořeném magneto v Hallově senzoru jde kolík z nízkého na vysoký a během 25 sekund je aktivována funkce počítání a sečtený puls v proměnné. Jakmile vyprší čas, počítadlo se odpojí (detachInterrupt ()) a rutina vypočítá rychlost, když je odpojena.
Výpočet rychlosti větru
Jakmile bylo určeno, kolik otáček anemometr provedl za 25 sekund, vypočítáme rychlost.
- RADIO je měření od středové osy anemometru ke špičce pingpongového míčku. Určitě jste ten svůj změřili velmi dobře - (viz to na diagramu, který říká 10 cm).
- RPS (otáčky za sekundu) = otáčky / 25 sekund
- RPM (otáčky za minutu) = RPS * 60
- OMEGA (úhlová rychlost - radiány za sekundu) = 2 * PI * RPS
- Linear_Velocity (metry za sekundu) = OMEGA * RADIO
- Linear_Velocity_kmh (Km za hodinu) = 3,6 * Linear_Velocity a toto bude odesláno do ThingSpeak.
Přečtěte si směr větru
Aby program přečetl polohu větrné lopatky a určil směr větru, vysílá nízké a vysoké signály do multiplexoru se všemi kombinacemi parametrů A, B, C (matice muxABC) a čeká na přijetí výsledku na kolíku A0 to může být jakékoli napětí mezi 0 a 3,3 V. Kombinace jsou uvedeny v diagramu.
Například když C = 0 (nízké), B = 0 (nízké), A = 0 (nízké), multiplexer mu poskytne data na pinu 0 a odešle signál do A0, který je načten Nodemcu; pokud C = 0 (nízké), B = 0 (nízké), A = 1 (vysoké), multiplexer vám pošle data z pinu 1 atd., dokud není čtení 8 kanálů dokončeno.
Protože je signál analogový, program se transformuje na digitální (0 nebo 1), pokud je napětí menší nebo rovné 1,3 V, signál je 0; pokud je větší než 1,3 V, signál je 1. Hodnota 1,3 V je libovolná a pro mě to fungovalo velmi dobře. Vždy dochází k malým únikům proudu, což chrání, že neexistují žádná falešná pozitiva.
Tato data jsou uložena ve vektoru val [8], který bude porovnán s adresním polem jako kompas. Viz matice v diagramu. Pokud je například přijatý vektor [0, 0, 1, 0, 0, 0, 0, 0, 0], indikuje v matici směr E a odpovídá úhlu 90 stupňů; pokud [0, 0, 0, 0, 0, 0, 1, 1] označuje v matici adresu WNW a odpovídá úhlu 292,5 stupňů. N odpovídá [1, 0, 0, 0, 0, 0, 0, 0, 0] a úhlu 0 stupňů.
To, co bude odesláno do ThingSpeak, je pod úhlem, protože přijímá pouze čísla.
Krok 4: Komunikace
Jak odeslat data do ThingSpeak
Za odesílání dat je zodpovědná funkce thingspeaksenddata ().
ThingSpeak.setField (1, float (linear_velocity_kmh)) - Odeslat údaje o rychlosti do pole1 mého kanálu
ThingSpeak.setField (2, float (wind_Direction_Angle)) - Odeslat údaje o adrese do pole2 mého kanálu
ThingSpeak.writeFields (myChannelNumber, myWriteAPIKey) - Odeslat na můj kanál myChannelNumber s písemným myWriteAPIKey API označeným TS. Tato data vygenerovala TS při vytváření vašeho účtu a kanálu.
Na výše uvedených obrázcích vidíte, jak ThingSpeak zobrazuje přijatá data.
V tomto odkazu máte přístup k datům mého projektu ve veřejném kanálu ThingSpeak.
Krok 5: Hlavní proměnné
parametry větrné lopatky
- MUX_A D5 - mux pi A na Nodemcu pin D5
- MUX_B D4 - mux pin B na pin Nodemcu D4
- MUX_C D3 - mux pin C na Nodemcu pin D3
- READPIN 0 - Analogový vstup na NodeMcu = A0
- NO_PINS 8 - počet mux pinů
- val [NO_PINS] - porty 0 až 7 muxu
- wind_Direction_Angle - úhel směru větru
- Řetězec windRose [16] = {"N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"} - kardinály, zástavy a dílčí kolaterály
- 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} - úhly každého směru
- Číslice [16] [NO_PINS] - matice směrů
- muxABC [8] [3] - kombinace muxů ABC
parametry anemometru
- rpmcount - spočítejte, kolik plných otáček provedl anemometr ve stanoveném čase
- timemeasure = 25.00 - doba trvání měření v sekundách
- timetoSleep = 1 - Nodemcu doba probuzení v minutách
- sleepTime = 15 - čas na spaní v minutách
- rpm, rps - frekvence otáčení (otáčky za minutu, rotace za sekundu)
- radius - metry - míra délky křídla anemometru
- linear_velocity - lineární rychlost v m/seg
- linear_velocity_kmh - přímá rychlost v km/h
- omega - radiální rychlost v rad/seg
Níže najdete kompletní skicu. Vytvořte ve svém počítači ve složce Arduino novou složku se stejným názvem jako hlavní program (Anemometer_Instructables) a spojte je všechny dohromady.
Do části Credentials.h zadejte data své wifi sítě a ThingSpeak ID a API Writer Key a uložte. Nahrajte do Nodemcu a to je vše.
K otestování provozu systému doporučuji dobrý rotující ventilátor.
Pro přístup k datům mobilním telefonem si stáhněte aplikaci pro IOS nebo Android s názvem ThingView, která je naštěstí stále zdarma.
Nakonfigurujte si nastavení účtu a budete připraveni sledovat domácí vítr, ať jste kdekoli.
Pokud máte zájem, přejděte na můj kanál ID kanálu ThingSpeak: 438851, který je veřejný a kde najdete měření větru a směru v mém domě.
Opravdu doufám, že se pobavíte.
Pokud máte nějaké pochybnosti, neváhejte mě kontaktovat.
pozdravy
Doporučuje:
Konverze senzoru Hallova efektu Logitech 3D Extreme Pro: 9 kroků
Převod senzoru Hallova efektu Logitech 3D Extreme Pro: Ovládání kormidla na mém joysticku zhaslo. Zkoušel jsem hrnce rozebrat a vyčistit, ale moc to nepomohlo. Začal jsem tedy hledat náhradní hrnce a narazil jsem na několik různých webových stránek z doby před několika lety, které odkazují
Jak vyrobit inteligentní rolety pomocí inteligentních spínačů SONOFF ?: 14 kroků
Jak si vyrobit inteligentní rolety pomocí inteligentních spínačů SONOFF ?: Využijte režim blokování v inteligentních přepínačích SONOFF a proměňte své běžné rolety/žaluzie na chytré. a večer to stáhnout? Každopádně jsem
Alarm Hallova senzoru: 7 kroků (s obrázky)
Alarm senzoru Hall: Ukážu vám, jak lze pomocí Hallova senzoru vytvořit jednoduchý bezpečnostní alarm. Hallové senzory se používají v mnoha oblastech, jako je automobilový průmysl, stejnosměrné motory, magnetický překlápěcí kryt mobilního telefonu. Mám svůj ze starého zaprášeného počítače
Alarm dveří pomocí magnetického Hallova senzoru: 5 kroků
Dveřní alarm pomocí magnetického Hallova senzoru: Dveřní alarm je velmi běžné a užitečné zařízení z bezpečnostních důvodů. Používají se k detekci, zda jsou dveře otevřené nebo zavřené. Často jsme v lednici viděli nějaký dveřní alarm, který při aktivaci vydával jiný zvuk. Dveřní alarm Pro
Jak postavit kytarový reproduktorový box nebo postavit dva pro vaše stereo: 17 kroků (s obrázky)
Jak postavit kytarový reproduktorový box nebo postavit dva pro vaše stereo: Chtěl jsem, aby nový kytarový reproduktor šel s lampovým zesilovačem, který stavím. Reproduktor zůstane v mém obchodě, takže nemusí být nic zvláštního. Krytí Tolex může být příliš snadno poškozeno, takže jsem po lehkém písku nastříkal vnější černou