Кнопка и светодиод Arduino
Приведенная ниже программа — это моя программа для моей кнопки и светодиода, но она тоже не работает так, как я хочу. Светодиод должен загореться до того, как я нажму переключатель 9, но он загорается сразу.
const int sw9=9;
const int sw10=10;
const int sw11=11;
const int sw12=12;
const int sw13=13;
int timer=250;
int s=0;
void setup()
{
for (int opin=1;opin<=8;opin++)
{
pinMode(opin,OUTPUT);
pinMode(sw9,INPUT_PULLUP);
pinMode(sw10,INPUT);
pinMode(sw11,INPUT);
pinMode(sw12,INPUT);
pinMode(sw13,INPUT);
}
}
void loop(){
{
while (s==0)
for (int opin=1;opin<=8;opin++)
{
digitalWrite(opin,HIGH);
delay(timer);
digitalWrite(opin,LOW);
if(digitalRead(sw9)==LOW);
}
{
s=1;
delay(timer);
}
}
while(s==1)
for (int opin=1;opin<=8;opin++)
{
digitalWrite(opin,LOW);
if(digitalRead(sw9)==HIGH);
}
}
@D3DSEC, 👍-1
Обсуждение1 ответ
▲ 2
if(digitalRead(sw9)==LOW);
if(digitalRead(sw9)==HIGH);
Оба этих действия имеют эффект «прочитай переключатель и ничего не делай»
Изменить их на
if(digitalRead(sw9)==HIGH){
// выполняем запланированное действие
}
,
@CrossRoads
Смотрите также:
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
«Светодиод должен загореться до того, как я нажму переключатель 9, но он загорается сразу». Так было раньше. Рекомендую пройти курсы кодирования, @Juraj
Единственный способ более или менее реализовать это требование — использовать ультразвуковой датчик расстояния (например, HC-SR04) и измерить расстояние от кнопки до приближающегося к ней предмета… который, надеюсь, нажмет кнопку и не будет двигаться. перед нажатием., @Michel Keijzers
Позже у вас возникнут проблемы, если вы не выполните какое-либо форматирование. Становится очень сложно читать или редактировать код, если все начинается слева, без табуляции и пробелов. Вы можете выбрать все и нажать Control+T, чтобы автоматически отформатировать код. Я согласен с @Juraj, получите пользу и пройдите базовый курс кодирования. YouTube — ваш друг., @HavocRC