Добрый день товарищи помогите разобратья с кодом в чем не верность?
- Войдите на сайт для отправки комментариев
Пнд, 17/06/2019 - 11:58
Moderator : пожалуйста, вставьте код правильно - http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
Суть программы в том что бы были нажаты 3 кнопки не одновременно тогда загориться лампочка. вот так вот просто, а я не пойму что тут не верно. палками не кидайте плиз я только начал познавать.
всё дело в лишних обьявленьях
Можно ткнуть прямов мордой, я их уже и туды и сюды.
Изучите правила, и вставьте код как положено. Тогда можно будет разговаривать.
Можно ткнуть прямов мордой
Пока не вставишь правильно код - нельзя.
Сейчас тебе можно только сказать, что у тебя проблемы в строка №№ ХЗ, ХЗ, ХЗ, ХЗ и вещё в строке №ХЗ.
Вставь нормально код, чтобы были номера строк (только не картинкой, а именно нормально).
byte L1,2,3 и тд объявлен более одного раза, уберите слово byte и будет вам счастье, вам же Дед уже подсказал
уберите слово byte и будет вам ...
многочисленные ошибки компиляции.
ua6em, я предлагаю солидарно придерживаться правил форума. Вы не согласны?
извеняюсь.
Прочитайте вот здесь "Правила области видимости".
А прочитав, ответьте на вопросы:
1) L1 в строках №№ 12, 18, 32 и 36 - это одна и та же переменная или разные?
2) L2 в строках №№ 13, 22, 32 и 37 - это одна и та же переменная или разные?
3) L3 в строках №№ 14, 26, 32 и 38 - это одна и та же переменная или разные?
Когда у Вас будут ответы на эти вопросы, проблема решится сама собой.
Нормально вставить не получилось? :-)))) Что за ё-мобиль в первой строке? :))))
уберите слово byte и будет вам ...
многочисленные ошибки компиляции.
ua6em, я предлагаю солидарно придерживаться правил форума. Вы не согласны?
согласен!
Благодарю за помощь всех, а почему у меня не запускается конечное if(L1==1&&L2==1&&L3==1)
Gluck-Truck - надеюсь Вы сами понимаете - но я на всякий случай уточню. Обьявление переменных в строках 16-18 означает. что каждый проход loop() программа будет начинать "с чистого листа", ничего не помня о состоянии перемнных в прошлом цикле.
так что например строчки 39-41 - лишние, L1-L3 и без них всегда будут обнуляться, а не только когда (L1==1&&L2==1&&L3==1)
а почему у меня не запускается конечное if(L1==1&&L2==1&&L3==1)
Что Вы понимаете под словом "не запускается"?
В интерактивной програме когда 3 кнопки нажал, 19 ножка не дает логическую 1. и не загорается диод D1 говорящий что все 3 кнопки были нажаты.
А эти
if
(L1==1),
if
(L2==1),
if
(L3==1) все три "запускаются" ?
Да работает
Да запускаются
Поставьте перед строкой №35 печать (в Serial) своих L1, L2 и L3 и посмотрите, чему они равны.
В интерактивной програме когда 3 кнопки нажал, 19 ножка не дает логическую 1
а где там вообще 19 ножка? - в коде такого пина нет, а схема такая мелкая. что не разобрать
Это ножка меги 19. Вроде на картинках с инета такая пин13, но подозрения вызывает раз остальное работает )
19 ножка это Pun13 в саммом начале OUTPUN
Вы сделали то, что я сказал? И что? Все 1-цы печатает? Или как?
19 ножка это Pun13 в саммом начале OUTPUN
вы пишите в одном стиле - если пин в программе обозначен 13 - то нафига сюда какие-то 19 привлекать - чтобы себя и других запутать?
Я не знаю как это сделать разбираюсь.
Serial.print(L1) куда он печатает? =)
В последовательный интерфейс USART.
У Вас только модель, реальной ардуины нет, что ли?
Если только модель, то добавьте туда виртуальный терминал. Это вот так делается:
Потом соедините его с контроллером вот так
Потом в свойствах терминала установите такую же скорость, как у Вас в Serial.begin указана.
Вот туда и будет печатать.
Все условия вида if(L1==1) сработали раз остальные светодиоды зажглись, вроде там действительно 1.
Поподробнее где можно почитать?
замудрили похоже
Или протеус научился дребезжать кнопками.
1. Я Вам как рисовал подключать? Rx -> TX и Tx -> Rx, А Вы как подключили? Наоборот? Делайте как было нарисовано!
2. Причём тут SoftSerial на каких-то левых пинах? Тем более, Вы туда пин 2 всунули, который Вы уже и так в программе используете!!!! Это подключение для обычного аппаратного Serial. Убирайте свой SoftSerial нафиг!
Исправляйте и напечатайте, наконец эти несчастные переменные!
Или протеус научился дребезжать кнопками.
Да, нет, всё проще - я понимаю в чём у него дело (не зря я с ребёнком занимаюсь постоянно :-))), но пусть сначала переменные напечатает :)
Или протеус научился дребезжать кнопками.
Да, нет, всё проще - я понимаю в чём у него дело (не зря я с ребёнком занимаюсь постоянно :-))), но пусть сначала переменные напечатает :)
фигура из трёх пальцев? ;-)
фигура из трёх пальцев? ;-)
Если честно, то не понял.
Но по работе ТС - напечатает переменные, сам что-то поймёт (да и на будущее этот приём освоит), а выложить решение на блюдечке, завтра опять будет "памахите". Я готов тратить своё время, чтобы помочь понять и научиться, но не на предоставление готовых решений. Готовые решения - это в другом разделе.
Я правльно мыслю?
Может есть подобные решения я бы сообразил, :?
чтобы понять надо сделать то, что сказал ЕвгенийП...
Вы сделали???
Что выводится в сериал строками 41-43?
Может есть подобные решения я бы сообразил, :?
Вы когда-нибудь напечатаете эти три переменные? Или так и будем в прятки играть? Чему они равно в тот момент, когда Вы считаете, что светодиод на 13-ом должен светиться?
не получается либо я не понимаю. почему не печатает виртуальный монитор =((((((((((((((((((((((((((((((
у меня черное окно не запускается а у людей запускается на видюшках
Serial.print("rabotaet"); даже не печатает
Скорость выставлена правильная? Окно показывается? Что в окне?
9600 в терминале и я прописал в программу
Serial
.begin(9600);
окна нет. не всплывает.
окна нет. не всплывает.
Так оно у Вас закрыто просто. Во время работы кликнете правой кнопкой мышки на терминал и из меню выберите "Virtual terminal" там внизу должно быть. Окно появится.
Только Вы поставьте хоть где-нибудь println - оно ж у Вас всё в одну строку печатается.
Скажите я безнадежен? ;(
Скажите я безнадежен? ;(
Да звиздец, ты тугой.
Подскажите пожалуйста так же правилеьнее только все равно не работает
Скажу, что Вы не умеете пользоваться протеусом или не умеете его настраивать.
Ну, тогда берите живую ардуину и делайте на ней.
Делайте, что хотите, но напечатайте эти переменные. Пока Вы их не напечатаете, Вы ничего не поймёте.
И кстати, делайте это всегда - смотрите на переменные, не работайте вслепую.
Как напечатаете - скажете что там.
Код из #7 работает - D4 загорается при нажатии 3х кнопок. Расходимся :)
Подскажите пожалуйста так же правилеьнее только все равно не работает
Здесь написан бред.
Вернитесь и изначальной программе и напечатайте наконец переменные.
Без этого дальше идти нельзя. И деже не дёргайтесь.