Подскажите где тут переменная ?
- Войдите на сайт для отправки комментариев
Вс, 12/04/2015 - 15:37
Скачал библиотеку, все хорошо температуру показывает, но нужно отталкиваясь от температуры запускать реле.
То есть если температура 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 реле если меньше вырубить оба ну и тд.
Заранее благодарен.
Точнее врубить такой то и такой то пин, ну хотя все поняли я думаю.