Chambre froide?

Bonjour à tous,je ne suis pas programmateur mais bidouilleur!J’ai un fils qui réside à Mayotte et qui pour son commerce utilise des chambres froides.L’électricité à Mayotte n’est pas vraiment leur point fort !!!J’ai récupéré un code sur le net mais il ne correspond pas tout à fait à ce qu’il attends!
J’ai sur ce code un réglage de la température avec un potentiomètre physique et il aimerai pouvoir régler directement de Blynk mais plusieurs DS 18B20 ainsi que recevoir une alerte sur son téléphone pour chaque chambre froide!!! Idem pour les ouvertures de portes avec un compte à rebours de manière à ne pas déclencher les alarmes dès l’ouverture des portes!
Voilà,je peux fournir le code existant.
Merci d’avance pour l’aide que vous pourrez m’apporter .

Blynk will do this perfectly. Try some samples above from sketch builder and post your best attempt as well as the hardware you have selected.

[Unformatted code removed by moderator]

@Pierric_Doublet please edit your code (using the pencil icon at the bottom), and add triple backticks at the beginning and end of your code so that it displays correctly.
Triple backticks look like this:
```

Pete.

2 Likes

Bonsoir Pierric,

L’avantage des sondes Dallas c’est que tu peux en connecter plusieurs en parallèle .
C’est l’index qui détermine la sonde.
getTempCByIndex(0);
Il ne reste plus qu’à stocker chaque température dans une variable et l’envoyer a une Vpin de blynk et mettre des conditions pour chaques sondes.

Ok thanks for the info but I’m not good enough for it myself but thanks again

Comme ceci :

sensors.requestTemperatures();                // Send the command to get temperatures
    sonde1 = sensors.getTempCByIndex(0);
    sonde2 = sensors.getTempCByIndex(1);

Ok thank you very much, I will assayer I transmit you the code . Again thanks

[Unformatted code removed by moderator]

@Pierric_Doublet I asked you before to edit your code and add triple backticks, but you didn’t.
You’ve now posted more unformatted code, so both pieces of code have been removed.

Please edit your latest post and put back your code with triple backticks at the beginning and end. If you can’t find the backtick character on your keyboard then please copy and paste the characters below:
```

Pete.

1 Like
// Temperature Range: -55°C to +125°C.


/* ESP & Blynk */
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>



#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space

char auth[] = "XXXXXXXXXXXXXXXXXXXXX";
/* WiFi credentials */
char ssid[] = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
char pass[] = "XXXXXXXXXXXXXXXXXXX";

/* TIMER */
#include <SimpleTimer.h>
SimpleTimer timer;

/* DS18B20 Temperature Sensor */
#include <OneWire.h>
#include<DallasTemperature.h> 
#define ONE_WIRE_BUS 2 // DS18B20 подключаем на D4 на плате  
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);
int temp_0;
int temp_1;
float temp;
float Fahrenheit = 0;

int Dsensor = D2; // Correspods au D0 sur la WEMOS D1
// Tracks the time since last event fired
unsigned long previousMillis = 0;
unsigned long int previoussecs = 0;
unsigned long int currentsecs = 0;
unsigned long currentMillis = 0;
int interval = 1; // 1 second interval
int secs = 0; // current seconds
int mints = 0;  // current minutes

int pmints = 1; // Il s'agit de la valeur prédéfinie pour la porte du réfrigérateur si la porte du réfrigérateur est maintenue ouverte pendant 3 minutes, un message de notification sera envoyé au propriétaire ou au superviseur.

int tempf = 0; // temperature flag

//int tvr = A0; // temperature variable resistor, variable resistor to set the temperature tvr= POTENTIOMETRE
int Ptemp; // preset temperature.

void setup()
{
  Serial.begin(115200);
  Blynk.begin(auth, ssid, pass);
  DS18B20.begin();
  pinMode(Dsensor, INPUT_PULLUP);
  
//  pinMode(tvr, INPUT);//tvr= POTENTIOMETRE
  timer.setInterval(1000L, getSendData);//Ici vous définissez l’intervalle (1sec) et quelle fonction appeler
  timer.setInterval(10000L, DoorSensor);//Ici vous définissez l’intervalle (1sec) et quelle fonction appeler
}

void loop()
{
  timer.run(); // Initiates SimpleTimer
  Blynk.run();
}

/***************************************************
   Send Sensor data to Blynk
 **************************************************/
void getSendData()
{
//  Ptemp = analogRead(tvr);
 // Ptemp = map(Ptemp, 0, 1023, -40, 55); // valeurs par défaut
  DS18B20.requestTemperatures();
 temp_0 = DS18B20.getTempCByIndex(0); // Sensor 0 показания для датчика 1 в цельсиях
  temp_1 = DS18B20.getTempCByIndex(1); // Sensor 0 показания для датчика 2 в цельсиях 
  Serial.println(temp);
  //Serial.println(Fahrenheit);
  Serial.println(Ptemp);
   Serial.print("Temp_0: ");
  Serial.print(temp_0);
  Serial.print(" oC . Temp_1: ");
  Serial.print(temp_1);
  Serial.println(" oC");
   
  Blynk.virtualWrite(10, temp_0); 
  Blynk.virtualWrite(11, temp_1); 
  //Blynk.virtualWrite(V0, Ptemp); //= A0 sur Node Mcu décocher pour neutraliser le potentiometre physique
  Blynk.virtualWrite(V2, temp); //AFFICHAGE TEMPERATURE CHAMBRE FROIDE

  if ( (temp >= Ptemp) && (tempf == 0))
  {
    Blynk.notify("Température trop élevée !!!");
    tempf = 1;
  }

  if ( (temp < Ptemp) && (tempf == 1))
  {
    Blynk.notify("Température revenue à la normal");
    tempf = 0;
  }

}
void DoorSensor()
{

  if (digitalRead(Dsensor) == LOW)
  {
    Blynk.virtualWrite(V21, 0);
    Blynk.virtualWrite(V22, 255);

    secs = 0;
    mints = 0;
  }

  if (digitalRead(Dsensor) == HIGH)
  {
    Blynk.virtualWrite(V21, 255);//lED PORTE OUVERTE
    Blynk.virtualWrite(V22, 0);//LED PORTE FERMEE
    currentMillis = millis();
    currentsecs = currentMillis / 1000;
    if ((unsigned long)(currentsecs - previoussecs) >= interval) {
      secs = secs + 1;

      if (secs > 10) // Délais ouverture de la porte avant alarme!
      {
        secs = 0;
        mints = mints + 1;
        if(mints >= pmints )
        {
          secs = 0;
          mints = 0;
          Blynk.notify("Porte ouverte au delà du temps prévue!!!");
        }

      }
      previoussecs = currentsecs;
    }
  }

  Blynk.virtualWrite(V1, "Seconds");
  Blynk.virtualWrite(V1, secs);
  Blynk.virtualWrite(V1, "Mints");
  Blynk.virtualWrite(V1, mints);
  Blynk.virtualWrite(V1, "*********");



}

Ok thank you