Introduction: Weerstation

About: student NMCT at Howest (Kortrijk Belgium)

In dit project zullen we een weerstation
maken dat de luchtdruk, luchtvochtigheid, lichtsterkte en temperatuur zal meten m.b.v. Raspberry Pi, Python (codering), MySQL (database) en Flask (webserver).

Step 1: Benodigdheden

De benodigde componenten voor dit project

zijn:

- Multibox

- DHT22 luchtvochtigheid- en temperatuursensor

- BMP280 luchtdruksensor

- LDR

- LCD-scherm

- MCP3008

- Raspberry Pi 3

- Trimmer

- Totale kostprijs is ongeveer €80.

De gereedschap dat ik heb gebruikt:

- Conische boor

- 2 wartels

- Dubbelzijdige plakband

- Ijzerzaag

Step 2: Schakeling

LCD

- VSS naar Raspberry Pi’s ground

- VDD naar Raspberry Pi’s 5V

- V0 naar middelste pin trimmer

- RS naar GPIO pin

- R/W naar Raspberry Pi’s ground

- E naar GPIO pin

- D4 naar GPIO pin

- D5 naar GPIO pin

- D6 naar GPIO pin

- D7 naar GPIO pin

- A naar Raspberry Pi’s 5V

- K naar Raspberry Pi’s ground

Trimmer

- Naar Raspberry Pi’s 5V

- Naar LCD-pin V0

- Naar Raspberry Pi’s ground

DHT22

- VCC naar Raspberry Pi’s 3V3

- GND naar Raspberry Pi’s ground

- DAT naar Raspberry Pi’s GPIO pin 4

- 470 ohm tussen VCC en DAT

BMP280

- VIN naar Raspberry Pi’s 5V

- GND naar Raspberry Pi’s ground

- SCK naar GPIO pin 3 SCL

- SDI naar GPIO pin 2 SDA

MCP3008

- VDD naar Raspberry Pi’s 3V3

- VREF naar Raspberry Pi’s 3V3

- AGND naar Raspberry Pi’s ground

- CLK naar GPIO pin 11 SCLK

- DOUT naar GPIO pin 9 MISO

- DIN naar GPIO pin 10 MOSI

- CS naar GPIO pin 8 CE0

- DGND naar Raspberry Pi’s ground

- CH7 naar LDR en 10k ohm weerstand

LDR

- Naar MCP3008 pin CH7 en parallel 10k ohm weerstand

- Naar Raspberry Pi’s ground

Step 3: BMP280

BMP280 I2C of SPI Luchtdruk temperatuur

sensor deze nieuwe sensor van Bosch meet de temperatuur en luchtdruk. Het is de volgende generatie upgrade van de BMP085 / BMP180 / BMP183. Deze sensor is zeer geschikt om alle weersomstandigheden te meten en kan worden gebruikt in zowel I2C als SPI.

De BMP280 precisie-sensor van Bosch is de beste voordelige, precisie-sensing oplossing voor het meten van de barometrische druk met ± 1 hPa nauwkeurigheid en de temperatuur met ± 1,0 ° C nauwkeurigheid. De drukmetingen zijn zo goed, waardoor deze sensor ook als hoogtemeter kan worden gebruikt met een nauwkeurigheid van 1 meter.

Step 4: DHT22

DHT22 is een digitale

temperatuur en luchtvochtigheid sensor. Output naar een digitale pin. De DHT22 is preciezer en heeft een groter bereik dan de DHT11.

DHT22 specificaties:

– Werkt op: 3.3 – 6V.

– Temperatuur bereik: -40 – +80 ºC.

– Temperatuur nauwkeurigheid: ±0,5 ºC.

– Vochtigheid bereik: 0-100% RH.

– Vochtigheid nauwkeurigheid: ±2,0% RH.

– Response tijd: < 3 sec.

Step 5: LCD Scherm

HD44780 LCD controller met 16×2 Karakters display module met blauw

backlight en witte karakters. 2 regels, 16 karakters per regel. Hoog contrast en grote kijkhoek. Contrast instelbaar door middel van een aan te sluiten regelbare weerstand (potentiometer/trimmer).

HD44780 16×2 blauw specificaties:

– Werkt op: 5V

– Instelbaar contrast.

– Afmetingen: 80mm x 35mm x 11mm.

– Zichtbaar display: 64.5mm x 16mm.

Step 6: MCP3008

Een analoog-digitaalomzetter of AD-converter (ADC) zet een analoog

signaal, bijvoorbeeld een spraaksignaal, om in een digitaal signaal.

De MCP3008 heeft 8 analoge ingangen en is met een SPI interface uit te lezen op een Arduino, Raspberry Pi, ESP8266

De MCP zet een analoge voltage om in een getal tussen de 0 en 1023 (10 bit).

Step 7: Behuizing

Voor de behuizing heb ik een multibox gebruikt waarvan het deksel

bestaat uit polycarbonaat. Voor de UTP-kabel en de voedingskabel naar de Raspberry Pi worden een 2 gaten geboord in de multibox met een conische boor waarna deze 2 kabels door een wartel worden gestoken. Met deze conische boor wordt ook een gat gemaakt voor de LDR die dan wordt vastgeplakt met dubbelzijdige plakband. Ook voor de Raspberry Pi, breadbords, DHT22 en BMP280 is dubbelzijdig plakband gebruikt om deze onderaan in de multibox vast te maken. Voor het LCD scherm is een ijzerzaag gebruikt om een gat te zagen van 7cm op 2,5cm in het deksel van polycarbonaat. Dan werden er 2 gaten geboord in het deksel zodat het LCD scherm vasthangt met 2 schroeven.

Step 8: Database

Step 9: Code

https://github.com/MatthiasBaert/WeerstationEnFlask en https://github.com/MatthiasBaert/Flask