Пример набора для начинающих Arduino не работает

Я купил набор для начинающих и могу заставить работать все примеры, кроме одного. Я пробовал разные макеты плат и менял код безуспешно. Когда я впервые запускаю код, светодиод не горит. Когда я заземляю контакт 9, светодиод загорается и остается включенным. Контакт заземления 8 не выключает светодиод, если он горит.

int ledPin = 5;
int buttonApin = 9;
int buttonBpin = 8;

byte leds = 0;

void setup() 
{
  pinMode(ledPin, OUTPUT);
  pinMode(buttonApin, INPUT_PULLUP);  
  pinMode(buttonBpin, INPUT_PULLUP);  
}

void loop() 
{
  if (digitalRead(buttonApin) == LOW)
  {
    digitalWrite(ledPin, HIGH);
  }
  if (digitalRead(buttonBpin) == LOW)
  {
    digitalWrite(ledPin, LOW);
  }
}

Схема

, 👍-1

Обсуждение

Код должен выглядеть так:, @Bob

Остается ли контакт 9 заземленным после включения светодиода? Если вы заземлите оба контакта с этим кодом, у вас будет светодиод примерно с половинной интенсивностью, так как вы включаете и выключаете его очень быстро., @chrisl

Контакт 9 заземлен только на мгновение, но светодиод остается включенным после этого. После того, как я нажму кнопку и отпущу, я предполагаю, что и 8, и 9 плавающие, но ни один из них не заземлен, пока я снова не нажму кнопку., @Bob

Я проверил это с вашей проводкой и вашим кодом, и это работает как шарм. Я могу выключить светодиод с помощью кнопки на контакте 8. Должно быть, вы сделали что-то другое, чем вы указали в своем вопросе., @chrisl

Спасибо, Крис. Я попробую еще раз. Я пробовал несколько раз, но безуспешно и с разными конфигурациями., @Bob

Может быть, вы можете опубликовать хорошее фото вашей реальной схемы. А у некоторых макетов внешние направляющие разделены на две части. В этом случае кнопка 8 не будет заземлена. Пожалуйста, проверьте это., @chrisl

Спасибо, Крис. Работает сейчас. Возможно был плохой контакт., @Bob

Мультиметр может быть полезен при устранении неполадок в настройках оборудования. Вы можете использовать его, чтобы проверить, что контакт 8 действительно замыкается на землю, например, при нажатии кнопки. (Установите мультиметр в режим непрерывности, подключите один провод к свободному заземлению на Arduino, а другой — к штырьку 8 на макетной плате. При нажатии кнопки измеритель должен подавать звуковой сигнал. там, где у вас есть разомкнутая цепь., @Duncan C

прикоснитесь желтой кнопкой к земле вместо того, чтобы нажимать кнопку, @jsotola

Если вы подключили его точно так, как на изображении, возможно, у вас есть макетная плата с разделенными посередине шинами питания (у меня их много, и все они имеют эту «особенность»). Однако он также отображается цветными линиями рядом с ним. Если в середине есть пробел, это не связано, @KIIV


1 ответ


0

Кнопки такого типа имеют 4 контакта. Эти контакты внутри соединены попарно. При подключении легко ошибиться. Пожалуйста, выложите реальное фото вашей проводки. Или вы можете узнать больше о выводе кнопки в этом сообщении

,