Управление светодиодными лентами при помощи пульта дистанционного управления и ардуино. // код arduinolab.pw/i... // использованная библиотека github.com/shi... поддержать канал материально. www.donationale...
Пікірлер: 33
@Alex-qu3el8 жыл бұрын
Спасибо за ваш труд ) Интересно смотреть. Все подробно. Даже для новичков подойдет )
@alexall7 жыл бұрын
Лайк от меня за разъяснение, понял как одной кнопкой вкл/выкл. Еще бы понять как одной кнопкой переключать несколько ламп последовательно
@Techn0man1ac10 жыл бұрын
Лайк, просто и понятно.
@excelentdevicesl50615 жыл бұрын
Интересно а если программа большая как в прерывании поймать сигнал с пульта и его разузнать?
@vvvzzz26885 жыл бұрын
Не могли бы вы подсказать где можно прочитать описание работы данной бибилиотеки? в вашем примере к сожалению нет комментариев вы просто взяли готовый пример... IRrecv irrecv(RECV_PIN); это создается переменная irrecv которая на самом деле RECV_PIN ... которая на самом деле 8нога куда подключён датчик приемника видимо. decode_results results; вот эта строчка не понятна... ясно что это decode_results ключевое слово но что оно делает? Записывает декодированный результат в переменную results? ( а название переменной специально так выбрано чтобы запутаться в тавтологии видимо) и т.д. Не могли бы вы закомментировать этот (arduinolab.pw/index.php/2015/12/02/upravlenie-nagruzkoj-pri-pomoshhi-pulta-du-kod-iz-video/) ваш скетч чтобы понять как работает библиотека .. если будет возможность укажите для чего в библиотеке остальные ключевые слава (github.com/z3t0/Arduino-IRremote/blob/master/keywords.txt) и по возможности как ими пользоваться... Спасибо...!
@baskery869 жыл бұрын
подскажите еще пожалуйста как добавить в этот код кнопки которые будут работать в режиме удержания, те чтоб были и триггеры и удержание
@arduinoLab9 жыл бұрын
Антон Назаров добавить в условие цикл do, который будет выполнятся пока приходит FFFFFF
@baskery869 жыл бұрын
arduinoLab да я еще начинающий ардуино пользователь, не знаю всех тонкостей построения кода, сделал управление жалюзи по датчику света и режимами с ик пульта, датчик в режиме авто работает, ручное открыть закрыть тоже, а вот куда добавить удержание чтоб не попортить весь код не знаю, либо "авто" ломается, либо ручное управление, возможно я выбрал изначально неверный путь, вот мой код, может я неверно реализовал "граничные состояния мотора" #include // это скачанная библиотека int RECV_PIN = 11; //вход ИК приемника IRrecv irrecv(RECV_PIN); decode_results results;//This will turn on an LED after a threshold int sensePin = 0; // яркость, датчик int sensePin1 = 1; // угол поворота int ledPin = 3; //управление мотором одно направление int ledPin1 = 4; //другое int timer = 12; int a = 0; // режим авто, управляться будет от яркости unsigned long eventTime=0; void setup() { irrecv.enableIRIn(); // включить приемник pinMode(ledPin, OUTPUT); pinMode(ledPin1, OUTPUT); pinMode(13, OUTPUT); Serial.begin(9600); pinMode(timer, OUTPUT); } void loop() { int light = analogRead(sensePin); int pot = analogRead(sensePin1); light = constrain(light, 100, 900); pot = constrain(pot, 100, 900); if (digitalRead(RECV_PIN) == LOW) eventTime=millis(),digitalWrite(timer, HIGH); if(millis()-eventTime>100) digitalWrite(timer, LOW),digitalWrite(ledPin, LOW), digitalWrite(ledPin1, LOW) ; if (irrecv.decode(&results)) {//delay(100); // задержка перед выполнением определения кнопок, чтобы избежать быстрое двойное нажатие if (results.value == 0x20DF22DD) {a = 1; Serial.println("AUTO"); digitalWrite(13, HIGH);} // включить авто if (results.value == 0x20DF02FD) {a = 0; Serial.println("MAN OPEN"); digitalWrite(13, LOW);} // отключить авто if (results.value == 0x20DF827D) {a = 0; Serial.println("MAN CLOSE"); digitalWrite(13, LOW);} if(a == 1 && light > 800 && pot > 200) // если режим авто, яркость больше 800, створки закрыты - открываем { digitalWrite(ledPin, HIGH); if (pot = 790) {Serial.println("OPEN"); delay(50); } } else if (results.value == 0x20DF02FD && pot > 200) { digitalWrite(ledPin, HIGH); //если режим авто откл, створки закрыты - открываем // delay(50); } else if (results.value == 0x20DF827D && pot < 800) { digitalWrite(ledPin1, HIGH); //если режим авто откл, створки окрыты - закрываем } if (results.value == 0x20DF609F && (digitalRead(timer) == HIGH) ){Serial.println("OP");digitalWrite(ledPin, HIGH);} else { digitalWrite(ledPin, LOW); digitalWrite(ledPin1, LOW); } irrecv.resume();} }
@TheEmpire22228 жыл бұрын
В какой программе надписи в видео добавлены? Очень нужна такая.
@amarantaspb8 жыл бұрын
Подскажите, а принципиальная схема этого устройства есть? Что-то не нашел ни на сайте, ни в видео. Спасибо.
@user-fn7hx3xl4i7 жыл бұрын
а есть принципиальная схема этого устройства?
@BotnarencoVadim10 жыл бұрын
Прикольно, у меня вопрос: какой кварц поставили? и почему бес конденсаторов на 0.22пкф? или не обезательно?
@arduinoLab10 жыл бұрын
кварц на 16мгц, конденсаторы тоже есть, но в SMD 0805 по 22 пики, там всё стандартно, просто на одной плате
@BotnarencoVadim10 жыл бұрын
Ок спосибо ;) Как вы думайте добавить delay(300); // задержка перед выполнением определения кнопок, чтобы избежать быстрое двойное нажатие ?
@arduinoLab10 жыл бұрын
здесь это не нужно, при повторе библиотека засылает FFFFFF вместо кода кнопки
@BotnarencoVadim10 жыл бұрын
я добавил delay(300); , а то у меня чтото оно быстро вкл/выкл, поставил задержку и всё ок
@user-tv9wi3br1i9 жыл бұрын
Здравствуйте. Можно ли совместить скетч, что бы часть кнопок работала с удержанием, а часть с фиксацией ? Хочу сделать дистанционное управление усилителем. Управлять моторизованным резистором (громкость) (на пульте нажал + в одну сторону крутит, - в другую), включать/выключать сеть и селектором входов (энкодер) . Если бы при переключении входов , отключался предыдущий вход. Может есть готовый скетч ? Наверняка кому то еще, будет интересно. Помогите , пожалуйста. За ранее благодарен.
@arduinoLab9 жыл бұрын
+Евгений Ивженко есть, ищи на канале.
@user-xs9gc7dj4o9 жыл бұрын
Код уж сильно длинный. Пытаюсь сделать компактнее, но что-то ничего не работает. Может кто поможет ? Вот код: #include // github.com/shirriff/Arduino-IRremote const int RECV_PIN = 11; // IR приемник const int OUT[4] {7,6,5,4}; const int KEY[5] {0x4FB00FF, 0x4FB08F7, 0x4FB8877, 0x4FBC837, 0x4FB4AB5}; // коды пульта ДУ IRrecv irrecv(RECV_PIN); decode_results results; void setup() { irrecv.enableIRIn(); for (int i=0; i
@LanGhost1729 жыл бұрын
Вы можете дать схему самопального конвертора напряжения на MC34063 для конвертации с 12 на 5в? А то в даташите слишком много элементов нужно подключать
@arduinoLab9 жыл бұрын
много? это DC-DC и там меньше деталей неполучится. www.avislab.com/blog/mc34063/ www.circuitsonline.net/forum/view/106207 без обвязки только линейные стабилизаторы, вроде LM7805 и подобных.
@LanGhost1729 жыл бұрын
arduinoLab понятно тогда буду как и хотел 7805 с двумя кондёрами юзать.
@TheEmpire22228 жыл бұрын
размер радиатора для 7805, иногда больше всей схемы dc-dc )))
@user-mc6hp7ye3u8 жыл бұрын
интересно а как вы все это затолкали в 8ю мегу ? ... у меня лично базовый код компилится в 10кб ... меньше нехочет ... хочу сделать ик реле на tiny85, но немогу уменьшить код(((
@arduinoLab8 жыл бұрын
+Денис Хмелевский тамже ссылка код вроде в описании.
@TimofeiGreenX9 жыл бұрын
очень давно мучает вопрос можно ли с пульта управлять яркостью светодиодов? к примеру на одну кнопку нажимаешь яркость возрастает на другую уменьшается...
@arduinoLab9 жыл бұрын
Universal GreenX конечно можно.
@TimofeiGreenX9 жыл бұрын
arduinoLab А как это можно реализовать? Я долго пытался это сделать но мне почему-то не удалось((( в программировании я конечно очень слаб(((
@arduinoLab9 жыл бұрын
Universal GreenX попробую попозже, сейчас пока не до кода и видео.
@arduinoLab9 жыл бұрын
arrduinolab.blogspot.ru/2014/11/irremote.html
@TimofeiGreenX9 жыл бұрын
arduinoLab огромное спасибо! работает но почем-то когда ставлю #define RECV_PIN 12 // IR приемник #define OUT1 9 // выхода на мосфеты #define OUT2 11 и загружаю скетч все работает и POWER_KEY и KEY1 и KEY2 но когда доходит дело до KEY3 и KEY4 система отказывается работать ставлю OUT2 на другой контакт и все нормально... PS. можно ли повысить скорость плавности переливания?