КАК СДЕЛАТЬ НОЧНИК НА ARDUINO [Уроки Ардуино #9]
HTML-код
- Опубликовано: 29 фев 2016
- В уроке использовались следующие компоненты:
1) Плата Arduino Uno + USB-кабель: ali.pub/q0tku
2) RGB светодиод: ali.pub/xumb1
3) Кнопки, 100 шт: ali.pub/5gtfd
2) Breadboard (макетная плата): ali.pub/ned59
4) Перемычки, 40 шт:
5) Светодиоды, 30 шт: ali.pub/6lc3w
6) Резисторы + Светодиоды, 50 шт: ali.pub/2dgio
В следующих уроках вам может потребоваться:
Набор Aurdino для начинающих: ali.pub/uftro
___________________________
Скетч для ночника: yadi.sk/i/hOW0j19RpooNc
______________________________________
Группа в ВК: goo.gl/pE36V9
Реклама на канале: goo.gl/r9jM6p
Почта (для сотрудничества): daymon911@mail.ru
В этом выпуске вы узнаете: как сделать ночник на ардуино с помощью rgb светодиода; как можно сделать простой светильник ночник с переключением разных цветов. Этот arduino проект можно использовать например, как ночник детский, так как детям нравятся разные яркие цвета и их переключение с помощью кнопки будет очень интересно.
___
Смотрите наши видео, в которых мы простым языком рассказываем о радиотехнике, электронике и радиоэлектронике!
Наши уроки будут особенно полезны для начинающих радиолюбителей и студентов радиотехнических ВУЗов.
В видеороликах мы даём основы электроники: определения, описания, схемы и принцип работы различных элементов радиотехники.
В наших видео вы узнаете: что такое транзистор, диод, конденсатор, резистор, микросхема, электрический ток и много других разных интересных вещей и явлений, связанных с электроникой. Наука
огромное спасибо автору за очередной обучающий ролик!!! респект за труд
ВНИМАНИЕ ДЛЯ ТЕХ, КТО СПИСЫВАЕТ СКЕТЧ С ЭКРАНА!!! на 4.15
между lustbutton и currentbutton стоит знак равно!!! хорошо хоть автор скетч в описании оставил, а то я целый час бился и не мог понять, почему у меня через жопу все работает. диод цвета менял совершенно хаотично
Спасибо, тоже не мог понять почему не работает программа. Сначала ставлю на проверку, выдавал на этом месте ошибку, мол не хватает ";" решил на всякий случай проверить прежде чем поставить точку с запятой, оказалось правильно, что не поставил)
СПАСИБО
😢
Согласен с теми, кто критикует отсутствие схемы. Есть еще одна просьба, в описании показывать текст программы и писать побольше комментариев в операциям программы, это очень облегчит усвоение материала тем, кто никогда не писал программы. Спасибо за работу.
Добрый день! Все очень доходчиво и понятно. Хотелось бы видеть работу ардуино с временем (включение и выключение в определенное время), датчиками освещения, как включить приборы работающие от 220 или 12 вольт, переключение между разными источниками питания.
супер видосы)!!! понятные подробные) и интересные. а кто не успевает пусть перемотают назад.\
Белый цвет, исходя из треугольника цветности, получится примерно при 85 синего, 75 красного и 60 зеленого. В таких пропорциях работало в старых цветных телевизорах. С таким светодиодом надо будет подобрать экспериментально.
Спасибо за доходчивые и подробные видео дружище!
В первую очередь выражаю благодарность автору за видеоуроки и в тоже время подлизываюсь - мне необходим модулятор речи в голос Дарта Вейдэра,чтобы девушку напугать.И вот просьба хотя бы корявую попробовать версию сделать на Ардуине или каким-то образом конденсатор включать.А критиков самсэй не слушайте-большинство из них ничего даже подобного вашему не создало. Их душат жабы зависти и злобы.Да прибудет с нами сила.Ответы оставлять под мэссэджем - буду раз в неделю проверять(пока с Китая 2 месяца везут Ардуин). Хочу упредить 50% гневных комментов - необходима портативная версия,которую бы я смог вмонтировать в шлем,а ПК слишком громоздкий и модуляцию хочу в реальном времени.Пока пересмотрю уроки по ШИМ,наверное. Готовые устройства из магазина тоже не годятся - мой голос далёк от Дарта Эникена, поэтому я бы хотел иметь возможность перенастраивать глубину модуляции как скажем в NERO , но опять-таки в реальном времени.Спасибо, если дочитали.Кто не дочитал и палец вниз - средний палец вам вверх ,.!..
Спасибо огромное, пришлось разбираться вместе с дочкой, 6 класс, учитель задал светофор на кнопке после двух уроков подкинь. Без вами бы совсем не разобрались.
Если интересно, можете попробовать использовать не предустановленные значения, а рандомные, через функцию random(0, 127) - аргументы её обязательно оставить именно такими, чтобы покрыть весь доступный диоду диапазон rgb.
Прикольно обязательно соберу эту схему!
Маленькое уточнение: RGB светодиоды бывают как с общим катодом, так и с общим анодом!
Интересно, жду продолжения.
все супер и доходчиво! но пожалуйста не тряси рукой, когда держишь детальки и рассказываешь :\
А какова частота тактов руки автора?Может в их скважностях что-то закодировано???Ни один китайский Ардуин не сможет превзойти человеческий процессор(естественно взрослый и образованный)
как будто разговаривает детали а не автор)
Ардуино с ночником плохо справляется, когда будет ночник на процессоре I7?:)))
Код на видео косячный. Берите код из ссылки. Автор редиска.
const int BLED=9;
const int GLED=10;
const int RLED=11;
const int BUTTON=2;
boolean lastButton = LOW;
boolean currentButton = LOW;
int ledMode = 0;
void setup ()
{
pinMode (BLED, OUTPUT);
pinMode (GLED, OUTPUT);
pinMode (RLED, OUTPUT);
pinMode (BUTTON, INPUT);
}
boolean debounce(boolean last)
{
boolean current = digitalRead(BUTTON);
if (last != current)
{
delay(5);
current = digitalRead(BUTTON);
return current;
}
}
void setMode(int mode)
{
// Красный
if (mode == 1)
{
digitalWrite(RLED, HIGH);
digitalWrite(GLED, LOW);
digitalWrite(BLED, LOW);
}
// Зеленый
else if (mode == 2)
{
digitalWrite(RLED, LOW);
digitalWrite(GLED, HIGH);
digitalWrite(BLED, LOW);
}
// Синий
else if (mode == 3)
{
digitalWrite(RLED, LOW);
digitalWrite(GLED, LOW);
digitalWrite(BLED, HIGH);
}
// Пурпурный (Красный+ Синий)
else if (mode == 4)
{
analogWrite(RLED, 127);
analogWrite(GLED, 0);
analogWrite(BLED, 127);
}
// Бирюзовый (Синий+ Зеленый)
else if (mode == 5)
{
analogWrite(RLED, 0);
analogWrite(GLED, 127);
analogWrite(BLED, 127);
}
// Оранжевый (Зеленый+ Красный)
else if (mode == 6)
{
analogWrite(RLED, 127);
analogWrite(GLED, 127);
analogWrite(BLED, 0);
}
// Белый (Зеленый+ Красный+ Синий)
else if (mode == 7)
{
analogWrite(RLED, 85);
analogWrite(GLED, 85);
analogWrite(BLED, 85);
}
// Выключен (mode = 0)
else
{
digitalWrite(RLED, LOW);
digitalWrite(GLED, LOW);
digitalWrite(BLED, LOW);
}
}
void loop()
{
currentButton = debounce(lastButton);
if (lastButton == LOW && currentButton == HIGH)
{
ledMode++;
}
lastButton = currentButton;
if (ledMode == 8)
ledMode = 0;
setMode(ledMode);
}
Просто так, чтобы яндекс не открывать.
Классно, только что читал книгу Блум Джереми - Изучаем Arduino. Инструменты и методы технического волшебства - 2015 58 станица и тут ваш видео. Скетч точ в точ как у книги)
Спасиб за наводку. При всем уважении к автору, есть ошибки в коде. Например, строка lastButton currentButton идет через =
@@alexkrat5562 в функции debounce тоже ошибка была, ещё с первого видео.
@@alexkrat5562спасибо огромное
Интересно было бы посмотреть про ардуино и дистанционное упраление.
+Иван Конь Именно
В последних строчках у Автора косяк а именно lastButton = currentButton; надо! Автору Спасибо)
Функции уже были в предыдущем видео, лучше и здесь написать свою функцию для установки цвета:
void setRGB(unsigned red, unsigned green, unsigned blue) {
analogWrite(RLED, red);
analogWrite(GLED, green);
analogWrite(BLED, blue);
}
тогда вместо
// Пурпурный (Красный+ Синий)
else if (mode == 4)
{
analogWrite(RLED, 127);
analogWrite(GLED, 0);
analogWrite(BLED, 127);
}
достаточно будет её вызвать:
// Пурпурный (Красный+ Синий)
else if (mode == 4)
{
setRGB(127, 0, 127);
}
В остальных случаях подобным образом, сильно сократит код и упростит его чтение
там не delay(S) а delay(5)
спасибо тебе хороший человек
Спасибо за видио! Просьба, когда крупно что-то показываешь, то не тряси рукой, постарайся компонент или деталь держать статично, чтобы нормально можно было рассмотреть. )
БОГ КОДА, ПРОСТО БОГ...
void loop()
{
currentButton = debounce (lastButton);
if (lastButton == LOW && currentButton == HIGH)
{
ledMode++;
}
lastButton currentButton;
if (ledMode == 8)
ledMode = 0;
setMode(ledMode);
}
на видео ошибка между lastButton currentButton; не хвотает =
Светильник для морского аквариума, где разные спектры света включаются в определенное время мощность такого светильника должна быть порядка 100 Вт .спасибо )
А я вот жду проект "Умный дом" ))))
+(samodelkin) Рано еще
Ну я же не говорю что "хочу видео сейчас же" я просто написал что хочу его увидеть в дальнейшем)))
(samodelkin) , я хочу сейчас, чтобы нам показали как сделать, чтобы сразу 2 более операций выполнялись не по порядку каждая своё делала сразу.
Василий Банников На словах и я могу , а код написать слабо?
+Phantomas ! ни один процессор в мире не может делать больше одного действия за такт..
Визуализация книги Джереми Блума. Советую, тем, кому текст проще воспринимать, нежели видеоуроки
Что такое setMode?
откуда это появилось, почему про это ранее не слова?
можно добавить одну команду (из 3 или 4 урока, не помню), чтобы он приятно мигал и цвета переключались
Вдруг пригодится:
В Ардуино вместо внешнего подтягивающего резистора на кнопку можно использовать встроенный а Атмегу. Делается это очень просто:
pinMode(2,INPUT_PULLUP);
+Dan Mishin эх, жаль что INPUT_PULLDOWN нету.
+Dan Mishin А что такое Атмега?
+astoa100 полагаю, что речь о "главном" чипе на плате ардуино :)
Спасибо.
Можно писать digitalRead(!BUTTON), чтобы значение с кнопки при таком режиме было "нормальным".
Молодец! Только не успеваю заказывать комплектующие. Долго едут с китая.
Закажи набор ардуино уно 3
Добрый день !! У вас на видео контроллер ардуино больших размеров, на моей uno маленьких atmega328p u-kr. от чего это зависит ? и критично ли это?
lastButton currentButton Может объяснишь, что это за строчка? Так себе из тебя объяснялка
@@vsratko_ebich спасибо
Плохо, что он этого нормально не объяснил
у меня проблемка с кнопкой, проги работают но сами по себе, без участию кнопки-я так понимаю дело в резисторе на 10 кОМ? когда я жму на кнопку он стопит цвет, если отпускаю дальше перечисляет.
Здравствуйте, а можно снять видео про управление сервой. С помощью простого термо резистора. Так как думаю не у всех есть датчик ДХТ11 или аналоги. А вот простой терморезистор думаю каждый сможет достать. Спасибо.
Добрый день! Вопрос по теме. Ну с последовательным перебором понятно, а вот как сделать что бы при длительном нажатии(более 2сек) лампа полностью выключалась из любого режима свечения, а при удержании более 4сек моргал с шим выбранный цвет светодиода? можно это в отдельный видеоурок вынести если долго пояснять. Да и дкмаю эта функция будет многи интересна.
(╭☞ ゚ ͜ʖ ゚)╭☞ BLED
Можно автора попросить не рассказывать что и куда подключать, а просто в группе в ВК разместить схему (а в описании указать ссылку)? А то с программой разобрался легко а вот со схемой пришлось помучиться.
еще есть такая идея: можно сделать так чтобы цвета сами переключались по времени: скажем через каждую минуту идет переключение. Причем время переключений можно было бы тоже менять нажатием другой кнопки.
А так лайк!
Не все сидят в ВК :/
У меня пока самой ардуины нет, учусь тут и в симуляторе Circuits, так вот короче, собрал такую же схему, только там RGB светодиод обычный, как сказал автор я на каждую ногу кроме катода подключил еще по резистору на 220 Ом, но симулятор показывает что светодиод ломается. Что я сделал не так ?
Сам разобрался, эмулятор лагает как проклятый и я случайно один резистор не прикрепил к светодиоду.
Крута, а я точно так же сделаю с RGB света-диодной лентой только управляться будет по Wi Fi со смартфона через приложение RemoteXY, также можно и через интернет ну в качестве кнопок еще можно запилить ИК пульт, но библиотека IRRemote не позволит использовать ШИМ. Зачем они так замутили в Ардуино с таймерами, доступа к ним из Ардуино как я понял нет, только через прямое обращение к регистрам.
Совет: RGB выводы лучше подключать через токоограничивающий резистор 220ом.
А поставить одно сопротивление на общий отвод светодиода можно?
Гуд
а почему бы не switch(mode)?
у void бывает setup и loop, при чем тут setMode?
Покажи электронный замок (замок как на машине ) с задержкой срабатывания
При переписывании скетча с видео выдаёт ошибку, Если брать скетч в описании то там без ошибки
Хорошим стилем программирования считается в последнем условии писать не ledMode == 8, а ledMode >=8.
А есть разность собирать на Uno или Mega2560 и в но писании кода.
светодиод из видео - детская игрушка
обычно цветовые контакты - катоды
Что делать у меня при включении всей системы ледсветильник начянает мигать а при нажатии кнопки 5 сек и меняет свет затем обратно мигает.Помогите пж
а если например не по половине или трети напряжения подавать на цвета а полностью 5 В ?
Резисторы на 220 ом надо к анодам?
Сделайте управление через блютуз
А где скетч в описание нету?
я загрузил скеч который ты дал в описании и соеденил все также как у тебя но у меня почему то очень быстро моргает и при нажатии на кнопку она перестает моргать и горит всеми цветами
Сделай то же самое только диод с обшим анодом
Блиин
помогите пожалуйста решить задачу переключение множество светодиодов по порядку при помощи одной кнопки
Было бы круто сделать что бы цвета переливались и диодов было с 10-ток )
для этого, нужно всего 3 светодиода, и мелкая модификация программы
Для тех кто пытается списать код с видео, учтите что там ошибка, лучше сразу глянуть в описании скетч.
Добрый день! Сможете написать скетч со светодиодом на заказ ?
де учился программировать и какую для этого литературу используешь?
+++
+Александр Соболев Все есть в интернете. А что касается ардуино, там в самой программе есть множество шаблонов с подробными комментариями. Было бы желание.
Василий Банников Спасибо. Какие книжки посоветуешь.
Василий Банников спасибо большое.
+Александр Соболев Прата хорош, но сложноватый. Я сам С++ потихоньку ковыряю и в этом полный нуб, а потому, как для нуба, советую автора Роберт Лафоре. Легче намного. А после Лафоре можно знания полировать Пратой. Я к такому алгоритму изучения пришёл после пары месяцев :)
У меня ошибка before 'currentButton' в конце где
lastButton currentButton;
Ага
между надписями равно поставь
на кнопку не нужен резистор просто подключать надо на
"И ledMode - это энкримент переменной статуса светодиода" - быстро сказал автор и все поняли что это значит, поскольку руку никто не поднял, чтобы задать вопрос...
😁
у меня скеч не прходит проверку по этой строке setMode (ledMode); выдает ошибку was not declared in this scope . что делать ?
Что добавить в скетч чтобы светодиод сам менял цвет, а по кнопке выключался и выключался? Помогите пожалуйста кто разбирается. Спасибо.
У тебя на видео ошибка в коде, lastButton currentButton;, там не хватает знака между переменными
Подскажи, как сделать питание от батарейки как у тебя. Заранее спасибо
Для этого специально продаётся переходник на батарейку типа КРОНА . Переходник с проводами. На алиэкспресс копейки стоит.
на 2:02 кот требует положить ему мясо в миску ))
А у меня программа не загружается, в строчке setMode(ledMode); ошибку выдает
Здравствуйте код пишется не так я помогу
Вот пример:
Int led =12; //тут пишете устр с пином к которому он подключен
void setup(){
pinMode(led,OUTPUT); //OUTPUT используется как выход а вход INPUT
}
void loop(){
digitalWrite(led, HIGH); //эта функция используются для включения выкл и т.д
delay(1000)
digitalWrite(led, LOW);
}
Как с помощью кнопки включать циклы?
привет
у меня есть проблема на прошивке выходит 'setMode' was not declared in this scope
const int BLED = 9;
const int GLED = 10;
const int RLED = 11;
const int BUTTON = 2;
boolean lastButton = LOW;
boolean currentButton = LOW;
int ledMode =0;
void setup()
{
pinMode(RLED,OUTPUT);
pinMode(BLED,OUTPUT);
pinMode(GLED,OUTPUT);
pinMode (BUTTON,INPUT);
}
boolean debounce(boolean last)
{
boolean current = digitalRead(BUTTON);
if(last != current)
{
delay(5);
current = digitalRead(BUTTON);
return current;
}
}
void setMod(int mode)
{
//красный
if (mode == 1)
{
digitalWrite (RLED,HIGH);
digitalWrite (BLED,LOW);
digitalWrite (GLED,LOW);
}
//зеленый
else if (mode == 2)
{
digitalWrite (RLED,LOW);
digitalWrite (BLED,HIGH);
digitalWrite (GLED,LOW);
}
//синий
else if (mode == 3)
{
digitalWrite (RLED,LOW);
digitalWrite (BLED,LOW);
digitalWrite (GLED,HIGH);
}
// порпуровый
else if (mode == 4)
{
analogWrite ( RLED,127 );
analogWrite ( BLED, 0 );
analogWrite ( GLED,127 );
}
//бежевый
else if (mode == 5)
{
analogWrite ( RLED,0 );
analogWrite ( BLED, 127 );
analogWrite ( GLED,127 );
}
//ораньжеаый
else if (mode == 6)
{
analogWrite ( RLED,127 );
analogWrite ( BLED, 127 );
analogWrite ( GLED,0 );
}
//белый
else if (mode == 7)
{
analogWrite ( RLED,85 );
analogWrite ( BLED, 85 );
analogWrite ( GLED, 85 );
}
//выключить (mode = 0)
else
{
analogWrite ( RLED, LOW );
analogWrite ( BLED, LOW );
analogWrite ( GLED, LOW );
}
}
void loop()
{
currentButton = debounce(lastButton);
if (lastButton == LOW && currentButton == HIGH)
{
ledMode++;
}
lastButton = currentButton;
if ( ledMode ==8)
ledMode = 0;
setMode ( ledMode );
}
где я ошибся. заранее спасибо
Я хотел бы добавить фоторезистор, это ж ночник, а если бежишь на работу и забыл выключить? Неееехоорошо, делаем на аккумуляторе….иииии…. Думаю штука будет хорошая, если можно оставь контакты, а я как сделаю, поделюсь усовершенствованием
У меня по ходу ргб диод палёный, все предыдущие уроки получались, а в этом хоть ты трести не светит, уже и контакты все проверил
Радиолюбитель сылка на светодиод не открывается
Здраствуйте . У меня все цвета вместе светятся . В чем может быть ошибка ???
const int LED_B = 9;
const int LED_G = 10;
const int LED_R = 11;
const int BUTTON = 2;
bool lastButton = LOW;
bool currentButton = LOW;
int ledMode = 1;
// DEFAULT SETUP
void setup()
{
pinMode(LED_B, OUTPUT);
pinMode(LED_G, OUTPUT);
pinMode(LED_R, OUTPUT);
pinMode(BUTTON, INPUT);
}
// DEBOUNCE FIX
bool debounce(bool last)
{
bool current = digitalRead(BUTTON);
if (last != current )
{
delay(5);
current = digitalRead(BUTTON);
return current;
}
}
// SET LED COLOR
template
void setLedColor(int Rled, int Gled, int Bled, T Rv, T Gv, T Bv) // min = 0; max = 255;
{
if (Rv == 255) Rv = HIGH;
else if (Rv == 0) Rv = LOW;
if (Gv == 255) Gv = HIGH;
else if (Gv == 0) Gv = LOW;
if (Bv == 255) Bv = HIGH;
else if (Bv == 0) Bv == LOW;
digitalWrite(Rled, Rv);
digitalWrite(Gled, Gv);
digitalWrite(Bled, Bv);
}
// SET LED MODE
void setMode(int mode)
{
switch(mode)
{
case 1: // RED
setLedColor(LED_R, LED_G, LED_B, 255, 0, 0);
break;
case 2: // GREEN
setLedColor(LED_R, LED_G, LED_B, 0, 255, 0);
break;
case 3: // BLUE
setLedColor(LED_R, LED_G, LED_B, 0, 0, 255);
break;
case 4: // PURPLE
setLedColor(LED_R, LED_G, LED_B, 127, 0, 127);
break;
case 5: // CYAN
setLedColor(LED_R, LED_G, LED_B, 0, 127, 127);
break;
case 6: // ORANGE
setLedColor(LED_R, LED_G, LED_B, 255, 125, 0);
break;
case 7: // WHITE
setLedColor(LED_R, LED_G, LED_B, 85, 85, 85);
break;
default: // MODE 0 (TURNED OFF)
setLedColor(LED_R, LED_G, LED_B, 0, 0, 0);
}
}
// MAIN LOOP
void loop()
{
currentButton = debounce(lastButton);
if (lastButton == LOW && currentButton == HIGH)
{
ledMode++;
if (ledMode == 8) ledMode = 0;
}
lastButton = currentButton;
setMode(ledMode);
}
А где можно оставить свой проект?
Макар Цивиков Выложи в Ютубе.
Почему не говоришь, что макетная плата "+" и" -" пополам разделена!!! я чуть не чёкнулся.. "-" по удобнее воткнул с другого конца (ГОРИЗОНТАЛЬНОЙ !!!) а она ОКАЗЫВАЕТСЯ пополам разделена... с ума сойти... или это только мне так везёт?
тоже на этом мозг сломал себе)) спасибо тебе
В чем проблема если горит только 3 режима красный синий и зеленый а остальные просто не горят??????????????????????
Кто-то может сбросить ссылку на гугл диск со скетчем ? Яндекс отказуется работать
привет.скажи пожалуйста я вставляю видео карту а она начинает очень сильно пипикать
Люди добрые,я только начинаю и столкнулся с такой проблемой,я собрал макет 1 в 1 как и код (перепроверил очень мого раз)
,но у меня после загрузки скетча почему-то сразу горит диод 1м цветом и не реагирует на кнопку,в чем может быть ошибка?
Какой ток ARDUINO может выдавать на светодиод?
каждый пин выдает не больше 40 мА.
@@maksymnepomiashchyi6529 без резистора на светодиод выдавал почти 160мА
белый цвет скорее всего (255, 255, 255)
Куда в итоге делись три 220 Ом резистора?))
резисторы нужны когда используешь не RGB светодиод, а три обычных светодиода разных цветов
@@AA-un4so для ргб тоже надо)
а что изменится если вместо const int написать просто int ?
Нечего не изменится , просто перестанет быть константой.
Сможешь менять значение этой переменной.
Где код?
Код крупнее плиз. На телефоне не видно ничего. Спасибо.
Все собрано по схеме. Однако от кнопки не переключается. Просто при поднесении руки к проводам сигнал переключается, а от кнопки нет. Так в этом случае было и по урокам прошлых видео тоже. Кто знает в чем дело?
жиза
Ты еще не разобрался ?
можно было взять поменьше макетную плату
Странно, ты подготовил 3 резистора по 120 ом, но в схеме их не использовал. Почему?
Он объяснил, что если у тебя RGB светодиод без платы, а просто с 4 ножками, то нужно ставить резисторы .
А если с платой, то они уже впаяны в плату и свои ставить не нужно
Вместо резистора на 10k можно писать input_pullup и в if писать ! перед digitalWrite!!!!!!!
const int BLED=9;
const int GLED=10;
const int RLED=11;
const int BUTTON=2;
boolean lastButton = LOW;
boolean currentButton = LOW;
int ledMode = 0;
void setup() {
pinMode (BLED, OUTPUT);
pinMode (GLED, OUTPUT);
pinMode (RLED, OUTPUT);
pinMode (BUTTON, INPUT);
}
boolean current = digitalRead(BUTTON);
if (last !=current)
{
delay(5);
current=digitalRead(BUTTON);
return current;
}
}
void setMode(int mode)
{
if (mode ==1)
{
digitalWrite(RLED, HIGH)
digitalWrite(GLED, HIGH)
digitalWrite(BLED, HIGH)
}
else if (mode == 2)
{
digitalWrite(RLED, HIGH)
digitalWrite(GLED, HIGH)
digitalWrite(BLED, HIGH)
}
else if (mode == 3 )
{
digitalWrite(RLED, HIGH)
digitalWrite(GLED, HIGH)
digitalWrite(BLED, HIGH)
}
else if (mode == 4)
{
analogWrite(RLED, 127);
analogWrite(GLED, 0);
analogWrite(BLED,127);
}
else if (mode == 5)
{
analogWrite(RLED, 0);
analogWrite(GLED, 127);
analogWrite(BLED,127);
}
else if (mode == 6)
{
analogWrite(RLED, 127);
analogWrite(GLED, 127);
analogWrite(BLED,0);
}
else if (mode == 7)
{
analogWrite(RLED, 85);
analogWrite(GLED, 85);
analogWrite(BLED,85);
}
// Выключен (mode = 0)
else
{
digitalWrite(Rled, LOW);
digitalWrite(Gled, LOW);
digitalWrite(Bled, LOW);
}
}
void loop() {
currentButton = debounce(lastButton);
if (lastButton == LOW && currentButton == HIGH)
{
ledMode++;
}
lastButton currentButton;
if (ledMode ==8)
ledMode = 0;
setMode(ledMode);
}
}
где ? отправь пожалуйста
можешь пожалуйста в следующий раз не выводить минус если не выводишь плюс, и не выводи минус вообще еси делаешь что то где он используется только один раз.
Дайте будласка скеч я не можк зайти по силці
что делать?:
's' was not declared in this scope
Если это в строке delay(5); , то в скобках цифра 5, а не переменная S, которая не объявлена,
очем гласит сообщение.
не s а 5
у меня зеленый,оранжевый,бирюзовый не работает а оранжевый немного
4:15 Капец!! Думаю, чёзанах: "lastButton currentButton;"? Ну нет такой конструкции! - оказывается опечатка🤨
А главное, большинство пишут: "Вау, супер, спасибо, понятно!", а по факту нифига не понятно.
Хорошо хоть код прикрепил и там опечатки нет
Здравствуйте, а в чëм ошибка и как сделать правильно. Я немного поздно, но просто не могу понять. Я плохо знаю с++
@@laromi8908 там должно быть "lastButton = currentButton;". Лучше пройдите по ссылке "Скетч для новичка" - там рабочий код.