управлять каждым пином по показаниям ds18b20

rss-999@mail.ru
Offline
Зарегистрирован: 02.06.2021

Доброго времени суток. Ребята прошу помочь с таким вопросом:

есть шесть ds18b20, nano,ds3231-модуль времени

Как привязать каждый даллас к пину, какую конструкцию использовать, if-else, switch-case

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

Если кто нибудь захочет написать готовый скетч рублей за 500, обязательно пишите на почту ) else {буду признателен любой помощи)}

     if(millis()%1000==0){                                 // если прошла 1 секунда
        Serial.println(watch.gettime("d-m-Y, H:i:s, D")); // выводим время в монитор, одной строкой
        if(watch.hours>=3 && watch.hours<=7){          // откл питание на время с 3 до 7 утра
          digitalWrite(ПИН ОТВЕЧАЮЩИЙ ЗА ДАЛЛАС №1, LOW);     
          digitalWrite(ПИН ОТВЕЧАЮЩИЙ ЗА ДАЛЛАС №2, LOW);
          digitalWrite(ПИН ОТВЕЧАЮЩИЙ ЗА ДАЛЛАС №3, LOW);
          Serial.println("Свет LOW");
                    }
            else{                                                           //все остальное время свет вкл
              
               Serial.println("Свет HIGH");
               digitalWrite(ПИН ОТВЕЧАЮЩИЙ ЗА ДАЛЛАС №1, HIGH);    //если температура не выше 70 градусов
               digitalWrite(ПИН ОТВЕЧАЮЩИЙ ЗА ДАЛЛАС №2, HIGH);    //если температура не выше 70 градусов
               digitalWrite(ПИН ОТВЕЧАЮЩИЙ ЗА ДАЛЛАС №3, HIGH);    //если температура не выше 70 градусов
 
                }
              
        
               delay(2);                                 // приостанавливаем скетч на 2 мс.
    }
b707
Offline
Зарегистрирован: 26.05.2017

что такое "пин, отвечающий за ДАЛЛАС №2"  - это пин питания датчика?

И как он связан с температурой?

 

А лучше не пишите странный код - он у вас не выходит. Лучше обьясните своими словами задачу. которую вы хотите решить

rss-999@mail.ru
Offline
Зарегистрирован: 02.06.2021

Есть 6 далласов, которые измеряют температуру приборов, при достижении определенной температуры, отключить питание соответствующего прибора

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

Опять курсач?

b707
Offline
Зарегистрирован: 26.05.2017

rss-999@mail.ru пишет:

Есть 6 далласов, которые измеряют температуру приборов, при достижении определенной температуры, отключить питание соответствующего прибора

понятно.

Вешаете 6 Далласов, каждый на свой дата-пин. 

Потом открываете либу Даллас-температуре, находите пример чтения температуры, копируете его в скетч 6 раз.

Потом пишете простейший код, типа "если температура > 70 - выключить прибор, иначе включить". И так тоже 6 раз.

Все.

 

А если не осилите - обратитесь в "Ищу исполнителя".  Задача простая, наверно более 500 р и не стоит.

rss-999@mail.ru
Offline
Зарегистрирован: 02.06.2021

Благодарю.

rss-999@mail.ru
Offline
Зарегистрирован: 02.06.2021

теплица

rss-999@mail.ru
Offline
Зарегистрирован: 02.06.2021

У вас под рукой либы нет, что бы сказать как пример называется, я тут смотрю, как в китайскую книгу)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

rss-999@mail.ru пишет:

я тут смотрю, как в китайскую книгу)

А, может, всё-таки ... ну, так, как вариант ... или "не, не наш метод"?

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

rss-999@mail.ru пишет:

Доброго времени суток. Ребята прошу помочь с таким вопросом:

есть шесть ds18b20, nano,ds3231-модуль времени

Уважаемый!

Вы напишите алгоритм на понятном Вам языке. Потом переведём - это несложно.

Пока в Вашем алгоритме я не вижу гетерезиса - реле будет щёлкать как бешенное. 

Подумайте, напишите ПРАВИЛЬНЫЙ алгоритм и именно его переводите в язык программирования.