Space Writer

jurps jurps

Laitteesta

Laitteessa on 8 erikseen ohjattavaa ledi�, jotka on aseteltu pystyyn kotelon sin��n porattuihin reikiin. laitetta heiluteltaessa ledit vilkkuvat jolloin saadaan monenlaisia visuaalisesti varsin n�ytt�vi� kuvioita aikaan.

Lyhyt toiminnallinen kuvaus

Ledien ohjauksen hoitaa PIC16F84-mikrokontrolleri.


Timo keksisitk�s lis��...


Koska ko. mikrokontrollerissa 13 ohjelmoitavaa I/O � linjaa, on ledit multipleksattava ts. ryhmitelt�v� pienempiin ryhmiin. T�ss� laitteessa ledit on jaettu nelj��n kahdeksan ledin ryhm��n, joita kutakin n�ytet��n aina yht� kerrallaan. Kun n�ytett�v�� ledi-ryhm�� vaihdetaan tarpeeksi nopeassa tahdissa, n�ytt�� silt� kuin ledit palaisivat yht�aikaisesti. PIC-mikrokontrollerin A-portin I/O-linjoilla (nastat RA0-RA3) valitaan n�ytett�v� ryhm� ja B-portin I/O-linjoilla (RB0-RB7) sytytet��n valitusta ryhm�st� halutut ledit. Koska mikrokontrollerin I/O-linja voi ylh��ll� ollessaan ty�nt�� virtaa 25mA tai alhaalla ollessaan �vet�� maahan� saman suuruisen virran, tarvitaan ryhmien ohjaukseen kytkintransistorit, jotka kykenev�t antamaan ryhm�lle tarvittavan virran. Maksimissaanhan ryhm� kuluttaa hetkellisesti n. 8*15mA eli n.120mA virran. Kytkintransistoreina k�ytet��n PNP-transistoreja, jolloin ryhm�n valinta tapahtuu vet�m�ll� vastaava A-portin linja alas loogiseen 0-tilaan, muiden (A-portin) linjojen ollessa ylh��ll�. Ryhm�n valinnan j�lkeen ledin sytytt�minen valitusta ryhm�st� tapahtuu vet�m�ll� vastaava portin B I/O-linja alas. PIC-mikrokontrolleri tarvitsee my�s kellosignaalin toimiakseen. Kellotuksen muodostaa 10MHz:n kide ja kaksi keraamista.- kondensaattoria. Mikrokontrollerin ohjelmaa ajetaan sitten t�m�n kellon tahdissa. Kytkent�kaavio on kuvassa 1.

Ohjelmasta

Source code libaries
Ohjelman toimintaa ei k�yd� t�ss� kovinkaan tarkasti l�pi, mutta karkeasti ottaen ohjelma on rakennettu seuraavasti: Ledien ohjauksen hoitaa keskeytysrutiini, joka suoritetaan n. 0.1 ms v�lein. Keskeytysrutiini vaihtaa joka suorituskerralla n�ytett�v�� ryhm��. N�in ollen kaikkien 32 ledin p�ivitystaajuudeksi saadaan n. 2.5kHz. Korkean p�ivitystaajuuden ansiosta ledien kirkkaudens��t� on mahdollista. J�tt�m�ll� ledit osaksi aikaa pimeiksi saadaan ledit palamaan himme�mmin. Toisin sanoen s��t�m�ll� ledien p��ll�- ja poissaoloaikojen suhdetta, saadaan kirkkautta muuteltua. Keskeytysrutiini mahdollistaa kaksi yht�aikaista ledin kirkkaustasoa. Lis�ksi koko n�yt�n kontrastia voidaan s��t�� himme�st� kirkkaaseen. PIC:n RAM-muistissa on muistipaikat jokaiselle ledi-ryhm�lle, n�m� muistipaikat ovat tavallaan er��nlainen �n�ytt�muisti�, johon p��ohjelma sitten kirjoittaa mitk� ledit ovat p��ll� ja keskeytysrutiini sitten hoitaa oikeiden ledien sytytt�misen. N�ytt�muistissa on erikseen muistipaikat kirkkaana ja himme�mp�n� palaville ledeille. �N�yt�n� kontrastia voidaan s��t�� p��ohjelmasta kirjoittamalla tiettyyn muistipaikkaan. Keskeytysrutiini s��t�� n�yt�n kirkkauden sitten muistipaikan osoittamalla tavalla. P��ohjelmalla muodostetaan erilaiset ledien vilkutuskuviot kirjoittamalla n�ihin �n�ytt�muistipaikkoihin� sek� kontrastia s��t�v��n muistipaikkaan. (Tai tarkemmin ottaen p��ohjelma kutsuu aliohjelmia, jotka tekev�t jonkin vilkutuskuvion.)

Kasaamisesta

T�m�n dokumentin mukana on sy�vytysmaski pdf formaatissa (kuva 2) sek� komponenttisijoittelu kuva (kuva 3). Valotusmaski PostScript-formaatissa. Tulosta t�m� kuva kalvolle. Huomio valotettaessa ett� laitat kalvon oikeinp�in! Kalvo tulee asettaa siten, ett� maskissa olevat tekstit ovat luettavissa piirilevylt�. Ohjeita levyn sy�vytykseen saat El-kerhon ohjaajilta. Komponentit sijoitellaan kuvan 3 mukaisesti piirilevylle. Ledej� juotettaessa huomio, ett� ledit tulevat oikein p�in. Lediss� oleva tasainen sivu tulee laittaa osasijoittelukuvan mukaisesti tasainen sivu samoin p�in. Samoin elektrolyyttikondensaattoria C4 juotettaessa on huomattava oikea kytkent�suunta. Elkossa on merkitty negatiivinen napa, elikk� juuri se toinen elkon napa (plus-napa) tulee siihen osasijoitteluun merkittyyn plusnapaan. PIC:cia ei tietenk��n tule juottaa suoraan piirilevylle, vaan PIC:in paikalle juotetaan sopivan kokoinen IC-kanta, jolloin PIC voidaan irrottaa levyst� ohjelmointia varten. Kun komponentit on juotettu, onkin vuorossa PIC:n ohjelmointi. Lis�ksi ohjelmasta tulee olemaan saatavana esimerkkil�hdekoodeja, joita voi vapaasti muokata ja kehitell� mieleisekseen. Olisi my�s tarkoitus ker�t� koodeja jonkinlaiseksi kirjastoksi josta voisi ottaa mallia. Nykyisest� ohjelmasta on l�hdekoodi saatavilla, vaikka se onkin todella huonosti kommentoitu ja vaikeasti luettava. Ohjelmointi onnistuu esimerkiksi Ludipipo � nimisell� PD-softalla ja vastaavalla ohjelmointilaitteella. Laitteen kasaamisohjeet ja ohjelmointisofta on saatavilla EL-kerholta. L�hdekoodien k��nt�minen onnistuu niin ik��n Microchipilt� saatavalla k��nt�j�ll�. Muitakin PIC:iin liittyvi� juttuja l�ytyy Microchipin kotisivulta.

PIC:n ohjelmointi Ludipipo-ohjelmalla

Kun olet saanut k�siisi k��nnetyn ohjelman (SALAMA.HEX), (esimerkiksi EL-Kerhon kotisivulta), toimi seuraavasti:
  1. Mene Dossiin tai Win95:n dos-ikkunaan
  2. Mene hakemistoon jossa sinulla on ohjelmointisofta (PIP02-niminen ohjelma)
  3. Kirjoita COM84 COMn , miss� n on com-portin numero johon t�kk��t ohjelmointilaitteesi
  4. K�ynnist� PIP02-niminen ohjelma
  5. Lataa ohjelmaan SALAMA.HEX (Valitse valikosta File, Load)
  6. Paina oikealla olevaa Fuse Edit -painiketta
  7. Valitse HS (oskillaattorikonfiguraatioksi kide-oskillaattori) sek� POWER-UP TIMER p��lle ja WATCHDOG TIMER pois p��lt�. Tarkista viel� ett� CODE PROTECT on pois p��lt�! Jos se on p��ll�, niin PICci� ei voi en�� ohjelmoida uudelleen!.
  8. Paina OK
  9. Laita PIC ohjelmointilaitteeseen ja laita ohjelmointilaite COM-porttiin
  10. Paina F5 jolloin ohjelmointi alkaa
  11. Jos ohjelmointi onnistui, on PICCI valmis laitettavaksi piirilevylle. (Jos ohjelmointi ei onnistunut on ohjelmointilaitteessasi mahdollisesti jotain vikaa tai PIC on viallinen)


Komponenttilista:

  1. D1-D32 Led tavallinen
  2. TR1 - TR4 PNP transistori BC177
  3. R1 - R4 4k
  4. R5 - R12 150R
  5. R13 30k
  6. C1, C2 20pF SMD (pinta liitos)
  7. C3 100nF
  8. C4 22uF
  9. Xtal1 10 MHz kide
  10. Pic1 Pic16F84-10