Wolf_Yout
@Wolf_Yout

Начал изучать Ардуино, столкнулся с проблемой, не понимаю что делать?

Мой код:
/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/Blink
*/

// the setup function runs once when you press reset or power the board
int GLed = A7; 
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(GLed, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, 1);
  delay(12000);
  digitalWrite(GLed, 1);
  delay(3000);
  digitalWrite(LED_BUILTIN, 0);
  delay(27000);
  digitalWrite(LED_BUILTIN, 1);
  delay(3000);
  digitalWrite(GLed, 0);
  
}

Встроенный светодиод L работает, не работает припаянный светодиод на пин A7, полярность правильная, резистор припаян, но он не работает, также сам светодиод исправен(Проверено при помощи прямой подачи с резистором). В чём проблема?
  • Вопрос задан
  • 220 просмотров
Решения вопроса 1
Wolf_Yout
@Wolf_Yout Автор вопроса
https://forum.cxem.net/index.php?/topic/193354-a4-... - Оказалось тоже самое, ушёл с A7 на A3, работает
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
nava2002
@nava2002
Инженер
int GLed = A7; // Не правильно
int GLed = 7; //Правильно так, тогда во всех командах analogRead ( GLed ); будет читаться аналоговый вход А7

Если нужно использовать эту ногу как ЦИФРОВУЮ нужно указать:
int GLed = 90; // Эта нога в Ардуино Мега назначится как цифровой вход/выход D90 (она же А7)
digitalWrite ( GLed, 1 ); // Будет работать как цифровой ВЫХОД.

В Ардуине NANO так сделать нельзя. А6 и А7 могут быть только аналоговыми входами. Нужно взять картинку с распиновкой вашей платы и внимательно посмотреть какие есть варианты для назначения ног в платформе Ардуино.
Можно конечно лезть в настройки портов и управлять ногами через команды ассемблера но я думаю что на этапе освоения платформы такой подход будет излишним.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы