Подскажите где тут переменная ?

barbadeya
Offline
Зарегистрирован: 31.03.2015

Скачал библиотеку, все хорошо температуру показывает, но нужно отталкиваясь от температуры запускать реле.

То есть если температура 30 градусов то включить реле на таком то пине, но в коде не могу понять что из этого всего есть переменная.

 

 

#include <OneWire.h>
int pin1=13;
int pin2=12;
 
// DS18S20 Temperature chip i/o
OneWire ds(7);  // работаем через пин 7
 
byte data[12];
byte addr[8];
 
void setup()
{
  // инициализация портов ввода/вывода
  // подключаем последовательный вывод
  int (pin1, OUTPUT);
  int (pin2, OUTPUT);
  Serial.begin(9600);
  Serial.println("Start");
  // инициализация
  Procedura2(); // первый поиск устройств 1-Wire и запуск АЦП
}
 
void loop()
{
  unsigned long time1, time2;
  float temp = Procedura1(); // чтение показаний АЦП
  Procedura2(); // повторный поиск и запуск АЦП
  time1 = millis(); // время начала преобразования температуры
  time2 = time1+1000; // время для подготовки датчиком показаний (мс)
 
  // что-то полезное
  Serial.println(temp);
 
  while(time2 > time1) time1 = millis();
}
 
float Procedura1()
{
  //1) Читаем готовые данные
  //present = 
  ds.reset();
  ds.select(addr);    
  ds.write(0xBE);         // чтение показаний датчика
 
  for (int i = 0; i < 9; i++) {           // читаем 9 байт
    data[i] = ds.read();
  }
  
  float Tc_100;
  Tc_100 = (data[1]*256. + data[0])/16.;
  
  return Tc_100;
}
 
void Procedura2()
{
  //2) Запускаем поиск подключенных устройств
  if ( !ds.search(addr)) {
    Serial.print("No more addresses.\n");
    ds.reset_search();
    return;
  }
 
  if ( OneWire::crc8( addr, 7) != addr[7]) {
    Serial.print("CRC is not valid!\n");
    return;
  }
 
  if ( addr[0] == 0x28) {
      Serial.print("Device is a DS18B20 family device.\n");
  }
  else {
    Serial.print("Device family is not recognized: 0x");
    Serial.println(addr[0],HEX);
    return;
  }
 
  //3) Запускаем конвертацию
  ds.reset();
  ds.select(addr);
  ds.write(0x44,1);         // запускаем преобразование, оставляем питание на линии (второй параметр =1)
 
 //процсердура варения
}
 
 
Например что мне нужно написать что бы получилось типа if температура >30градусов врубить 2 реле если меньше вырубить оба ну и тд.
Заранее благодарен.
barbadeya
Offline
Зарегистрирован: 31.03.2015

Точнее врубить такой то и такой то пин, ну хотя все поняли я думаю.