Obsah:

Sluneční meteorologická stanice: 5 kroků
Sluneční meteorologická stanice: 5 kroků

Video: Sluneční meteorologická stanice: 5 kroků

Video: Sluneční meteorologická stanice: 5 kroků
Video: Sencor - Wi-Fi profesionální meteorologická stanice /45s/ 2024, Listopad
Anonim
Sluneční meteorologická stanice
Sluneční meteorologická stanice

Chtěli jste někdy ze svého dvora informace o počasí v reálném čase? Nyní si můžete koupit meteorologickou stanici v obchodě, ale ty obvykle vyžadují baterie nebo musí být připojeny k zásuvce. Tato meteorologická stanice nemusí být připojena k síti, protože má solární panely, které pro větší účinnost rotují směrem ke slunci. S jeho RF moduly může přenášet data ze stanice venku na Raspberry Pi uvnitř vašeho domova. Raspberry Pi hostí webovou stránku, na které si můžete data prohlížet.

Krok 1: Shromážděte materiály

Materiály

  • Raspberry Pi 3 model B + + adaptér + karta Micro SD 16 GB
  • Arduino Uno
  • Základní útěk Arduino Pro Mini + FTDI
  • 4 6V 1W solární panely
  • 4 baterie 18650
  • Booster 5v
  • 4 nabíječky baterií TP 4056
  • Senzor teploty a vlhkosti Adafruit DHT22
  • BMP180 barometrický tlakový senzor
  • 4 LDR
  • Přijímač a vysílač RF 433
  • 2 krokové motory Nema 17
  • 2 ovladače krokových motorů DRV8825
  • LCD 128*64
  • Spousta drátů

Nástroje a materiály

  • Lepidlo
  • Dřevěná prkna
  • Viděl
  • Šrouby + šroubovák
  • Kachní páska
  • 2 hliníkové pásy

Krok 2: Mechanický návrh

Mechanický design
Mechanický design
Mechanický design
Mechanický design
Mechanický design
Mechanický design
Mechanický design
Mechanický design

Tělo meteorologické stanice je vyrobeno z překližky. Nemusíte používat dřevo, můžete ho vyrobit z jakéhokoli materiálu, který upřednostňujete. U držáků motoru jsem vyvrtal celek do bloku dřeva a poté zašrouboval plochý šroub na hřídel motoru, což funguje lépe, než jsem očekával. Díky tomu nepotřebujete 3D tisk držáku motoru a jeho výroba je snadná. Potom jsem ohnul 2 hliníkové pásy, aby byly motory velmi těsné. Poté jsem vystřihl prkno a vyvrtal do něj otvory pro solární panely. Poté na něj přilepte solární panely a pájejte dráty na solární panely. Pak budete také muset udělat kříž z černého materiálu. Pokud nemáte nic černého, můžete použít černou pásku. Tento kříž pojme LDR v každém rohu, takže Arduino může porovnávat měření z LDR a vypočítat, jakým směrem se potřebuje otočit. Vyvrtejte tedy malé celky v každém rohu, aby se vám tam vešlo LDR. Teď už zbývá jen vyrobit základovou desku a něco, do čeho vložíte elektroniku. Pro základní desku do ní budete muset vyvrtat jeden celek, abyste mohli vést všechny dráty. Pokud jde o měření, nedám vám žádné, protože je opravdu na vás, jak to chcete navrhnout. Pokud máte jiné motory nebo jiné solární panely, budete muset zjistit měření sami.

Krok 3: Elektrický design

Napájení

Celý systém běží na baterie (kromě Raspberry Pi). Umístil jsem 3 baterie do série. 1 baterie je v průměru 3,7 V, takže 3 v sérii vám poskytnou přibližně 11 V. Tato 3s baterie se používá pro motory a RF vysílač. Další zbývající baterie slouží k napájení Arduino Pro Mini a senzorů. K nabíjení baterií jsem použil 4 moduly TP4056. Každá baterie má 1 modul TP4056, každý modul je připojen k solárnímu panelu. Protože modul má B (vstup) a B (výstup), mohu je nabíjet samostatně a vybíjet je v sérii. Ujistěte se, že kupujete správné moduly TP4056, protože ne všechny moduly mají B (in) a B (out).

Conrtol

Arduino Pro Mini ovládá senzory a motory. Surový a uzemněný pin Arduina je připojen k posilovači 5V. 5V zesilovač je připojen k jediné baterii. Arduino Pro Mini má velmi nízkou spotřebu energie.

Komponenty

DHT22: Připojil jsem tento senzor k VCC a Ground, poté jsem připojil datový pin k digitálnímu pinu 10.

BMP180: Připojil jsem tento senzor k VCC a Ground, připojil jsem SCL k SCL na Arduinu a SDA k SDA na Arduinu. Buďte opatrní, protože piny SCL a SDA na Arduino Pro Mini jsou uprostřed desky, takže pokud máte pájené kolíky k desce a vložíte je do prkénka, nebude to fungovat, protože budete mít interference z jiných pinů. Ty 2 piny jsem připájel na horní část desky a přímo k ní připojil vodič.

RF vysílač: Připojil jsem to k 3s baterii pro lepší signál a delší dosah. Zkoušel jsem to připojit k 5V z Arduina, ale pak je RF signál super slabý. Poté jsem připojil datový pin k digitálnímu pinu 12.

LDR: Připojil jsem 4 LDR k analogovým pinům A0, A1, A2, A3. Dal jsem LDR dohromady s 1K odporem.

Motory: Motory jsou poháněny 2 řídicími moduly DRV8825. Jsou velmi užitečné, protože zabírají pouze 2 vstupní linky (směr a krok) a mohou produkovat až 2 A na fázi pro motory. Mám je připojené k digitálním pinům 2, 3 a 8, 9.

LCD: Připojil jsem LCD k Raspberry Pi, abych ukázal jeho IP adresu. Pomocí trimru jsem reguloval podsvícení.

RF přijímač: Připojil jsem přijímač k Arduino Uno na 5V a uzemnění. Přijímač by neměl odebírat více než 5V. Poté jsem připojil datový pin k digitálnímu pinu 11. Pokud najdete knihovnu pro tyto RF moduly, která funguje na Raspberry Pi, pak nemusíte používat Arduino Uno.

Raspberry Pi: Raspberry Pi je připojen k Arduino Uno pomocí kabelu USB. Arduino předává RF signály do Raspberry Pi přes sériové připojení.

Krok 4: Začněme s kódováním

Ke kódování Arduino Pro Mini budete potřebovat programátor FTDI. Vzhledem k tomu, že Pro Mini nemá žádný port USB (pro úsporu energie), budete potřebovat tuto oddělovací desku. Kód jsem naprogramoval v Arduino IDE, myslím, že toto je nejjednodušší způsob, jak to udělat. Nahrajte kód ze souboru a mělo by být dobré jít.

Abych kódoval Arduino Uno, připojil jsem ho k počítači pomocí kabelu USB. Poté, co jsem nahrál kód, jsem jej připojil k Raspberry Pi. Byl jsem také schopen změnit kód na Raspberry Pi, protože jsem nainstaloval Arduino IDE a tak jsem ho mohl odtamtud naprogramovat. Kód je velmi jednoduchý, přebírá vstup z přijímače a odesílá jej přes sériový port na Raspberry Pi.

Pro kódování Raspberry Pi jsem nainstaloval Raspbian. Pak jsem se k němu pomocí Putty připojil pomocí připojení SSH. Poté nakonfiguruji Raspberry, abych se k němu mohl připojit pomocí VNC a mít tak GUI. Nainstaloval jsem si webový server Apache a začal kódovat backend a frontend tohoto projektu. Kód najdete na github:

Krok 5: Databáze

K ukládání dat používám databázi SQL. Databázi jsem vytvořil v MySQL Workbench. Databáze uchovává údaje ze senzorů a data ze senzorů. Mám 3 tabulky, jednu pro ukládání hodnot senzorů s časovými razítky, druhou pro ukládání informací o senzorech a poslední pro ukládání informací o uživatelích. Nepoužívám tabulku Uživatelé, protože jsem tuto část projektu nekódoval, protože nebyla v mém MVP. Stáhněte si soubor SQL a spusťte jej a databáze by měla být v pořádku.

Doporučuje: