Inhaltsverzeichnis:

Ein einfaches Indoor-Observatorium - Gunook
Ein einfaches Indoor-Observatorium - Gunook

Video: Ein einfaches Indoor-Observatorium - Gunook

Video: Ein einfaches Indoor-Observatorium - Gunook
Video: Black Holes Are Even Weirder Than You Thought! 2024, November
Anonim
Ein einfaches Indoor-Observatorium
Ein einfaches Indoor-Observatorium

Dieses Projekt zeigt Ihnen, wie Sie mit einigen vorhandenen und leicht zu erwerbenden Sensoren ein einfaches Observatorium erstellen können. Tatsächlich habe ich das für einen meiner Studenten gebaut. Der Student möchte herausfinden, wie sich das Sonnenlicht auf die Raumtemperatur und Luftfeuchtigkeit auswirkt. Die interessierenden physikalischen Größen in diesem Projekt sind (1) Lichtintensität, (2) Feuchtigkeit, (3) Temperatur und (4) Luftdruck. Mit diesen Informationen könnten Sie andere Systeme oder Geräte erstellen, um eine Klimaanlage, einen Luftbefeuchter oder eine Heizung zu steuern, um ein angenehmes Raumklima zu schaffen.

Schritt 1: Sensoren vorbereiten

Sensoren vorbereiten
Sensoren vorbereiten

Sie können die Schaltung mit den folgenden Sensoren aufbauen oder einfach die Modulplatinen dieser Sensoren oder Modulplatinen kaufen.

1. Umgebungslichtsensor TEMT6000 (Datenblatt PDF)

2. Druck und Temperatur BMP085 oder BMP180 (*sind alte Produkte, Sie müssen möglicherweise andere Alternativen finden) (Lerndokument von Adafruit)

3. Temperatur- und Feuchtigkeitssensor DHT11 (Lerndokument von Adafruit)

4. UV-Lichtsensor GUVA-S12SD (Datenblatt PDF)

Für die Verwendung von Sensoren habe ich einige Referenzlinks angehängt. Im Internet finden Sie möglicherweise einige nützliche Tutorials und Referenzen.

Schritt 2: Vorbereiten des Hauptprozessors

Vorbereiten des Hauptprozessors
Vorbereiten des Hauptprozessors

Ich habe das Arduino Uno Board gewählt, um das System und die Codierung zu testen. Ich habe jedoch festgestellt, dass atmega328P nicht genügend Speicher hat, um den Code zu speichern und auszuführen, wenn weitere Sensoren hinzugefügt werden. Daher empfehle ich, dass Sie das Arduino-Board atmega2560 verwenden können, wenn Sie mehr als 4 Sensoren benötigen.

Mikrocontroller (MCU):

· Atmega328P-Board für Arduino

· Oder Atmega2560-Board für Arduino

Schritt 3: Vorbereiten des Systems

Vorbereiten des Systems
Vorbereiten des Systems
Vorbereiten des Systems
Vorbereiten des Systems

Ich möchte einige physikalische Eigenschaften im Außen- und Innenbereich messen. Schließlich habe ich die folgenden Sensoren an ein Atmega2560-Board angeschlossen.

Innenumgebung:

1. Druck und Temperatur BMP180 x 1 Stück

2. Temperatur- und Feuchtigkeitssensor DHT11 x 1 Stück

Umgebung im Freien:

1. Umgebungslichtsensor TEMT6000 x 1 Stück

2. Druck und Temperatur BMP085 x 1 Stück

3. Temperatur- und Feuchtigkeitssensor DHT11 x 1 Stück

4. UV-Lichtsensor GUVA-S12SD x 1 Stück

Sie werden feststellen, dass ich verschiedene Sensoren zum Messen des Drucks verwendet habe. Es liegt nur daran, dass ich beim Aufbau der Schaltung keine BMP180-Modulplatine hatte. Ich empfehle, die gleichen Sensoren zu verwenden, wenn Sie eine genaue Messung und einen fairen Vergleich benötigen.

Schritt 4: Vorbereiten der Datenaufzeichnung

Außerdem möchte ich, dass das Gerät die Daten ohne Verbindung zu einem Computer speichert. Ich habe ein Datenprotokollierungsmodul mit einer Echtzeituhr hinzugefügt. Im Folgenden sind die Elemente für die Datenprotokollierung und die Kabelverbindung aufgeführt.

· SD-Karte

· CR1220-Knopfbatterie

· Datenlogging-Modul für Arduino (Lerndokument von Adafruit)

Schritt 5: Vorbereiten der Werkzeuge

Im Folgenden sind einige Werkzeuge oder Geräte aufgeführt, die zum Aufbau der Schaltung erforderlich sind.

  • 30AWG Verpackungswerkzeug
  • Lötkolben
  • Lötdraht (kein Blei)
  • Steckbrett
  • 2,54 mm Stiftleisten
  • Überbrückungsdrähte
  • Wickeldrähte (30AWG)
  • Heißkleber
  • 3D-Druck (Wenn Sie eine Hülle für Ihr Gerät benötigen)
  • Arduino IDE (Wir brauchen dies, um die Mikrocontrollerplatine zu programmieren)

Schritt 6: Setzen Sie die DS1307 Real Time Clock (RTC) auf dem Datenprotokollierungsmodul zurück

Setzen Sie die DS1307 Real Time Clock (RTC) auf dem Datenprotokollierungsmodul zurück
Setzen Sie die DS1307 Real Time Clock (RTC) auf dem Datenprotokollierungsmodul zurück
Setzen Sie die DS1307 Real Time Clock (RTC) auf dem Datenprotokollierungsmodul zurück
Setzen Sie die DS1307 Real Time Clock (RTC) auf dem Datenprotokollierungsmodul zurück

Ich möchte die Daten für wissenschaftliche Experimente verwenden. Daher ist ein korrekter Messzeitpunkt für die Datenanalyse wichtig. Die Verwendung der Funktion delay() bei der Programmierung würde zu Messfehlern bei der Zeitverschiebung führen. Im Gegenteil, ich weiß nicht, wie man eine präzise Echtzeitmessung nur auf der Arduino-Plattform durchführt. Um Abtastzeitfehler zu vermeiden bzw. den Messfehler zu minimieren, möchte ich jede Messprobe mit einer Zeitaufzeichnung nehmen. Glücklicherweise verfügt das Datenprotokollierungsmodul über eine Echtzeituhr (RTC). Wir können es verwenden, um die Zeit für die Datenabtastung auszugeben.

Um die RTC zu verwenden, folge ich der Anleitung (Link), um die RTC zurückzusetzen. Ich empfehle, dies zunächst mit dem Arduino Uno-Board zu tun. Dies liegt daran, dass Sie die Schaltung ändern müssen, wenn das Atmega2560-Board verwendet wird (I2C-Verbindung ist anders). Nachdem Sie die RTC eingestellt haben, sollten Sie die cr1220-Batterie nicht entfernen. Bitte überprüfen Sie in der Zwischenzeit den Zustand der Batterie vor der Datenaufzeichnung.

Schritt 7: Verbindung

Verbindung
Verbindung
Verbindung
Verbindung
Verbindung
Verbindung

Ich habe die Innen- und Außenmessung getrennt. Daher habe ich zwei Header zum Anschließen von zwei verschiedenen Sensorgruppen erstellt. Ich habe den leeren Platz auf dem Datenprotokollierungsmodul für die Montage der Header verwendet. Um die Schaltungsverbindung zu vervollständigen, verwende ich sowohl Löten als auch Wickeln. Der Wickelprozess ist sauber und handlich, während die Lötstelle stark und sicher ist. Sie können eine komfortable Methode zum Aufbau der Schaltung wählen. Wenn Sie das Atmega2560-Board verwenden, stellen Sie sicher, dass Sie eine Jump-Verbindung für SDA- und SCL-Pins gebaut haben. Der Anschluss der RTC am Datalogging-Schild muss neu verbunden werden.

Um die Sensoren anzuschließen, habe ich die Header an den Sensormodulen angelötet und dann habe ich Drahtwicklung verwendet, um alle Sensoren mit den Headern zu verbinden. Bei Verwendung vorhandener Sensormodule empfehle ich Ihnen, die Betriebsspannung sorgfältig zu überprüfen. Einige Sensormodule akzeptieren sowohl 5-V- als auch 3,3-V-Eingänge, andere sind jedoch darauf beschränkt, entweder nur 5V oder 3,3V zu verwenden. Die folgende Tabelle zeigt die verwendeten Sensormodule und die Betriebsspannung.

Tisch. Sensormodul und Betriebsspannung

Schritt 8: Programmierung der MCU

Programmierung der MCU
Programmierung der MCU

Zum Glück finde ich die Anwendungsbeispiele für alle Sensoren. Wenn Sie sie noch nicht verwenden, können Sie sie im Internet herunterladen oder mit dem Bibliotheksmanager in der Arduino IDE installieren.

Ich habe die Systemausgabe für jedes Sample einen String programmiert. Der String wird ausgegeben und auf der gemounteten SD-Karte gespeichert. Wenn Sie die Daten anzeigen möchten, schalten Sie das Gerät aus und entfernen Sie die SD-Karte. Anschließend können Sie die SD-Karte in einen Kartenleser einhängen. Die Datei wird als csv-Datei gespeichert. Nachdem Sie die Datendatei auf den Computer heruntergeladen haben, können Sie sie mit einem Textprogramm oder einem Arbeitsblattprogramm anzeigen.

(Sie können den Quellcode in der angehängten Datei herunterladen.)

Schritt 9: Testen Sie es und verwenden Sie es

Testen Sie es und verwenden Sie es!
Testen Sie es und verwenden Sie es!
Testen Sie es und verwenden Sie es!
Testen Sie es und verwenden Sie es!
Testen Sie es und verwenden Sie es!
Testen Sie es und verwenden Sie es!

Es ist wichtig, dass Sie die Bedeutung der Daten verstehen. Die Abtastfrequenz ist einer der wichtigsten Parameter. Das aktuelle Messzeitintervall beträgt 1 Minute, Sie müssen es möglicherweise ändern.

Außerdem würden Sie feststellen, dass die Temperaturmessung von DHT11 nicht genau ist. Wenn Sie einen genaueren Wert benötigen, können Sie einfach die Temperaturanzeige von BMP-Drucksensoren verwenden.

Danke, dass du das gelesen hast!

Empfohlen: