#include <Adafruit_SH110X.h>
#include <Wire.h> //necesaria para modulos led
#include <DHT.h>
void updateDisplay(String text); //para precompilar
void updateDisplaySensor(float t, float h);
const short LED = 23; //PIN DE DATOS
const short PIN_SENSOR= 14
Adafruit_SH1106G display = Adafruit_SH1106G (128, 64, &Wire, -1 );
DHT sensor(PIN_SENSOR, DHT22); // necesita saber el pin de datos y el modelo de sensor
void setup(){
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(LED, OUTPUT);
display.begin(0x3c, true); //lo arrancamos
display.setTextSize(1); //por defecto le digo que es de 1pixel
display.setTextColor(SH110X_WHITE);
updateDisplay("Display ON");
sensor.begin(); // todos los componentes se inicializan asi
}
void loop() {
//procesar comando para LED
if(Serial.available()){
String cmd = "";
while(Serial.available()){
cmd += (char)Serial.read();
if(cmd =="ON"){
digitalWrite(LED, HIGH);
updateDisplay("LED ON");
}
else if (cmd == "OFF"){
digitalWrite((LED, LOW));
updateDisplay("LED OFF");
}
}
}
float temp = sensor.readTemperature();
float hum = sensor.readHumidity();
updateDisplaySensor(temp, hum)
delay(10);
}
void updateDisplay(String txt){
display.clearDisplay();
display.setCursor(0,0);
display.println(txt);
display.display();
}
void updateDisplaySensor(float t, float h){
display.clearDisplay();
display.setCursor(0,0);
display.printf("Temp: %.2f\nHum: %.2f", t, h); //cuando encuentra porcentaje y algo mas, cambia por los valores que le siguen despues, en este caso cambia por t y por h
display.display();
}