Innehållsförteckning:

Solar Weather Station: 5 steg
Solar Weather Station: 5 steg

Video: Solar Weather Station: 5 steg

Video: Solar Weather Station: 5 steg
Video: How a Gas Turbine Works 2024, Juli
Anonim
Solväderstation
Solväderstation

Har du någonsin velat väderinformation i realtid från din bakgård? Nu kan du köpa en väderstation i butiken men de kräver vanligtvis batterier eller måste anslutas till ett uttag. Denna väderstation behöver inte anslutas till nätet eftersom den har solpaneler som roterar mot solen för mer effektivitet. Med sina RF -moduler kan den överföra data från stationen utanför till en Raspberry Pi i ditt hem. Raspberry Pi är värd för en webbplats där du kan se data.

Steg 1: Samla material

Material

  • Raspberry Pi 3 modell B + + adapter + Micro SD -kort 16 GB
  • Arduino Uno
  • Arduino Pro Mini + FTDI grundläggande breakout
  • 4 6V 1W solpaneler
  • 4 18650 batterier
  • Booster 5v
  • 4 TP 4056 batteriladdare
  • Adafruit DHT22 temperatur- och fuktighetssensor
  • BMP180 barometrisk trycksensor
  • 4 LDR
  • RF 433 mottagare och sändare
  • 2 Nema 17 Stegmotorer
  • 2 DRV8825 Stegmotordrivrutiner
  • lcd 128*64
  • Massor av ledningar

Verktyg och material

  • Lim
  • Träplankor
  • Fick syn på
  • Skruvar + skruvmejsel
  • Silvertejp
  • 2 aluminiumremsor

Steg 2: Mekanisk design

Mekanisk design
Mekanisk design
Mekanisk design
Mekanisk design
Mekanisk design
Mekanisk design
Mekanisk design
Mekanisk design

Väderstationens kropp är gjord av plywood. Du behöver inte använda trä, du kan göra det av valfritt material som du föredrar. För motorfästen borrade jag en helhet i ett träblock och skruvade sedan in en platt skruv på motorns axel, vilket fungerar bättre än jag förväntade mig. På så sätt behöver du inte 3D -skriva ut ett motorfäste och det är enkelt att göra. Sedan böjde jag 2 aluminiumremsor för att hålla motorerna väldigt täta. Jag skar sedan ut en planka och borrade hål i den för solpanelerna. Limma sedan solpanelerna på den och lödtrådar på solpanelerna. Då måste du också göra ett kryss av svart material. Om du inte har något svart kan du använda svart tejp. Detta kryss kommer att hålla en LDR i varje hörn så att Arduino kan jämföra mätningarna från LDR och beräkna vilken riktning den behöver vända. Så borra små helheter i varje hörn så att du kan passa in en LDR där inne. Allt som återstår att göra nu är att göra en bottenplatta och något att sätta in elektroniken i. För bottenplattan måste du borra en helhet i den för att dra alla trådar genom. För mätningarna kommer jag inte att ge dig några eftersom det verkligen är upp till dig hur du vill designa detta. Om du har andra motorer eller andra solpaneler måste du själv räkna ut mätningarna.

Steg 3: Elektrisk design

Kraft

Hela systemet körs på batterier (förutom Raspberry Pi). Jag placerade 3 batterier i serie. 1 batteri är i genomsnitt 3,7V, så 3 i serie ger dig runt 11V. Detta 3 -pack batteri används för motorer och RF -sändare. Det andra batteriet som är kvar används för att driva Arduino Pro Mini och sensorerna. För att ladda batterierna använde jag 4 TP4056 -moduler. Varje batteri har 1 TP4056 -modul, varje modul är ansluten till en solpanel. Eftersom modulen har B (in) och B (ut) kan jag ladda dem separat och ladda ur dem i serie. Se till att du köper rätt TP4056 -moduler eftersom inte alla moduler har B (in) och B (ut).

Conrtol

Arduino Pro Mini styr sensorerna och motorerna. Den råa och slipade stiften på Arduino är ansluten till 5V booster. 5V booster är ansluten till det enda batteriet. Arduino Pro Mini har mycket låg strömförbrukning.

Komponenter

DHT22: Jag kopplade den här sensorn till VCC och jord, sedan kopplade jag datapinnen till digital stift 10.

BMP180: Jag kopplade den här sensorn till VCC och Ground, jag kopplade SCL till SCL på Arduino och SDA till SDA på Arduino. Var försiktig eftersom SCL- och SDA -stiften på Arduino Pro Mini är i mitten av brädet, så om du har lödt stift på brädet och lagt det i en brödbräda fungerar det inte eftersom du kommer att ha störningar från andra stift. Jag lödde de 2 stiften på toppen av brädet och kopplade en tråd direkt till den.

RF -sändare: Jag kopplade detta till 3s -batteriet för bättre signal och längre räckvidd. Jag försökte ansluta den till 5V från Arduino men då är RF -signalen super svag. Jag kopplade sedan datapinnen till digital pin 12.

LDR: Jag kopplade de 4 LDR: erna till analoga stift A0, A1, A2, A3. Jag har satt ihop LDR: erna med ett 1K -motstånd.

Motorer: Motorerna drivs av 2 DRV8825 -styrmoduler. Dessa är mycket praktiska eftersom de bara tar 2 ingångslinjer (riktning och steg) och kan producera upp till 2A per fas till motorerna. Jag har dem anslutna till digitala stift 2, 3 och 8, 9.

LCD: Jag kopplade LCD-skärmen till Raspberry Pi för att visa dess IP-adress. Jag använde en trimmer för att reglera bakgrundsbelysningen.

RF -mottagare: Jag kopplade mottagaren till Arduino Uno på 5V och Ground. Mottagaren ska inte ta mer än 5V. Jag kopplade sedan datapinnen till digital pin 11. Om du kan hitta ett bibliotek för dessa RF -moduler som fungerar på Raspberry Pi behöver du inte använda Arduino Uno.

Raspberry Pi: Raspberry Pi är ansluten till Arduino Uno genom en USB -kabel. Arduino skickar RF -signalerna till Raspberry Pi via en seriell anslutning.

Steg 4: Låt oss börja kodning

För att koda Arduino Pro Mini behöver du FTDI -programmeraren. Eftersom Pro Mini inte har någon USB -port (för att spara ström), behöver du den utbrytningskortet. Jag programmerade koden i Arduino IDE, jag tror att det här är det enklaste sättet att göra det. Ladda upp koden från filen och det ska vara bra att gå.

För att koda Arduino Uno kopplade jag den till min dator via en USB -kabel. Efter att jag laddat upp koden kopplade jag den till Raspberry Pi. Jag kunde också ändra koden på Raspberry Pi eftersom jag installerade Arduino IDE och så jag kunde programmera den därifrån. Koden är väldigt enkel, den tar input från mottagaren och skickar den genom serieporten till Raspberry Pi.

För att koda Raspberry Pi installerade jag Raspbian. Jag använde sedan Putty för att ansluta till den via en SSH -anslutning. Jag konfigurerar sedan hallon så att jag kunde ansluta till det via VNC och därmed ha ett GUI. Jag installerade en Apache -webbserver och började koda backend och frontend för detta projekt. Du hittar koden på github:

Steg 5: Databas

För att lagra data använder jag en SQL -databas. Jag skapade databasen i MySQL Workbench. Databasen innehåller sensoravläsningar och sensordata. Jag har 3 tabeller, en för att lagra sensorvärdena med tidsstämplar, den andra för att lagra information om sensorerna och den sista för att lagra information om användare. Jag använder inte tabellen Användare eftersom jag inte kodade den delen av projektet eftersom det inte fanns i min MVP. Ladda ner SQL -filen och kör den och databasen ska vara bra att gå.

Rekommenderad: