Управление обогревом комнаты при помощи Arduino и Dallas18B20

Чтобы отправить комментарий — войдите.
  • C
    20 июл 15
    Я когда-то делал подобную штуку. Время от времени датчик может выдавать не совсем правильные данные, на них не нужно реагировать. Если датчик сообщает, что температура изменилась слишком быстро (скорее всего, это ошибка), то нужно сделать еще одно-два считывания. Если они подтверждают изменение температуры, то включать исполнительную цепь. В общем, я брал три замера, это 3 секунды при односекундном цикле. Еще, в такой системе нужен некоторый гистерезис, иначе нагрузка может постоянно включаться-выключаться. То есть порог температуры включения должен отличаться от порога температуры выключения. Хотя бы на пол-градуса.
    Ответить
  • vworld
    30 авг 13
    Я бы еще порекомендовал автору разместить код в архиве для скачивания, чем бегать по коду, а потом еще и по комментариям...
    Ответить
  • N
    14 июн 13
    Дисплей хороший но к нему трудно корпус подобрать.
    Ответить
  • vworld
    13 июн 13
    спасибо за статью.
    позаимствую интересные моменты в коде для себя, хотя мне управление кнопками не нравится...я сейчас решил с энкодером поиграть
    Ответить
    • vworld
      vworld 13 июн 13
      и еще совсем забыл — я сторонник твердотельного реле, конечно же в зависимости от нагрузки...
      Ответить
  • M
    7 июн 13
    Друзья, ни у кого схема LCD+Keypad и разводка для Sprint Layout не завалялась? Или любой шилд в спринте (чтобы использовать как базовый при проектировании новых)? Буду очень обязан.
    Ответить
  • V
    24 май 13
    А подсветку не лучше ли выключать по таймеру: 5 секунд ничего не нажимали — гасим...
    Т.к. судя по коду, один цикл приблизительно около секунды, то можно так:
    unsigned char timer;
    if (!key_num) { timer =0;}
    if (timer > 5){
    if (timer < 6) {timer ++};
    digitalWrite(BACKLIGHT_PIN, 0);
    } else {
    digitalWrite(BACKLIGHT_PIN, 1);
    }
    Ответить
    • pencraft
      pencraft АВТОР
      vav 27 май 13
      Тоже вариант, но ручное включение-выключение мне лично нравится больше. очень достает автоматическое отключение подсветки, только соберешься посмотреть — раз и погасло ;)))
      Ответить
      • V
        pencraft 28 май 13
        Да просто дисплей дурацкий — без подсветки плохо видно. :)
        Ответить
  • klen77
    20 май 13
    чует моё сердце, что за эти деньги можно было купить десяток тепловентиляторов с встроенным терморегулятором
    Ответить
    • pencraft
      pencraft АВТОР
      klen77 20 май 13
      Да, но это было бы не интересно ;))
      Ответить
  • pencraft
    pencraft АВТОР
    20 май 13
    Исходный текст программы в архиве можно скачать отсюда: yadi.sk
    Ответить
  • pencraft
    pencraft АВТОР
    20 май 13
    И еще, в функции опроса клавиатуры условные операторы должны выглядеть так:
    if (KeyValue2ButtonUp_LOW) {KeyNum=1;}//Up
    if (KeyValue2ButtonDown_LOW) {KeyNum=2;}//Down
    if (KeyValue2ButtonLeft_LOW) {KeyNum=3;}//Left
    if (KeyValue2ButtonRight_LOW) {KeyNum=4;}//Right
    if (KeyValue2ButtonSelect_LOW) {KeyNum=5;}//Select
    Приношу свои извинения за допущенные опечатки...
    Ответить
  • pencraft
    pencraft АВТОР
    20 май 13
    ВНИМАНИЕ! Поправка. К сожалению, часть строк в листинге оказалась урезана. Цикл опроса клавиатуры в процедуре редактирования заданной температуры должен выглядеть так:
    do {
    keyCode=ReadKey(KEYPAD_PIN);
    if (keyCode==1){setTmp++;delay(200);lcd.setCursor(7, 1);lcd.print(setTmp);}
    if (keyCode==2){setTmp--;delay(200);lcd.setCursor(7, 1);lcd.print(setTmp);}
    } while (keyCode!=5 && keyCode!=4);
    Ответить
Сделано с NoNaMe
© 2000-2026