Я не могу найти, что я сделал не так
int lightPin = 13;
int buttonPin = 2
void setup() {
pinMode(lightPin, OUTPUT); // красный
pinMode(buttonPin, INPUT);
}
void loop() {
int buttonValue = digitalRead(buttonPin);
if (buttonValue == HIGH) {
digitalWrite(13, HIGH);
} //красный
digitalWrite(13, LOW);// красный
} //красный
@Andrew, 👍0
Обсуждение1 ответ
▲ 3
В этом примере вам не хватает полуколина после int buttonPin = 2
, и ваш оператор if, вероятно, должен выглядеть следующим образом
if (buttonValue == HIGH){
digitalWrite(lightpin, HIGH);
}//красный
else{
digitalWrite(lightpin, LOW);// красный
}//красный/*
Кроме того, если вы перейдете к примерам в Arduino IDE, в разделе "digital" этот скетч называется button.
,
@rjuzzle
Предполагая, что проблема заключается в том, что светодиод, похоже, вообще не горит, ответ заключается в перемещении кода, который выключает светодиод, в предложение else, как вы показали в своем ответе. В противном случае светодиод будет гореть менее миллисекунды - вероятно, настолько короткое время, что он не будет виден человеческому глазу., @Duncan C
Смотрите также:
- Как объявить массив переменного размера (глобально)
- Программирование Arduino с использованием Python, а не C/C ++
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Как справиться с rollover millis()?
- Является ли использование malloc() и free() действительно плохой идеей для Arduino?
- Можно ли сделать несколько функций loop() с помощью Arduino Uno?
- Какие накладные расходы и другие соображения существуют при использовании структуры по сравнению с классом?
- устаревшее преобразование из строковой константы в 'char*'
Вы получаете какое-то сообщение об ошибке? Пожалуйста, предоставьте более подробную информацию. Кроме того, пожалуйста, отредактируйте свой вопрос и используйте инструменты форматирования, чтобы отформатировать код как код., @jwh20
почему вы думаете, что сделали что-то не так?, @jsotola
Что происходит не так? Единственное, что я вижу, так это то, что ваш светодиод будет гореть только очень короткое время, когда вы нажимаете на кнопку, потому что вы сразу же выключаете его. Об этом говорится в ответе @rjuzzle. Или, может быть, что-то еще не так. Вы не сообщили никаких подробностей, так что мы можем только догадываться., @StarCat
Смотрите ответ rjuzzle. Ваш код будет устанавливать высокий уровень светодиодного вывода менее чем на миллисекунду при каждом проходе через ваш цикл при нажатии кнопки - мерцание будет настолько коротким, что вы, вероятно, не сможете его увидеть., @Duncan C
Ваш вопрос нуждается в доработке. Смотрите [как спросить](https://arduino.stackexchange.com/help/how-to-ask )., @sa_leinad