English Click this button for the international website

Grove voor Arduino: Thermometer en Hygrometer

Een thermometer en hygrometer maken met Arduino is heel eenvoudig. Sluit een Arduino, een LCD-scherm en een sensor met een paar jumperdraden aan en je bent klaar om te beginnen met programmeren. Grove van Seeed Studio maakt het nog eenvoudiger door de modulaire benadering en het vervangen van de wirwar van losse draden door flatcables.

Grove voor Arduino Thermometer en Hygrometer Project
Grove voor Arduino Thermometer en Hygrometer Project

Als eerste kennismaking met het Grove-systeem zullen we een eenvoudige thermometer en hygrometer bouwen. Voor dit kleine project zullen we de volgende items gebruiken:

We zullen deze onderdelen met elkaar verbinden, en daarna de code uploaden naar de Arduino. En dat is alles, daarna ben je klaar om te experimenteren en je eigen aanpassingen te maken. Maar laten we eerst kijken wat dit Grove-systeem nu precies is.

Wat is Grove?

Grove is een open-source, modulair, gestandaardiseerd prototypesysteem. Het hanteert een bouwsteenbenadering voor het bouwen van elektronicaprojecten. In vergelijking met de traditionele jumperdraden- of soldeersystemen is het eenvoudiger om verbindingen te maken, te experimenteren en te bouwen en wordt het leren eenvoudiger.

Het systeem bestaat uit een basis-shield voor de microcontroller en verschillende modules met gestandaardiseerde connectoren. Het shield zorgt voor een gemakkelijke aansluiting van elke input of output van de modules.

Het Grove-systeem
Het Grove-systeem

Elke module heeft een specifieke functie, zoals een knop of een sensor. Er zijn al meer dan 280 modules en elke module wordt geleverd met duidelijke documentatie en democode om je te helpen snel aan de slag te gaan.

Een basis-shield is eigenlijk niet eens nodig Grove-modules aan te kunnen sluiten. Je kunt een kabel (Grove naar Pin Header Converter) gebruiken om tussen de pinnen van de Raspberry Pi of Arduino en de modules aan te sluiten.

Grove Shield voor Arduino Nano

We zullen het “Grove-schild voor Arduino Nano” gebruiken als het basis-shield voor dit project. Zoals de naam al aangeeft, is dit schild gemaakt voor Arduino Nano-compatibele boards. Seeed Studio heeft een eigen origineel Seeeduino Nano-bord, maar je kunt in plaats daarvan elke willekeurige kloon gebruiken.

Grove Shield voor Arduino: Pinout
Grove Shield voor Arduino: Pinout

Het schild breekt de pinnen van de Nano uit en zet om naar 8 Grove-connectoren. Dat zijn 3 digitale connectoren, 3 analoge connectoren, 1 I2C-connector en 1 UART-connector. Een erg leuke functie is dat je standaard vrouwelijke headers op het bord kunt solderen. Op deze manier kunt je zowel de Grove-connectoren als de normale jumperdraden samen gebruiken.

Grove 16×2 LCD-scherm

Voor het display gebruiken we een eenvoudig 16×2 monochroom wit-op-blauw LCD-display. Het kan 2 rijen van 16 witte tekens op een blauwe achtergrond weergeven en heeft een zeer heldere achtergrondverlichting. Er zijn ook zwart-op-rood en zwart-op-geel displays beschikbaar. Het display wordt geleverd met een Grove-kabel.

Grove 16x2 Monochroom LCD Scherm
Grove 16×2 Monochroom LCD Scherm

Het display wordt bestuurd door de I2C-bus en is daarom eenvoudig te bedienen met slechts twee datadraden. Bovendien is het compatibel met 3.3V en 5V, dus je kunt het niet alleen gebruiken met de 5V Arduino maar ook met de 3.3V Raspberry Pi en microcontrollers zoals de ESP8266 en ESP32.

Grove DHT11 temperatuur- en vochtigheidssensor

DHT11 is de meest voorkomende temperatuur- en vochtigheidsmodule voor Arduino en Raspberry Pi. De sensor kan de temperatuur meten van 20 tot 60 ℃ met een nauwkeurigheid van ± 2% en de relatieve vochtigheid van 5 tot 95% met een nauwkeurigheid van ± 5%. De sensor is populair vanwege zijn goede eigenschappen zoals laag stroomverbruik en goede stabiliteit op lange termijn.

Grove DHT11 Temperatuur- en luchtvochtigheidssensor

Het digitale signaal wordt uitgevoerd via de ingebouwde ADC. Je kunt het daarom aansluiten op een van de digitale pinnen van de microcontroller. De sensor wordt geleverd met een Grove-kabel.

Aansluiten

Het bouwen van het project is heel eenvoudig. Eerst zullen we kijken naar de hardware:

  • Plaats de Arduino Nano in de headers op het shield. Zorg ervoor dat de oriëntatie correct is: zie de locatie van de USB-poort die op het shield is gedrukt.
  • Sluit het LCD-scherm aan op de I2C-poort op het shield.
  • Vervolgens sluit je de DHT11-sensor aan op de D2-poort op het shield.
  • Ten slotte sluit je de Arduino op de pc aan met de USB-kabel.
Grove Shield voor Arduino: aansluitingen
Grove Shield voor Arduino: aansluitingen

Wanneer je alle componenten hebt aangesloten, zijn we klaar om de bibliotheken te installeren en de schets te uploaden.

Arduino-bibliotheken

Voordat we de schets kunnen compileren en uploaden, moeten we eerst de bibliotheken (libraries) voor het display en de sensor installeren.

In de Arduino IDE kun je de bibliotheken installeren door de .zip-bestanden toe te voegen via het Sketch-menu:

  • Schets > Bibliotheek gebruiken > .ZIP bibliotheek toevoegen…

Nadat je beide bibliotheken hebt toegevoegd, ben je klaar om zelf een ​​schets te schrijven of de onderstaande voorbeeldschets te gebruiken.

Arduino schets

Je kunt de volgende voorbeeldschets gebruiken als uitgangspunt voor je eigen experimenten. Zie ook de voorbeelden die bij de bibliotheken zijn geleverd. De onderstaande schets is gebaseerd op die voorbeelden, dus het is zeker de moeite waard die voorbeelden te bekijken.

/*
  Grove weather station
  With DHT 11 and 16x2 LCD
*/

#include "DHT.h"
#define DHTPIN 2     // Digital pin
#define DHTTYPE DHT11   // DHT 11

DHT dht(DHTPIN, DHTTYPE);

byte degree_symbol[8] =
{
  0b00111,
  0b00101,
  0b00111,
  0b00000,
  0b00000,
  0b00000,
  0b00000,
  0b00000
};

#include 
#include "rgb_lcd.h"

rgb_lcd lcd;

void setup()
{
  Wire.begin();
  dht.begin();
  
  lcd.begin(16, 2); // set up the LCD's number of columns and rows:

  lcd.createChar(1, degree_symbol);

  // Print a message to the LCD.
  lcd.setCursor(0, 0);
  lcd.print("Seeedstudio");
  lcd.setCursor(0, 1);
  lcd.print("Weather station");

  delay(3000);
  lcd.clear();
}

void loop()
{
  float temp_hum_val[2] = {0};


  lcd.setCursor(0, 0);

  if (!dht.readTempAndHumidity(temp_hum_val)) {
    lcd.print("Temp.: ");
    lcd.print((int)temp_hum_val[1]);
    lcd.print("\tC");

    lcd.setCursor(0, 1);
    lcd.print("Humidity: ");
    lcd.print((int)temp_hum_val[0]);
    lcd.print("%");
  }
  else {
    lcd.setCursor(0, 0);
    lcd.print("Failed to read");
    lcd.setCursor(0, 1);
    lcd.print("sensor values");
  }
  delay(3000);
}

Wordt vervolgd

Het Grove-systeem maakt het heel eenvoudig om makkelijk en snel leuke elektronicaprojecten te bouwen. Er zijn veel onderdelen en modules beschikbaar en er is ook een informatieve WiKi. In de toekomst zullen er zeker meer Grove-projecten op deze blog komen!

De Componenten
De Componenten

Voeg een reactie toe

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *