Indholdsfortegnelse:

Et simpelt indendørs observatorium: 9 trin (med billeder)
Et simpelt indendørs observatorium: 9 trin (med billeder)

Video: Et simpelt indendørs observatorium: 9 trin (med billeder)

Video: Et simpelt indendørs observatorium: 9 trin (med billeder)
Video: Hubble - 15 years of discovery 2024, November
Anonim
Et simpelt indendørs observatorium
Et simpelt indendørs observatorium

Dette projekt viser dig, hvordan du laver et simpelt observatorium med nogle eksisterende og let erhvervede sensorer. Faktisk byggede jeg dette til en af mine elever. Eleven vil gerne finde ud af, hvordan sollyset påvirker rumtemperaturen og fugtigheden. De interesserede fysiske størrelser i dette projekt er (1) lysintensitet, (2) fugtighed, (3) temperatur og (4) lufttryk. Med disse oplysninger ville du være i stand til at lave andre systemer eller enheder til at styre et klimaanlæg, en luftfugter eller en varmelegeme til at skabe et behageligt rummiljø.

Trin 1: Forberedelse af sensorer

Forberedelse af sensorer
Forberedelse af sensorer

Du kan bygge kredsløbet med følgende sensorer eller simpelthen købe modulkortene på disse sensorer eller modulkort.

1. Sensor til omgivende lys TEMT6000 (datablad PDF)

2. Tryk og temperatur BMP085 eller BMP180 (*det er gamle produkter, du skal muligvis finde andre alternativer) (læringsdokument fra Adafruit)

3. Temperatur- og fugtighedssensor DHT11 (læringsdokument fra Adafruit)

4. UV-lyssensor GUVA-S12SD (datablad PDF)

Til brug af sensorer har jeg vedhæftet nogle referencelinks. Du finder muligvis nogle nyttige selvstudier og referencer på internettet.

Trin 2: Forberedelse af hovedprocessoren

Forberedelse af hovedprocessoren
Forberedelse af hovedprocessoren

Jeg har valgt Arduino Uno -kortet til at teste systemet og kodningen. Jeg fandt imidlertid ud af, at atmega328P ikke har hukommelse nok til at gemme og køre koden, hvis der tilføjes flere sensorer. Således anbefaler jeg, at du kan bruge atmega2560 Arduino board, når du har brug for mere end 4 sensorer.

Micro controller (MCU):

· Atmega328P -bord til Arduino

· Eller Atmega2560 bord til Arduino

Trin 3: Forberedelse af systemet

Forberedelse af systemet
Forberedelse af systemet
Forberedelse af systemet
Forberedelse af systemet

Jeg vil gerne måle nogle fysiske egenskaber ude og inde. Endelig sluttede jeg følgende sensorer til et Atmega2560 -kort.

Indendørs miljø:

1. Tryk og temperatur BMP180 x 1 stk

2. Temperatur- og fugtighedsføler DHT11 x 1 stk

Udendørs miljø:

1. Omgivende lyssensor TEMT6000 x 1 stk

2. Tryk og temperatur BMP085 x 1 stk

3. Temperatur- og fugtighedsføler DHT11 x 1 stk

4. UV-lyssensor GUVA-S12SD x 1 stk

Du vil måske opleve, at jeg brugte forskellige sensorer til at måle trykket. Det er bare fordi jeg ikke har BMP180 -modulkort, da jeg byggede kredsløbet. Jeg anbefaler, at du bruger de samme sensorer, hvis du skal have en præcis måling og en rimelig sammenligning.

Trin 4: Forberedelse af datalogning

Derudover vil jeg gerne have, at enheden gemmer dataene uden at oprette forbindelse til en computer. Jeg tilføjede et dataloggingsmodul med et ur i realtid. Det følgende er punkterne til datalogning og ledningsforbindelse.

· SD kort

· CR1220 møntbatteri

· Dataloggingsmodul til Arduino (læringsdokument fra Adafruit)

Trin 5: Forberedelse af værktøjerne

Følgende er nogle værktøjer eller enheder, der ville være nødvendige for at bygge kredsløbet.

  • 30AWG Indpakningsværktøj
  • Loddekolbe
  • Loddetråd (uden ledning)
  • Brødbræt
  • 2,54 mm overskrifter
  • Jumper ledninger
  • Indpakningstråde (30AWG)
  • Varm lim
  • 3D -udskrivning (hvis du har brug for etui til din enhed)
  • Arduino IDE (Vi har brug for dette for at programmere mikrokontrolkortet)

Trin 6: Nulstil DS1307 Real Time Clock (RTC) på dataloggingsmodul

Nulstil DS1307 Real Time Clock (RTC) på dataloggingsmodul
Nulstil DS1307 Real Time Clock (RTC) på dataloggingsmodul
Nulstil DS1307 Real Time Clock (RTC) på dataloggingsmodul
Nulstil DS1307 Real Time Clock (RTC) på dataloggingsmodul

Jeg vil gerne bruge dataene til videnskabeligt eksperiment. Således er en korrekt målingstid vigtig for dataanalyse. Brug af funktionen delay () i programmeringen ville medføre målefejl ved tidsforskydning. Tværtimod ved jeg ikke, hvordan jeg udfører en præcis realtidsmåling på Arduino -platformen. For at undgå prøveudtagningsfejl eller minimere målefejlen, vil jeg gerne tage hver måleprøve med en tidsrekord. Heldigvis har dataloggingsmodulet et real -time ur (RTC). Vi kan bruge det til at udsende tiden til datasampling.

For at bruge RTC følger jeg instruktionen (link) for at nulstille RTC. Jeg anbefaler først at gøre dette med Arduino Uno -kortet. Det er fordi du skal ændre kredsløbet, når Atmega2560 -kortet bruges (I2C -forbindelse er en anden). Når du har indstillet RTC, bør du ikke fjerne cr1220 -batteriet. Kontroller i mellemtiden batteriets tilstand før datalogningen.

Trin 7: Tilslutning

Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse
Forbindelse

Jeg har adskilt indendørs og udendørs måling. Således har jeg lavet to headere til at forbinde to forskellige grupper af sensorer. Jeg brugte det tomme rum på dataloggingsmodulet til at montere overskrifterne. For at fuldføre kredsløbstilslutningen bruger jeg både lodning og indpakning. Indpakningsprocessen er ren og praktisk, mens loddesamlingen er stærk og sikret. Du kan vælge en behagelig metode til at bygge kredsløbet. Hvis du bruger Atmega2560 -kortet, skal du sørge for, at du har bygget en springforbindelse til SDA- og SCL -ben. Forbindelsen af RTC på datalogningskærmen skal tilsluttes igen.

For at forbinde sensorerne lodde jeg overskrifterne på sensormodulerne, og derefter brugte jeg trådindpakning til at forbinde alle sensorer med overskrifterne. Når du bruger spændende sensormoduler, anbefalede jeg, at du omhyggeligt kontrollerer driftsspændingen. Nogle sensormoduler accepterer både 5V og 3.3V indgange, men nogle er begrænset til kun at bruge enten 5V eller 3.3V. Følgende tabel viser de brugte sensormoduler og driftsspændingen.

Bord. Sensormodul og driftsspænding

Trin 8: Programmering af MCU

Programmering af MCU
Programmering af MCU

Heldigvis kan jeg finde applikationseksemplerne for alle sensorerne. Hvis du er ny til at bruge dem, kan du downloade dem på internettet, eller du kan installere dem ved hjælp af biblioteksadministratoren i Arduino IDE.

Jeg programmerede systemoutput en streng for hver prøve. Strengen udsendes og gemmes på det monterede SD -kort. Hvis du har brug for at se dataene, skal du slukke for enheden og derefter afmontere SD -kortet. Derefter kan du montere SD -kortet på en kortlæser. Filen gemmes som en csv -fil. Når du har downloadet datafilen til computeren, kan du se den med et tekstprogram eller et regnearksprogram.

(Du kan downloade kildekoden i den vedhæftede fil.)

Trin 9: Test det og brug det

Test det og brug det!
Test det og brug det!
Test det og brug det!
Test det og brug det!
Test det og brug det!
Test det og brug det!

Det er vigtigt, at du forstår betydningen af dataene. Prøveudtagningsfrekvens er en af de vigtige parametre. Det aktuelle målingsinterval er 1 min., Du skal muligvis ændre det.

Derudover vil du finde, at temperaturmålingen af DHT11 ikke er nøjagtig. Hvis du har brug for en mere præcis værdi, kan du bare bruge temperaturaflæsning af BMP -trykfølere.

Tak fordi du læste dette!

Anbefalede: