Mega 2560. Много кнопок с нижней подтяжкой. Видит только четные входы
- Войдите на сайт для отправки комментариев
Добрый день!
Решил изобразить простенький проект на 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\
Я что-то упустил?
подтягивать лучше к плюсу, защиты от дребезга нет хотя бы самой простой на delay
А вот это простое что кажет?
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); }При полностью отключенных кнопках кажет вот такое
Тогда тестером звоните, чудес не бывает.
Попробуйте перемычкой подавать на входы напряжение +5 Вольт и землю прямо с платы.....
А от внешнего источника только плюс взят?
А от внешнего источника только плюс взят?
Классический вопрос !!!!!!!!!!!!!!!!
вы так говорите как будто одного плюса не хватает. вы еще закон ома заставьте учить. попроще объясните
А от внешнего источника только плюс взят?
Блин!
Точно! ТОлько плюс. А землю беру с того же источника минуя ардуину.
то-то оно и не работает
А от внешнего источника только плюс взят?
Блин!
Точно! ТОлько плюс. А землю беру с того же источника минуя ардуину.
то-то оно и не работает
Пять баксов Пухлявому, за совет.