Съдържание:

Среда за развитие на гето: 5 стъпки
Среда за развитие на гето: 5 стъпки

Видео: Среда за развитие на гето: 5 стъпки

Видео: Среда за развитие на гето: 5 стъпки
Видео: Пять этапов превращения в гетто на примере Мурино 2024, Ноември
Anonim
Среда за развитие на гето
Среда за развитие на гето

Преди време публикувах бърз и мръсен „el cheapo“метод за започване на програмирането на чиповете от серията Atmel AVR: Ghetto Programmer (версия 1.0) Оттогава аз съм vamp, повторно вампирал и по друг начин съм подобрил настройката си. Мислех, че би било хубаво да го документирам. Целта беше да се получи гъвкава, компактна, преносима, използвана навсякъде среда за прототипиране на микроконтролер, базирана на AVR. На евтини (ish). И така, без да се замисляме, ето Ghetto Development Environment (GDE) (версия 1.2).

Стъпка 1: Комплектът

Комплектът
Комплектът

Основният комплект съдържа следните материали: USB програмист. Защото искате да можете да програмирате микроконтролери от вашия лаптоп навсякъде. И тъй като USB е много удобен източник на +5v. Програмиращи люлки. По един за всеки вид чип, с който играете. За мен това означава един с 8 пина (ATtiny13, 15), един с 20 пина (ATtiny 2313) и един с 28 пина (ATmega8). Мигащи светлини. Когато нещо не е наред с кода ви, нищо не го изчиства като включване на светлини за диагностика. Плюс това, LED мигащата програма е "Hello World" на микроконтролерите. В края на краищата това е комплект за разработка.

Стъпка 2: USB програмист

USB програмист
USB програмист
USB програмист
USB програмист

В Ghetto Programmer (v.1.0) използвах програмист с паралелен порт. Страхотно е, защото е просто, евтино и бързо. Но моят лаптоп няма паралелен порт. Поиграх си малко с програмирането на серийни портове, но честно казано те са също толкова сложни, колкото USB версията и дори серийните портове стават оскъдни. Всъщност лаптопът ми има само USB. Значи USB е. Оглеждайки се, програмистът USBTiny е доста прост и работи с безплатните инструменти GNU/AVR-GCC. Направи си сам или си купи комплект? Начинът „направи си сам“е добър, ако вече можете да програмирате ATTiny2313 (с паралелен програмист) и да имате около 12MHz кристал. USBTiny Page излага основите. Той завършва кабела за програмиране с паралелен порт, но бих го завършил в стандартен 6-пинов заглавие, ако започвах отначало. (Защо? Тъй като това е стандарт.) Ето неговите изводи и проверете изображението по-долу за оформлението на кабела. PD3 - MISOPD5 - НулиранеPD6 - SCKPD7 - MOSII Ако направите своя собствена, моля, научете се от моя опит и я поставете в хубава пластмасова кутия. Ако не го направите, в крайна сметка той ще се провали, когато 12MHz кристалът се откъсне. Ето защо сега използвам … Бързият и елегантен начин е комплектът USB Ladyy на USBtinyISP. Това ще ви върне 22 долара, но получавате хубава печатна платка, предварително програмирана ATTiny2313 и чиста кутия с хубави кабели. Суровите части така или иначе са като $ 15-16 и не е нужно да се обаждате на Digikey и след това да се притеснявате за програмирането на своя собствена 2313. Отнема 30 минути - 1 час, за да споите всичко заедно. Разхищение. Вярвай ми. (Без принадлежност, доволен клиент) И току -що видях тази връзка: AVR урок на Ladyada, който ми се струва доста добър. (И имайте предвид, че дизайнът на Ladyada и оригиналният USBTiny използват различни кодове за идентификатор на USB продукти-ще трябва да намерите идентификационните низове и да компилирате отново avrGCC, ако превключвате между двете. Мисля, че има инструкции на съответните уеб страници.)

В случай, че сте на Ubuntu Linux система и използвате USBTiny програмист, ето командите, които ще стартират цялата верига от инструменти: sudo apt-get install build-bistven avr-libc binutils-avr gcc-avr avrdude (тествано на Hardy Heron) Ако имате AMD64 арка, може да се наложи също: byacc libusb-dev flex bison libc6-devand след това да компилирате AVRdude на ръка: (wget https://download.savannah.gnu.org/releases/avrdude/ avrdude-5.5.tar.gz tar xvzf avrdude-5.5.tar.gz cd avrdude-5.5 ## Необходима корекция за AMD64: wget https://savannah.nongnu.org/patch/download.php?file_id=14754 кръпка -p1 <avrdude -5.5.usbtiny.64bit.patch./configure make && make install sudo avrdude -p attiny2313 -c usbtiny ## за тестване) Ако видите нещо като "avrdude: AVR устройството е инициализирано и готово да приеме инструкции", тогава вие ' направено отново. О, да, и кредит на Уендел Оскай за диаграмата на стандартните изводи на програмиста.

Стъпка 3: Люлката за програмиране

Люлката за програмиране
Люлката за програмиране
Люлката за програмиране
Люлката за програмиране
Люлката за програмиране
Люлката за програмиране

В Ghetto Programmer v.1.0 използвах програмна подложка с нестандартен пинов вход и с женски пин-заглавки, в които да вкарвам неща. Нестандартните щифтове са лоша идея, защото няма да можете да използвате люлката си с програмист на някой друг и обратно. Женските щифтове бяха забавни, защото можете директно да включите светодиоди в тях, но когато започнах да правя нещо по-сложно, така или иначе щях да го свържа в макет. С новата люлка изрязах посредника. По-малко ръчно окабеляване = по-добро, но най-голямото предимство на този дизайн на люлката е, че можете да включите люлката почти навсякъде, където можете да включите AVR чипа. Това се оказва огромно. Вместо да проектирате ISP схеми във вашия робот или каквото и да е, просто поставяте това люлка в IC гнездото. След това можете да програмирате/препрограмирате мозъка на вашия робот във верига. Когато приключите с разработването, включете AVR директно и преминете към следващия. Създаването на люлките е достатъчно лесно-всичко, което трябва да направите, е да свържете щифтовете от 6-пиновия хедър на правилните места на чиповете. Този път използвах гравирани печатни платки. Можете също така ръчно да окажете всичко на перфборд. Люлката ATTiny13/15 е направена с 8-пинов гнездо за навиване на тел. Обичам тези. Чипът е лесен за поставяне в хубавите му кръгли отвори, а дългите крака осигуряват допълнително пространство на дъската. Направих следи от печатни платки от ръка с Sharpie. Люлката ATTiny2313 е направена с Eagle и метода за пренос на тонер за лазерна хартия. Не можах да намеря никакви 20-пинови гнезда за увиване, така че трябваше да прибягна до 20-пинов обикновен контакт, запоен върху 2 10-пинови щифта. Това завършва с люлка с по -къси крака, но работи. Схемата и PDF, които използвах за веригата, са по -долу. И на двете трябваше да свържа на ръка допълнителна линия. Такъв е животът.

Стъпка 4: Мигащи светлини

Мигащи светлини
Мигащи светлини
Мигащи светлини
Мигащи светлини

Самата простота. Изобщо не бих споменал тези, ако не бяха толкова адски удобни.

Запоявайте резистор (150-220 ома е добра стойност.) Направо върху отрицателния проводник на някои светодиоди. Той ще светне от около 2v-6v, без да изгори. А резисторът ви помага да запомните коя страна е отрицателна. Залепете ги навсякъде, където искате да знаете, че има електричество. Разберете дали този транзистор е изгорял. Превърнете батерията от никад в дълготрайна нощна лампа. Използвайте интерфейс с мигащ код, за да прочетете стойностите от вашия микропроцесор (бавно). Или направете 8 от тях и имате еднобайтов дисплей (плюс активната съставка в Cylon eyes.) Направете ги. Направете много. Направете ги сега.

Стъпка 5: Краят

Край
Край

Така че тази „система“отговаря на почти всички нужди на моето развитие. Той е модулен, мащабируем, компактен и преносим.

Например, разработих рутините за пускане на превъртащи се съобщения на 4-цифрения дисплей (интро страница) в самолета по пътя към сватбата на приятел. Прави добър ледоразбивач със стюардесите. Този потиенциометър -> ADC -> ШИМ -задвижван амперметър беше създаден като макет, кодиран и отстранен изцяло между моя диван и маса за хранене и се почиства за около 2 минути, когато дойдат приятели. (Това е част от настройката на алармата за това, което ще бъде метър-часовник.) Понякога използвам настройката, когато ми се иска да играя на куки. Добавете малка торба с екстри (някои кондензатори и резистори, свързващ проводник, транзистори, пиезо говорител, фотодиоди, микрофони, малки двигатели и т.н.) и ще бъдете толкова далеч пред MacGuyver, че дори не е смешно.

Препоръчано: