Leonardo: проблема неофита
- Войдите на сайт для отправки комментариев
Уважаемые форумчане!
Решил приобщиться к вашей славной когорте и купил Arduino Leonardo R3.
Согласно инструкции установил драйвер: устройство появилось в системе как СОМ-порт. Скачал и установил IDE версии 1.5.2, выбрал Leonardo и порт, что показывается в системе. При загрузке скетча Blinking или другого простого же плата коротенько моргает светодиодом RX, IDE сообщает, что всё загружено успешно, но ничего не происходит: светодиод не моргает, на какой бы пин его не подключал (с изменением в скетче, конечно же).
Жёлтый светодиод L постоянно моргает так: три раза быстро - небольшой промежуток.
Всё это происходит и при питании по USB, и при питании 9В.
Уважаемые, не дайте разочароваться, подскажите, в чём дело, пошто Леонардо не работает, может, он просто неисправен и его обратно в магазин сдать?
Заранее благодарю за внимание, понимание и конструктивные ответы.
Ну, как бы:
Скачайте http://arduino.googlecode.com/files/arduino-1.0.5-windows.zip - финальную, а не бету, распакуйте в удобное вам место и запустите Blink, а не Blinking, светодиоды подключать не нужно пока не разобрались вкуда подключать
зы
Разочаровываться тут можно исключительно в самом себе, а в магазин сдать, если впарили брак.
спасибо душевно, уже качаю,
Не обратил внимание, что бета.
На плате написано Маде ин Итали + длиннющая бумага с уверениями, что качество - будь спок. Плата без видимых дефектов: поди, локажи, что брак.
скачал 1.0.5, поставил, сменил драйвер на версию с 1.0.5.
подключил внешнее питание ( я его и раньше подключал).
загрузил Blink.
не помогло.
поплясал вокруг, поизрыгал слова - не помогло.
пробовал на Windows XP и 7-ке - одномандатно.
может, мне с богами пообщаться?
Месье корифеи, подскажите, в чём/ком собака порылась? Как мне Леонарду к жизни возбудить?
Если поможет, могу видео показать, как огонёк моргает: бли-бли-блиин, бли-бли-блиин и т.д.
На Windows 7 загрузка скетча Blink прекращается с выдачей сообщения:
Found programmer: Id = "BЁТ"; type =
Software Version = . ; Hardware Version = .
avrdude: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?
Значит драйвер вы установили тот и правильно, в диспетчере устройств всё нормально, разъём USB не 3.0, в Arduino IDE правильно выбрали плату и сом-порт, загружаете блинк, нихрена не работает и готовы продать душу бохам?
Чуть терпения и поменьше суеты - вы где-то делаете ошибку, внимательно переустановите дрова
http://arduino.cc/en/Guide/ArduinoLeonardo#toc10
и пробуйте всё заново.
внимательно перечитал рекомендованную вами статью.
несколько раз переустанавливал драйвер. Кстати, в системе оказалось два inf файла. Видимо, какой-то остался с версии 1.5. Пробовал оба. Действовал точь-в-точь, как написано в статье - результат: на ХР IDE говорит, что скетч загружен успешно, но контроллер ничего не делает. На W7/32 и W7/64 выдаёт указанную мной ошибку и контроллер тоже ничего не делает (оно и понятно - не загрузилось ничего).
Пробовал, как в статье - с нажиманием кнопки RESET - то же самое, т.е. - ничего не делает.
Причём индикатор RX моргал, т.е. показывал, что контроллер что-то принимает.
Следил по диспетчеру устройств, как исчезает/появляется виртуальный порт. Т.е. контроллер таки перезагружается. Т.е. физический/логический коннект с контроллером есть. Пошто скетч не выполняется, для меня великая загадка есть.
Надобно у знатоков именно Леонардо поспрашивать, да я их пока не знаю... 8-(
Ждите, может владельцы Леонардо подскажут особенности юзания.
зы
у меня мега на юсбасплоадере - там странного не бывает.
Ну я владелец леонардо. Встречал некоторые особенности, но именно такой не видел.
Включите в IDE лог полного процесса загрузки (Files->Preferences, потом поставить галочку напротив Show verbose output during: upload) и выложите сюда. Особенно интересны параметры, с которыми вызывается avrdude.
спасибо.
после работы вечером сделаю, как вы сказали - выложу лог.
У меня тоже лео, но таких проблем не было
а я с первого раза налетел.
Либо есть какая-то тонкость, либо плата дефектная. Хотя... Made in Italy. Если это правда...
Я свой покупал в @мперке в ноябре прошлого года, тоже made in italy, на счет R3 ничего не скажу, даже не знаю, что это такое. (что скорей всего Revision 3 - это понятно, но какая у меня - я не в курсе). У меня Win7 x64, ArduinoIDE 1.0.2-1.0.5.
я покупал у себя в городе. R3 - это на обратной стороне платы (которая белая): там написано Arduino Leonardo R3.
Пробовал на трёх разных машинах: WinXP/SP3, Win7 x32 и Win x64. IDE 1.0.5 и 1.5.2. Нигде не работает...
Только что проверил на работоспособной леонарде.
Вот как должен выглядеть правильный лог загрузки скетча blink (IDE 1.0.5, Arduino Leonardo):
Ищите отличия от вашего лога.
Вот лог:
Вас не смущает, что
блинк пять килобайт занимает - сомневаюсь, что он будет мигать.
Приведите текст этого суперблинка.
зы
Ну, что за ересь?
в вашем логе:
Found Leonardo upload port: COM24
D:\arduino\arduino-1.0.5\hardware/tools/avr/bin/avrdude -CD:\arduino\arduino-1.0.5\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega32u4 -cavr109 -P\\.\COM24 -b57600 -D -V -Uflash:w:C:\Users\tsostik\AppData\Local\Temp\build274426783074612658.tmp\Blink.cpp.hex:i
в моём:
Found Leonardo upload port: COM8
F:\arduino-1.0.5\hardware/tools/avr/bin/avrdude -CF:\arduino-1.0.5\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega32u4 -cavr109 -P\\.\COM8 -b57600 -D -Uflash:w:C:\DOCUME~1\23E4~1\LOCALS~1\Temp\build3058180116516207807.tmp\Blink.cpp.hex:i
- отсутствует ключ "-V"
после Connecting to programmer: .avrdude: Send: . [1b]
у вас идёт: avrdude: Send: S [53]
у меня: avrdude: ser_send(): write error: sorry no info avail
В IDE меню Файл - Примеры - 01.Basics - Blink
никакой отсебятины, официальный пример идёт вместе с IDE.
огромное спасибо Великому Конструктору и доблестному tsostik'у за поддержку!
главное что? направить в нужную сторону!
в трабблшутингах на arduino.cc нашёл пост, где автор разрешил получаемую мною ошибку, переткнув юсб кабель с зада компьютера на перёд.
Я сделал обратное: вместо юсб гнезда на передней панели компьютера воткнул кабель в зад (компьютеру, конечно 6-), и - магик! - наслаждаюсь миганием светодиода!
Ребята, ещё раз спасибо за поддержку!
Надеюсь, увидимся!
И, чем передние USB отличаются от задних?
Не повезло с компом - комп не той ориентации оказался )))
9-)
И, чем передние USB отличаются от задних?
у меня промелькнула поначалу эта здравая мысль, но... мы ж "кульные хацкеры" и простых решений не приемлем. По крайней мере - поначалу.
С кабелем - тоже всё просто: затухание сигнала. Я с этим первый раз столкнулся с картридером: штатным кабелем подключаю спереди к системнику - ничего, подключил в гнездо монитора (есть там у него) - заработало.
Иногда проводки от передних гнёзд к плате бывают настолько дрянными, что сигнал на этом отрезке затухает так, что устройство то ещё видно, но обмен данными уже швах.
затухание сигнала в USB..... на дистанции 10-15 см.... у вас там что нитки заместо проводов? может нужно было корпус подороже чуть выбрать?
С кабелем - тоже всё просто: затухание сигнала. Я с этим первый раз столкнулся с картридером: штатным кабелем подключаю спереди к системнику - ничего, подключил в гнездо монитора (есть там у него) - заработало.
Иногда проводки от передних гнёзд к плате бывают настолько дрянными, что сигнал на этом отрезке затухает так, что устройство то ещё видно, но обмен данными уже швах.
Про затухание сигнала - ересь.
У вас на передние разъёмы выведено нечто отличное от USB 2.0.
Про затухание сигнала - ересь.
У вас на передние разъёмы выведено нечто отличное от USB 2.0.
Согласен про ересь... срочно вызвать инквизицию, обкурить все ладаном.. и владельцу компа кадилом по голове.. а то отлучат от форума :)
Про затухание сигнала - ересь.
У вас на передние разъёмы выведено нечто отличное от USB 2.0.
Может, и ересь.
В другой раз столкнулся: длинным кабелем подключаю устройство - не работает, коротким в то же гнездо - работает. На другом компьютере в одном и том же гнезде - оба кабеля работают. USB 2.0, всё как положено. Значит, не в кабелях собака порылась.
Мне в магазине предлагали 20-тисантиметровый кабель, но я взял 1.8м. Мы ж не только "хацкеры", мыж ещё россияне, нам за свои деньги что подлиннее поиметь хочется... 4-)
Согласен про ересь... срочно вызвать инквизицию, обкурить все ладаном.. и владельцу компа кадилом по голове.. а то отлучат от форума :)
Я старый инженер, закалённый советской властью и госбюджетом. Меня кадилом не проймёшь...
Про затухание сигнала - ересь. У вас на передние разъёмы выведено нечто отличное от USB 2.0.
Не затухание, дак помеха, или еще какая фигня... Такой эффект с выносными USB гнездами на некоторых корпусах и мамках - давно известен. Еще бывают "слишком тонкие" USB шнурки, на которых некоторые устройства работают неустойчиво, а иные - и вообще не работают.
Не затухание, дак помеха, или еще какая фигня... Такой эффект с выносными USB гнездами на некоторых корпусах и мамках - давно известен. Еще бывают "слишком тонкие" USB шнурки, на которых некоторые устройства работают неустойчиво, а иные - и вообще не работают.
Известен то он известен, хотя думал, что это проблема годов эдак 90-х, когда народ переходил с USB 1.0 на USB 2.0 - USB 1.0 выводился на морду, а остальное торчало сзади из матери непосредственно, поэтому соответсвовало заявленному.
Сейчас подобное наблюдать довольно странно и, тем более слушать про "тонкие" шнурки.
2 maksim:
уважаемый,
я по форумам посмотрел, вы с сериалом леонардо работали.
подскажите, как сделать так, чтобы леонардо в USB'шный сериал что-нибудь отсылал?
я стандартно делаю Serial.println("ok") а монитор ничего не показывает...
если у леонардо 2 сериала, может быть, нужно как-то указывать, в какой сериал отсылать? или они параллельно работают?
Так и отправляется:
в мониторе скорость 9600 не забудьте указать.
душевное спасибо
купил USB 20см
6-)
Чем задние USB не угодили?
хотел проверить свои измышления по поводу длинного/короткого кабеля.
с коротким кабелем заработал и с передним портом. Всё-таки проводочек от гнезда до мамы - дрянненький.
Теперь другое горе:
В леонарду грузится, огонёчком моргает, в монитор - ничего не выводит.
монитор на ту же скорость установлен. Правда, по порту надо ещё чётность и прочее устанавливать, но в IDE я этого не нашёл.
Ещё странность:
при подключении леонарды он определяется системой как СОМ9, при загрузке скетча - меняется на СОМ10 и, как в СОМ10, скетч и грузится, после перезагрузки леонарды он снова определяется как СОМ9:
Forcing reset using 1200bps open/close on port COM9
PORTS {COM1, COM3, COM9, } / {COM1, COM3, COM9, } => {}
PORTS {COM1, COM3, COM9, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, } => {}
PORTS {COM1, COM3, } / {COM1, COM3, COM10, } => {COM10, }
Found Leonardo upload port: COM10
...
Using Port : \\.\COM10
...
и в конце - Setting baud rate to 9600 on COM9
IDE настроен на СОМ9. Монитор порта молчит, как рыба об лёд. Как я понимаю, самой леонарде без разницы, который она там СОМ, тогда почему монитор молчит, если правильный порт слушает???
Откуда кто может знать, кроме вас лично, что у вашего системного блока с USB-портами творится?
Зачем, спрашивается, пытаться завести устройство на заведомо нерабочем железе?
Откуда кто может знать, кроме вас лично, что у вашего системного блока с USB-портами творится?
Зачем, спрашивается, пытаться завести устройство на заведомо нерабочем железе?
Через то же самое гнездо длинным же кабелем отличнейшим образом подключаются два фотоаппарата и навигатор. Без каких-либо шаманских плясок выполняются все допустимые операции: просмотр файлов, их открытие, копирование на компьютер, на навигатор. По ActiveSync связь отличная. Т.е. с USB всё в порядке. Это и противно.
А, если не подключать Ардуино в проблемные USB порты?
Вот заставить себя и не подключать, рука тянется, а не подключать - проявить силу воли.
Или достать таки, мануалы на мать, корпус, взять отвёртку и посмотреть/почитать что, чем и в куда разведено.
что означает "если не подключать Ардуино в проблемные USB порты"? Порты становятся "проблемными", как только я подключаю к ним свою ардуину. В остальных случаях "проблем" с ними никогда не было.
Я посмотрел в описании моего нетбука HP Mini 100-3700er (теперь я знаю его марку точно): даже в английском описании сказано, что у него все три порта - USB и именно 2.0. Ни с одним ардуина не работает. Ни с длинным кабелем, ни с коротким. На нетбуке стоит Win7/32 base.
"...а не подключать - проявить силу воли" для меня означает "взять саморез и прифигачить леонарду им к стене", поскольку ни с одним USB портом в моей квартире леонарда пока общаться не хочет.
При попытке отправить что-нибуди через монитор порта IDE выдаёт:
java.io.IOException: Input/output error in writeArray
с последующим длинным перечнем процедур явы, в недрах которых этот еррор и произошёл.
Скорее всего, есть какая-то хитрость или особенность. Я сильно подозреваю, что из-за этих перескоков СОМ9-СОМ10-СОМ9 IDE считает порт за СОМ10 (поскольку скетч заливается именно по СОМ10), в то время как в систему он вернулся как СОМ9, что показывает диспетчер устройств. Соответственно после заливки скетча монитор мониторит не тот порт.
В пользу этого объяснения то, что в моём примитивном скетче огонёк таки мигает, т.е.
while (!Serial) { }
плата выполнила и порт открыла. Если б не открыла, то так бы в цикле и крутилась, до светодиода бы дело не дошло.
Поштудирую описание функций Serial. Однако, помошь от знатоков Леонарды будет очень нелишней 8-)
чей то как бред какой то звучит... пытаюсь подключить ардуино к пылесосу.. все насадки с пылесосом работают хорошо, а вот ардуина не хочет подключатся.. помогите мне знатоки ардуин... :)
вам скорее нужно к знатокам пылесосов обращатся.. ибо с нашими тостерами ардуина работает нормально...
как последняя заповедь хакера, виндовс переустановите, и попробуйте прям первым делом туда ардуину воткнуть.... ибо если виндовс производит кучу ком портов и не знает на каком остановится то проблема не на стороне ардуины...
У меня Лео при загрузке - один порт, после загрузки - другой. В вашем случае, через ком9 производится загрузка скетчей, а ком10 можно использовать для отладки. Это нормальная реакция, в Лео USB встроен в мк, а не отдельной микросхемой, потому при сбросе соединение теряется.
Тут проблема в вашей Виндовс... леонардо как и дуе может програмироваться напрямую, ей не нужен другой контролер програматор... когда в комп порт открывается передача 1200 и тут же закрывается он автоматом делает сброс и на 8 секунд переходит в режим ожидания прошивки.. почему у вас виндовс в этот момент присваивает ему другой компорт и потом забывает его вернуть назад.. это знает только ваша виндовс и ваш компьютер..
Неправда - по крайней мере с одним(портом) хочет:
спасибо за новую для меня информацию: 8 секунд.
То, что при переподключении USB устройство обязательно должно получить тот же адрес, что и был ранее, не является частью стандарта USB или "обязанностью" Windows. Наоборот, получение устройством другого адреса при переподключении является вполне допустимым, нормальным порядком работы USB хоста.
Более того: сниффер (SnoopyPro) показывает одновременное присутствие Леонарды в нескольких "лицах": просто Arduino Leonardo, и Arduino Leonardo bootloader. Т.е. видимо, при переподключении для заливки скетча леонарда отправляет USB хосту другой дескриптор:
Arduino Leonardo - получи СОМ9
Arduino Leonardo отеключился, появился Arduino Leonardo bootloader. - получи следующий порт СОМ10
Arduino Leonardo bootloader. отеключился, появился Arduino Leonardo. - получи прежний порт СОМ9
Это логично.
Ещё более того:
если я заливаю
то светодиод моргает, независимо от того, запущен монитор порта, или нет. Если запущен - моргает чуть реже.
Если я заливаю
то светодиод моргает только, если запущен монитор порта, и прекращает моргать, как только монитор выключается.
Т.е. if(Serial) отрабатывается, т.е. логическое соединение по виртуальному СОМ-порту через USB интерфейс между ардуиной и IDE существует.
Как использовать это работающее соединение для обмена данными - вот в чём вопрос. Я, конечно, напишу приложение для работы с ардуиной со стороны хоста, посмотрю, отвечает ли виртуальный СОМ, но то, что стандартный монитор не показывает получаемые данные и/или леонардо не отправляет данные монитору, это для меня удивительно и досадно.
Или я, как новичок, сильно заблуждаюсь (что было бы естественно), как работает леонарда, или есть иная причина, по которой обмен данными не происходит. Её я и хочу выяснить.
Неправда - по крайней мере с одним(портом) хочет:
Поэтому пока саморез - отдельно, леонарда - отдельно. 6-)
Если соединение между монитором и леонардой есть и работает (как я, надеюсь, показал), то почему монитор ничего не показывает, и почему при попытке отправить через него что-то леонарде IDE выдаёт ошибку java.io.IOException: Input/output error in writeArray
On the Leonardo, if (Serial) indicates wether or not the USB CDC serial connection is open.
Получается, что при запуске монитора это савмое USB CDC serial connection устанавливается, и леонарда это определяет, и данные в это соединение исправно отсылает, и при разрыве соединения данные отсылать прекращает.
А вот хоть при запуске монитора соединение и устанавливается, при дальнейшей своей работе монитор общается неизвестно с каким портом.
Я, конечно проверю ещё раз на третьем компьютере, но если и на нём будет так же, то... даже не могу предположить, в чем ещё может быть дело.
спасибо ещё раз, кто внушал мне отвращение к саморезу.
На большом компьютере Win7/64 base скетч заработал, как надо. Точно так же при загрузке меняется СОМ-порт, но всё работает.
Остаётся выяснить, почему не работает на нетбуке с Win7/32 base.
Всем приятных дней и полезного ардуининга 9-)