INHOUDSOPGAWE:

Ghetto -ontwikkelingsomgewing: 5 stappe
Ghetto -ontwikkelingsomgewing: 5 stappe

Video: Ghetto -ontwikkelingsomgewing: 5 stappe

Video: Ghetto -ontwikkelingsomgewing: 5 stappe
Video: Aanval op agenten zorgt voor ophef 2024, November
Anonim
Ghetto -ontwikkelingsomgewing
Ghetto -ontwikkelingsomgewing

Ek het 'n rukkie terug 'n vinnige en vuil "el cheapo" -metode opgestel om aan die gang te kom met die programmering van die Atmel AVR-reeks-skyfies: Ghetto Programmer (weergawe 1.0) Sedertdien het ek my opstelling gestamp, her-vamp en andersins verbeter. Ek het gedink dit sal lekker wees om dit te dokumenteer. Die doel was om 'n buigsame, kompakte, draagbare, AVR-gebaseerde mikrobeheerder-prototipe-omgewing te kry. Op die goedkoop (ish). Hier is dus sonder meer die Ghetto Development Environment (GDE) (weergawe 1.2).

Stap 1: Die kit

Die Kit
Die Kit

Die basiese stel bevat die volgende items: USB -programmeerder. Omdat u oral op u skootrekenaar mikrobeheerders wil programmeer. En omdat USB 'n baie handige bron is van +5v. programmeerhouers. Een vir elke tipe chip waarmee u speel. Vir my beteken dit een met 8 penne (ATtiny13, 15), een met 20 penne (ATtiny 2313) en een met 28 penne (ATmega8). Blinkligte. As iets fout is met u kode, is dit niks wat dit duidelik maak soos om ligte in te steek om te diagnoseer nie. Boonop is die LED -blinker -program die 'Hello World' van mikrobeheerders. Breadboard. Dit is tog 'n ontwikkelingsstel.

Stap 2: Die USB -programmeerder

Die USB -programmeerder
Die USB -programmeerder
Die USB -programmeerder
Die USB -programmeerder

In Ghetto Programmer (v.1.0) het ek 'n parallelle poort programmeerder gebruik. Dit is wonderlik, want dit is eenvoudig en goedkoop en vinnig. Maar my skootrekenaar het nie 'n parallelle poort nie. Ek het 'n bietjie gespeel met die maak van seriële poortprogrammeerders, maar eerlik, hulle is net so ingewikkeld as die USB -weergawe en selfs die seriële poorte raak skaars. My skootrekenaar het eintlik net USB. So USB is dit. Die USBTiny-programmeerder is redelik eenvoudig en werk saam met die gratis GNU/AVR-GCC-gereedskap. Doen dit self of koop 'n kit? Die DIY -metode is goed as u reeds 'n ATTiny2313 (met parallelle programmeerder) kan programmeer en 'n kristal van 12 MHz kan laat sit. USBTiny Page beskryf die basiese beginsels. Hy eindig die programmeerkabel met 'n parallelle poort, maar ek sou dit klaarmaak in 'n standaard 6-pins kop as ek weer begin. (Hoekom? Omdat dit standaard is.) Hier is sy pin-outs en kyk na die onderstaande prent vir die kabeluitleg. PD3 - MISOPD5 - Herstel PD6 - SCKPD7 - MOSI As u u eie maak, leer uit my ervaring en sit dit in 'n mooi plastiekboks. As u dit nie doen nie, misluk dit uiteindelik as die 12MHz kristal afbreek. Daarom gebruik ek nou … Die vinnige en elegante manier is Ladyada se USBtinyISP-stel. Dit sal u $ 22 terugbetaal, maar u kry 'n mooi PCB, vooraf geprogrammeerde ATTiny2313 en 'n skoon boks met mooi kabels. Rou dele is in elk geval $ 15-16, en u hoef nie Digikey te bel en dan bekommerd te wees oor die programmering van u eie 2313. Dit neem 30 minute - 1 uur om dit alles saam te soldeer. Splurge. Vertrou my. (Geen verbintenis nie, tevrede kliënt) En ek sien hierdie skakel: Ladyada se AVR -tutoriaal, wat vir my baie goed lyk. (Let daarop dat die ontwerp van Ladyada en die oorspronklike USBTiny verskillende USB-produkidentifikasiekodes gebruik-u moet die ID-snare vind en avrGCC weer saamstel as u tussen die twee wissel. Ek dink daar is instruksies op die onderskeie webblaaie.)

As u 'n Ubuntu Linux-stelsel gebruik en die USBTiny-programmeerder gebruik, is die opdragte wat die hele werktuigketting aan die gang sal kry: sudo apt-get install build-essential avr-libc binutils-avr gcc-avr avrdude (getoets op Hardy Heron) As u 'n AMD64-boog het, het u moontlik ook nodig: byacc libusb-dev flex bison libc6-devand om dan AVRdude met die hand saam te stel: (wget https://download.savannah.gnu.org/releases/avrdude/ avrdude-5.5.tar.gz tar xvzf avrdude-5.5.tar.gz cd avrdude-5.5 ## Patch nodig vir 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 ## om te toets) As u iets sien soos "avrdude: AVR -toestel geïnitialiseer en gereed om instruksies te aanvaar" dan is u ' weer gedoen. O ja, en eer aan Wendel Oskay vir die diagram van die standaard programmeerders se pinouts.

Stap 3: Die programmeerder

Die programmering wieg
Die programmering wieg
Die programmering wieg
Die programmering wieg
Die programmering wieg
Die programmering wieg

In Ghetto Programmer v.1.0 gebruik ek 'n programmeerhouer met 'n nie-standaard peninvoer en met vroulike penkoppe om dinge in te steek. Nie-standaard penne is 'n slegte idee, want u kan u wieg nie met iemand anders se programmeerder gebruik nie, en omgekeerd. Vroulike penkoppe was lekker omdat jy LED's direk daaraan kon koppel, maar as ek iets ingewikkelder sou begin doen, sou ek dit in elk geval in 'n broodbord kon bedrieg. Met die nuwe wieg het ek die middelman uitgesny. Minder handbedrading = beter, maar die grootste voordeel van hierdie wiegontwerp is dat u die houer amper oral kan aansluit waar u die AVR-chip kan aansluit. Dit blyk groot te wees. In plaas daarvan om ISP -stroombane in u robot te ontwerp of wat ook al, steek u net hierdie houer in die IC -aansluiting. Dan kan u die brein van u robot in die kring programmeer/herprogrammeer. As u klaar is met die ontwikkeling, koppel die AVR direk aan en gaan na die volgende een. Om die houers maklik te maak-al wat u hoef te doen, is om die penne van die 6-penkop aan die regte plekke te koppel die skyfies. Hierdie keer het ek geëtste PCB's gebruik. Jy kan net so goed die hele hand op perfboard boorddraai. Die ATTiny13/15-houer is gemaak met 'n 8-pen draaddraad-aansluiting. Ek is mal daaroor. Dit is maklik om die skyfie in sy mooi ronde gate te steek en die lang bene bied ekstra speling op die broodbord. Ek het die PCB -spore met die hand gemaak met 'n Sharpie. Die ATTiny2313 wieg is gemaak met Eagle en die laserpapier toner oordrag metode. Ek kon geen 20-pen draaddraad-voetstukke kry nie, so ek moes 'n gewone pen van 20 penne gebruik wat op 2 10-pen-kopstukke gesoldeer is. Dit eindig met 'n wieg met korter bene, maar dit werk. Die skematiese en die PDF wat ek vir die kring gebruik het, is hieronder. Op albei moes ek 'n ekstra lyn met die hand bedraad. So is die lewe.

Stap 4: Blinklights

Blinkligte
Blinkligte
Blinkligte
Blinkligte

Eenvoud self. Ek sou dit glad nie noem as dit nie so handig was nie.

Soldeer 'n weerstand (150-220 ohm is 'n goeie waarde.) Reguit op die negatiewe voorsprong van sommige LED's. Dit brand van ongeveer 2v-6v sonder om uit te brand. En die weerstand help u om te onthou watter kant negatief is. Plak hulle oral waar u wil weet dat daar elektrisiteit is. Bepaal of die transistor geblaas is. Verander 'n nicad-batterypak in 'n langlewende naglig. Gebruik 'n blink-kode-koppelvlak om waardes uit u mikroverwerker (stadig) uit te lees. Of maak 8 daarvan en u het 'n een-byte-skerm (plus die aktiewe bestanddeel in Cylon-oë). Maak dit. Maak baie. Maak hulle nou.

Stap 5: Die einde

Die einde
Die einde

Hierdie "stelsel" voldoen dus aan byna al my ontwikkelingsbehoeftes. Dit is modulêr, skaalbaar, kompak en draagbaar.

Ek het byvoorbeeld die roetines vir die uitvoer van blaai-boodskappe op die 4-syfer-skerm (intro-bladsy) op die vliegtuig op pad na 'n vriend se troue uitgewerk. Maak 'n goeie ysbreker saam met die lugwaardinne. Hierdie potientiometer -> ADC -> PWM -aangedrewe ammeteropstelling was op 'n broodbord, gekodeer en heeltemal ontfout tussen my rusbank en eetkamertafel, en maak binne 2 minute skoon as vriende kom. (Dit is die tyd wat die wekker stel, wat 'n meter-horlosie gaan wees.) Ek bring die opset soms aan die werk as ek lus is om te speel. Voeg 'n klein sak lekkernye by ('n paar kondensators en weerstande, aansluitdraad, transistors, piëzo-luidsprekers, fotodiodes, mikrofone, klein motors, ens.), En u is so ver voor MacGuyver dat dit nie eers snaaks is nie.

Aanbeveel: