Inhoudsopgave:

Een eenvoudig binnenobservatorium - Ajarnpa
Een eenvoudig binnenobservatorium - Ajarnpa

Video: Een eenvoudig binnenobservatorium - Ajarnpa

Video: Een eenvoudig binnenobservatorium - Ajarnpa
Video: CALL #1 Observatorium 2024, November
Anonim
Een eenvoudig binnenobservatorium
Een eenvoudig binnenobservatorium

Dit project laat je zien hoe je een eenvoudig observatorium kunt maken met enkele bestaande en gemakkelijk te verkrijgen sensoren. Inderdaad, ik heb dit gebouwd voor een van mijn studenten. De student wil weten hoe het zonlicht de kamertemperatuur en vochtigheid beïnvloedt. De geïnteresseerde fysieke grootheden in dit project zijn (1) lichtintensiteit, (2) vochtigheid, (3) temperatuur en (4) luchtdruk. Met die informatie zou je andere systemen of apparaten kunnen maken om een airconditioner, een luchtbevochtiger of een verwarming te regelen om een comfortabele kameromgeving te creëren.

Stap 1: Sensoren voorbereiden

Sensoren voorbereiden
Sensoren voorbereiden

Je kunt het circuit bouwen met de volgende sensoren of gewoon de moduleborden van die sensoren of modulebord kopen.

1. Omgevingslichtsensor TEMT6000 (Datasheet PDF)

2. Druk en temperatuur BMP085 of BMP180 (*het zijn oude producten, mogelijk moet u andere alternatieven zoeken) (leerdocument van Adafruit)

3. Temperatuur- en vochtigheidssensor DHT11 (leerdocument van Adafruit)

4. UV-lichtsensor GUVA-S12SD (Datasheet PDF)

Voor het gebruik van sensoren heb ik enkele referentielinks bijgevoegd. Mogelijk vindt u enkele nuttige tutorials en referenties op internet.

Stap 2: De hoofdprocessor voorbereiden

De hoofdprocessor voorbereiden
De hoofdprocessor voorbereiden

Ik heb het Arduino Uno-bord gekozen om het systeem en de codering te testen. Ik ontdekte echter dat atmega328P niet genoeg geheugen heeft om de code op te slaan en uit te voeren als er meer sensoren worden toegevoegd. Daarom raad ik aan om het atmega2560 Arduino-bord te gebruiken als je meer dan 4 sensoren nodig hebt.

Microcontroller (MCU):

· Atmega328P-bord voor Arduino

· Of Atmega2560-bord voor Arduino

Stap 3: Het systeem voorbereiden

Het systeem voorbereiden
Het systeem voorbereiden
Het systeem voorbereiden
Het systeem voorbereiden

Ik zou graag wat fysieke kenmerken willen meten bij buiten en binnen. Ten slotte heb ik de volgende sensoren aangesloten op een Atmega2560-bord.

Binnenomgeving:

1. Druk en temperatuur BMP180 x 1 stuks

2. Temperatuur- en vochtigheidssensor DHT11 x 1 stuks

Buitenomgeving:

1. Omgevingslichtsensor TEMT6000 x 1 stuks

2. Druk en temperatuur BMP085 x 1 stuks

3. Temperatuur- en vochtigheidssensor DHT11 x 1 stuks

4. UV-lichtsensor GUVA-S12SD x 1 stuks

Je zult misschien merken dat ik verschillende sensoren heb gebruikt voor het meten van de druk. Het is gewoon omdat ik geen BMP180-modulekaart had toen ik het circuit aan het bouwen was. Ik raad aan om dezelfde sensoren te gebruiken als je een nauwkeurige meting en een eerlijke vergelijking nodig hebt.

Stap 4: De datalogging voorbereiden

Bovendien zou ik willen dat het apparaat de gegevens opslaat zonder verbinding te maken met een computer. Ik heb een datalogging module toegevoegd met een realtime klok. De volgende zijn de items voor datalogging en bedradingsverbinding.

· SD-kaart

· CR1220 knoopbatterij

· Datalogging module voor Arduino (leerdocument van Adafruit)

Stap 5: De gereedschappen voorbereiden

De volgende zijn enkele hulpmiddelen of apparaten die nodig zijn om het circuit te bouwen.

  • 30AWG wikkelgereedschap
  • Soldeerbout
  • Soldeerdraad (geen lood)
  • Breadboard
  • 2,54 mm koppen
  • Doorverbindingsdraden
  • Wikkeldraden (30AWG)
  • Hete lijm
  • 3D-printen (als je een hoesje voor je apparaat nodig hebt)
  • Arduino IDE (we hebben dit nodig om het microcontrollerbord te programmeren)

Stap 6: Reset de DS1307 Real Time Clock (RTC) op Data Logging Module

Reset de DS1307 Real Time Clock (RTC) op Data Logging Module
Reset de DS1307 Real Time Clock (RTC) op Data Logging Module
Reset de DS1307 Real Time Clock (RTC) op Data Logging Module
Reset de DS1307 Real Time Clock (RTC) op Data Logging Module

Ik wil de gegevens gebruiken voor wetenschappelijk experiment. Een juiste meettijd is dus belangrijk voor data-analyse. Het gebruik van de functie delay() bij het programmeren zou meetfouten veroorzaken bij timeshifting. Integendeel, ik weet niet hoe ik een nauwkeurige real-time meting alleen op het Arduino-platform moet doen. Om een meetfout te voorkomen of de meetfout te minimaliseren, zou ik graag elk meetmonster willen nemen met een tijdregistratie. Gelukkig heeft de dataloggingmodule een realtime klok (RTC). We kunnen het gebruiken om de tijd voor gegevensbemonstering uit te voeren.

Om de RTC te gebruiken, volg ik de instructie (link) om de RTC te resetten. Ik raad aan om dit eerst met het Arduino Uno-bord te doen. Het is omdat je het circuit moet wijzigen wanneer het Atmega2560-bord wordt gebruikt (I2C-verbinding is anders). Nadat u de RTC hebt ingesteld, mag u de cr1220-batterij niet verwijderen. Controleer ondertussen de staat van de batterij voordat u gegevens gaat loggen.

Stap 7: Verbinding

Verbinding
Verbinding
Verbinding
Verbinding
Verbinding
Verbinding

Ik heb de binnen- en buitenmeting gescheiden. Zo heb ik twee headers gemaakt voor het aansluiten van twee verschillende groepen sensoren. Ik heb de lege ruimte op de datalogging-module gebruikt voor het monteren van de headers. Om de circuitverbinding te voltooien, gebruik ik zowel solderen als wikkelen. Het wikkelproces is schoon en handig, terwijl de soldeerverbinding sterk en beveiligd is. U kunt een comfortabele methode kiezen om het circuit te bouwen. Als je het Atmega2560-bord gebruikt, zorg er dan voor dat je een jump-verbinding hebt gebouwd voor SDA- en SCL-pinnen. De aansluiting van de RTC op het dataloggingschild moet opnieuw worden aangesloten.

Om de sensoren aan te sluiten heb ik de headers op de sensormodules gesoldeerd en daarna heb ik wirewrapping gebruikt om alle sensoren aan de headers te koppelen. Als u bestaande sensormodules gebruikt, raad ik u aan de bedrijfsspanning zorgvuldig te controleren. Sommige sensormodules accepteren zowel 5V- als 3,3V-ingangen, maar sommige zijn beperkt tot het gebruik van alleen 5V of 3,3V. De volgende tabel toont de gebruikte sensormodules en de bedrijfsspanning.

Tafel. Sensormodule en bedrijfsspanning

Stap 8: De MCU programmeren

De MCU programmeren
De MCU programmeren

Gelukkig kan ik de toepassingsvoorbeelden van alle sensoren vinden. Als u nieuw bent in het gebruik ervan, kunt u ze downloaden van internet of u kunt ze installeren met behulp van de bibliotheekmanager in Arduino IDE.

Ik programmeerde de systeemuitvoer een string voor elk monster. De string wordt uitgevoerd en opgeslagen op de geplaatste SD-kaart. Als u de gegevens wilt bekijken, schakelt u het apparaat uit en ontkoppelt u de SD-kaart. Vervolgens kunt u de SD-kaart op een kaartlezer plaatsen. Het bestand wordt opgeslagen als een csv-bestand. Nadat u het gegevensbestand naar de computer hebt gedownload, kunt u het bekijken met een tekstprogramma of een werkbladprogramma.

(U kunt de broncode downloaden in het bijgevoegde bestand.)

Stap 9: Test het en gebruik het

Test het en gebruik het!
Test het en gebruik het!
Test het en gebruik het!
Test het en gebruik het!
Test het en gebruik het!
Test het en gebruik het!

Het is belangrijk dat u de betekenis van de gegevens begrijpt. De bemonsteringsfrequentie is een van de belangrijke parameters. Het huidige meettijdinterval is 1 minuut, het kan zijn dat u dit moet wijzigen.

Bovendien zou je merken dat de temperatuurmeting van DHT11 niet nauwkeurig is. Als u een preciezere waarde nodig heeft, kunt u gewoon de temperatuurmeting van BMP-druksensoren gebruiken.

Bedankt om dit te lezen!

Aanbevolen: