@Danil1253

Нажимаю на кнопку она не работает, при этом схема собрана правильно, Что не так с кодом?

import pyfirmata
board = pyfirmata.Arduino("COM3")
pin = 5
while True:
if board.digital[pin].read():
print("Нажал кнопку")

620b9654454d6869043902.jpeg
  • Вопрос задан
  • 160 просмотров
Пригласить эксперта
Ответы на вопрос 4
@kalapanga
На фото не видно - резистор включен кажется между землёй и чем? Есть шанс, что как раз схема собрана неправильно. Посмотрите пример \examples\02.Digital\Button из поставки Arduino IDE. Там и схема есть, как кнопку подключать. И кстати не грех для начала этот пример запустить без всяких "фирмат".
Ну и не забывайте про возможно плохой контакт. В этих макетках такое сплошь и рядом.
Ответ написан
Комментировать
Vindicar
@Vindicar
RTFM!
Проверь документацию, может, номер пина не тот? Номер бита в регистре цифрового ввода вывода - это не то же самое, что номер пина на плате.
И я без понятия, какую нумерацию использует питоновская обертка. Но судя по отсутствию указания модели платы в коде, вряд ли номер пина на плате...
Ответ написан
Комментировать
MDiMaI666
@MDiMaI666
Талантливый программист
1. pin = 5 => pin = D5
2. Резистор подтяжку к сигнальному контакту(желтому проводу) переподключи
Ответ написан
Комментировать
nava2002
@nava2002
Инженер
Во первых : Схема НЕ правильная 100%.
Программу анализировать трудно "pyfirmata" не использовал.
Резистором тянуть нужно к Питанию +5в (в данном случае). Это связано с конструкцией входных цепей микроконроллера.
На фото четко видно что резистор подключен к земле - НЕ правильно.
Решение:
Отличный материал поясняющий принцип работы "кнопки".
К оправданию автора вопроса:
С удивлением в "ГуглЕ" нашел огромное количество ссылок на очень странные схемы которые как я понимаю и принял за основу автор. Был весьма удивлен таким поведением "Гугля".
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы