Минимальный Ардуино - The Shrimp
- Войдите на сайт для отправки комментариев
Пнд, 25/03/2013 - 10:00
Приветствую!
Вышел на этот проект: http://shrimping.it/blog/shrimp/
Если я правильно понял - то это описание минимального набора Ардуино, который по стоимости получается в 3 фунта.
Вот список комплектующих: http://shrimping.it/blog/bill-of-materials/
Я хочу купить и собрать, но т.к. я новичек в Ардуино, может быть кто подскажет дальнейшие мои шаги, после того как все комплектующие будут в наличии -- что мне необходимо будет проделать?
Спасибо
Илья
Вам придётся прошить в атмегу загрузчик ардуино, чтобы вы смогли программировать из Arduino IDE. Потребуется программатор, его также придётся купить или сделать самому. Также вы можете купить уже прошитую атмегу. Просто боюсь ни атмегу328 за доллар, ни USB UART модуль за 2 доллара вы не найдёте.
UPD. Посмотрите в сторону Arduino Severino на атмега8.
Спасибо.
Да, конечно я понимаю что в наших магазинах комплетующие будут дороже.
Но мне интересна сама концепция - берётся макетная плата, компоненты (которые можно достать в местном магазине) и собирается совместимый Ардуино.
Мне просто хочется отметить те шаги, которые я буду предпинимать, чтобы он "нулевого" знания в этой тематике получить мигающий светодиод у меня в руках :)
Поэтому как я понял, в данный момент моё незнание вопроса представляет ценность, в том, что можно зафиксировать путь приведения этого незнания в знание.
Поясните, что из себя представляет процесс программирования? Это единоразовое действие?
Можно ли для этого использовать какой-нибудь существующий Ардуино?
Я верно понимаю что процесс программирования чистой микросхемы описан здесь: http://www.3guys1laser.com/blog-burn-bootloader-blank-atmega328atmega328p-arduino-uno ?
ну даже не знаю, кто вам будет всё разжёвывать) гуглите, читайте. качайте книгу Улли Соммера "Программирование Arduino/Freeduino", на торрентах есть. Там и основы программирования и немного схемотехники.
Саму последовательность я верно понимаю:
1. Покупаю компоненты, собираю мини-ардуино.
2. Программирую ATmega чип (загружается загрузчик) с использованием другого Ардуино.
3. Устанавливаю Arduino IDE
4. Подключаю к USB UART, и система готова к работе?
Ссылки по теме:
Burning the Bootloader on ATMega328 using Arduino UNO as ISP: http://www.instructables.com/id/Burning-the-Bootloader-on-ATMega328-usin...
From Arduino to a Microcontroller on a Breadboard: http://arduino.cc/en/Tutorial/ArduinoToBreadboard
Build an Arduino on a Board: http://www.instructables.com/id/BaW-Bot-Part-1-Build-an-Arduino-on-a-Board/
Bootload an ATmega328: http://www.instructables.com/id/Bootload-an-ATmega328/
интересно что на 5ом шаге говорится про различие http://www.instructables.com/id/Bootload-an-ATmega328/step5/Which-ATmega328-are-you-using/ :
"I learnt the hard way that there is more than one type of ATmega328. The two variants that are of interest to us are the ATmega328-PU and the ATmega328P-PU.
The -PU suffix means that the chips are in a PDIP package, the format we need for our breadboard.
The 328P is a picoPower processor, designed for low power consumption, and is used on the Arduino boards. Given low power consumption this is first choice.
The 328 does not have picoPower technology, and is not used on the Arduino boards – and is not explicitly supported by the Arduino IDE."
How to program a AVR (arduino) with another arduino: http://www.instructables.com/id/How-to-program-a-AVR-arduino-with-another-arduin/
собираете дуину, прошиваете загрузчик (программатором или другой дуиной) через Arduino IDE, пользуетесь.
если у вас уже есть arduino, то usb uart не нужен, можно шиться через неё прям.
Мой совет - купите, все-таки изначально готовую ардуину. Китайску/оригинальную - не важно. Главное что-бы с USB на борту. Что-бы "воткнул из заработало". Пусть на пару долларов дороже, но для "старта новичка" - оно того стоит. Когда у вас есть на руках "работающий пример" - гораздо легче разбиратся /делать клон. Тут на форуме - куча тем про это (как правило все они так или иначе сводятся к "как прошить бутлоадер").
А уж когда чуть-чуть освоитесь с ардуиной - тогда можно и свернуть с тропинки чайника :) Чуть-чуть по кустам полазить :)
Как ни проста "ардуина самодельная", а все-таки какой-то объем знаний - для этого требуется. И новичок может просто захлебнутся и получить перегруз информационный (все посылают гуглить/читать :) ). Оно все просто - когда знаешь, ничего "запредельного" там нет. Но...
Вообщем лучше маленькими шагами приближатся к цели :)
Я кстати - именно так и начинал знакомство с дуиной - купил готовую и поставил цель воспроизвести ее самому. И именно "по кусочкам" и проходил этот путь. Разбирался как заливать скетчи, как делать питание, как USB-конвертер из кабеля для мобилки. То есть даже клон - у меня "по частям" создавался. Вначале ему для работы - нужна была основная "в помощь", потом, ПОСТЕПЕННО, делал ее все более и более "автономной". И эта постепеннойсть - важна. В каждый момент времени у меня было что-то РАБОТАЮЩИЕ что можно было улучшить, а не "куча задач/неизвестных которые пока не решишь - ничего не запустится". Я старался избегать ситуации "ничего не работает и фиг поймешь почему, так как 100 причин может быть".
Самое главное не ошибиться с МК, потому что дажеко не все можно использовать с ArduinoIDE.
Я недавно подключил "arduino" на atmega16 (ArduinoIDE её не поддерживает) и программировал его из ArduinoIDE, однако это связано с достаточно большими проблемами (не буду вдаваться в подробности, они Вам пока не нужны).
Самое тупое - взять какой то проект, в котором описано всё, от А до Я, т.е. комлектация, как прошить и чем прошить и тупо повторить.
Еще есть вариант, купить готовую и сделать её копию, во всяком случае можно осциллом потыкаться и сравнить, если что то не будет работать.
Привет!
Спасибо большое за ответы.
Да, сама Ардуино (нано) у друга есть, поэтому для прошивки Загрузчика можно будет использовать.
Кстати, нашёл хорошие статьи про прошивку (Arduino Bootloader):
http://www.vwlowen.co.uk/arduino/bootloader/bootloader.htm
http://www.vwlowen.co.uk/arduino/bootloader/page2.htm
Проблема с компонентами оказалась в отсутствии в Промэлектронике USB UART Переходника.
В оригинальной статье указывается USB UART на базе cp2102, такого плана: http://shop.nanode.eu/shop/product/programming-lead/ (и кстати некоторая фишка по ресету http://blog.tarn-vedra.de/2011/09/using-cp2102-on-arduino.html)
Вот и этого USB UART нет, есть только сама микросхема: http://www.promelec.ru/catalog/1/13/101/0/128449
Поэтому сейчас заказали их в Китае :) Но хочется конечно быстрее найти здесь, или вариант сборки, кстати вот сборка описана здесь: http://alex-exe.ru/radio/interfacingpc/usb-uart-cp2102/
Кстати, если есть кто-то из Екатеринбурга - был бы рад пообщаться лично.
Спасибо
Проишть бутлоадер и начать заливать скетчи - можно и без USB UART. Но нужен будет внешний програматор (другая дуина).
Если же "от другой" - хочется избавится, то можно еще эти переходники поискать в виде кабелей от старых мобилок. Скажем DKU5 (вряд ли найдете) или CA-42 (а вот это реальней). Скорее всего еще и дешевле будет (по крайней мере дешевле чем "кошерные" FTDI-конвертеры)
Сегодня собрал плату по http://mk90.blogspot.ru/2011/01/arduino-3-atmega8a-bootloader.html.Плата работает,но, наверное из-за того,что проект на 8Мгц, а у меня стоит кварц на 16, надо смотреть фузе,так как включаю питание на плату с blink и начинает работать с ~2 сек-ой задержкой.
Если я неправильно считаю, пусть старшие товарищи меня поправят
>начинает работать с ~2 сек-ой задержкой.
Нет. Это совершенно нормальная работа платы. Причем скорее задержка - ~3 сек.
Во время этой задержки - бутлоадер ждет "а вдруг нам прошивку счас слать начнут". Если в течении этого таймауте - от компа прошивка не начала лится, он пожимает плечами и передает управление тому скетчу который уже в камне.
Вообщем - расплата за удобство заливания скетчей.
А фьюзы ковырять - вам нужно будет если delay(), millis() - врут. Залили блинк, а он мигает 2 или 8-мь раз медленее чем положено.
Точно, больше похоже на 3 сек.
Только почему у настоящих плат нет такого,я не замечал
Версии бутлоадеров. В нем задается эта задержка. Старые платы (а бутлоадер вы брали скорее всего от старой) - не имели авторесета. Нужно было кнопку ресер жать руками, перед заливкой. Так что три секунды - это компромис между "можно потерпеть" и "залитие скетча не требует ковбойской сноровки".
В новых, когда жмакуть руками стало редкостью - уменшили эту задержку (в бутлоадере). Но она все равно есть.
А в совсем новых, там где 8u2 используется вместо FTDI - уже другой подход может использоваться для сообщения "щас лить будем", просто порт быстро открывается, закрывается на определенной скорости - это и есть сообщение бутлоадеру - "товсь". Вот там уже, теоретически, возможна минимальная задержка.
Саму последовательность я верно понимаю:
1. Покупаю компоненты, собираю мини-ардуино.
2. Программирую ATmega чип (загружается загрузчик) с использованием другого Ардуино.
3. Устанавливаю Arduino IDE
4. Подключаю к USB UART, и система готова к работе?
1 Покупаете два программатора USBasp.
2. Одним программатором прошиваете загрузчик USBaspLoader во второй.
3. Ну, да "устанавливаете"... куда ж без неё?
4. Подключаете к USB, и... система готова к работе.
http://jethomson.wordpress.com/2011/08/
зы
В случае разочарования - у вас остаётся два программатора, которые без проблем можно отдать/перепродать нуждающимся.
зызы
Натолкнула на идею возня в Ардуино с макеткой с atmega8 без бутлоадера и самодельным USBasp.
Подумал, а пусть программатор сам себя шьёт, полазил в инете и оказался не оригинален в своём желании.
по проекту и то,что у меня 1.0.3 стоит optiboot.
Он что старый?
Не путайте версию ардуиноIDE и бутлоадера. Если выбрана плата какая-нибудь "Arudino NG or older..." - то вряд ли для нее кто-то переписывал бутлоадер. А даже если и переписывал - то естественно сделал в нем большую задержку. Она же не от "ошибки" была в старых, а потому что необьходима
Просек
Если вы действительно собирали "минимальную", без авторесета. То вы еще не раз обрадуетесь что эта задержка имеет место быть. Без нее вам было-бы очень трудно заливать скетчи через Serial, без программатора.
купил плату
у Семенова, Atmega8 тамже,остальное было.
Сейчас на плате стоит мк, кнопка сброса с резистором 10 Ком, два светодиода на питание и как L с резисторами, кварц с кондерами,разъем ISP, разъем питания.
Все
Еще до конца не понял последовательность действий при заливки скетча.
Пока вроде два раза сбрасываю
Там все просто. Главное понять суть.
Вообщем вам нужно, что-бы заливка в камень началась именно в момент вот той самой трех-секундной паузы. Именно заливка, а не компиляция (которая тоже выполняется перед заливкой).
Что-бы легче было видеть момент когда началась заливка - можно пойти в File Preferences, и поставить галки Show verbose output....
Тогда будет видно как IDE запускает компилятор и как запускает avrdude (для заливки). Вот как видитие что avrdude пустился и начал там что-то варакать - нажимаем ресет.
Ну или, как вариант иногда нажимают заранее, а потом прото отпускают в момент заливки (тут правда уже чуть от платы зависит, держит ли нажатый ресет ее в погасшем состоянии или нет).
Ну это все, естественно, в случае если вы скетчи льете через COM-порт, с участием бутлоадера. Если же шьете через какой-то программатор через разъем ISP - то все эти ресеты и задержки - вам до лампочки.
То есть "просто заливаем", ничего не ресетя и проч. Бутлоадер в этом случае будет болтатся в камне "для балласта" без особой пользы.
Понятно.
Другой вопрос
В IDE поставил 2 галочки "показывать". Смотрю вывод в окошке, но не вижу, где найти временные файлы и файл .hex. Вижу файл *cpp.hex, другие. но найти их не могу. искал в папке ардуино папки temp,tmp.ничего не нашел
cpp.hex это и есть hex
Всем привет!
мне всё же удалось собрать этот минимальный вариант Ардуино, на базе проекта http://shrimping.it/blog/shrimp/.
Помогли хорошие люди. Один предоставил USB-UART на базе CP2102, второй помог купить компоненты (они все есть в наличии в ПромЭлектронике), прошил микроконтроллер (с помощью другого Ардуино), всё это писано здесь: http://www.poprobot.ru/home/handmadearduino
Мне всё это попало в ввиде макетной платы, и коробочки с компонентами, то есть набор "сделай сам".
Удалось успешно собрать, подключить к компьютеру, и залить скетч мигающего светодиода, и получить мигающий светодиод, но для того кто это всё собрал сам, это непередаваемое ощущение :)
Надеюсь в ближ время опишу инструкцию для "Ардуино с нуля", кто вообще не занимался этой областью, но было бы интересно попробовать и собрать самим.
Вот как это выглядит:
Если бы ещё удалось сделать DIY для USB-UART на базе микросхемы CP2102, которая стоит порядка 50р - то это был бы очень интересный набор-конструктор для сборки Ардуино, доступный на базе распространённых компонентов.
С уважением, Илья
Вот как это выглядит:Если бы ещё удалось сделать DIY для USB-UART на базе микросхемы CP2102, которая стоит порядка 50р - то это был бы очень интересный набор-конструктор для сборки Ардуино, доступный на базе распространённых компонентов.
В посте #10 я уже упоминал про кабель от мобилки CA-42. Загуглите "Arduino CA-42" или DKU5
Вот, к примеру, DIY USB to Serial Cable For $3! | uC Hobby
Я делал - все работает. Даже без резисторов/согласования (нагугли в даташите, что толерантен он к 5v).
Если нужно только "заливать скетчи и общатся с компом" - то вообщем-то "просто отрезать мобилочныйх хвостик и зачистить проводки". Если хочется и питатся через него - ну значит аккуратно разрезаем его вдоль, вызванием находим где у нас 5v и меняем трех-жильный кабель, на четерых жильный.
Когда брал последний раз на радио рынке в Киеве, то просили за него 15 гр (~57 рублей), но сами же предложили скинуть если возму несколько. С радостью отдали пяток в итоге по 10 гр (~38 рублей).
Не думаю что "чип, плюс обвязка, плюс папа-USB разъем" у вас выйдет дешевле.
Спасибо, да Дата-кабели - хороший вариант.
Они серийно всё ещё выпускаются? Меня только этот вопрос смущал - что они могут просто исчезнуть. В отличие от создания чего-либо на серийных компонентах (тот же чип CP2102)