Помогите с прошивкой для Arduino!

Тема в разделе "Микроконтроллеры AVR", создана пользователем nevikat, 2 фев 2018.

  1. nevikat

    nevikat Нуб

    Здравствуйте! У меня есть проблема. Я делаю сигнализацию на ардуино. Когда я загружаю свой скетч просто мигает светодиод на плате и на дисплее пишутся значения с датчиков. Хотя должно работать так: включаешь и у тебя написано OFF. Воддишь пароль 2404 и # и на дисплее показываются значения с датчиков. Если неверный пароль, то ничего не происходит. Пытаюсь сделать без библиотек. Использую только две: для I2C и дисплея. Может кто-то знает в чём проблема? Заранее спасибо за ответ.
    Вот скетч в формате ino и в формате txt:
     

    Вложения:

  2. DIYMan

    DIYMan Гуру

    Скетч написан алгоритмически неверно, исправлять надо очень многое, проще начать сначала. Подсказка: то, что делаете вы - не проверка на последовательно введённый пароль "2404" - это проверка на одновременно зажатые кнопки 240#.

    Остальное не смотрел, вытекают глаза от отсутствия форматирования кода и тупых названий переменных типа q, w, e, r, не несущих никакой семантики. Как следствие - в таком коде разобраться - требует больше времени, чем могло бы понадобиться для скетча в той примитивной реализации, что привели вы.
     
  3. b707

    b707 Гуру

    Нет, у него довольно близкая к успеху попытка сделать именно последовательную проверку кнопок - да только он логические "И" и "ИЛИ" перепутал, поэтому пароль в скетче набирается сам :)

    nevikat - во всех условиях проверки кнопок пароля поменяйте "||" на "&&" - должно заработать.
     
    DIYMan нравится это.
  4. DIYMan

    DIYMan Гуру

    Вот именно, что попытка. И он уже сейчас сам не может разобраться, что к чему. Именно поэтому я и написал, что надо делать так, чтобы потом было понятно, что за что отвечает и что и как работает. Хотя бы на уровне форматирования кода и названий переменных, а не набор букв латинского алфавита. Это как раз тот случай, когда и рад бы помочь - но глаза вытекают.
     
  5. b707

    b707 Гуру

    подозреваю, что переменные q,w,e,r - это просто названия клавиш на QWERTY-клавиатуре... что конечно не отменяет того, что имена переменных должны быть более понятными.
     
  6. nevikat

    nevikat Нуб

    Спасибо огромное! Теперь понятно в чём дело... А q, w, e, r - это названия переменных. Я хотел и нормально назвать, но когда я писал в название переменной любую цифру - компилятор меня не понимал (это вообще правильно?!). Ну что же, попробую придумать нормальные названия...
    P. S. Ничего. Как было - так и осталось. Вот новый ЗАКОМЕНТИРОВАННЫЙ скетч:
     

    Вложения:

    Последнее редактирование: 3 фев 2018
  7. DIYMan

    DIYMan Гуру

    Правила именования переменных в С++ - почитайте на досуге ;)