Я не могу найти, что я сделал не так

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);// красный
}  //красный

, 👍0

Обсуждение

Вы получаете какое-то сообщение об ошибке? Пожалуйста, предоставьте более подробную информацию. Кроме того, пожалуйста, отредактируйте свой вопрос и используйте инструменты форматирования, чтобы отформатировать код как код., @jwh20

почему вы думаете, что сделали что-то не так?, @jsotola

Что происходит не так? Единственное, что я вижу, так это то, что ваш светодиод будет гореть только очень короткое время, когда вы нажимаете на кнопку, потому что вы сразу же выключаете его. Об этом говорится в ответе @rjuzzle. Или, может быть, что-то еще не так. Вы не сообщили никаких подробностей, так что мы можем только догадываться., @StarCat

Смотрите ответ rjuzzle. Ваш код будет устанавливать высокий уровень светодиодного вывода менее чем на миллисекунду при каждом проходе через ваш цикл при нажатии кнопки - мерцание будет настолько коротким, что вы, вероятно, не сможете его увидеть., @Duncan C

Ваш вопрос нуждается в доработке. Смотрите [как спросить](https://arduino.stackexchange.com/help/how-to-ask )., @sa_leinad


1 ответ


3

В этом примере вам не хватает полуколина после int buttonPin = 2, и ваш оператор if, вероятно, должен выглядеть следующим образом

if (buttonValue == HIGH){
  digitalWrite(lightpin, HIGH);
}//красный

else{
  digitalWrite(lightpin, LOW);// красный
}//красный/*

Кроме того, если вы перейдете к примерам в Arduino IDE, в разделе "digital" этот скетч называется button.

,

Предполагая, что проблема заключается в том, что светодиод, похоже, вообще не горит, ответ заключается в перемещении кода, который выключает светодиод, в предложение else, как вы показали в своем ответе. В противном случае светодиод будет гореть менее миллисекунды - вероятно, настолько короткое время, что он не будет виден человеческому глазу., @Duncan C