Добрый вечер.Подскажите в чём дело. есть arduino uno, arduino rele,всё это соединяется через терминальную плату расширения. Код простой, мерим температуру и если температура меньше заданной, включаем 2 реле. Если подключено к компьютеру, все работает. если запитываю через блок питания 5в 2а срабатывает 1 реле,а должно два. если запитываю через блок питания 8.4в 1а ,то срабатывает 2 реле , но как то хаотично.(не по коду) не понимаю. а подключаю его и к блоку питания и к компу. переключается питание на комп.(как я понял) и всё начинает работать блок питания подключаю к плате через , штекер, 2.10 х 5.50, Код (C++): // библиотека для работы с протоколом 1-Wire #include <OneWire.h> // библиотека для работы с датчиком DS18B20 #include <DallasTemperature.h> // сигнальный провод датчика #define ONE_WIRE_BUS 10 const int ledPin = 7; const int ledPin1 = 8; // создаём объект для работы с библиотекой OneWire OneWire oneWire(ONE_WIRE_BUS); // создадим объект для работы с библиотекой DallasTemperature DallasTemperature sensor(&oneWire); void setup(){ // инициализируем работу Serial-порта Serial.begin(9600); // начинаем работу с датчиком sensor.begin(); // устанавливаем разрешение датчика от 9 до 12 бит sensor.setResolution(12); pinMode(ledPin, OUTPUT); pinMode(ledPin1, OUTPUT); } void loop(){ // переменная для хранения температуры float temperature; // отправляем запрос на измерение температуры sensor.requestTemperatures(); // считываем данные из регистра датчика temperature = sensor.getTempCByIndex(0); // выводим температуру в Serial-порт Serial.print("Temp C: "); Serial.println(temperature); if(temperature<30){Serial.println("Start") ;} if(temperature<30){digitalWrite(ledPin, HIGH);digitalWrite(ledPin1, HIGH);} else {if(temperature>33){Serial.println("Stop");} if(temperature>33){ digitalWrite(ledPin, LOW);digitalWrite(ledPin1, LOW);} } // ждём одну секунду delay(1000); }
почему не работает. от блока питания. что не так? как мне кажется делаю все правильно. может допускаю какую то ошибку, но не могу её увидеть.
ардуино и реле соединены через терминальную плату (как бутерброд) https://aliexpress.ru/item/32839587...earchweb0_0,searchweb201602_,searchweb201603_ В данный момент питаю от блока питания 5в 2а, через разьём type b (всё работает, сутки. но меня не устраивает так как провод занят. он нужен для других дел. хочу питать от блока питания разьём 2.10 х 5.50)
Так в ответе #2 уже все расписано. Почему не работает, и как нужно. Разъем 2.10 х 5.50 это вход стабилизатора на 5В. Напряжение на данном разъеме должно быть от 7В. При напряжении выше 12В, на данном разъеме, будет сильно греться стабилизатор. Да 12В многовато - 10В максимум.
верно - линейник - падение - все вытекающие при преобразовании - нагрев при большом потреблении не избежен - пять вольт малова-то будет
Я извиняюсь. Вы действительно дочитали до конца #1? 8,4В подключал, тоже не работает. В общем всё решилось куда проще, замена на др. блок питания 7.5в 1а = работает. Кстати почему изначально питал 5в, так работало же. данная сборка отработала всё лето. сейчас просто понадобилось, что бы ещё 1 насос запускался. добавил (digitalWrite(ledPin1, HIGH) и перестало работать. уно и sim900 тоже работали безупречно от 5в. #2 #11 учту не знал. Всем спасибо, за внимание.
то что вы включали дохлый БП и от него не работало - никак не отменяет того, что написал я. Изначально ваша ошибка в том, что в круглый разъем нельзя включать 5в. С этим будете спорить?