Ардуино не считывает сигнал
- Войдите на сайт для отправки комментариев
Ср, 22/01/2020 - 20:19
Ребят, помогите. Китайская Ардуино не считывает сигнал через digitalRead, но может отправлять.
То есть код с миганием светодиода на определенный пин работает, но как только я поставлю какое-то условие (если кнопка нажата), все перестает работать. В диспетчере устройств ардуино распознается как "USB-SERIAL CH340". Порты установлены правильно. Стоит сказать, что при выборе ATmega 328p выдает ошибку, с ATmega 328p (old bootloader) загружается на плату, но не работает.
Код же правильный? А ни черта не работает... bool val; void setup() { // put your setup code here, to run once: pinMode(2, OUTPUT); pinMode(5, INPUT); val = digitalRead(5); } void loop() { // put your main code here, to run repeatedly: if(val == 1) { digitalWrite(2, 1); } if(val == 0){ digitalWrite(2,0); } }Строку 7 опусти в loop.
Ты один раз пин опра́шиваешь только. В момент включения
Код же правильный? А ни черта не работает... bool val; void setup() { // put your setup code here, to run once: pinMode(2, OUTPUT); pinMode(5, INPUT); val = digitalRead(5); } void loop() { // put your main code here, to run repeatedly: if(val == 1) { digitalWrite(2, 1); } if(val == 0){ digitalWrite(2,0); } }Нет.
работает, как написано.
Во-первых: как подключена кнопка к пину 5? нужна схема или хотя бы словесное описание.
Во вторых: в стр. 07 ардуина считала сигнал и присвоила значение переменной val - 1 раз. Затем в цикле loop она читает это значение val, которое не меняется до маланьиной свадьбы, никакие кнопки при этом не опрашиваются.
Всем спасибо, затупил немного.
p.s. кнопка в основном коде была подключена через INPUT_PULLUP к GND.