вторник, 22 ноября 2011 г.

Arduino mega 2560 + micro-SD на Ethernet Shield 05

Приехал ко мне "Ethernet Shield 05 W5100 For UNO MEGA 1280 2560", который честно "Based on reference design, not original".
Вставил в него SD-карту, загрузил в Мегу пример SD ReadWrite. Запустил. На порту увидел: "Initializing SD card..." и все. В смысле что не удается больше ни чего залить другого. Конечно же, стандартная уловка: работа с Serial без delay.

При попытке залить хотя бы Blink происходит следующее: Led 13 мигает два раза, замтем 5 сек. горит TX. Все. Выключение и нажатие кнопки Upload ни к чему не приводит. Serial Monitor не запускается. Пробовал пол-дня в разных комбинациях сброс и заливку, без результата. Накопал информацию как сменить прошивку.

Затем установил, что $screen /dev/ttyACM0 9600 отображает "Initializing SD card..." на каждом запуске и нажатие любой клавиши приводит к миганию RX!

Затем заметил, что в Arduino IDE (22) в качестве порта указан /dev/ttys0, хотя screen /dev/ttyACM0 что-то все же выводит. Вытащил Ethernet Shield, перезагрузил IDE, опа! Появился в настройках ttyACM0, после чего был удачно залит Blink.

Из-за того, что на Mega аппаратный SPI "переехал" на 50,51 и 52 ноги, надо было в коде pinMode(10, OUTPUT); поменять на pinMode(53, OUTPUT);

3 комментария:

  1. спасибо за пост
    столкнулся с такой-же проблемой - думал уже что нерабочий шилд

    ОтветитьУдалить
    Ответы
    1. На здоровье. В настоящий момент у меня есть Mega и Uno. Пытался использовать в качестве термометра: https://pachube.com/feeds/43834
      Uno c этим шилдом работает нормально, а Mega вешается не больше чем через сутки.

      Удалить
  2. Привет!

    имеем:
    1)arduino mega 2560 R3
    2)ethernet shield

    Система win7, arduino ide = arduino-1.5.4-r2-windows.
    При подключении одной ардуины - видится порт с ней, скетчи заливаются.
    Если навесить ethernet shield - теряется порт или видится, но вкл/отключив подключение дуины к компу кабелем USB - порта нет.

    Или при заливке вываливается ошибка:
    КОД: ВЫДЕЛИТЬ ВСЁ
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_ReceiveMessage(): timeout
    avrdude: stk500v2_getsync(): timeout communicating with programmer



    что делать?
    странность в том,что без шилда, ок все, с ним - косяк.

    ОтветитьУдалить