Machen Sie dieses einfache Wetterstationsprojekt für Häuser und Büros

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





In diesem Beitrag werden wir ein interessantes Mini-Wetterstationsprojekt auf Arduino-Basis erstellen, das Ihnen Umgebungstemperatur, Luftfeuchtigkeit, Druck, Luftqualität und viele weitere Daten aus Ihrer Umgebung zeigt, mit denen Sie das Wetter von zu Hause aus vorhersagen können.



Wenn Sie sich für Meteorologie interessieren, kann dieses Projekt nützlich sein, um lokale Wetterbedingungen und kurzfristige Änderungen zu untersuchen. Das vorgeschlagene Projekt ist ein Festkörperdesign, dh es sind keine beweglichen Teile vorhanden.

Dieses Projekt kann in Innenräumen oder in Innenräumen durchgeführt werden, in denen der Stromkreis nicht direktem Sonnenlicht, starkem Wind oder Feuchtigkeit ausgesetzt ist, wodurch die Sensoren an Bord beschädigt werden können.



Das Design:

Das vorgeschlagene Mini-Wetterstations-Schaltungsprojekt basiert auf Arduino, dem Gehirn der Wetterstation, die viele Daten von verschiedenen Sensoren sammelt und verarbeitet und auf einem 16x2-LCD-Bildschirm anzeigt.

Sie können Ihr Lieblings-Arduino-Board für dieses Projekt auswählen. Die Schaltung besteht aus drei Sensoren MQ-135, BMP180 und DHT11. Mal sehen, was jeder Sensor im Detail macht.

MQ-135 Sensor:

Der MQ-135 ist ein Luftqualitätsmesssensor, der Kohlendioxid, Alkohol, Benzol, Rauch, Butan, Propan usw. erfassen kann. Wenn die chemische Konzentration dieser Gase in der Luft hoch ist, können wir sagen, dass Luft verschmutzt ist.

Der Sensor kann Änderungen der Schadstoffkonzentration in der Luft erkennen und gibt einen geeigneten Spannungspegel aus. Die Ausgangsspannung des Sensors ist direkt proportional zur chemischen Konzentration in der Luft.

Die Spannungsänderung vom Sensor wird an Arduino weitergeleitet. Wir haben vordefinierte Schwellenwerte im Programm. Wenn der Schwellenwert überschritten wird, teilt uns der Mikrocontroller mit, ob die Luft sicher ist oder nicht.

Schaltplan

Schnittstelle MQ135 Sensor mit Wetterstationsschaltung

Das obige Diagramm zeigt den Schaltplan. Dieser Sensor benötigt eine externe 5-V-Versorgung, da sich im Sensor ein Heizelement befindet, das etwa 1 Watt verbraucht. Die Energie vom Arduino-Power-Pin kann keinen höheren Strom liefern.

Das Heizelement hält den Sensor warm und hilft bei der Probenahme einer angemessenen Menge an chemischer Konzentration in der Luft. Der Sensor benötigt einige Minuten, um die optimale Temperatur zu erreichen.

DHT11-Sensor:

Der DHT11-Sensor ist im Volksmund als Temperatur- und Feuchtigkeitssensor bekannt. Es kann Temperatur und Luftfeuchtigkeit aus der Umgebung messen, wie der Name schon sagt.

Es ist ein 4-poliges Gerät, von dem jedoch nur 3 verwendet werden. Es mag wie eine sehr einfache Komponente aussehen, verfügt jedoch über einen Mikrocontroller im Sensor, der die Daten in digitaler Form an die Arduino-Karte weiterleitet.

Es sendet jede Sekunde 8-Bit-Daten an Arduino. Um das empfangene Signal zu decodieren, müssen wir die Bibliothek in den Code aufnehmen, der dafür ausgelegt ist. Der Link für die Bibliothek wird später im Artikel angegeben.

Schaltplan:

Schnittstelle DH11 mit Arduino

Die Schaltungsverbindung vom Sensor zum Arduino ist sehr einfach. Der Ausgang des Sensors ist mit dem A1-Pin des Arduino verbunden. Die Versorgung Vcc und GND sind mit den Stromversorgungsstiften von Arduino verbunden.

Hinweis: Bitte stellen Sie sicher, dass Ihr Sensor einen Pull-up-Widerstand eingebaut hat, falls kein 4,7K-Pull-up-Widerstand am Ausgangspin des DHT11-Sensors angeschlossen ist.

BMP180 Sensor:

Der BMP180 ist ein Luftdrucksensor, mit dem Luftdruck, Höhe und Temperatur gemessen werden können. Die Temperaturmessung von diesem Sensor wird vernachlässigt, da wir einen speziellen Sensor zur Messung der Umgebungstemperatur haben.

Der Sensor misst die Höhe des Aufbaus vom Meeresspiegel aus und ist auch einer der in der Meteorologie verwendeten Parameter.

Schaltplan:

Schnittstelle BM180 mit Arduino
Es verwendet das I2C-Kommunikationsprotokoll, der SDA-Pin geht an A4 von Arduino und SCL geht an A5 von Arduino. Vcc und GND sind mit Stromversorgungsstiften von Arduino verbunden.

LCD-Verbindung:

Feuchtigkeitssensor mit Aduino


Das LCD-Display zeigt alle Daten der Sensoren an. Die Verbindung zwischen LCD-Display und Arduino ist Standard. Eine ähnliche Verbindung finden wir bei vielen anderen LCD-basierten Projekten. Stellen Sie das 10K-Potentiometer für eine optimale Sichtbarkeit auf dem LCD-Display ein.

Prototyp des Autors:

Prototypbild der Wetterstation

Hier ist der Prototyp des Autors einer Mini-Wetterüberwachungsschaltung, bei der alle in den Schaltplänen gezeigten Sensoren mit der Arduino-Platine verbunden sind.

Hinweis: Die Schaltungsverbindung von jedem Sensor und LCD-Display sollte mit einer einzelnen Arduino-Karte verbunden sein. Wir haben in jedem Schaltplan eine diskrete Sensorverbindung angegeben, um Verwirrung beim Duplizieren der Schaltung zu vermeiden.

Laden Sie die Bibliotheksdateien herunter, bevor Sie den Code hochladen:

DHT11-Bibliothek: https://arduino-info.wikispaces.com/file/detail/DHT-lib.zip

BMP180-Bibliothek: github.com/adafruit/Adafruit_BMP085_Unified.git

Programmcode:

#include
#include
#include
#include
#define DHTxxPIN A1
LiquidCrystal lcd(12,11,5,4,3,2)
dht DHT
Adafruit_BMP085 bmp
int ack
int input = A0
unsigned long A = 1000L
unsigned long B = A * 60
unsigned long C = B * 2
int low = 300
int med = 500
int high = 700
int x = 4000
void setup()
{
Serial.begin(9600)
lcd.begin(16,2)
lcd.setCursor(0,0)
lcd.print('Sensors are')
lcd.setCursor(0,1)
lcd.print('getting ready')
delay(C)
}
void loop()
{
ack=0
int chk = DHT.read11(DHTxxPIN)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack=1
break
}
if(ack==0)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Temp(*C)= ')
lcd.print(DHT.temperature)
lcd.setCursor(0,1)
lcd.print('Humidity(%) = ')
lcd.print(DHT.humidity)
delay(x)
}
if(ack==1)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('NO DATA')
lcd.setCursor(0,1)
lcd.print('Check Sensor')
delay(x)
}
if (!bmp.begin())
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('BMP180 sensor')
lcd.setCursor(0,1)
lcd.print('not found')
while (1) {}
}
lcd.clear()
lcd.setCursor(0,0)
lcd.print('----Pressure---- ')
lcd.setCursor(0,1)
lcd.print(bmp.readPressure())
lcd.print(' Pascal')
delay(x)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('----Altitude----')
lcd.setCursor(0,1)
lcd.print(bmp.readAltitude(101500))
lcd.print(' meter')
delay(x)
lcd.clear()
lcd.setCursor(0,0)
lcd.print(' Air Quality:')
if(analogRead(input)==0)
{
lcd.setCursor(0,1)
lcd.print(' Sensor Error')
delay(x)
}
if(analogRead(input)0)
{
lcd.setCursor(0,1)
lcd.print(' GOOD')
delay(x)
}
if(analogRead(input)>low && analogRead(input) {
lcd.setCursor(0,1)
lcd.print(' GETTING BAD')
delay(x)
}
if(analogRead(input)>=med && analogRead(input) {
lcd.setCursor(0,1)
lcd.print(' VERY POOR')
delay(x)
}
if(analogRead(input)>=high)
{
lcd.setCursor(0,1)
lcd.print(' WORST')
delay(x)
}
}

HINWEIS:

Die erläuterte Mini-Wetterstationsschaltung benötigt 2 Minuten, um die Messwerte des Sensors anzuzeigen. Bis dahin wird angezeigt, dass die Sensoren bereit sind. Dies liegt daran, dass der MQ-135-Sensor 2 Minuten benötigt, um die optimale Betriebstemperatur zu erreichen.




Zurück: Wie man einen einfachen Stofftrockner für die Regenzeit baut Weiter: Clap Operated Toy Car Circuit