Как проверить, работает ли моя плата Arduino или нет?


17

Если у вас в руках доска, но вы не знаете, работает она или нет, как проверить, работает она или нет?


3
Я бы предложил изменить название и вопрос на «Arduino Uno», или убрать тег «uno» и сделать вопрос более общим.
Cybergibbons

См. Также arduino.stackexchange.com/a/13293/39212 для нескольких дополнительных проверок.
Jethro

Ответы:


14

Примечание: после комментария @ Ricardo к моему последнему сообщению я публикую это!

Подключите плату к USB-порту компьютера и проверьте, светится ли зеленый светодиодный индикатор питания на плате. Стандартные платы Arduino (Uno, Duemilanove и Mega) имеют зеленый светодиодный индикатор питания, расположенный рядом с переключателем сброса.

Оранжевый светодиод рядом с центром платы (помеченный «Pin 13 LED» на изображении ниже) должен включаться и выключаться при включении платы (платы поставляются с завода, на котором предварительно установлено программное обеспечение, чтобы мигать светодиод, как простая проверка того, что плата работает).

введите описание изображения здесь

Если индикатор питания не горит, когда плата подключена к вашему компьютеру, возможно, плата не получает питание.

Мигающий светодиод (подключенный к цифровому выходному контакту 13) управляется кодом, запущенным на плате (новые платы предварительно загружены с примером скриншота Blink). Если светодиод контакта 13 мигает, эскиз работает правильно, что означает, что чип на плате работает. Если горит зеленый индикатор питания, но индикатор контакта 13 не мигает, возможно, заводской код отсутствует на чипе. Если вы не используете стандартную плату, у нее может не быть встроенного светодиода на контакте 13, поэтому обратитесь к документации для получения подробной информации о вашей плате.

Онлайн-руководства по началу работы с Arduino доступны для Windows , Mac OS X и Linux .


2
Примечание: это будет работать, только если USB-порт или чип FTDI не были сожжены. Чип Atmega мог бы функционировать правильно, даже если эти два компонента не работают.
asheeshr

1
+1 Отлично, Хардик! Забавно, что только вчера кто-то задал вопрос о проблеме со своим Arduino, и я хотел указать на ваш ответ. Теперь мы можем сделать это правильно.
Рикардо

@Ricardo: Бинго: P
Хардик Такер

2
Если вы сбрасываете плату (с помощью кнопки), в загрузчике обычно мигает светодиодный индикатор контакта 13
TheDoctor

Моя первая плата была Duemilanove и поставлялась с битым чипом FTDI. Было очень сложно, пока я не получил рабочую замену платы.
linhartr22

5

Предполагается, что у вас есть USB-программист, есть еще один способ проверить Arduino.

Подключите программатор к выводам ICSP Arduino и вызовите avrdudeправильные параметры, чтобы прочитать предохранители вашего Arduino.

avrdude -c programmer-id -p partno -P port

Для Arduino Uno partnoесть m328p. Programmer-idзависит от используемого устройства. В моем случае (mySmartUSB light) stk500v2поддерживается и portесть /dev/ttyUSB0. Вот

avrdude -c stk500v2 -p m328p -P /dev/ttyUSB0

дает следующий вывод

avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e950f
avrdude: safemode: Fuses OK
avrdude done.  Thank you.

Правление ООН отвечает правильной подписью и готово к некоторым действиям :)

Как подключиться?

Мой USB-программатор поставлялся с 6-проводным ленточным кабелем с 2x3 гнездовыми разъемами с обеих сторон. Как обычно, провод для контакта 1 помечен красным. Из-за выемки на штекерном разъеме 2x3 программатора кабель подходит только в одном направлении.

Если вы посмотрите на Arduino UNO, заголовок ICSP находится справа от кнопки сброса.

Распиновка выглядит следующим образом.

MISO 1 2 VCC
СКК 3 4 МОСИ
RESET 5 6 GND

ПРИМЕЧАНИЕ Контакт 1 - это верхний левый, отмеченный белой точкой!


2
Это не будет проверять интерфейс USB-> Serial однако.
Cybergibbons

@Cybergibbons Абсолютно верно! Но даже с жареным USB, все еще может быть шанс прошить Arduino с помощью программатора;)
Klaus-Dieter Warzecha

+1 Полезно знать! Пройду этот тест 3 моих мертвых ATmegas. Знаете ли вы, как проверить предохранители, используя Arduino UNO в качестве программиста с загруженным эскизом ArduinoISP?
Рикардо

2

Если у вас есть другой работающий Uno, и оба имеют микросхемы микроконтроллера с сокетами, вы можете использовать известную плату, чтобы запрограммировать тестовый эскиз на чип неизвестной платы, положить его обратно на неизвестную плату и запустить.

Мне нравится следующий (псевдокодированный) тестовый эскиз для быстрой проверки моих плат ручной сборки; это так же удобно для тестирования неизвестного, изготовленного на заводе. Это не исчерпывающий тест, он просто проверяет базовый цифровой ввод / вывод, последовательный ввод / вывод, а также замыкает или открывает:

forever,
  for each digital I/O pin:
    write high;
    delay 100ms;
    write low;
  end;

  write "Hello, World!\n" to serial output;
  while serial character available,
    write character to serial output;
  end;
  write "\n" to the serial output;
end;
  • Тестовый светодиод - светодиод с подключенным к нему резистором - подключенный между любым входом / выходом и заземлением, должен мигать каждые 2 секунды. Если это не так, возможно, этот контакт неисправен или имеет плохое соединение.

  • Два тестовых светодиода, подключенных к численно смежным контактам (они могут не находиться физически рядом друг с другом), должны мигать последовательно. Если они мигают вместе, это указывает на короткий, вероятно, паяный мост между ними.

  • Терминал должен сказать «Hello World!» каждые две секунды. Если нет, возможно, произошел сбой этого контакта, кабеля FTDI или встроенного чипа USB / Serial.

  • Напечатайте что-нибудь на клавиатуре, и это должно быть повторено назад к последовательному терминалу (если предыдущий тест прошел). В противном случае, возможно, что этот контакт, или кабель FTDI, или встроенный чип USB / Serial были неисправны.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.