Как обстоят дела с пин-кодом Uno 13 LED?

13

(У меня Sparkfun RedBoard, но этот вопрос, похоже, относится к R3 Unos и Uno-совместимым платам.) Когда я строил первую схему в моем руководстве SIK (добавьте резистор, светодиод, подключите его и заставьте его мигать из кода ), Я заметил, что синий светодиод на самой плате делал все, что делал светодиод схемы - мигая в соответствии с программированием.

Почему этот светодиод здесь? Для каких это вариантов использования?

Какие схемы я должен настроить, чтобы учесть этот светодиод?

Является ли вывод 13 традиционно отладкой или выводом для устранения неполадок? Откуда взялась эта конвенция?

KatieK
источник
2
Почему на мышке есть колесо прокрутки? Это удобно, но не нужно.
Анонимный Пингвин

Ответы:

9

Светодиод на выводе 13 используется загрузчиком optiboot (тот, который используется в UNO ):

  • во время загрузки Arduino (светодиод мигает несколько раз)
  • при загрузке эскиза в Arduino

Я не проверял другие загрузчики, они могут работать так же, как и optiboot.

Для optiboot есть необязательные определения (во время компиляции), чтобы изменить это поведение:

  • LED_START_FLASHESопределяет количество вспышек светодиода контакта 13 во время загрузки (можно установить на 0)
  • LED_DATA_FLASHбудет использовать контакт 13 LED во время загрузки эскиза, если он определен во время компиляции

Эти определения объясняются в hardware/arduino/bootloaders/optiboot/optiboot.cкаталоге установки Arduino IDE.

Если вы хотите изменить их, вам придется сначала перекомпилировать загрузчик optiboot, а затем записать его на Arduino через ISP-программист .

Я полагаю, что еще одной причиной появления светодиода на выводе 13 было упрощение демонстрации эскиза « Hello World » для Arduino, а именно Blinkэскиза, без необходимости в дополнительных компонентах.

jfpoilpret
источник
8

Какие схемы я должен настроить, чтобы учесть этот светодиод?

Вам нужно будет принять это во внимание, если вы используете этот вывод в качестве цифрового входа.

ПРИМЕЧАНИЕ. Цифровой вывод 13 труднее использовать в качестве цифрового входа, чем другие цифровые выводы, поскольку к нему прикреплен светодиод и резистор, который припаян к плате на большинстве плат. Если вы включите встроенный резистор на 20 кОм, он будет зависать на уровне 1,7 В вместо ожидаемого 5 В, поскольку встроенный светодиод и последовательный резистор понижают уровень напряжения, а это означает, что он всегда возвращается НИЗКИМ. Если вы должны использовать контакт 13 в качестве цифрового входа, установите его pinMode () на INPUT и используйте внешний понижающий резистор. Arduino - DigitalPins

sachleen
источник
1
Я только столкнулся с этой проблемой при использовании датчика температуры 1 провод. Я не мог перечислить автобус из-за этого светодиода. Я заметил некоторые странные пики на моем осциллографе при использовании этого штифта. Я перешел на другую булавку, и все было хорошо.
GuitarPicker
3

Плюс ко всему остальное: плюс, если вы обнаружите, что светодиод digital-13 создает вам проблему, вы всегда можете удалить его из цепи, либо отключив светодиод, либо последовательный резистор.

Это может быть полезно, если у вас заканчиваются цифровые входы / выходы, или вы хотите несколько смежных битов ввода / вывода и не хотите, чтобы один из них вел себя не так, как другие.

gwideman
источник
1

Да, вывод 13 традиционно является выходным выводом, который управляет светодиодом. Но синий светодиод не должен мигать, так как это индикатор включения питания - есть ли у вас мощный источник питания на вашей плате?

Вы можете поэкспериментировать с ШИМ для светодиода pin13, который будет контролировать его яркость. В Интернете множество примеров набросков.

kiwiron
источник
Я не знаю, что такое грубое питание; питание было подано через USB. Похоже, что RedBoards предварительно запрограммированы скетчем Blink, в котором используется вывод 13.
KatieK
«Грунты». ЛОЛ. Я думаю, что он имеет в виду очень сильный ток питания. Я использую термин «жесткий», что означает, что он противостоит падению напряжения при более высоких нагрузках.
Дункан C