#define BLYNK_TEMPLATE_ID "XXXXXXXXXXXXXX" #define BLYNK_DEVICE_NAME "Quickstart Device" #define BLYNK_AUTH_TOKEN "XXXXXXXXXXXXXXXXXXXXXX" #define pinS0 5 //pin D1, les pin sont mises avec leur n° GPIO, c'est les 3 pins qui actionne le CD4051 pour qu'il sache quelle entrée lire #define pinS1 4 //pin D2 #define pinS2 0 //pin D3 // Comment this out to disable prints and save space #define BLYNK_PRINT Serial #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #include "DHT.h" char auth[] = BLYNK_AUTH_TOKEN; char ssid[] = "LE_NOM_DE_VOTRE_RESEAU_WIFI"; char pass[] = "LE_CODE_DE_VOTRE_WIFI"; DHT dht(D4, DHT11); int R1, R4; BlynkTimer timer;//declare le timer void setup() { Serial.begin(115200); Blynk.begin(auth, ssid, pass); pinMode(D7, OUTPUT); //led verte pinMode(D8, OUTPUT); //led rouge pinMode(D5, INPUT); //pushbutton pinMode(D4, INPUT); //DHT11 pinMode(pinS0, OUTPUT); pinMode(pinS1, OUTPUT); pinMode(pinS2, OUTPUT); timer.setInterval(500L, myTimerEvent); dht.begin(); } // This function is called every time the Virtual Pin 3 state changes BLYNK_WRITE(V3) { // int value = param.asInt(); digitalWrite(D7, param.asInt());//allume ou eteint led } BLYNK_WRITE(V0) { digitalWrite(D8, param.asInt()); } void myTimerEvent() { Blynk.virtualWrite(V2, millis() / 1000); Blynk.virtualWrite(V6, digitalRead(D5)); //bouton poussé ou pas Blynk.virtualWrite(V5, R1);//potentiometre Blynk.virtualWrite(V4, R4);//lumiere Blynk.virtualWrite(V1, dht.readTemperature()); Blynk.virtualWrite(V7, dht.readHumidity()); } void loop() // normalement on ne doit pas mettre les virtualwrite dans loop, voir la doc pour faire autrement, doit être mis dans un timer sinon bannis du site (???) { Blynk.run(); timer.run(); // Initiates SimpleTimer digitalWrite(pinS2, LOW); //pour lire l'entrée Y0 du CD4051 digitalWrite(pinS1, LOW); digitalWrite(pinS0, LOW); R1 = analogRead(0); digitalWrite(pinS2, LOW); //pour lire l'entrée Y3 du CD4051 digitalWrite(pinS1, HIGH); digitalWrite(pinS0, HIGH); R4 = 1024 - analogRead(0); }