[Arduino] Régulation pac
#8
Pour les curieux voilà le code, même si je sais que y'en a qui vont sauter au plafond lol

Code :
#include <Stepper.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>

// Définition des pins utilisés par le Shield LCD
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);

#define ONE_WIRE_BUS 6 // Définition de la valeur du BUS OneWire
OneWire oneWire(ONE_WIRE_BUS); // Définition du BUS OneWire
DallasTemperature sensors(&oneWire); // Conversion OneWire > DallasTemperature

// Adressage des sondes DS18B20 ( Evap, surchauffe )
DeviceAddress Sonde_SR = { 0x28, 0xC2, 0x75, 0x82, 0x05, 0x00, 0x00, 0xBB };
DeviceAddress Sonde_SC = { 0x28, 0xFF, 0xEC, 0x99, 0x3C, 0x04, 0x00, 0x9F };

float Surchauffe = 6.5;
float Surchauffe_cal;
int Position_det = 0;
float Temp_BP = 0;
float Temp_HP = 0;
int Pin_Capteur_BP = A4;
int Pin_Capteur_HP = A5;
int Capteur_BP;
int Capteur_HP;

// initialize the stepper library on pins 2 through 5:
Stepper myStepper(480, 2, 3, 4, 5);

void setup() {
  // Initialisation écran
  lcd.begin(16, 2);
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Initialisation");
  delay(500);
 
  // initialize the serial port:
  Serial.begin(9600);

  // Configuration des sondes DS18B20
  sensors.begin();
  sensors.setResolution(Sonde_SR, 10);
  sensors.setResolution(Sonde_SC, 10);

  // Nombre de tour/min détendeur
  myStepper.setSpeed(4);

  // Fermeture détendeur
  lcd.setCursor(0,1);
  lcd.print("Ferm EEV > 0%");
  //myStepper.step(-500); // 480 + 20 ( sécu )

  delay(3000);
 
  // Ouverture détendeur 50%
  lcd.setCursor(0,1);
  lcd.print("Ouv EEV > 50%");
  //myStepper.step(+240);
  Position_det = 240;

  delay(3000);
}

float mapf(float x, float in_min, float in_max, float out_min, float out_max)
{
    return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}

void loop() {
  // Récupération des températures
  sensors.requestTemperatures();

  // Récupération pression BP
  Capteur_BP = analogRead(Pin_Capteur_BP);
  float Capteur_BP_Out = mapf(Capteur_BP, 102, 1023, 0.0, 9.8); // 102 = 0.5V mini / 1023 = 5V maxi / 0 bars mini / 9.8 bars maxi

  // Conversion Pression/température BP
  float Temp_BP_Out = mapf(Capteur_BP, 102, 1023, -26, 42);

  // Récupération pression HP
  Capteur_HP = analogRead(Pin_Capteur_HP);
  float Capteur_HP_Out = mapf(Capteur_HP, 102, 1023, 0, 38.5); // 102 = 0.5V mini / 1023 = 5V maxi / 0 bars mini / 38.5 bars maxi

  // Conversion Pression/température HP
  float Temp_HP_Out = mapf(Capteur_HP, 102, 1023, -25, 100); // 102 = 0.5V mini / 1023 = 5V maxi / -25°C mini / 100°C maxi
 
  delay(250);

  // Attribution des valeurs
  float Sonde_SR = sensors.getTempCByIndex(0);
  float Sonde_SC = sensors.getTempCByIndex(1);

 
  Surchauffe_cal = Temp_BP + Surchauffe;

  // Action si Surchauffe_Réelle supérieur à Surchauffe_Calculée
  if (Sonde_SC > Surchauffe_cal && Position_det < 480)
  {
    myStepper.step(+1); // Ouverture détendeur
    ++Position_det;
  }
 
  // Action si Surchauffe_Réelle inférieur à Surchauffe_Calculée
  else if (Sonde_SC < Surchauffe_cal && Position_det > 10)
  {
    myStepper.step(-1); // Fermeture détendeur
    --Position_det;
  }
  else {
    // Rien
  }

  int bouton = analogRead(A0);
 
  // Affichage LCD alterné
  if (bouton > 1000)
  {
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("Tc:");
    lcd.print(Temp_HP_Out);
    lcd.setCursor(8,0);
    lcd.print("Te:");
    lcd.print(Temp_BP_Out);
    lcd.setCursor(0,1);
    lcd.print("SR:");
    lcd.print(Temp_HP_Out - Sonde_SR);
    lcd.setCursor(8,1);
    lcd.print("SC:");
    lcd.print(Sonde_SC - Temp_BP_Out);
  }
  else {
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print("Pc:");
    lcd.print(Capteur_HP_Out);
    lcd.setCursor(8,0);
    lcd.print("Pe:");
    lcd.print(Capteur_BP_Out);
    lcd.setCursor(0,1);
    lcd.print("Pos det:");
    lcd.print(Position_det);
  }
 
  delay(250);
}

Et le calcul c'est pour remplacer la fonction "map" qui ne prend pas les virgules et moi je les veux ^_^

Pour les régulateurs, c'est pourtant le genre de chose qui est utilisé par les fabricants de clim mais bon  Spamafote
T'as un problème, t'veux un ban ?  Ohgod
Répondre


Messages dans ce sujet
[Arduino] Régulation pac - par OrOoX - 2019-12-03 20:25:05
RE: [PAC] Régulation pac - par Kissagogo27 - 2019-12-04 14:07:13
RE: [PAC] Régulation pac - par OrOoX - 2019-12-04 17:45:48
RE: [PAC] Régulation pac - par Sk_rmouche - 2019-12-04 19:14:31
RE: [PAC] Régulation pac - par OrOoX - 2019-12-04 19:38:20
RE: [PAC] Régulation pac - par Sk_rmouche - 2019-12-04 19:41:36
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-04 19:51:33
RE: [PAC] Régulation pac - par Sk_rmouche - 2019-12-04 20:05:38
RE: [PAC] Régulation pac - par OrOoX - 2019-12-04 19:58:36
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-04 20:55:03
RE: [PAC] Régulation pac - par OrOoX - 2019-12-04 21:16:20
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-04 21:34:32
RE: [PAC] Régulation pac - par OrOoX - 2019-12-04 21:43:39
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-04 23:28:49
RE: [PAC] Régulation pac - par Sk_rmouche - 2019-12-05 06:55:23
RE: [PAC] Régulation pac - par OrOoX - 2019-12-05 09:57:22
RE: [PAC] Régulation pac - par Kissagogo27 - 2019-12-05 12:37:41
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-05 14:00:26
RE: [PAC] Régulation pac - par OrOoX - 2019-12-05 21:14:54
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-05 22:45:08
RE: [PAC] Régulation pac - par OrOoX - 2019-12-05 23:23:40
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-05 23:56:37
RE: [PAC] Régulation pac - par OrOoX - 2019-12-06 00:14:43
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-06 00:27:50
RE: [PAC] Régulation pac - par OrOoX - 2019-12-06 13:04:29
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-06 13:32:24
RE: [PAC] Régulation pac - par OrOoX - 2019-12-06 16:40:38
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-06 16:51:01
RE: [PAC] Régulation pac - par OrOoX - 2019-12-06 17:52:55
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-06 17:58:33
RE: [PAC] Régulation pac - par OrOoX - 2019-12-06 20:53:21
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-06 21:09:50
RE: [PAC] Régulation pac - par OrOoX - 2019-12-06 21:28:05
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-06 21:36:56
RE: [PAC] Régulation pac - par OrOoX - 2019-12-07 19:13:05
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-07 19:24:21
RE: [PAC] Régulation pac - par OrOoX - 2019-12-07 20:21:41
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-07 21:25:32
RE: [PAC] Régulation pac - par OrOoX - 2019-12-07 21:52:29
RE: [PAC] Régulation pac - par Sk_rmouche - 2019-12-07 22:13:09
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-07 22:30:36
RE: [PAC] Régulation pac - par Sk_rmouche - 2019-12-07 23:49:28
RE: [PAC] Régulation pac - par BiduleOhm - 2019-12-08 00:08:18
RE: [PAC] Régulation pac - par OrOoX - 2019-12-08 09:29:18
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-09 19:21:54
RE: [Arduino] Régulation pac - par Kissagogo27 - 2020-04-09 20:13:18
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-09 20:30:57
RE: [Arduino] Régulation pac - par Kissagogo27 - 2020-04-09 20:37:22
RE: [Arduino] Régulation pac - par BiduleOhm - 2020-04-09 20:48:31
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-09 21:33:07
RE: [Arduino] Régulation pac - par BiduleOhm - 2020-04-10 01:06:19
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-10 14:12:01
RE: [Arduino] Régulation pac - par BiduleOhm - 2020-04-10 14:51:34
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-10 18:27:37
RE: [Arduino] Régulation pac - par BiduleOhm - 2020-04-10 22:19:02
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-10 22:32:24
RE: [Arduino] Régulation pac - par Kissagogo27 - 2020-04-10 22:34:23
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-10 22:59:35
RE: [Arduino] Régulation pac - par BiduleOhm - 2020-04-11 00:04:51
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-11 08:01:56
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-11 10:45:52
RE: [Arduino] Régulation pac - par Sk_rmouche - 2020-04-11 10:59:24
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-11 11:06:24
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-11 13:58:31
RE: [Arduino] Régulation pac - par BiduleOhm - 2020-04-11 15:49:50
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-11 16:27:26
RE: [Arduino] Régulation pac - par BiduleOhm - 2020-04-11 18:12:57
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-11 18:49:23
RE: [Arduino] Régulation pac - par BiduleOhm - 2020-04-11 19:31:47
RE: [Arduino] Régulation pac - par Kissagogo27 - 2020-04-11 20:44:12
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-12 07:55:48
RE: [Arduino] Régulation pac - par Kissagogo27 - 2020-04-12 10:05:25
RE: [Arduino] Régulation pac - par OrOoX - 2020-04-12 10:19:07
RE: [Arduino] Régulation pac - par BiduleOhm - 2020-04-12 13:45:42