Вопрос от нуба, про лампочки, ардуино и функцию IF
- Войдите на сайт для отправки комментариев
Чт, 22/08/2019 - 22:07
Начал на днях учиться ардуинить. С нуля.
Дошёл до функции If - вроде в ней ничё сложного. Сделал простой скетч (ниже). Хотел по простому, если на 7 пине есть ток, что бы мигал светодиод на 13 пине, если нет - мигал на 10 пине. Заливаю, не подавая тока реально мигает светодиод на 13 пине. Но подовая ток на 7 пин, начинают гореть оба светодиода, по очереди. Почему? Еще встречный вопрос, иногда светодиод на 10 пине загортся просто так, если подвинуть ардуинку, или поднести к ней руки, или ещё что. Что за фигня?
void setup() { pinMode(13, OUTPUT); // pinMode(10, OUTPUT); // pinMode(7, INPUT); } void loop() { if ( digitalRead(7) == HIGH ) { digitalWrite(13, HIGH); delay (1000); digitalWrite(13, LOW); delay (1000); } else ( digitalRead(7) == LOW ); { digitalWrite(10, HIGH); delay (1000); digitalWrite(10, LOW); delay (1000); } }
строчка 17 неправильная, изучайте синтаксис IF внимательнее
else
( digitalRead(7) == LOW );
Неправильно. Надо или
else if
( digitalRead(7) == LOW )
Или в вашем случае достаточно одного else
строчка 17 неправильная, изучайте синтаксис IF внимательнее
Я на 17 строке после else всё стёр, как в книге, вроде всё заработало.
else
( digitalRead(7) == LOW );
Неправильно. Надо или
else if
( digitalRead(7) == LOW )
Или в вашем случае достаточно одного else
Спасибо, всё понял
Потому что наводки. Надо резистор в несколько килоом между 7 входом и землей поставить и не будет больше срабатывать.
Резистор помог. Спасибо. А есть какие-нибудь книжки для с такой инфой, что-то вроде самоучителей ? Или это нужны спецкниги, типа вузовских?
Резистор помог. Спасибо. А есть какие-нибудь книжки для с такой инфой, что-то вроде самоучителей ? Или это нужны спецкниги, типа вузовских?
http://arduino.ru/forum/obshchii/pesochnitsa-dlya-vsekh-novichkov#commen...
Строка 5 из стартового топика (защита от рук) - pinMode(7, INPUT_PULLUP);
Строка 5 из стартового топика (защита от рук) - pinMode(7, INPUT_PULLUP);
Это не сочетается с желанием ТС "если на 7 пине есть ток, что бы мигал светодиод на 13 пине, если нет - мигал на 10 пине"
Строка 5 из стартового топика (защита от рук) - pinMode(7, INPUT_PULLUP);
Это не сочетается с желанием ТС "если на 7 пине есть ток, что бы мигал светодиод на 13 пине, если нет - мигал на 10 пине"
Да да, резисторы, сопротивления, провода-провода. Матчасть подтянуть и не надо извращаться (мое мнение).
Это не сочетается с желанием ТС "если на 7 пине есть ток, что бы мигал светодиод на 13 пине, если нет - мигал на 10 пине"
ОК, согласен, чой-то землю проглядел.
А есть какие-нибудь книжки для с такой инфой, что-то вроде самоучителей ? Или это нужны спецкниги, типа вузовских?
С какой "такой" инфой ? Начала радиотехники ? Язык Си ? Программирование микроконтроллеров ? Есть чисто по ардуине куча всего начального уровня - это можно просто погуглить.
Есть чисто по ардуине куча всего начального уровня - это можно просто погуглить.
Я читал подобное. Но, толи что я раньше хоть как-то, но кривокодил, толи что в схемотехнике немного понимаю (аналоговой превосходительно), мне все эти самоучители (автор же по ним вопрос задавал?) - как палки в колеса. ((
Может если с нуля - то да, хорошо. Но я прям разочаровался, если честно. Особенно серия типа «для чайников».
Для себя в плане ардуино понял - возник вопрос, «обсоси все авспекты вопроса (читай - изучи)», задай вопрос. Направят. Если и тут не помогло - значит я тупой. Учу дальше. Хотя.... Иногда бывает знаешь и не раз примерял и просто не понимаешь как 1+1 получить 2 )))
это оффтоп. Прошу прощения...