Не работает простейший код

toggler
Offline
Зарегистрирован: 30.08.2019

Здравствуйте! Я только начинаю своё знакомство с Ардуинкой и смотрю видеоуроки на YouTube. После просмотра видеоролика про вывод инфы о нажатии кнопки в монитор порта (https://www.youtube.com/watch?v=3UwgMAdV4xQ), загорелся идеей всё это сделать проще для человека читающего МП.

В видеоуроке в Мониторе Порта постоянно шло сообщение(цикл loop) аля BUTTON1: 1

Моя же идея быля такова, что-бы сообщение выводилось более понятное и на русском языке, ещё и не каждую секунду. И опираясь на свои знания, и на те что получил из ролика склепал вот это чудо(в самом низу)

Проблема: код не взаимодействует с кнопкой, выводит при любом положении кнопки - кнопка нажата

Что не так

 

void setup() {
pinMode(8,INPUT_PULLUP); // НАСТРАИВАЕМ ПИН
Serial.begin (9600);
}

void loop() {
boolean button = digitalRead(8);
if(digitalRead(button) == 1) { // условие при котором, если кнопка нажата выводится текст
Serial.println ("Кнопка нажата");
}
else Serial.println ("Кнопка не нажата");
delay (3500);//ЗАДЕРЖКА
}



  

 

toggler
Offline
Зарегистрирован: 30.08.2019

Прочитал про то что не плохо было бы в вопроосах указывать о подключении физических элементов проекта.

К кнопке от самой Ардуины ведёт два провода, первый от ножки диода к Земле(GND), второй от ножки идёт к указанному в коде порту №8.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

У вас на входе всегда единица,
вы её сами подали включив резистор подтяжки во второй строке.
Поэтому подключите кнопку между входом и землёй, поменяйте в восьмой строке единицу на ноль и радуйтесь жизни.

toggler
Offline
Зарегистрирован: 30.08.2019

Спасибо , а где этот вход?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

вторая строка прописывает 1 в пин button.

восьмая строка пишет Кнопка нажата, если на пине button единица.

Смекаешь?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

купи себе книгу Саймон Монк "Программируем Ардуино", и пока не прочтёшь - не появляйся здесь. 

toggler
Offline
Зарегистрирован: 30.08.2019

Да. Понял. Спасибо

toggler
Offline
Зарегистрирован: 30.08.2019

Вторую строку менял как только можно, и ничего не вышло. Проблему понимаю, а как исправить не догоняю

b707
Offline
Зарегистрирован: 26.05.2017

toggler пишет:

Проблему понимаю, а как исправить не догоняю

врешь ты все, понимал бы - давно бы исправил. Прочитай еще раз сообщение #2. Если все равно никаких идей - отправляйся читать про подключение кнопок, да хоть бы прикрепленную в шапке этого же раздела тему "Работа с кнопками"

toggler
Offline
Зарегистрирован: 30.08.2019

Поменял код и подключение. Теперь одна ножка кнопки подключена резистором(ЖОСК) к земле , а вторая нога к пину (резистор и соединяющий провод на одной линии). Код такой:

Вывод

Кнопка не нажата

Кнопка не нажата

Кнопка не нажата

При нажатии кнопки та же хурма

void setup() 
 { 

 pinMode(A0, INPUT); 
 Serial.begin(9600);

 } 

 void loop() 

 { 
 if(digitalRead(A0)==HIGH)
 { 
 Serial.println ("Кнопка нажата");
 } 
 else
 { 
 Serial.println ("Кнопка не нажата");
 } 
delay(3500);
 } 

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

а почему это в "программировании"?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

чтоб отловить нажатие, 20 строчка программы говорит: надо нажать кнопку и держать не менее 3,5 секунд

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

схему нарисуй, чота описание путанное, чо куда подключено

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

toggler пишет:

Здравствуйте! Я только начинаю своё знакомство с Ардуинкой и смотрю видеоуроки на YouTube. 

Не с того начинаешь. Начинать надо с книжек, а не мультиков. 

b707
Offline
Зарегистрирован: 26.05.2017

toggler пишет:

Поменял код и подключение. Теперь одна ножка кнопки подключена резистором(ЖОСК) к земле , а вторая нога к пину (резистор и соединяющий провод на одной линии). Код такой:

в коде еще много строк - и менять их можно бесконечно, если не понимаешь, что к чему.Может все-таки учебник почитать?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

toggler пишет:

При нажатии кнопки та же хурма

А какой же ещё быть, если Вы пришли за советом, а на советы плюёте?

Вам в #5 сказали, что делать. Вы сделали?

Пока не сделаете - не пишите сюда ни строки, иначе от репутации идиота потом не отмоетесь никогда.

inspiritus
Offline
Зарегистрирован: 17.12.2012

Что это по Вашему, откуда читается и что Вы там ожидаете увидеть?

if(digitalRead(button) == 1)