Мазмуну:

Геттонун өнүгүү чөйрөсү: 5 кадам
Геттонун өнүгүү чөйрөсү: 5 кадам

Video: Геттонун өнүгүү чөйрөсү: 5 кадам

Video: Геттонун өнүгүү чөйрөсү: 5 кадам
Video: Java технологиялык талкуу: Spring Boot жана GraphQl интеграциясы. Кантип жөнөкөй кылуу керек? 2024, Июль
Anonim
Гетто өнүктүрүү чөйрөсү
Гетто өнүктүрүү чөйрөсү

Бир аз убакыттан кийин мен Atmel AVR сериясындагы чиптерди программалоону баштоонун тез жана кир "el cheapo" ыкмасын жарыяладым: Ghetto Programmer (1.0 версиясы) Ошондон бери мен вампировка кылдым, кайра вампд кылдым жана башка жол менен орнотууну жакшырттым. Документтештирүү жакшы болмок деп ойлодум. Максат ийкемдүү, компакттуу, портативдүү, каалаган жерде, AVR негизиндеги микроконтроллердин прототиптөөчү чөйрөсүн алуу болчу. Арзан жөнүндө

1 -кадам: комплект

Kit
Kit

Негизги комплект төмөнкү нерселерди камтыйт: USB программисти. Анткени сиз каалаган жерде ноутбугуңуздан микроконтроллерлерди программалоону каалайсыз. Жана USB +5v үчүн абдан ыңгайлуу булак болгондуктан. Бешиктерди программалоо. Сиз ойногон ар бир чип үчүн бирден. Мен үчүн, бул 8 казык менен бирди билдирет (ATtiny13, 15), 20 төөнөгүчтүү бирөө (ATtiny 2313), жана 28 казык менен бирөө (ATmega8). Blinkenlights. Сиздин код менен бир нерсе туура эмес болгондо, эч нерсе диагноз коюу үчүн жарыкты күйгүзгөндөй тазаланбайт. Мындан тышкары, LED блинкер программасы микроконтроллерлердин "Hello World". Кантсе да бул өнүгүү топтому.

2 -кадам: USB программисти

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

Ghetto Programmer -де (v.1.0) мен параллель порт программистин колдондум. Бул сонун, анткени ал жөнөкөй жана арзан жана тез. Бирок менин ноутбугумда параллелдүү порт жок. Мен бир аз сериялык порт программисттери менен ойногом, бирок чынын айтсам, алар USB версиясы сыяктуу татаал, ал тургай сериялык порттор жетишсиз болуп баратат. Чынында, менин ноутбугумда USB гана бар. Ошентип, USB. Айланага карасак, USBTiny программисти абдан жөнөкөй жана бекер GNU/AVR-GCC куралдары менен иштейт. Өзүңүз жасаңыз же комплект сатып алыңыз? Эгерде сиз буга чейин ATTiny2313 программасын (параллелдүү программист менен) жана 12 МГц кристаллды тегеректеп отурсаңыз, DIY жолу жакшы. USBTiny Page негиздерин ачып берет. Ал программалоо кабелин параллель порту менен токтотот, бирок мен кайра баштасам, аны стандарттуу 6-пин башына бүтүрмөкмүн. (Эмнеге? Анткени бул стандарт.) Мына анын пин-чыккандары жана кабелдин жайгашуусун төмөнкү сүрөттөн текшериңиз. PD3 - MISOPD5 - ResetPD6 - SCKPD7 - MOSIIЭгер сиз өзүңүз жасай турган болсоңуз, менин тажрыйбамдан үйрөнүңүз жана аны жакшы пластикалык кутуга салыңыз. Эгер андай кылбасаңыз, акыры 12 МГц кристалы үзүлгөндө иштебей калат. Мына ошондуктан мен азыр колдонуп жатам … Тез жана көрктүү ыкма-Ladyada'nın USBtinyISP комплект. Бул сизге $ 22 кайтарып берет, бирок сиз жакшы PCB, алдын ала программаланган ATTiny2313 жана жакшы кабелдери бар таза кутучаны аласыз. Чийки бөлүктөр баары бир 15-16 долларга барабар, сиз Digikeyге чалып, анан өзүңүздүн программалооңуз жөнүндө кабатыр болбоңуз 2313. Бардыгын чогуу ширетүү үчүн 30 мүнөт - 1 саат талап кылынат. Splurge. Мага ишен. (Эч кандай тиешеси жок, канааттанган кардар) Жөн эле бул шилтемени көрдүм: Ледиаданын AVR Tutorialи мага абдан жакшы көрүнөт. (Жана Ladyadaнын дизайны жана түп USBTiny башка USB продуктунун идентификатор коддорун колдонгонун эске алыңыз-эгер сиз экөөнүн ортосунда өтүп жатсаңыз, ID саптарын таап, avrGCCди кайра түзүүгө туура келет. Менин оюмча, тиешелүү веб-беттерде көрсөтмөлөр бар.)

Эгерде сиз Ubuntu Linux тутумунда болсоңуз жана USBTiny программистин колдонуп жатсаңыз, бул жерде бардык инструменттерди иштете турган командалар бар: sudo apt-get install build-essential 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 patch -p1 <avrdude -5.5.usbtiny.64bit.patch./configure make && install sudo avrdude -p attiny2313 -c usbtiny ## to test) Эгер сиз "avrdude: AVR түзмөгү инициализацияланган жана көрсөтмөлөрдү кабыл алууга даяр" сыяктуу нерсени көрсөңүз, анда сиз кайра жасалды. Ооба, жана Вендель Оскайга стандарттык программист пинуттарынын схемасы үчүн кредит.

3 -кадам: Программалоо бешиги

Программалоо бешиги
Программалоо бешиги
Программалоо бешиги
Программалоо бешиги
Программалоо бешиги
Программалоо бешиги

Ghetto Programmer v.1.0 программасында мен стандарттуу эмес пин киргизилген жана аялдардын пин баштары бар нерселерди жабыштыруу үчүн программалоо бешигин колдоном. Стандарттык эмес казыктар-бул жаман идея, анткени бешигиңизди башка бирөөнүн программисти менен колдоно албайсыз жана тескерисинче. Аялдардын пин-баштары кызыктуу болчу, анткени сиз аларга LEDлерди түз туташтыра аласыз, бирок мен татаалыраак бир нерсе кыла баштаганда, мен аны баары бир нан тактасына туташтырып бүтүрмөкмүн. Жаңы бешик менен ортомчуну кесип салдым. Колдун зымдары азыраак = жакшыраак. Бирок бул бешиктин дизайнынын эң чоң артыкчылыгы-бешикти AVR чипине туташтыра турган дээрлик бардык жерге туташтыра алат. Бул чоң болуп чыкты. ISP схемаларын роботко же башка нерсеге жасоонун ордуна, сиз бул бешикти IC розеткасына жабыштырасыз. Андан кийин роботтун мээсин схемада программалоого/кайра программалоого болот. Иштеп бүткөндөн кийин, AVRди түз туташтырыңыз, кийинкисине өтөсүз. Бешиктерди жасоо жетишерлик оңой-сизге керектүү нерсенин бардыгын 6-пин башынан туура жерлерге туташтыруу керек. чиптер. Бул ирет мен чегилген ПХБны колдондум. ATTiny13/15 бешиги 8-шиштүү зым менен оролгон розетка менен жасалган. Мен буларды жакшы көрөм. Чипти анын жакшы тегерек тешиктерине киргизүү оңой жана узун буттары нандын үстөлүндө кошумча тазалоону камсыз кылат. Мен PCB издерин Sharpie менен бекер кылдым. ATTiny2313 бешиги Eagle жана лазердик кагаз тонер өткөрүп берүү ыкмасы менен жасалган. Мен эч кандай 20-шиштүү зым менен оролгон розеткаларды таба алган жокмун, ошондуктан 2 10-пин төөнөгүчтөрдүн башына 20-пин кадимки розеткага кайрылууга туура келди. Бул кыска буттары бар бешик менен аяктайт, бирок ал иштейт. Мен схемада колдонгон схема жана PDF төмөндө. Экөөндө тең кошумча линияны колго өткөрүшүм керек болчу. Жашоо ушундай.

4 -кадам: Blinkenlights

Blinkenlights
Blinkenlights
Blinkenlights
Blinkenlights

Жөнөкөйлүктүн өзү. Эгерде алар анча ыңгайлуу болбосо, мен буларды такыр айтпайм.

Кээ бир диоддордун терс коргошунуна резисторду (150-220 ом жакшы мааниге ээ.) Ширетет. Ал 2v-6v тегерегинен күйүп кетпей жарык болот. Ал эми резистор кайсы жагы терс экенин эстеп калууга жардам берет. Аларды электр энергиясы бар экенин билгиңиз келген жерге коюңуз. Бул транзистор жарылганын аныктаңыз. Никад батареясынын топтомун узак өмүрлүү түн жарыгына айлантыңыз. Микропроцессордогу баалуулуктарды окуу үчүн жаркыраган код интерфейсин колдонуңуз (жай). Же алардын 8ин жасаңыз, сизде бир байт дисплей бар (плюс Cylon көзүндөгү активдүү ингредиент.) Аларды жасаңыз. Көп кыл. Аларды азыр жасаңыз.

5 -кадам: Акыры

Аягы
Аягы

Ошентип, бул "система" менин өнүгүү муктаждыктарымдын дээрлик бардыгын канааттандырат. Бул модулдук, масштабдуу, компакт жана көчмө.

Мисалы, мен досумдун үйлөнүү тоюна бара жаткан учакта 4 орундуу дисплейде (кириш баракчасы) жылдыруучу билдирүүлөрдү иштетүү эрежелерин иштеп чыктым. Стюардессалар менен жакшы муз жаргыч жасайт. Бул потенциометр -> ADC -> PWM менен башкарылган амперметрдин орнотулушу панелге салынган, коддолгон жана диван менен ашкана столумдун ортосунда толугу менен оңдолгон жана достор келгенде 2 мүнөттө тазаланат. (Бул саат-сааты боло турган нерсенин ойготкучту белгилөөчү бөлүгү.) Мен кээде өзүмдүн оюнумду ойногум келгенде өзүмдү орнотууга алып келем. Чакан баштыктарды кошуңуз (кээ бир конденсаторлор жана резисторлор, илгич зым, транзисторлор, пьезо спикери, фотодиоддор, микрофондор, кичинекей моторлор ж.

Сунушталууда: