Mega 2560. Много кнопок с нижней подтяжкой. Видит только четные входы

kast2k
Offline
Зарегистрирован: 16.01.2015

Добрый день!

Решил изобразить простенький проект на Arduino Mega 2560.

Подключил к входам с №22 по №28 7 кнопок. Подтянул каждый из них нижней подтяжкой по 10 КОм.

Питание на кнопки подаю извне (+5.07-09 Вольта).

По идее проекта при нажатии на кнопку с №22 по №28 на выходы №0-№7 подается напряжение и должен загореться диод :) В будущем что-нибудь другое подцеплю.

Написал простенькую программу для мониторинга состояния входов:

void setup()   
 { 
    Serial.begin(9600);  
 } 

 void loop()
 { 
     
     String Gtext;
   
   Gtext="CHECK\\";
   for (int i=20;i<30;i++)
   {
     if (digitalRead(i)==HIGH)
     {
       Gtext=Gtext+String(i)+"-1\\";  
     }
     else
     {
       Gtext=Gtext+String(i)+"-0\\";
     }
   }
   Gtext=Gtext+"|";
   
   Serial.println(Gtext);
   Serial.println("");   
   delay(100);   
   
 } 

Включил - лажа.

При нажатии на кнопку с четным номером входа (например, 22 или 24), плата выдает наличие сигнала (Check\22-1\24-1). А при нажатии на нечетную - ничего не выдает.

Т.е. я получаю строку Check\22-1\23-0\24-1\.

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

Пример (жму 22):

строка 1 Check\22-1\23-1\24-1\

строка 2 Check\22-1\23-0\24-1\

Я что-то упустил?

 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

подтягивать лучше к плюсу, защиты от дребезга нет хотя бы самой простой на delay

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

А вот это простое что кажет?

void setup()   
 { 
    Serial.begin(9600);  
 } 

 void loop()
 { 
    
   Serial.print(digitalRead (22));
   Serial.print("    "); 
   Serial.print(digitalRead (23));
   Serial.print("    "); 
   Serial.print(digitalRead (24));
   Serial.print("    "); 
   Serial.print(digitalRead (25));
   Serial.println(""); 

   delay(100);   
   
 } 

 

kast2k
Offline
Зарегистрирован: 16.01.2015

При полностью отключенных кнопках кажет вот такое

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

Тогда  тестером звоните, чудес не бывает.

Попробуйте перемычкой подавать на входы напряжение +5 Вольт и землю прямо с платы.....

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

А от внешнего источника только плюс взят?

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

Gippopotam пишет:

А от внешнего источника только плюс взят?

Классический вопрос !!!!!!!!!!!!!!!!

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

вы так говорите как будто одного плюса не хватает. вы еще закон ома заставьте учить. попроще объясните

kast2k
Offline
Зарегистрирован: 16.01.2015

Gippopotam пишет:

А от внешнего источника только плюс взят?

Блин!

Точно! ТОлько плюс. А землю беру с того же источника минуя ардуину.

то-то оно и не работает

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

kast2k пишет:

Gippopotam пишет:

А от внешнего источника только плюс взят?

Блин!

Точно! ТОлько плюс. А землю беру с того же источника минуя ардуину.

то-то оно и не работает

Пять баксов Пухлявому, за совет.