ISN (services de réseaux sociaux internationaux - applications interactives et sites web dynamiques)


Tout nos projets

Gérer sa maison avec Arduino - Lampes, Chauffage, Ventilateur, température, humidité, etc


Vidéo d'explication du projet réel et appliqué dans une maison

 


Comment peut on facilement réaliser une boite magique aussi grande qu'une main pour gérer toute la maison avec un msartphone, allumer et eteindre les ampoule, les ventialeurs, chauffages, connaitre l'état de la météo, est ce qu'il pleut? est ce qu'il fait froid? connaitre la temperature intérieur et exterieur ainsi que l'humidité.


Objets utilisés pour ce projet:
1. Lecteur mp3 (WTD020SD ou DFPlayer Mini)
2. Detecteur de distance (capteur HC-SR04)
3. Arduino Mega
4. carte mémoire SD
5. Relay 4 ports
6. Min Ecran Oled 32
7. 2 module détecteurs de temperature et d'humidité
8. Petit haut parleur
9. Peezo (beeper)
10. En option: detecteur de pluie, detecteur de Carbon CO, detecteur de son.
 

Code source web html javascript complet:


< table style="margin:0 auto" >
    < tbody >
        < tr >
            < td >< strong >Inside:< /strong > 
				Temp: 
				< h2 id="temp1" id="Disabled" style="display:inline;" >...< /h2 >
				Hum: 
				< h2 id="hum1" id="Disabled" style="display:inline;">...< /h2 >
            < /td >
            < td colspan="2" >< strong >Outide:< /strong > 
				Temp: 
				< h2 id="temp2" id="Disabled" style="display:inline;" >...< /h2 >
				Hum: < h2 id="hum2" id="Disabled" style="display:inline;" >...< /h2 >
            < /td >
        < /tr >
        < tr >
            < td >Beep ON< /td >
            < td >Server OFF< /td >
            < td >Play Music 1< /td >
        < /tr >
        < tr >
            < td >Led OFF< /td >
            < td >Led2 OFF< /td >
            < td >Play Music 2< /td >
        < /tr >
        < tr >
            < td >in1 LOW< /td >
            < td >in2 LOW< /td >
            < td >Stop Music< /td >
        < /tr >
        < tr >
            < td >in3 LOW< /td >
            < td >in4 LOW< /td >
            < td >reboot< /td >
        < /tr >
    < /tbody >
< /table >
< script >
$.ajax({
	type: "GET",
	url: 'http://yourwebsiteOrIP:port',
	data:{pin:"99"},
	async:true,
	jsonpCallback: 'GotFromDoor',
	dataType : 'jsonp',   //you may use jsonp for cross origin request
	crossDomain:true,
	success: function(data) {
		//$('#results2').text(data);
		console.log(dataArray);
		var dataArray = jQuery.parseJSON(data);
		console.log(dataArray);
		$('#3').text(dataArray["peez"]);
		$('#7').text(dataArray["led"]);
		$('#25').text(dataArray["server"]);
		$('#temp').text(dataArray["t"]);
		$('#hum').text(dataArray["h"]);
		$('#temp2').text(dataArray["t2"]);
		$('#hum2').text(dataArray["h2"]);
		if( dataArray["in1"]=="1") $('#77').text("in1 HIGH"); else if( dataArray["in1"]=="0")  $('#77').text("in1 LOW");
		if( dataArray["in2"]=="1") $('#88').text("in2 HIGH"); else if( dataArray["in2"]=="0")  $('#88').text("in2 LOW");
		console.log(dataArray["in1"]+' - '+dataArray["in2"]);
	},
	error : function(jqXHR, textStatus, errorThrown) {
		$('#results2').text(errorThrown);
	}
});
$(".led").click(function(){
	var p = $(this).attr('id');
	 $.ajax({
		type: "GET",
		url: 'http://yourwebsiteOrIP:port',
		data:{pin:p},
		async:true,
		jsonpCallback: 'GotFromDoor',
		dataType : 'jsonp',   //you may use jsonp for cross origin request
		crossDomain:true,
		success: function(data) {
			console.log(data);
			if(data=="41"){$('#41').text("Music 1 Playing");$('#42').text("Play Music 2");}
			else if(data=="42"){$('#41').text("Play Music 1");$('#42').text("Music 2 Playing");}
			else if(data=="44"){$('#41').text("Play Music 1");$('#42').text("Play Music 2");}
			else if(data=="46"){}
			else $('#'+p).text(data);
			$('#results2').text(data);
		},
		error : function(jqXHR, textStatus, errorThrown) {
			$('#results2').text(errorThrown);
		}
	});
});
< /script >

 

Code source Arduino complet:


#include < SPI.h >
#include < Wire.h >
#include < Adafruit_GFX.h >
#include < Adafruit_SSD1306.h >
#include "DHT.h"
#include < UIPEthernet.h >
#include < Keypad.h >
#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
#include "Stepper.h"

/***** stepper **********************/
#define STEPS  32 

// Setup of proper sequencing for Motor Driver Pins
// In1, In2, In3, In4 in the sequence 1-3-2-4
Stepper small_stepper(STEPS, 17, 16, 15, 14);
int  Steps2Take; 
int state=0;
String success_code="56B#";
/****************** internet ********************************/
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xCD };
int ip1 = 192, ip2 = 168, ip3 = 10, ip4 = 104;
int serverPort = 80;
IPAddress ip(ip1, ip2, ip3, ip4);
EthernetServer server(serverPort);
EthernetClient client;

boolean dopeez = false, doled = true, doserver = true;
String keyp="";
int sip1 = 88, sip2 = 175, sip3 = 140, sip4 = 65;
IPAddress serverIP(sip1, sip2, sip3, sip4);
char serverName[] = "www.yourserver.com";
int ledpin = 36,ledpin2 = 34, buzzer = 38;
#define in1 9
#define in2 8
#define in3 7
#define in4 6
int pins[] = {ledpin, buzzer};
int makedelay=0;

/******************** temp & hum ********************************************/
#define DHTTYPE DHT11   // DHT 11
#define DHTPIN 2
#define DHTPIN2 3

DHT dht(DHTPIN, DHTTYPE);
DHT dht2(DHTPIN2, DHTTYPE);

/******************** keypad ********************************************/
const byte Rows= 4; //number of rows on the keypad i.e. 4
const byte Cols= 3; //number of columns on the keypad i,e, 3

//we will definne the key map as on the key pad:

char keymap[Rows][Cols]={
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'},
{'*', '0', '#'}
};
byte rPins[Rows]= {43,41,39,37}; //Rows 0 to 3
byte cPins[Cols]= {35,33,31}; //Columns 0 to 2
Keypad keypad = Keypad(makeKeymap(keymap), rPins, cPins, Rows, Cols);

/************************* OLED ***************************************/

#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

#if (SSD1306_LCDHEIGHT != 32)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif
/***********************************************************************/
SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;
/*********************************************************************/
void setup()   {
  Serial.begin(9600);
  
  Serial.println("setup");
  pinMode(in1, OUTPUT);pinMode(in2, OUTPUT);pinMode(in3, OUTPUT);pinMode(in4, OUTPUT);
  digitalWrite(in1, LOW);digitalWrite(in2, LOW);digitalWrite(in3, LOW);digitalWrite(in4, LOW);
  pinMode(buzzer, OUTPUT);pinMode(ledpin, OUTPUT);pinMode(ledpin2, OUTPUT);
  digitalWrite(buzzer,LOW); digitalWrite(ledpin,LOW);digitalWrite(ledpin2,LOW);
  dht.begin(); dht2.begin();
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // initialize with the I2C addr 0x3D (for the 128x64)
 
  mySoftwareSerial.begin(9600);  
  Serial.println();
  Serial.println(F("DFRobot DFPlayer Mini Demo"));
  Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
  
  if (!myDFPlayer.begin(mySoftwareSerial)) {  //Use softwareSerial to communicate with mp3.
    Serial.println(F("Unable to begin:"));
    Serial.println(F("1.Please recheck the connection!"));
    Serial.println(F("2.Please insert the SD card!"));
    while(true);
  }
  Serial.println(F("DFPlayer Mini online."));
  
  myDFPlayer.volume(25);  //Set volume value. From 0 to 30
  //myDFPlayer.play(1);  //Play the first mp3
  StartDHCPNetwork();
  //StartStaticIP();
  /*
   small_stepper.setSpeed(500);
   Steps2Take  =  2048;
   small_stepper.step(Steps2Take);
   */
}
bool checkConnection(){
    if (client.connect(serverIP, serverPort)) {
      return true;
   }else{
      return false;
   }
}
void StartDHCPNetwork() {
  Serial.println("StartDHCPNetwork");
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.clearDisplay();
  display.setCursor(0, 0);
  display.print("Connecting...");
  display.setCursor(0, 12);
  display.print("Trying DHCP");
  display.display();

  // for DHCP connection:
  if (Ethernet.begin(mac) == 0) {
    buzzerbeep(1, 300);
    display.clearDisplay();
    display.setTextSize(1);
    display.setCursor(0, 0);
    display.print("Failed with DHCP");
    display.display();
    delay(2000);
    StartStaticIP();
    // no point in carrying on, so do nothing forevermore:
    /*for (;;)
      ;*/
  }
  else {
    buzzerbeep(2, 100);
    Serial.println("my ip:");
    Serial.println(Ethernet.localIP());
    Serial.print("MAC: ");
    for (byte i = 0; i < 6; ++i) {
      Serial.print(mac[i], HEX);
      if (i < 5) Serial.print(':');
    }
    Serial.println("");
    char macAddr[18];
    sprintf(macAddr, "%2X:%2X:%2X:%2X:%2X:%2X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);

    display.clearDisplay();
    display.setCursor(0, 0);
    display.print("Connected 1, Mac/ip:");
    display.setCursor(0, 12);
    display.print(macAddr);
    display.setCursor(0, 22);
    display.print(Ethernet.localIP());
    display.display();
    server.begin();
  }
  delay(3000);
}
void StartStaticIP() {
  Serial.println("Trying Static IP");
  display.setTextSize(1);
  display.setCursor(0, 12);
  display.print("Trying Static IP");
  display.display();
  Ethernet.begin(mac, ip);
  // start de Ethernet verbinding en de server:
  server.begin();
  IPAddress ip = Ethernet.localIP();
  String ipAddress;
  ipAddress += ip[0];
  ipAddress += ".";
  ipAddress += ip[1];
  ipAddress += ".";
  ipAddress += ip[2];
  ipAddress += ".";
  ipAddress += ip[3];
  
  Serial.println(ipAddress);
  
  Serial.print("MAC: ");
  for (byte i = 0; i < 6; ++i) {
    Serial.print(mac[i], HEX);
    if (i < 5) Serial.print(':');
  }
  char macAddr[18];
  sprintf(macAddr, "%2X:%2X:%2X:%2X:%2X:%2X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
  
  display.clearDisplay();
  display.setCursor(0, 0);
  display.print("Connected 2, Mac/ip:");
  display.setCursor(0, 12);
  display.print(macAddr);
  display.setCursor(0, 22);
  display.print(ipAddress);
  display.display();
  delay(3000);
}
void blinkled(int number, int timee) {
  for (int j = 0; j < number; j++) {
    digitalWrite(ledpin, HIGH);
    delay(timee);
    digitalWrite(ledpin, LOW);
    delay(timee);
  }
}
void blinkled2(int number, int timee) {
  for (int j = 0; j < number; j++) {
    digitalWrite(ledpin2, HIGH);
    delay(timee);
    digitalWrite(ledpin2, LOW);
    delay(timee);
  }
}
void buzzerbeep(int number, int timee) {
  for (int j = 0; j < number; j++) {
    digitalWrite(buzzer, HIGH);
    delay(timee);
    digitalWrite(buzzer, LOW);
    delay(timee);
  }
}
void software_reboot()
{
  asm volatile ("  jmp 0");
}
void loop() {
  makedelay=0;
  char keypressed = keypad.getKey();
  if (keypressed != NO_KEY){
      Serial.print("keyp0="); Serial.print(keyp); Serial.println();
      buzzerbeep(1, 100);
      if(keypressed=='0'){
          display.clearDisplay();
          display.setTextSize(1);
          display.setTextColor(WHITE);
          display.setCursor(0,0);
          display.println("Checking connection?");
          display.setCursor(0, 12);
          display.print("Validate with #");
          display.display();
          delay(1200);
      }
      else if(keypressed=='9'){
          display.clearDisplay();
          display.setTextSize(1);
          display.setTextColor(WHITE);
          display.setCursor(0,0);
          display.println("Start a connection?");
          display.setCursor(0, 12);
          display.print("8 for static or Validate with #");
          display.display();
          delay(1200);
      }
      if(keypressed=='#'){
        makedelay=1;
        Serial.print("keyp="); Serial.print(keyp); Serial.println();
        Serial.print("keypressed="); Serial.print(keypressed);Serial.println();
        if(keyp=="0"){
          display.clearDisplay();
          display.setCursor(0, 0);
          display.print("Checking connection");
          display.display();
          if(checkConnection()==true){
            display.clearDisplay();
            display.setCursor(0, 0);
            display.print("Checking connection");
            display.setCursor(0, 12);
            display.print("Connected");
            display.display();
          }else{
            display.clearDisplay();
            display.setCursor(0, 0);
            display.print("Checking connection");
            display.setCursor(0, 12);
            display.print("NOT Connected");
            display.display();
          }
         }
        else if(keyp=="9"){  StartDHCPNetwork();}
        else if(keyp=="98"){  StartStaticIP();}
        else if(keyp=="1") { digitalWrite(in1, !digitalRead(in1));}
        else if(keyp=="2") { digitalWrite(in2, !digitalRead(in2));}
        else if(keyp=="3") { digitalWrite(in3, !digitalRead(in3));}
        else if(keyp=="4") { digitalWrite(in4, !digitalRead(in4));}
        else if(keyp=="7") { digitalWrite(ledpin, !digitalRead(ledpin));}
        else if(keyp=="8") { digitalWrite(ledpin2, !digitalRead(ledpin2));}
        
        keyp="";
        delay(1000);
      }else {
        keyp=keyp+String(keypressed);
        if(keyp=="14"){ 
          display.clearDisplay();
          display.setTextSize(1);
          display.setTextColor(WHITE);
          display.setCursor(0,0);
          display.println("choose a song?");
          display.setCursor(0, 12);
          display.print("1, 2, 3.. * to stop: Validate with #");
          display.display();
          delay(2000);
       }
       else if(keyp=="14*"){
          myDFPlayer.pause();
          display.clearDisplay();
          display.setTextSize(1);
          display.setTextColor(WHITE);
          display.setCursor(0,0);
          display.println("stop music");
          display.display();
          delay(1000);
         }
        else if(keyp=="141"){
          myDFPlayer.pause();
          display.clearDisplay();
          display.setTextSize(1);
          display.setTextColor(WHITE);
          display.setCursor(0,0);
          display.println("playing song 1");
          display.display();
          myDFPlayer.play(1);
          delay(2000);
          }
        else if(keyp=="142"){
          myDFPlayer.pause();
          display.clearDisplay();
          display.setTextSize(1);
          display.setTextColor(WHITE);
          display.setCursor(0,0);
          display.println("playing song 2");
          display.display();
          myDFPlayer.play(2);
          delay(2000);
          }
        else if(keyp=="143"){
          myDFPlayer.pause();
          display.clearDisplay();
          display.setTextSize(1);
          display.setTextColor(WHITE);
          display.setCursor(0,0);
          display.println("playing song 3");
          display.display();
          myDFPlayer.play(3);
          delay(2000);
          }
         else if(keyp=="46"){
            display.clearDisplay();
            display.setTextSize(1);
            display.setTextColor(WHITE);
            display.setCursor(0,0);
            display.println("rebooting...");
            display.display();
            delay(1000);
            software_reboot();
         }
      }
  }
  client = server.available();
  boolean sendserv = true, ringing = false;
  if (client) {
    buzzerbeep(1, 100);
    makedelay=1;
    int pinNumber = 0;
    display.clearDisplay();
    display.setTextSize(1);
    display.setTextColor(WHITE);
    display.setCursor(0,0);
    display.println("web connection");
    display.display();
   // delay(3000);
    
    delay(2000);
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        //Serial.println(c);
        // look for the string "pin=" in the browser/client request
        if (client.find("pin=")) {
          pinNumber = (client.read() - 48);
         
          int secondNumber = (client.read() - 48);
          String pinState;
          if (secondNumber >= 0 && secondNumber <= 9)
          {
            pinNumber *= 10;
            pinNumber += secondNumber;
          }
          display.clearDisplay();
          display.setTextSize(1);
          display.setTextColor(WHITE);
          display.setCursor(0,0);
          display.println("pinNumber");
          display.setCursor(0, 12);
          display.print(pinNumber);
          display.display();
          Serial.println(pinNumber);
          if (pinNumber == 40) { //Serial.println("get now ring");
            pinState = "Sonnerie ON";
            if (dopeez) buzzerbeep(15, 200);
            if (doled) blinkled(20, 200);
            if (doserver) ringing = true;
          }
          if (pinNumber == 20) {
            pinState = "ALERT ON";
            if (dopeez) buzzerbeep(10, 200);
            if (doled) blinkled(10, 200);
            if (doserver) sendserv = true;
          }
          else if (pinNumber == 21) {
            pinState = "Alert OFF";
            if (dopeez) buzzerbeep(2, 100);
            if (doled) blinkled(2, 100);
          }
          else if (pinNumber == 25) {
            doserver = (doserver == true) ? false : true;
            if (doserver) pinState = "Server OFF"; else pinState = "Server ON";
          }
          else if (pinNumber == ledpin) {
            doled = (doled == true) ? false : true;
            if (doled) pinState = "LED OFF"; else pinState = "LED ON";
            blinkled(2, 100);
          }
          else if (pinNumber == ledpin2) {
            doled = (doled == true) ? false : true;
            if (doled) pinState = "LED2 OFF"; else pinState = "LED2 ON";
            blinkled2(2, 100);
          }
          else if (pinNumber == buzzer) {
            dopeez = (dopeez == true) ? false : true;
            if (dopeez) pinState = "Beep OFF"; else pinState = "Beep ON";
            buzzerbeep(2, 100);
          } else if (pinNumber == 77) {
             display.clearDisplay();
             display.setCursor(0,0);
             display.println("Light 1");
             display.setCursor(0, 12);
            if( digitalRead(in1) ){digitalWrite(in1, LOW);pinState = "in1 LOW"; display.print("LOW");}
            else {digitalWrite(in1, HIGH);pinState = "in1 HIGH";display.print("HIGH");}
            display.display();
            buzzerbeep(2, 100);
          }else if (pinNumber == 88) {
            display.clearDisplay();
            display.setCursor(0,0);
            display.println("Light 2");
            display.setCursor(0, 12);
            if( digitalRead(in2) ){digitalWrite(in2, LOW);pinState = "in2 LOW";display.print("LOW");}
            else {digitalWrite(in2, HIGH);pinState = "in2 HIGH";display.print("HIGH");}
            display.display();
            buzzerbeep(2, 100);
          }else if (pinNumber == 66) {
            display.clearDisplay();
            display.setCursor(0,0);
            display.println("Light 3");
            display.setCursor(0, 12);
            if( digitalRead(in3) ){digitalWrite(in3, LOW);pinState = "in3 LOW";display.print("LOW");}
            else {digitalWrite(in3, HIGH);pinState = "in3 HIGH";display.print("HIGH");}
            display.display();
            buzzerbeep(2, 100);
          }else if (pinNumber == 55) {
            display.clearDisplay();
            display.setCursor(0,0);
            display.println("Light 4");
            display.setCursor(0, 12);
            if( digitalRead(in4) ){digitalWrite(in4, LOW);pinState = "in4 LOW";display.print("LOW");}
            else {digitalWrite(in4, HIGH);pinState = "in4 HIGH";display.print("HIGH");}
            display.display();
            buzzerbeep(2, 100);
          }else if (pinNumber == 44) {
            pinState = "44";
            myDFPlayer.pause();
            display.clearDisplay();
            display.setTextSize(1);
            display.setTextColor(WHITE);
            display.setCursor(0,0);
            display.println("stop music");
            display.display();
            delay(1000);
          }else if (pinNumber == 41) {
            pinState = "41";
            myDFPlayer.pause();
            display.clearDisplay();
            display.setTextSize(1);
            display.setTextColor(WHITE);
            display.setCursor(0,0);
            display.println("playing song 1");
            display.display();
            myDFPlayer.play(1);
            delay(2000);
          }else if (pinNumber == 42) {
            pinState = "42";
            myDFPlayer.pause();
            display.clearDisplay();
            display.setTextSize(1);
            display.setTextColor(WHITE);
            display.setCursor(0,0);
            display.println("playing song 2");
            display.display();
            myDFPlayer.play(2);
            delay(2000);
          }else if (pinNumber == 43) {
            pinState = "43";
            myDFPlayer.pause();
            display.clearDisplay();
            display.setTextSize(1);
            display.setTextColor(WHITE);
            display.setCursor(0,0);
            display.println("playing song 3");
            display.display();
            myDFPlayer.play(3);
            delay(2000);
          }else if (pinNumber == 46) {
            pinState = "46";
            display.clearDisplay();
            display.setTextSize(1);
            display.setTextColor(WHITE);
            display.setCursor(0,0);
            display.println("rebooting...");
            display.display();
            delay(1000);
            software_reboot();
          }
          else {
            Serial.print("problem with pinNumber: "); Serial.println(pinNumber);
            /*
              pinState = "Pin ";
              pinState+=pinNumber;
              pinState+=" is ";
              if(digitalRead(pinNumber)) {pinState+="ON";}
              else{pinState+="OFF"; }*/
          }
          //Serial.println(pinNumber);
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: application/json");
          client.println();

          // output the value of each analog input pin as a json-p object
          client.print("GotFromDoor");
          if (pinNumber != 99) {
            Serial.print("pinState: "); Serial.println(pinState);
            client.print("('");
            client.print("" + pinState + "");
            client.println("')");
          } else {
            client.print("('{");
            client.print("\"server"); client.print("\": ");
            if (doserver) client.print("\"Server OFF\""); else client.print("\"Server ON\"");
            client.print(",");
            client.print("\"led"); client.print("\": ");
            if (doled) client.print("\"LED OFF\""); else client.print("\"LED ON\"");
            client.print(",");
            client.print("\"peez"); client.print("\": ");
            if (dopeez) client.print("\"Beep OFF\""); else client.print("\"Beep ON\"");
            client.print(",");
            float h = dht.readHumidity();
            float h2 = dht2.readHumidity();
            // Read temperature as Celsius
            float t = dht.readTemperature();
            float t2 = dht2.readTemperature();
            // Read temperature as Fahrenheit
            //float f = dht.readTemperature(true);
            // Check if any reads failed and exit early (to try again).
            if (isnan(h) || isnan(t)) {
              client.print("\"t"); client.print("\": ");
              client.print("\"1000\"");
              client.print(",");
              client.print("\"t2"); client.print("\": ");
              client.print("\"1000\"");
              client.print(",");
              client.print("\"h"); client.print("\": ");
              client.print("\"1000\"");
              client.print(",");
              client.print("\"h2"); client.print("\": ");
              client.print("\"1000\"");
            } else {
              client.print("\"t"); client.print("\": ");
              client.print("\""); client.print(t); client.print("\"");
              client.print(",");
              client.print("\"t2"); client.print("\": ");
              client.print("\""); client.print(t2); client.print("\"");
              client.print(",");
              client.print("\"h"); client.print("\": ");
              client.print("\""); client.print(h); client.print("\"");
              client.print(",");
              client.print("\"h2"); client.print("\": ");
              client.print("\""); client.print(h2); client.print("\"");
            }
            client.print(",");
            client.print("\"in1"); client.print("\": "); client.print("\"");
            if( digitalRead(in1) ) client.print( "1" );
            else client.print( "0" );
            client.print("\"");
            client.print(",");
            client.print("\"in2"); client.print("\": "); client.print("\"");
            if( digitalRead(in2) ) client.print( "1" );
            else client.print( "0" );
            client.print("\"");
            
            client.println("}')");
          }
          //Serial.print(pinNumber);
          /*client.print("('{");
            for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
            client.print("\"A");
            client.print(analogChannel);
            client.print("\": ");
            client.print(analogRead(analogChannel));
            if (analogChannel != 5) {
              client.print(",");
            }
            }
            client.println("}')");
          */
          break;
        }
      }
    }
    if (ringing) {
      client.stop(); client = server.available();
      if (client.connect(serverIP, serverPort)) {
        //Serial.println("->rin Connected");Serial.print("->pin=");Serial.println(pinNumber);
        // Make a HTTP request:
        client.print( "GET /arduino/door/index.php?");
        client.print("secret=");
        client.print( "354198jhg54" );
        client.print("&");
        client.print("t=");
        client.print(millis());
        client.print("&");
        client.print("gate=");
        client.print( "2" );
        client.println( " HTTP/1.1");
        client.print( "Host: " );
        client.println(serverIP);
        client.println( "Connection: close" );
        client.println();
        client.println();
      }
      else {
        //Serial.println("--> connection failed/n");
      }
    }
    else if (sendserv && (pinNumber == 40 || pinNumber == 20 || pinNumber == 21)) {
      client.stop(); client = server.available();
      if (client.connect(serverIP, serverPort)) {
        //Serial.println("->sendserv Connected");Serial.print("->pin=");Serial.println(pinNumber);
        // Make a HTTP request:
        client.print( "GET /arduino/door/index.php?");
        client.print("secret=");
        client.print( "354198jhg54" );
        client.print("&");
        client.print("gate=");
        client.print( "1" );
        client.println( " HTTP/1.1");
        client.print( "Host: " );
        client.println(serverIP);
        client.println( "Connection: close" );
        client.println();
        client.println();
        delay(500);
      }
      else {
        //Serial.println("--> connection failed/n");
      }
    }
    // give the web browser time to receive the data
    delay(1);
    client.stop();
    //Serial.println("client disonnected");
  }
 

  display.clearDisplay();   // Clear the buffer.
  
  float h = dht.readHumidity();
  float t = dht.readTemperature();
   float h2 = dht2.readHumidity();
  float t2 = dht2.readTemperature();
  float f = dht.readTemperature(true);
  float f2 = dht2.readTemperature(true);
  
  if (isnan(h) || isnan(t) || isnan(f)) { // Check if any reads failed and exit early (to try again).
    Serial.println("Failed to read from DHT1 sensor!");
    display.clearDisplay();
    display.setTextSize(1);
    display.setTextColor(WHITE);
    display.setCursor(0,0);
    display.println("Failed to read from DHT1 sensor");
    display.display();
    return;
  }else if (isnan(h2) || isnan(t2) || isnan(f2)) { // Check if any reads failed and exit early (to try again).
    Serial.println("Failed to read from DHT2 sensor!");
    display.clearDisplay();
    display.setTextSize(1);
    display.setTextColor(WHITE);
    display.setCursor(0,0);
    display.println("Failed to read from DHT2 sensor");
    display.display();
    return;
  }
  else if(makedelay==0){
    display.setTextSize(1);
    display.setTextColor(WHITE);
    display.setCursor(0,0);
    display.println("Temp1=");
    display.setCursor(40,0);
    display.println((int)t);
  
    display.setCursor(70,0);
    display.println("Hum1=");
    display.setCursor(105,0);
    display.println((int)h);
  
    display.setCursor(0,12);
    display.println("Temp2=");
    display.setCursor(40,12);
    display.println((int)t2);
  
    display.setCursor(70,12);
    display.println("Hum2=");
    display.setCursor(105,12);
    display.println((int)h2);
    
    display.display();
    display.clearDisplay();
  }
  delay(1);
}

 

En utilisant ce site, vous acceptez l'utilisation de cookies pour personnaliser le contenu et les publicités, pour fournir des fonctionnalités de médias sociaux, pour analyser notre trafic en utilisant les services Google comme Analytics et Adsense.

Google Adsense et ses partenaires peuvent utiliser vos données pour la personnalisation de la publicité et les cookies peuvent être utilisés pour la publicité personnalisée et non personnalisée. Comment Google utilise mes données?
Veuillez utiliser le bouton suivant pour voir la liste des partenaires de Google ainsi que tous les détails concernant les cookies.
Voir les détailsJ'accepte
Ces cookies étant obligatoires pour le fonctionnement de isn-services.com, si vous ne les acceptez pas nous vous prions de quitter ce site
Vous avez le droit de refuser les cookies et quitter le site ou de les paramétrer.