Stap 7: Het toevoegen van een LCD-scherm
In plaats van een computer verbonden om te lezen van de uitgang voor seriële hebt, ben ik het toevoegen van een LCD-scherm als u wilt weergeven van de temperatuur en vochtigheid. Dit vergt een paar wijzigingen aan de code, en natuurlijk meer verbindingen. Verwijder LCD bij het branden van een bootloader.
Onderdelen nodig:
LCD Module voor Arduino 20 x 4, wit op blauw
Sluit per het bijgevoegde schema, met behulp van de Arduino pin Chip pin kaart verstrekt.
Wijzigingen in de code zijn als volgt:
Voorbeeld testen schets voor diverse DHT luchtvochtigheid/temperatuur sensoren
Geschreven door ladyada, openbaar
Fahrenheit conversie en LCD code toegevoegd door Steve Spence, http://arduinotronics.blogspot.com
#include
Verbindingen:
RS (LCD pin 4) aan de Arduino pin 7
RW (LCD pin 5) aan de Arduino - Rail
inschakelen (LCD pin 6) tot en met Arduino pin 8
LCD pinnen d4, d5, d6, d7 naar Arduino pinnen 9, 10, 11, 12
LiquidCrystal lcd (7, 8, 9, 10, 11, 12);
#include "DHT.h"
#define DHTPIN 2 / / welke pin wij verbonden bent met
Uncomment welke type u!
#define DHTTYPE DHT11 / / DHT 11
#define DHTTYPE DHT22 / / DHT 22 (AM2302)
#define DHTTYPE DHT21 / / DHT 21 (AM2301)
Aansluiten pin + (midden) van de sensor + 5V
Verbinden met pin S (aan de rechterkant) van de sensor wat uw DHTPIN is
Pin - (aan de linkerkant) van de sensor verbinden met grond
DHT dht (DHTPIN, DHTTYPE);
VOID Setup {}
Serial.begin(9600);
Serial.println ("DHTxx test!");
DHT.begin();
}
void loop {}
Lezing temperatuur of vochtigheid neemt ongeveer 250 milliseconden!
Sensor lezingen kan maximaal 2 seconden 'oude' (het is een zeer langzame sensor)
zweven h = dht.readHumidity();
zweven t = dht.readTemperature();
Controleer als opbrengsten geldig zijn, indien zij NaN (geen getal zijn) dan iets mis gegaan!
Als (isnan(t) || isnan(h)) {}
Serial.println ("kon aflezen uit DHT");
} else {}
Serial.Print ("vochtigheid:");
Serial.Print(h);
Serial.Print ("% \t");
Serial.Print ("temperatuur:");
Serial.Print(t*1.8+32);
Serial.println ("* F");
LCD-code
LCD.begin(20,4); kolommen, rijen. 16,2 gebruiken voor een 16 x 2 LCD; 20,4 voor een 20 x 4 LCD.
LCD.Clear(); beginnen met een leeg scherm
lcd.setCursor(0,0); cursor ingesteld op kolom 0, rij 0 (de eerste rij)
LCD.Print("humidity"); deze tekst aan wat je wilt wijzigen. Houd het schoon.
lcd.setCursor(0,1); cursor ingesteld op kolom 0, rij 1
LCD.Print(h);
LCD.Print (("% \t");
lcd.setCursor(0,2); cursor ingesteld op kolom 0, rij 2
LCD.Print("Temperature:");
lcd.setCursor(0,3); cursor ingesteld op kolom 0, rij 3
LCD.Print(t*1.8+32);
LCD.Print ("* F");
}
}