PICAXE OHJELMOINTI Tämä materiaalipaketti on tehty PICAXE piireihin perustuvaa elektroniikan opetusta varten. Tarkoituksena on opettaa ohjelmoitavan mikropiirin käyttöä erilaisissa sovellutuksissa. Lisää löytyy netistä käyttämällä picaxe hakusanana. Tai: www.picaxe.com & www.stepsystems.fi Opetuksen on ajateltu etenevän kolmessa eri vaiheessa:! Yksinkertaisen perusharjoituksen avulla tutustutaan ohjelmointiin ja saadaan pieniä onnistumisen tunteita.! Kokeillaan ohjelmoinnin erilaisia mahdollisuuksia projektilevyllä. Projektilevyn kanssa on mahdollista kokeilla erilaisia ohjelmallisia ratkaisuja, kontrolloitavia laitteita ja niitten hallintaa ohjelmoitavan mikropiirin avulla.! Tehdään oma laite, joka suorittaa tietyn tehtävän. Kehitellään sille ensin ohjelma projektilevyn avulla. Katsotaan mitä laitteita pitää ohjata jne.. Piirretään oma piirilevy, valmistetaan se ja tehdään toimiva pieni sovellus. Oman piirilevyn suunnittelu ja piirtäminen ei ole pakollista. Projektilevyllä voi ohjata kaikkea.! Oppilaalla on mahdollisuus tehdä oma projektilevy, jonka hän saa itselleen. Levyn voi varustaa aluksi vain välttämättömällä ja oppilas voi myöhemmin hankkia ja liittää siihen itse lisää osia. Näin elektroniikan harrastuksen on mahdollista jatkua kotona ja lähteä itsekseen kehittymään eteenpäin. Juha Katila Harri Bläuer 27.1.2006
PICAXE - Ohjelmointi Ohjelmoitava mikropiiri? Ohjelmoitava mikropiiri on elektroniikan mielenkiintoisin osa-alue tällä hetkellä. Sen avulla on mahdollista tehdä yhdellä ohjelmoitavalla mikropiirillä monia eri tehtäviä, joitten suorittamiseen ennen tarvitsimme lukuisan määrän osia. Ohjelmoitava piiri toimii ajastimena, kytkimenä, laskimena, moottorin ohjaimena, vertailevana piirinä, äänilähteenä, LCD-näytön ohjaimena jne... Kaikki tämä on mahdollista vain ohjelmoinnilla ja kytkemällä piiriin kiinni yksinkertaisilla kytkennöillä erilaisia oheislaitteita. Ohjelmoitavia mikropiirejä on olemassa erilaisia malleja valmistajasta riippuen. Me keskitymme yhteen piiriryhmään. PIC piireihin kuuluviin PICAXE piireihin. PICAXE on piiri, jota voi ohjelmoida BASIC käskyillä ja suoraan tietokoneen sarjaportista yksinkertaisella 3.5mm stereoplugilla. PICAXE on suunniteltu alunperin opetuskäyttöön, mutta sen sopiva hinta ja yksinkertaisuus ovat taanneet sille laajemman suosion alan harrastajien keskuudessa. Käsitteitä INPUT = Syötetään jokin tapahtuma (napin painallus 0V þ 5V) tai numeroarvo (213) laitteeseen, joka vastaanottaa ja käsittelee tietoa. PROSESSI = Tapahtuma, jossa pystytään vertailemaan siihen syötettyä tietoa, esim. onko muistipaikassa b1 oleva arvo suurempi kuin muistipaikassa b2 oleva arvo. Eli b1>b2 ja toimimaan sen jälkeen edeltäkäsin ohjelmoitujen ohjeitten mukaan. OUTPUT = Tulos, joka prosessista tulee ulos. 2+2=4 LCD-näytölle, ääni, summerin merkkiääni, valo, moottori käynnistyy, solenoidi avaa lukon, jne... INPUT MIKROFONI LDR-vastus KATKAISIJA IR-VASTAANOTIN LÄMPÖMITTARI NÄPPÄIMISTÖ ILMANPAINE jne... PROSESSI VERTAA TIETOA SUUREMPI VAI PIENEMPI KYTKEE PÄÄLLE SAMMUTTAA LUKEE TIEDON MUISTIIN LASKEE YHTEEN TEKEE JAKOLASKUN SOITTAA MUSIIKKIA jne... OUTPUT MOOTTORI LAMPPU RELE KAIUTIN LCD-NÄYTTÖ SERVO ASKELMOOTTORI SOLENOIDI jne... Katila & Bläuer www.kasityo.com 2 / 32
KÄSITTEITÄ PICAXE PIIRISTÄ Koulussa käytämme yleensä PICAXE piirejä 08M, 18A ja 18X. +V = 5V jännite 0V =Maa Serial in = Ohjelma sisään piiriin. Serial out = Tietoliikenne ulos piiristä takaisin tietokoneeseen. Input 0-7 = Piirin jalkaa voi käyttää signaalin tulokanavana. 5V tai 0V. Out 0-7 = Piirin jalkaa voi käyttää signaalin lähtökanavana. 5V tai 0V. Reset = Käynnistää piirin uudelleen. Ohjelma alkaa alusta. Analogue tai ADC = Piiri muuttaa jännitevälin (5-0V) numeroksi (0-256), jota voidaan käsitellä digitaalisesti. esim. tutkittaessa ldr:llä valon kirkkautta. Esim 3.56v = 145. Pwm output = Mahdollisuus tuottaa eripituisia signaaleja. i2c sda data = Kirjoittaa/lukee eri i2c laitteeseen/sta tietoa. Esim. Lisämuisti, tai LCD-näytön kello. i2c scl clock = Pitää kaikki i2c laitteet samassa toimintasyklissä. Keyboard data = Näppäimistön tietoliikenne. Keyboard clock = Näppäimistö ja PICAXE-piiri pysyvät samassa toimintasyklissä. Tune = Soittaa etukäteen määrätyn sävelmän 08M-piirissä. Infrain = Infrared IR signaali sisään. Infraout = Infrared IR signaali ulos. +V Serial In In 4 / Out 4 / ADC 4 Input 3 / Infrain 1 2 3 4 8M 8 7 6 5 0V Output 0 / Serial Out / Infraout In 1 / Out 1 / ADC 1 In 2 / Out 2 / ADC 2 / Pwm 2 / Tune ADC 2 / Input 2 Serial Out Serial In Reset 0V Output 0 Output 1 / i2c sda Output 2 Output 3 / PWMout 18X 1 18 2 17 3 16 4 15 5 14 6 13 7 12 8 11 9 10 Input 1 / ADC 1 Input 0 / ADC 0 / Infrain Input 7 / Keyboard data Input 6 / Keyboard clock +V Output 7 Output 6 Output 5 Output 4 / i2c scl Katila & Bläuer www.kasityo.com 3 / 32
PROJEKTILEVY Projektilevy on kehitetty ohjelmoinnin opiskelua ja oman ohjelman kehittelyä ja testausta varten, ennen varsinaisen oman piirilevyn piirtämistä PCB-ohjelmalla ja rakentamista. Projektilevyn rakenne ja käyttö! Toimii 12V jännitteellä muuntajasta (reguloitu tai reguloimaton) tai vaihtoehtoisesti paristoilla. Valitaan katkaisijasta. Poissa päältä kun katkaisija keskellä.! Tarvitset hyppylankoja toimintojen yhdistämiseksi toisiinsa. Hyppylanka on sähköjohto, jossa on yksi paksu kuparijohdin. Johtimen halkaisija 0.6mm. Hyppylangat laitetaan SIL-riman koloihin ja näin yhdistetään toiminnot keskenään.! Ohjelmoitaessa valitaan kytkimestä, kumpaa piiriä haluaa ohjelmoida. 8 tai 18.! PICAXE 8M piiriä käytettäessä muista valita ohjelmoinnin erillinen katkaisija. Samaa jalkaa käytetään piirin ohjelmointiin ja output jalkana.! Servojen johtojärjestys on sama kuin PICAXEn omassa manuaalissa. Valkoinen signaalijohto liittimen vasemmassa reunassa, servo sanan puolella.! Askelmoottori saattaa kuumeta käytössä todella paljon. Riippuu mallista. Laita silloin servon 12V johtimeen 20Ω 5W tehovastus rajoittamaan virtaa.! LCD-näytössä tarkista johtimien paikat aina ennen käyttöä. Serial vai i2c tila?! Projektilevyä on mahdollista käyttää koekytkentälevyn kanssa rinnan, jolloin voi rakennella ulkopuolisia kytkentöjä ja ohjata niitä projektilevyn kanssa. Katila & Bläuer www.kasityo.com 12 / 32
PROJEKTILEVY OHJELMOINTILIITIN ja VALINTAKATKAISIJAT YLIMÄÄRÄISIÄ 5V VIRTAPISTEITÄ Tarvitaan kun käytetään koekytkentälevyä 8 tai 8M PIIRIN ERILLINEN OHJELMOINTIKATKAISIJA. VIRTAKATKAISIJA SÄÄTÖVASTUS ASKELMOOTTORI 12V-LIITIN SIL-RIMAA Riman koloihin laitetaaan hyppylankojen päät. PS2-NÄPPÄIMISTÖ LIITIN SERVO 2kpl LCD-NÄYTTÖ Vasen liitin serial, oikea liitin i2c tilassa. LÄMPÖANTURI KATKAISIJAT PIETZO SUMMERI IR-LÄHETIN LED LDR-VASTUS VALOVASTUS IR-VASTAANOTIN INPUT þ þ þ þ PICAXE 8M JA 18X MIKROPIIRIT LED VALOT 8KPL PROSESSI þ þ þ þ Katila & Bläuer www.kasityo.com 13 / 32 OUTPUT
Esimerkkejä ohjelmasta ja kytkennästä projektilevyllä Tee hyppylangasta kuvan mukaiset kytkennät: -Yhdistä input katkaisija 0 ja 8M input/output paikka 1 (keltainen johto) -Yhdistä 8M output paikka 0 ja ledi 7 (violetti johto) Muista vaihtaa 08M piirin ohjelmointi/output katkaisijan asento kun alat testata ohjelmaa! alku: if pin0=1 then valo goto alku valo: high 0 pause 1000 low 0 pause 1000 goto alku ohjelman otsikko jos jalassa 0=5V/high tila, hyppy kohtaan valo muuten hyppy takaisin alkuun ohjelmapätkän otsikko kytke output jalka 0=5v ledi 7 syttyy odota 1sek kytke jalka pois päältä/off odota 1sek hyppy otsikkoon alku Katila & Bläuer www.kasityo.com 14 / 32