Arduino, я не могу заставить это утверждение работать
int val1 = 0;
byte val2 = 10;
int buttonPin = A0;
byte result = 0;
void setup() {
Serial.begin(115200);
}
void loop() {
val1 = digitalRead(buttonPin);
if (buttonPin == HIGH) {
result = result + val2;
result = result + 10;
}
else
{
digitalWrite(val1, LOW);
}
Serial.print("STATE ");
Serial.print(val1);
Serial.print(" ");
Serial.print(result);
Serial.println();
delay(100);
}
@Aimless, 👍-3
Обсуждение1 ответ
▲ 3
Похоже, вы хотите увеличивать результат на val2 при каждом нажатии кнопки. Если вы хотите подключить его таким образом, вы можете, но есть потенциальные проблемы с этим, например, не ловить каждый раз, когда вы нажимаете кнопку, или думать, что вы нажали кнопку дважды, когда вы случайно удерживали ее нажатой более 100 мс. Код этого метода приведен ниже:
const int buttonPin = A0;
bool buttonState = LOW;
int val = 10;
int result = 0;
void setup()
{
pinMode(buttonPin,INPUT);
Serial.begin(115200);
}
void loop()
{
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH)
{
result = result + val;
}
Serial.print("STATE: ");
Serial.print(buttonState);
Serial.print("\t");
Serial.print("RESULT: ");
Serial.print(result);
Serial.println();
delay(100);
}
Способ предотвращения двойного подсчета или отсутствия подсчета заключается в использовании прерываний. Позже я могу написать об этом, если вам это нужно.
Удачи!
,
@av324192
Я использую функцию void для увеличения значения. Спасибо, ребята, помогите, @Aimless
Смотрите также:
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
зачем ты выложил код? ... что означает название вашего поста?, @jsotola
Я пытаюсь увеличить значение результата на 10 каждый раз, когда кнопка находится на высоком уровне., @Aimless
вы не сказали, в чем проблема ... это все равно, что отнести свой автомобиль к механику и сказать: «у него проблема» ... как вы думаете, что механик отремонтирует?, @jsotola
что значит "кнопка высокая"?, @jsotola
Пожалуйста, [отредактируйте] свой вопрос вместо того, чтобы помещать дополнительную информацию в комментарий. Вы же не хотите тратить наше время? Вы надеетесь, что мы думаем о вашей проблеме. Кстати, какой у вас вопрос?, @the busybee
Одна из проблем вашего кода заключается в том, что вы сравниваете номер контакта кнопки с ВЫСОКИМ, а не с состоянием кнопки чтения. Напишу ответ, когда вы сделаете свой вопрос более ясным, так как я думаю, что это не решит вашу проблему полностью, @chrisl
Мне жаль говорить, что ваш код - полная авария поезда. Я знаю, вы еще учитесь, но там так много ошибок, что даже новичок, потративший всего несколько минут на чтение документации и примеров, избежал бы их, что это просто совершенно неисправимо., @Majenko