Поставки продукции Megawin по официальным каналам - микроконтроллеры, мосты USB-UART

Программирование Arduino Nano - ждать пока не нажму кнопку

Новичок
 
Регистрация: 15.08.2023
Сообщений: 1
Репутация: 10
 
15.08.2023 06:36 #1
Доброго времени коллеги, не могу решить задачу:
На арду Нано повешать 12 диодов и 12 кнопок. Решил вешать диод и кнопу на один пин
Смысл работы такой: Зажечь светодиод от рандома, ждать 3 сек, нажать соответствующую кнопку, считать нажатие, ... дальше сам)
Но вот незадача, Delay вешает контроллер и не считывает нажатие, millis не ждет 3 секунды, Ниже представлю код, может где то я ошибся?
И получается: или цикл пробегает и я не успеваю нажать кнопу или вешается делеем и не считывает нажатие
Если не использовать рандом а прописать +5 на конкретный пин, то нажатие кнопки считывается.
Код:
unsigned long currentTime;   // Переменная времени диода 8
unsigned long currentTime2;  // Переменная времени диода 9
bool ledState=0;             // Переменная состояния диода 8
bool ledState2=0;            // Переменная состояния диода 9
unsigned long a;             // Переменная для проверки работоспособности кода в условиях задержки
 
void setup() 
{
  Serial.begin(9600);        // Конфигурируем серийный порт
  pinMode(8, OUTPUT);        //Пины 8 и 9 конфигурируем на выход
  pinMode(9, OUTPUT);
}
 
void loop() 
{
  if (millis() - currentTime > 1000)   // Проверяем время для первого диода (1000мс)
  {
    currentTime = millis();
    ledState=!ledState;                // Меняем состояние первого диода на противоположное
    digitalWrite(8, ledState);
     Serial.print ("1000:"); 
    Serial.println (currentTime); 
  }
  if (millis() - currentTime2 > 200)  // Проверяем время для второго диода (200мс)
  {
    currentTime2 = millis();
    ledState2=!ledState2;    // Меняем состояние второго диода на противоположное
    digitalWrite(9, ledState2);
    Serial.print ("200:"); 
    Serial.println (currentTime2); 
  }   

}
Последний раз редактировалось Admin; 16.08.2023 в 10:27.
Оценка
К конденсаторам источников питания высокой мощности предъявляются высокие требования по качеству и надежности. Пленочные – единственный тип конденсаторов, который может справиться с такой задачей. Компания Hongfa предлагает продукцию, которая подходит для применения практически во всех функциональных узлах типовых AC/DC- или DC/AC-преобразователей. Рассмотрим характеристики и применения плёночных конденсаторов Hongfa для различных решений.
Ответ
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход
Электронные компоненты. Скидки, кэшбэк и бесплатная доставка от ТМ Электроникс
Часовой пояс GMT +3, время: 15:24.
Обратная связь РадиоЛоцман Вверх