Turinys:

„Ghetto Development Environment“: 5 žingsniai
„Ghetto Development Environment“: 5 žingsniai

Video: „Ghetto Development Environment“: 5 žingsniai

Video: „Ghetto Development Environment“: 5 žingsniai
Video: How to build your confidence -- and spark it in others | Brittany Packnett Cunningham | TED 2024, Liepa
Anonim
Geto plėtros aplinka
Geto plėtros aplinka

Prieš kurį laiką paskelbiau greitą ir nešvarų „el cheapo“metodą, kaip pradėti programuoti „Atmel AVR“lustus: „Ghetto Programmer“(1.0 versija). Maniau, kad būtų malonu tai dokumentuoti. Tikslas buvo sukurti lanksčią, kompaktišką, nešiojamą, bet kur naudojamą AVR pagrįstą mikrovaldiklio prototipų kūrimo aplinką. Pigiai (ish). Taigi, be jokių papildomų veiksmų, čia yra „Ghetto Development Environment“(GDE) (1.2 versija).

1 žingsnis: rinkinys

Rinkinys
Rinkinys

Pagrindiniame rinkinyje yra šie elementai: USB programuotojas. Nes jūs norite turėti galimybę programuoti mikrovaldiklius iš savo nešiojamojo kompiuterio bet kur. Ir todėl, kad USB yra labai patogus šaltinis +5v. Programavimo lopšiai. Po vieną kiekvienai mikroschemos rūšiai, su kuria žaidžiate. Man tai reiškia vieną su 8 kaiščiais (ATtiny13, 15), vieną su 20 kaiščių (ATtiny 2313) ir vieną su 28 kaiščiais (ATmega8). Blinkenlights. Kai kažkas negerai su jūsų kodu, niekas jo neišvalo, pavyzdžiui, įjungdami lemputes diagnozei nustatyti. Be to, LED mirksėjimo programa yra mikrovaldiklių „Labas pasaulis“. Galų gale, tai kūrimo rinkinys.

2 veiksmas: USB programuotojas

USB programuotojas
USB programuotojas
USB programuotojas
USB programuotojas

„Ghetto Programmer“(v.1.0) naudojau lygiagretaus prievado programuotoją. Tai puiku, nes tai paprasta, pigu ir greita. Tačiau mano nešiojamas kompiuteris neturi lygiagretaus prievado. Aš šiek tiek žaidžiau kurdamas serijinio prievado programuotojus, bet sąžiningai jie yra tokie pat sudėtingi, kaip ir USB versija, ir net serijiniai prievadai tampa menki. Tiesą sakant, mano nešiojamasis kompiuteris turi tik USB. Taigi tai yra USB. Apsidairius, „USBTiny“programuotojas yra gana paprastas ir veikia su nemokamais GNU/AVR-GCC įrankiais. Pasidaryk pats arba nusipirk rinkinį? „Pasidaryk pats“būdas yra geras, jei jau galite užprogramuoti „ATTiny2313“(su lygiagrečiu programuotoju) ir turėti 12MHz kristalų. „USBTiny Page“pateikia pagrindus. Jis nutraukia programavimo kabelį lygiagrečiu prievadu, bet aš jį užbaigčiau standartine 6 kontaktų antrašte, jei pradėčiau iš naujo. (Kodėl? Nes tai yra standartas.) Čia yra jo kištukai ir patikrinkite žemiau esantį vaizdą, ar nėra kabelio išdėstymo. PD3 - MISOPD5 - Atstatyti PD6 - SCKPD7 - MOSJei jūs pats pasigaminsite, pasimokykite iš mano patirties ir sudėkite į gražią plastikinę dėžę. Jei to nepadarysite, jis suges, kai nutrūks 12MHz kristalas. Štai kodėl dabar naudoju … Greitas ir elegantiškas būdas yra „Ladyada“USBtinyISP rinkinys. Tai grąžins jums 22 USD, tačiau gausite gražią PCB, iš anksto užprogramuotą ATTiny2313 ir švarią dėžutę su gražiais kabeliais. Neapdorotos dalys bet kokiu atveju kainuoja 15–16 USD, ir jums nereikia skambinti „Digikey“, o tada nerimauti dėl savo 2313 programavimo. Užtrunka 30 minučių - 1 val. Išsiskyrimas. Pasitikėk manimi. (Nėra priklausomybės, patenkintas klientas) Ir ką tik pamačiau šią nuorodą: Ladyados AVR pamoka, kuri man atrodo gana gera. (Ir atkreipkite dėmesį, kad „Ladyada“dizainas ir originalus „USBTiny“naudoja skirtingus USB produkto identifikavimo kodus-turėsite rasti ID eilutes ir iš naujo sukompiliuoti avrGCC, jei perjungsite vieną iš dviejų. Manau, kad atitinkamuose tinklalapiuose yra instrukcijų.)

Jei naudojate „Ubuntu Linux“sistemą ir naudojate „USBTiny“programuotoją, čia pateikiamos visos įrankių grandinės paleidimo komandos: sudo apt-get install build-essential avr-libc binutils-avr gcc-avr avrdude (išbandyta Jei turite AMD64 arką, jums taip pat gali prireikti: byacc libusb-dev flex bison libc6-devand, tada rankiniu būdu sukompiliuoti 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 ## Pataisa, reikalinga AMD64: wget https://savannah.nongnu.org/patch/download.php?file_id=14754 patch -p1 <avrdude -5.5.usbtiny.64bit.patch./configure make && make install sudo avrdude -p attiny2313 -c usbtiny ## to test) Jei matote kažką panašaus į „avrdude: inicijuotas AVR įrenginys ir pasiruošęs priimti instrukcijas“, vėl padaryta. O taip, ir dėkoju Wendeliui Oskay už standartinių programuotojų kontaktų schemą.

3 žingsnis: programavimo lopšys

Programavimo lopšys
Programavimo lopšys
Programavimo lopšys
Programavimo lopšys
Programavimo lopšys
Programavimo lopšys

„Ghetto Programmer v.1.0“naudojau programavimo lopšį su nestandartiniu kaiščio įėjimu ir moteriškomis kaiščių galvutėmis, kad galėčiau įklijuoti daiktus. Nestandartiniai kaiščiai yra bloga idėja, nes negalėsite naudoti savo lopšio su kažkieno programuotoju ir atvirkščiai. Moteriškos smeigtuko galvutės buvo smagios, nes į jas buvo galima tiesiogiai prijungti šviesos diodus, bet kai pradėjau daryti ką nors sudėtingesnio, vis tiek galų gale prijungčiau jį prie duonos lentos. Su nauju lopšiu aš išpjoviau tarpininką. Mažiau laidų laidų = geriau. Tačiau didžiausias šio lopšio dizaino pranašumas yra tas, kad lopšį galite prijungti beveik visur, kur galite prijungti AVR lustą. Tai pasirodo didžiulė. Užuot suprojektavę IPT grandines į savo robotą ar bet ką, tiesiog įkiškite šį lopšio daiktą į IC lizdą. Tada galite užprogramuoti/perprogramuoti savo roboto smegenis grandinėje. Kai baigsite kurti, tiesiogiai prijunkite AVR ir pereikite prie kito. Lizdų paruošimas yra pakankamai lengvas-viskas, ką jums reikia padaryti, tai prijungti kaiščius iš 6 kontaktų antgalio prie reikiamų vietų traškučiai. Šį kartą aš naudoju išgraviruotas PCB. Lygiai taip pat galite rankiniu būdu sujungti viską ant perforatoriaus. ATTiny13/15 lopšys pagamintas iš 8 kontaktų vielos apvyniojimo lizdo. Aš myliu šiuos. Lustą lengva įterpti į gražias apvalias skyles, o ilgos kojelės suteikia papildomos vietos ant duonos lentos. PCB pėdsakus padariau laisva ranka su „Sharpie“. Lopšys „ATTiny2313“buvo pagamintas naudojant „Eagle“ir lazerinio popieriaus dažų perkėlimo metodą. Neradau jokių 20 kontaktų vielos apvyniojimo lizdų, todėl turėjau kreiptis į įprastą 20 kontaktų lizdą, lituotą ant 2 10 kontaktų kaiščių. Tai baigiasi lopšiu su trumpesnėmis kojomis, tačiau jis veikia. Schema ir PDF, kurį naudojau grandinei, yra žemiau. Abiem atvejais turėjau ranka prijungti papildomą liniją. Toks gyvenimas.

4 žingsnis: mirksi

Blinkenlights
Blinkenlights
Blinkenlights
Blinkenlights

Pats paprastumas. Aš jų visai neminėčiau, jei jie nebūtų tokie patogūs.

Lituokite rezistorių (150–220 omų yra gera vertė.) Tiesiai ant neigiamo kai kurių šviesos diodų laido. Jis užsidegs nuo maždaug 2–6 V, neišdegdamas. O rezistorius padeda prisiminti, kuri pusė yra neigiama. Laikykite juos visur, kur norite žinoti, kad yra elektra. Išsiaiškinkite, ar tas tranzistorius yra susprogdintas. Paverskite „nicad“akumuliatorių ilgaamžiu naktiniu apšvietimu. Naudokite blizgančio kodo sąsają, kad nuskaitytumėte mikroprocesoriaus vertes (lėtai). Arba padarykite 8 iš jų ir turėsite vieno baito ekraną (plius veiklioji medžiaga „Cylon eyes“). Padaryti daug. Padarykite juos dabar.

5 žingsnis: pabaiga

Pabaiga
Pabaiga

Taigi ši „sistema“atitinka beveik visus mano tobulėjimo poreikius. Jis yra modulinis, keičiamo dydžio, kompaktiškas ir nešiojamas.

Pavyzdžiui, aš sukūriau slinkimo pranešimų paleidimo tvarką lėktuve esančiame 4 skaitmenų ekrane (įvadiniame puslapyje) pakeliui į draugo vestuves. Padaro gerą ledlaužį su skrydžio palydovais. Šis potientiometras -> ADC -> PWM valdomas ampermetro nustatymas buvo padengtas duona, užkoduotas ir visiškai derinamas tarp mano sofos ir valgomojo stalo, o išvažiavus per 2 minutes, kai ateina draugai. (Tai yra žadintuvo laiko nustatymo dalis, kuri bus metrinis laikrodis.) Kartais paleidžiu sąranką į darbą, kai man atrodo, kad noriu žaisti. Pridėkite nedidelį maišelį gėrybių (kai kuriuos kondensatorius ir rezistorius, prijungimo laidą, tranzistorius, pjezo garsiakalbius, fotodiodus, mikrofonus, mažus variklius ir tt) ir būsite taip toli nuo „MacGuyver“, kad net nėra juokinga.

Rekomenduojamas: