Arduino Генератор случайных чисел с кнопкой - PullRequest
0 голосов
/ 24 сентября 2018

Я новичок в Arduino, пытаюсь создать генератор случайных чисел с кнопкой.

Мои вопросы:

  1. Как я могу это сделать, если янажмите кнопку один раз , затем я получу одно случайное число от 0 до 1024. После этого я хочу перейти от 0 к случайному числу, а затем вернуться к 0.

  2. Как отменить выбор кнопки

Пример кода:

void setup(){

    Serial.begin(57600);
    pinMode(2,INPUT_PULLUP);
    attachInterrupt(0,randomnumber,FALLING);

}

void randomnumber(){

    int number=random(0,1024);
    for(int x=0;x<=number; x++){
      Serial.println(x);
      delay(1000);

  }

    for(int y=number;y>=0; y--){
      Serial.println(y);
      delay(1000);
  }

}
void loop(){

}

Любое хорошее предложение?

1 Ответ

0 голосов
/ 26 сентября 2018

Хорошо, вы ищете «подавление сигнала».

Когда вы нажимаете кнопку, сигнал не переходит от низкого к высокому значению, но при включении шумит (это общее свойствомеханических контактов), создавая несколько «нажатий кнопок».Общий и рабочий подход:

1) обнаружено нажатие кнопки (переход от 0 к 1 на входном контакте)

2) задержка (10) // ожидание нескольких миллисекунд

3) еще раз проверьте кнопку, чтобы убедиться, что она все еще нажата;если это правда, кнопка была действительно нажата, если нет, то это был просто некоторый шум и его можно игнорировать

Это отклонит любой импульс короче 10 мс

Вот короткое видео, описывающеепроисходит при нажатии кнопки: https://youtu.be/jYOYgU2vlSE

И статья вместе с кодом: https://programmingelectronics.com/tutorial-19-debouncing-a-button-with-arduino-old-version/

...