• No results found

W E E R S T A T I O N

N/A
N/A
Protected

Academic year: 2022

Share "W E E R S T A T I O N"

Copied!
18
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

W E E R S T A T I O N

(2)

W E E R S T A T I O N

1. Beschrijving van het project en diens componenten.

1.1. Arduino-compatibel bord.

1.2. Mini Breadboard.

1.3. Temperatuur- en relatieve vochtigheidssensor.

1.4. LCD-scherm met I2C-adaptermodule.

2. Montage van het project.

2.1. Montage.

2.2. Schakelschema.

3. Programmatie.

(3)

W E E R S T A T I O N

Kun u zichzelf voorstellen dat u een weerstation bouwt? De temperatuur en relatieve vochtigheid in uw huis meet en de werking hiervan begrijpt en de functie van elk van de componenten?

Met het Inputmakers Weerstation maak u dit werkelijkheid. U breidt uw kennis van robotica en programmeren uit door elke instructie van het programma te begrijpen en, belangrijker nog, u zult er plezier aan beleven!

Met het Inputmakers Weerstation leert u over:

• Het Arduino-compatibele bord.

• Het mini breadboard.

• De model DHT11 temperatuur- en relatieve vochtigheidssensor.

• Het LCD-scherm met I2C-adaptermodule.

• Circuit montage.

• Programmeren.

1. BESCHRIJVING VAN HET PROJECT EN ZIJN ONDERDELEN:

Het weerstation is een robotproject dat werkt om de temperatuur en relatieve vochtigheid van de omgeving te kennen. Een sensor meet deze gegevens, het Arduino- compatibele bord verwerkt ze en ze worden in realtime op het scherm weergegeven.

Het InputMakers weerstation bestaat uit:

• Arduino-compatibel bord met USB-kabel.

• Mini breadboard.

• 9 stuks verbindingskabels.

• DHT11-sensor.

• LCD-scherm met I2C-module.

• 9V batterij.

• Batterij verbinder.

• Kartonnen stukken.

(4)
(5)

1.1. DE ARDUINO COMPATIBELE BOARD:

Het kan worden opgevat als een kleine computer die informatie ontvangt van verschillende sensoren. Deze sensoren kunnen verschillend en zeer gevarieerd zijn, bijvoorbeeld: temperatuur en vochtigheid, geluid, knoppen, eindschakelaars, etc.

Na het uitvoeren van een programma met een reeks opdrachten, sturen we de uitgangssignalen om verschillende apparaten te besturen, bijvoorbeeld: een led-lamp, een motor, een bel, het weergeven van informatie op een scherm ...

Dit bord is gemaakt van:

• Een microcontroller.

• Digitale pinnen: 14 digitale ingangen/uitgangen die we pinnen zullen noemen.

Elk van deze pinnen kan worden geconfigureerd als een ingang of een uitgang. Alleen de 6 met het ~ -symbool kunnen worden gebruikt als PWM-uitgangen (Pulse Width Modulation).

Binnen de digitale pinnen vinden we de RX SERIAL IN-pin (ontvangst) in positie 0 en de TX SERIAL OUT-pin (transmissie) in positie 1.

• 6 analoge ingangen: pinnen bedoeld om analoge signalen te lezen.

• Power header.

• Externe voedingsconnector: accepteert spanningen tussen 7 en 12V,

• USB-aansluiting (5V).

Digitale pinnen

Microcontroller

Analoge ingangen Power header

USB-aansluiting

Voeding extern

(6)

1.2. MINI BREADBOARD BORD:

Het is een plat plastic onderdeel met gaten verbonden door rijen. Het wordt gebruikt om elektronische schakelingen te monteren zonder hun componenten te hoeven solderen, dit bevordert een werkomgeving waar we componenten en schakelingen zo vaak als we willen kunnen testen, monteren en demonteren.

In ons geval gebruiken we het mini breadboard vanwege de beperkte ruimte die we hebben in ons project.

We kunnen het breadboard in twee identieke gebieden verdelen, gescheiden door een centrale groef. In elke zone zijn de gaten in elk van de rijen elektrisch met elkaar verbonden. Elke rij is echter elektrisch geïsoleerd van de andere, zoals hieronder wordt uitgelegd.

We zullen het mini breadboard gebruiken om het geheel te monteren dat wordt gevormd door de weerstand en de zoemer.

1.3. TEMPERATUUR EN RELATIEVE VOCHTIGHEIDSSENSOR:

Is het onderdeel of invoerapparaat waarmee we temperatuur en relatieve vochtigheid kunnen meten.

DE GATEN IN DE GROENE KOLOM ZIJN ELEKTRISCH MET ELKAAR VERBONDEN, MAAR GEÏSOLEERD VAN DE ANDERE, BIJVOORBEELD DE BLAUWE.

(7)

De DHT11-sensor levert ons het digitale ingangssignaal. De belangrijkste kenmerken zijn:

Temperatuurmeting Van 0ºC tot 50ºC (± 2ºC tot 25ºC) Relatieve

vochtigheidsmeting Meet tussen 20% en 80% (± 5ºC tussen 0ºC en 50ºC)

Voeding Tussen 3,5V - 5V

Betreffende de ingang:

We weten dat temperatuur en vochtigheid fysieke grootheden zijn en daarom analoge signalen, maar de DHT11-sensor zal analoog naar digitaal converteren en vervolgens zullen wij een digitaal signaal lezen. Voor de meest nieuwsgierigen wordt de transformatie als volgt gedaan: het dataframe om de informatie te verzenden is 40 bits geordend als volgt:

• Eerste groep van 8 bits: komt overeen met het hele deel van de temperatuur.

• Tweede groep van 8 bits: komt overeen met het decimale deel van de temperatuur.

• Derde groep van 8 bits: komt overeen met het hele deel van de relatieve vochtigheid.

• Vierde groep van 8 bits: komt overeen met het decimale deel van de relatieve vochtigheid.

• Vijfde groep van 8 bits: de zogenaamde pariteitsbits. Wordt gebruikt om te bevestigen dat er geen corrupte gegevens zijn. (Er wordt geverifieerd dat de som van de eerste 4 groepen als resultaat de pariteitsbits geeft).

o Voorbeeld:

- Temperatuur: 40,5 ° C - Relatieve vochtigheid: 26,8%

0101000 + 00000101 + 00011010 + 00001000 = 01001111

40 + 5 + 26 + 8 = 79

8 bits relatieve vochtigheid (decimaal deel) 8 bits relatieve

vochtigheid (integer deel) 8 bits

temperatuur (integer deel)

8 temperatuurbits

(decimaal deel)

8 bits pariteit

(8)

1.4. LCD-SCHERM MET I2C-ADAPTERMODULE:

Is het onderdeel of het apparaat waarmee we de temperatuur en relatieve vochtigheid kunnen aflezen. Om de communicatie en verbinding van ons Arduino-compatibele bord met het LCD-scherm te vergemakkelijken, gebruiken we de I2C-adaptermodule. In ons geval zijn beide elementen al gesoldeerd.

In de I2C-module kunnen we observeren:

• Jumper backlight: Staat toe om het scherm donkerder te maken of de groene achtergrondkleur te behouden.

• Een potentiometer om het contrast van het display aan te passen.

• De verbindingspinnen: Vcc (5 V), GND, SDA en SCL.

Wat betreft de output: de output zal ook digitaal zijn, aangezien we een reeks waarden op het LCD-scherm laten zien met behulp van het I2C-protocol (2-draads controlebus, SDA voor data en SCL die de klok bestuurt).

MÓDULO I2C

JUMPER BACKLIGHT

PINES DE CONEXIÓN POTENCIÓMETRO

Module I2C

Verbindingspinnen Potentiometer

Jumper backlight

(9)

2. MONTAGE VAN HET PROJECT:

2.1. MONTAGE:

* Het wordt aanbevolen om hete siliconen te gebruiken om de verschillende delen van het project te verlijmen.

a) De stukken van het project moeten langs de onderbroken lijnen worden gevouwen. We drukken met de rand van een liniaal op die lijn en buigen het stuk.

(10)

b) We monteren het kartonnen stuk A. We lijmen de zijflappen met hete siliconen en/of witte lijm.

c) We lijmen het stuk karton B op de flappen van stuk A. Op deze manier laten we de deksel comfortabel openen en sluiten.

Let op! We willen dat de doos kan worden geopend en gesloten. We zullen daarom niet alle flappen lijmen, alleen de aangegeven flappen.

Kartonnen stuk A

Kartonnen stuk A

Kartonnen stuk B

(11)

d) LCD-scherm aansluiting. Onthoud dat het LCD-scherm al wordt geleverd met de gesoldeerde I2C-module, die geeft de te maken verbindingen aan:

(Op pagina 12 vindt u het schema van alle aansluitingen, u kunt deze als referentie gebruiken.)

I2C-MODULE AANSLUITINGEN OP DE BOARD

OF HET MINI BREADBOARD

GND (aarde of negatieve pin) GND negatieve rij op mini breadboard

Vcc (voedingspin) 5V positieve rij op mini

breadboard

SDA (seriële gegevens: verbinding waar

de informatie naar wordt verzonden) Analoge pin 4 (A4) op het bord

SCL (seriële klok: bepaalt de

communicatiesnelheid) Analoge pin 5 (A5) op het bord

Fabrikanten gebruiken twee soorten chip voor de I2C-module, uw module kan de PCF8574T-chip of de PCF8574AT-chip hebben, afhankelijk van het chipmodel wordt deze geleverd met een adres of anders. We zorgen ervoor dat we het juiste adres (het adres dat bij uw module hoort) in het programma zetten.

CHIP PFC8574 ADRES (ADDRESS)

PFC8574T 0x27

PFC8574AT 0x3f

e) DHT11 sensoraansluiting. We halen de kabels die naar de DHT11

temperatuursensor gaan door het gat in de kap en verbinden ze met de sensor.

De DHT11-sensor heeft drie beschikbare verbindingspinnen, deze zullen verbinding maken:

DHT11 SENSOR AANSLUITINGEN OP HET BORD OF HET MINI BREADBOARD

S gemerkt Pin (signaal) Digitale pincode 9 op het bord (Hij zal het signaal lezen).

Pin gemarkeerd met minteken (-) GND negatieve rij op mini breadboard

Ongemarkeerde middelste pin. (Het komt overeen met

positief)

5V positieve rij op mini breadboard

f) We monteren het kartonnen stuk C bovenop de doos. Dit helpt ons om de DHT11- temperatuursensor te beschermen. We lijmen de DHT11 temperatuursensor op onderdeel C met hete siliconen zodat deze niet beweegt. Ten slotte lijmen we

(12)
(13)

2.2. CIRCUIT PLATTEGROND:

* Al onze schema's zijn ontworpen met gratis software en open source fritzing (Fritzing is open source, free software). Deze software

Negatieve rij

Positieve rij

(14)

Programmatie:

1. Download het Arduino IDE-programma (vrij en gratis software) van de officiële Arduino-website en installeer het op uw computer.

2. Zodra het programma correct is geïnstalleerd, moeten we verschillende bibliotheken installeren om het correct te laten werken.

Maar eerst, wat is een bibliotheek? Het is een codebestand dat we in ons programma opnemen en ons nieuwe functionaliteiten biedt.

We zullen toevoegen:

- de DHT.h-bibliotheek voor de DHT11-sensor.

- de Adafruit_Unified_Sensor-bibliotheek omdat deze afhankelijk is van de DHT- bibliotheek.

- de NewLiquidCrystal-bibliotheek voor het LCD-scherm met de I2C-module.

Dit staat ons toe om met de componenten te werken.

Hoe voegen we ze toe?

Voor de DHT.h-bibliotheek

- We gaan naar: Tools > Bibliotheken beheren - De bibliothekenbeheerder verschijnt.

- We typen de zoekopdracht "DHT-sensorbibliotheek" in. We zoeken het en installeren het vervolgens. Het is mogelijk dat er een dialoogvenster verschijnt waarin ons om toestemming wordt gevraagd om andere noodzakelijke

gerelateerde bibliotheken te installeren, in dat geval zullen we alles installeren (Install all).

Voor de Adafruit_Unified_Sensor-bibliotheek

- We gaan terug naar: Tools > Bibliotheken beheren - De Bibliotheekbeheerder zal verschijnen.

- We typen als zoekopdracht "Adafruit_Unified_Sensor". We zoeken het en gaan verder met het installeren.

Voor de NewLiquidCrystal-bibliotheek is het niet mogelijk om deze toe te voegen met de Library Manager en daarom moet deze handmatig worden geïnstalleerd.

Hiervoor kunnen we naar de link gaan:

https://github.com/fmalpartida/New-LiquidCrystal

(15)

Vervolgens pakken we dit bestand uit, er wordt een nieuwe map gegenereerd met de verschillende bestanden waaruit de bibliotheek bestaat. We kopiëren deze map en plakken deze in de map "bibliotheken" in de map "Arduino".

Klaar, het is al geïnstalleerd!

3. Verbind het bord met de computer met de USB-kabel.

4. Controleer of u het model van het Arduino/Genuino Uno bord heeft geselecteerd.

We gaan naar: Tools > Bord gaan: "Arduino/Genuino Uno"

Het bord is standaard aangesloten, maar het is belangrijk om te controleren of het correct is geselecteerd. Zo niet, dan werkt het programma niet.

5. Controleer of het bord is aangesloten op de USB-poort.

Tools> Port: usbserial (het maakt standaard verbinding).

6. Controleer of u in het programma het juiste adres (address) invoert dat overeenkomt met het chipmodel van uw I2C-module.

• 0x27 als u het PCF8574T-model heeft

• 0x3f als u het PCF8574A-model hebt

7. Schrijf de programmeercode (pagina 17 en 18) in de Arduino IDE.

We raden aan om het met de hand te kopiëren om beter te kunnen internaliseren wat we programmeren. Als u een komma, haakjes, enz. vergeet te schrijven, krijgt u een syntaxfout. Controleer deze fout in de regel die het programma heeft gemarkeerd.

Als u besluit de code te kopiëren en te plakken, wordt deze, afhankelijk van de pdf-lezer, mogelijk niet correct gekopieerd en blijft er een programmeerregel over. Als dat zo is, kunt u de code altijd in delen kopiëren en plakken of voltooien door het deel te schrijven dat niet correct is geplakt.

Als u toch besluit het programma te kopiëren en te plakken, probeer dan elke regel code te begrijpen, hiervoor heeft u de uitleg in het programma.

Alles rechts van // of tussen /* en */ wordt niet uitgevoerd door het programma.

(16)

8. Druk op het VERIFY-pictogram om te controleren of het programma geen fouten in de code bevat. Als de verificatie klopt en er is geen fout, klik dan op het UPLOAD-icoon.

Nu is het programma geüpload naar het bord, de temperatuur- en relatieve vochtigheidsmetingen zullen op het LCD-scherm verschijnen.

Pas het displaycontrast aan met de potentiometer op de I2C-module.

9. Zodra het programma naar het bord is geüpload, kunt u de USB loskoppelen van en het voeden met de 9V-batterij.

Verduidelijkingen over programmeren in de Arduino IDE:

Als u niet bekend bent met programmeren, hoeft u zich geen zorgen te maken. We zullen u een reeks basisideeën geven van waaruit u kunt beginnen te begrijpen waar dit allemaal over gaat.

Er zijn verschillende programmeertalen, sommige lijken meer op andere, maar laten we zeggen dat de taal die in Arduino wordt gebruikt erg lijkt op een van de meest gebruikte talen bij het programmeren, de C ++ -taal.

Voor degenen die kunnen programmeren in C ++ duurt het maar enkele minuten om zich aan te passen aan de Arduino IDE taal.

Wat u in de code van een programma in de Arduino IDE aantreft, zijn over het algemeen 3 onderdelen:

1. Het eerste onderdeel, waarin de benodigde bibliotheken zullen worden opgenomen om het programma uit te voeren en variabelen zullen worden gedefinieerd.

2. Het tweede onderdeel, de void setup, hier bepalen we of de Arduino pinnen zullen corresponderen met input of output variabelen (met het pinMode commando) en we initialiseren systeemelementen zoals sensoren, schermen ...

3. Het derde onderdeel, de leegte-lus, implementeerd de nodige commando's zodat het programma kan doen wat we willen.

Afhankelijk van het programma en de programmeur kunnen er variaties zijn.

Op de volgende pagina kunt u het programma zien.

(17)

Hier is het programma:

/ * InputMakers Weerstation project.

Programma om op het LCD-scherm de temperatuur en de relatieve vochtigheid weer te laten geven via de DHT11-sensor.

Instructies:

Sluit de signaalpin van de DHT11-sensor aan op digitale ingang 9.

Het is noodzakelijk om de DHT-bibliotheek te downloaden om deze sensor te kunnen gebruiken.

Onthoud dat we een LCD-scherm zullen gebruiken dat wordt bestuurd door een seriële I2C-module

#include <Wire.h> // We nemen de Wire.h-bibliotheek op die communicatie tot stand brengt met het I2C-protocol.

#include <LiquidCrystal_I2C.h> // We nemen de bibliotheek op om het LCD-scherm te gebruiken met de I2C-module.

LiquidCrystal_I2C lcd (0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Stel het adres / de verbinding van het LCD-scherm en de I2C-module in met de Arduino (Set the LCD I2C address) Als het niet werkt, controleer dan deze adressen: 0x3f (PCF8574AT-chip) of 0x27 (PCF8574T-chip).

#include "DHT.h" // We nemen de DHT-sensorbibliotheek op.

#define DHTPIN 9 // We definiëren de digitale pin waarop we de sensor aansluiten, in dit geval op digitale pin 9.

#define DHTTYPE DHT11 // We definiëren het type sensor.

DHT dht (DHTPIN, DHTTYPE); // We initialiseren de DHT11-sensor.

void setup () {

lcd.begin (16,2); // We initialiseren het display met 16 karakters en 2 regels.

dht.begin (); // We initialiseren de DHT-sensor.

void loop () {

int h = dht.readHumidity (); // We definiëren de hele variabele h en lezen de vochtigheid.

int t = dht.readTemperature (); // We definiëren de hele variabele t en lezen de temperatuur.

lcd.clear (); // Verwijder alle symbolen van het LCD-scherm.

lcd.setCursor (0,0); // st de eerste letter in segment 0 van regel 1 (het begint te tellen vanaf 0).

lcd.print ("relatieve vochtigheid"); // Druk relatieve vochtigheid op het scherm af.

lcd.setCursor (6,1); // Plaats de eerste letter in segment 6 van regel 2 (het begint te tellen vanaf 0).

lcd.print (h); // Druk de luchtvochtigheid af op het scherm.

lcd.print ("%"); // Print% naar scherm.

delay (2500); // Pauzeer het programma 2,5 seconden.

lcd.clear (); // Verwijder alle symbolen van het LCD-scherm.

lcd.setCursor (3.0); // Plaats de eerste letter in segment 3 van regel 1 (het begint te tellen vanaf 0).

lcd.print ("Temperatuur"); // Print temperatuur op scherm.

lcd.setCursor (6,1); // Plaats de eerste letter in segment 6 van regel 2 (het begint te tellen vanaf 0).

lcd.print (t); // Print de temperatuur op het scherm.

lcd.print ("C"); // Afdrukken op scherm C.

delay (2500); // Pauzeer het programma 2,5 seconden.

(18)

lcd.setCursor (0,0); // Plaatst de eerste letter in segment 0 van regel 1 (het begint te tellen vanaf 0).

lcd.print ("Lezingen:"); // Print metingen op het scherm.

delay (2500); // Pauzeer het programma 2,5 seconden.

Gefeliciteerd! U hebt een Weerstation vanaf nul gemaakt!

Van het InputMakers-team willen we u feliciteren met het feit dat u uzelf de kans heeft gegeven om iets nieuws te leren. We hopen dat u net zoveel plezier hebt beleefd aan uw WEERSTATION als bij de voorbereiding ervan.

Hier zijn een aantal punten van de belangrijkste concepten die u in dit project hebt geleerd:

• Het Arduino-compatible bord.

• Het mini breadboard.

• De model DHT11 temperatuur- en relatieve vochtigheidssensor.

• Het LCD-scherm met I2C-adaptermodule.

• Analoge ingangen.

• Circuit montage.

• Programmeren in de Arduino IDE.

Groeten van het InputMakers-team en blijf leren!

Referenties

GERELATEERDE DOCUMENTEN

In verband met het coronavirus mogen maximaal 30 kerkgangers de dienst bijwonen (diegenen die een functie hebben niet meegerekend). Wilt u op Paasmorgen helemaal

Dit document voor ouders is bedoeld om jou als ouder concrete tips te geven hoe je aan de veerkracht van je kind - en jezelf - kunt werken. In deze uitgave gaan we specifiek in

Het jonge en enthousiaste team van Brasserie R-1854 heeft een passie voor eerlijke, verse producten en ambachtelijk bereide gerechten.. Alles wordt geserveerd met een glimlach

Bij uitkeringsovereenkomsten is het uitvoerbaar om de indicatieve gevolgen voor het pensioeninkomen en de indicatieve hoogte van de afkoopwaarde te tonen als een (gewezen)

Steenmarter is niet uit de directe omgeving bekend, maar het plangebied vormt wel geschikt leefgebied voor de soort.. Sporen van deze soort, zoals uitwerpselen

Geen of lichte interventie waar het kan, en hulp op maat waar nodig.. Hierdoor werken

Daarnaast zijn er voor het VO extra vrije dagen (indien en voor zover feestdagen niet in een centraal vastgelegde vakantie vallen). Denk aan Tweede Paasdag, Tweede Pinksterdag,

Het is uitdrukkelijk verboden voor om het even welke werknemer om, in bezit te zijn van software zonder geldige licentie, dergelijke software in de bedrijfsgebouwen binnen te