Paso 5: LCD + temperatura sensor
Después de no conseguir el sensor wifi trabajando, decidí ir con una pantalla LCD, para mostrar los datos. Adicional a esto usé un potenciómetro (10K) para ajustar el contraste de la pantalla en consecuencia.
El primer paso es conectar todo junto.
De izquierda a derecha:
LCD <> – Arduino
VSS <> – GND
VDD <> – 5V
V0 <> – medidor de señal (pin de centro)
RS <> – TX
RW <> – GND
E <> – Digital 2
D4 <> – Digital 4
D5 <> – Digital 5
D6 <> – Digital 6
D7 <> – Digital 7
Un <> – 5V
K <> – GND
Potenciómetro de
GND GND <> –
Señal <> – V0
5V 5V de <> –
Combiné todo por encima con el paso anterior de la DHT11. El siguiente código se utiliza para mostrar la temperatura y la humedad en la pantalla:
// include the library code:#include <LiquidCrystal.h>#include <dht.h>// Analog Pin sensor is connected to #define dht_apin A0 // initialize the library with the numbers of the interface pins LiquidCrystal lcd(1, 2, 4, 5, 6, 7); dht DHT;void setup() { //initializes the interface and specifies the dimension of the LCD lcd.begin(16, 2); printTemperature(); printHumidity(); //Wait before accessing Sensor delay(1000); }//function to print characters of temperature that don't need to be updated void printTemperature() { lcd.setCursor(0, 0); lcd.print("Temp : "); lcd.print(" "); lcd.setCursor(12, 0); lcd.print("C"); }//function to print characters of humidity that don't need to be updated void printHumidity() { lcd.setCursor(0, 1); lcd.print("Hmid : "); lcd.print(" "); lcd.setCursor(12, 1); lcd.print("%"); }void loop() { //Let the sensor check the new temperature DHT.read11(dht_apin); //retrieve data from temperature/humidity sensor float temperature = DHT.temperature; float humidity = DHT.humidity; //functions to update temperature and humidity on LCD updateTemperature(temperature); updateHumidity(humidity); //wait 5 seconds before updating again delay(5000); }void updateTemperature(float temperature) { lcd.setCursor(7, 0); lcd.print(temperature, 1); }void updateHumidity(float humidity) { lcd.setCursor(7, 1); lcd.print(humidity, 1); }