Ви не увійшли.
Сторінки 1
помогите пожалуйста
счетчик нажатия кнопки. прямой счет и обратный счет. должен вести простой счет от 0 до 10. кнопка (-) для коррекции счета если нечаянно ввел неправильную цифру
только начинаю программировать. под конец совсем запутался..
const int button = 2; // кнопка (+)
const int button1 = 3; //кнопка (-)
int count = 0; // переменная для подсчета нажатий на кнопку
int button_old = 1; // предыдущее значение
int count1=0;
void setup() {
Serial.begin(9600);
pinMode(button, INPUT_PULLUP);
pinMode(button1, INPUT_PULLUP);
}
void loop() {
if ((digitalRead(button)==LOW)&&(button_old==1))
{
count = count + 1;
count1=count;
Serial.println(count);
}
if ((digitalRead(button1)==LOW)&&(button_old==1))
{
count1 = count -1;
Serial.println(count1);
}
button_old = digitalRead(button);
delay(10);
if(count==10)
{count=0;}
}
Неактивний
отсутсвие базовых знаний приводит к тому, что в новейших технологиях вы будете только потребителем.
const int buttonPin = 2; // кнопка (+)
const int button1Pin = 3; //кнопка (-)
bool button_old = 1; // предыдущее значение button0
bool button1_old = 1; // предыдущее значение button1
int count = 0; // переменная для подсчета нажатий на кнопку
void setup() {
Serial.begin(9600);
pinMode(buttonPin, INPUT_PULLUP);
pinMode(button1Pin, INPUT_PULLUP);
}
void loop() {
bool button = digitalRead(buttonPin);
if (!button && button_old) {
button_old = 0;
delay(10);// ждем чтобы дребезг прошел
count = count + 1;
if (count >= 10) count = 0;
Serial.println(count);
}
if (button && !button_old) {
button_old = 1;
delay(10);// ждем чтобы дребезг прошел
}
bool button1 = digitalRead(button1Pin);
if (!button1 && button1_old) {
button1_old = 0;
delay(10);// ждем чтобы дребезг прошел
count = count - 1;
if (count < 0) count = 10;
Serial.println(count);
}
if (button1 && !button1_old) {
button1_old = 1;
delay(10);// ждем чтобы дребезг прошел
}
}
/*Скетч использует 2436 байт (7%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 190 байт (9%) динамической памяти, оставляя 1858 байт для локальных переменных. Максимум: 2048 байт.
*/
Неактивний
с дребезгом проблем нет. могу не программным путем. простая импульсоподавляющая цепь или триггер.
Можно и совсем просто. По дурному.)
const int buttonPin = 2; // кнопка (+)
const int button1Pin = 3; // кнопка (-)
const int repeat_time = 500; // длительность автоповтора
int count; // счётчик нажатий
void setup()
{
Serial.begin(9600);
pinMode(buttonPin, INPUT_PULLUP);
pinMode(button1Pin, INPUT_PULLUP);
}
void loop()
{
if (!digitalRead(buttonPin)) {
if (++count >= 10)
count = 0;
Serial.println(count);
delay(repeat_time);
}
if (!digitalRead(button1Pin)) {
if (--count < 0)
count = 9;
Serial.println(count);
delay(repeat_time);
}
}
Неактивний
Сторінки 1