picaxe ohjelmointi - kasityo.com · picaxe ohjelmointi tämä materiaalipaketti on tehty picaxe...
TRANSCRIPT
Juha KatilaHarri Bläuer27.1.2006 ©
P ICAXE OHJELMOINT ITämä materiaalipaketti on tehty PICAXE piireihin perustuvaa elektronii-kan opetusta varten. Tarkoituksena on opettaa ohjelmoitavan mikropii-rin 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 ohjelmallisiaratkaisuja, kontrolloitavia laitteita ja niitten hallintaa ohjelmoitavanmikropiirin avulla.
! Tehdään oma “laite”, joka suorittaa tietyn tehtävän. Kehitelläänsille ensin ohjelma projektilevyn avulla. Katsotaan mitä laitteitapitää ohjata jne.. Piirretään oma piirilevy, valmistetaan se ja teh-dään toimiva pieni sovellus. Oman piirilevyn suunnittelu ja piirtämi-nen ei ole pakollista. Projektilevyllä voi ohjata kaikkea.
! Oppilaalla on mahdollisuus tehdä oma projektilevy, jonka hän saaitselleen. Levyn voi varustaa aluksi vain välttämättömällä ja oppilasvoi myöhemmin hankkia ja liittää siihen itse lisää osia. Näin elekt-roniikan harrastuksen on mahdollista jatkua kotona ja lähteä itsek-seen kehittymään eteenpäin.
Katila & Bläuer © www.kasityo.com 2 / 32
PICAXE - Ohjelmointi
Ohjelmoitava mikropiiri?
Ohjelmoitava mikropiiri on elektroniikan mielenkiintoisin osa-alue tällä hetkellä. Senavulla on mahdollista tehdä yhdellä ohjelmoitavalla mikropiirillä monia eri tehtäviä,joitten suorittamiseen ennen tarvitsimme lukuisan määrän osia. Ohjelmoitava piiri toimiiajastimena, kytkimenä, laskimena, moottorin ohjaimena, vertailevana piirinä, ääniläh-teenä, LCD-näytön ohjaimena jne... Kaikki tämä on mahdollista vain ohjelmoinnilla jakytkemällä piiriin kiinni yksinkertaisilla kytkennöillä erilaisia oheislaitteita.
Ohjelmoitavia mikropiirejä on olemassa erilaisia malleja valmistajasta riippuen. Mekeskitymme yhteen piiriryhmään. PIC piireihin kuuluviin PICAXE piireihin. PICAXE onpiiri, jota voi ohjelmoida BASIC käskyillä ja suoraan tietokoneen sarjaportista yksinker-taisella 3.5mm stereoplugilla. PICAXE on suunniteltu alunperin opetuskäyttöön, muttasen sopiva hinta ja yksinkertaisuus ovat taanneet sille laajemman suosion alanharrastajien 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 b2oleva arvo. Eli b1>b2 ja toimimaan sen jälkeen edeltäkäsin ohjelmoitujenohjeitten mukaan.
OUTPUT = Tulos, joka prosessista tulee ulos. 2+2=4 LCD-näytölle, ääni, summerinmerkkiääni, valo, moottori käynnistyy, solenoidi avaa lukon, jne...
INPUT
MIKROFONILDR-vastusKATKAISIJAIR-VASTAANOTINLÄMPÖMITTARINÄPPÄIMISTÖILMANPAINEjne.....
OUTPUT
MOOTTORILAMPPURELEKAIUTINLCD-NÄYTTÖSERVOASKELMOOTTORISOLENOIDIjne.....
PROSESSI
VERTAA TIETOASUUREMPI VAI PIENEMPIKYTKEE PÄÄLLESAMMUTTAALUKEE TIEDON MUISTIINLASKEE YHTEENTEKEE JAKOLASKUNSOITTAA MUSIIKKIAjne.....
Katila & Bläuer © www.kasityo.com 3 / 32
KÄSITTEITÄ PICAXE PIIRISTÄKoulussa käytämme yleensä PICAXE piirejä 08M, 18A ja 18X.
+V = 5V jännite0V = MaaSerial 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 toimintasyk-
lissä.Tune = Soittaa etukäteen määrätyn sävelmän 08M-piirissä.Infrain = Infrared IR signaali sisään.Infraout = Infrared IR signaali ulos.
+VSerial In
In 4 / Out 4 / ADC 4Input 3 / Infrain
0VOutput 0 / Serial Out / InfraoutIn 1 / Out 1 / ADC 1In 2 / Out 2 / ADC 2 / Pwm 2 / Tune
8M1
2
3
4
8
7
6
5
18XADC 2 / Input 2
Serial OutSerial In
Reset0V
Output 0Output 1 / i2c sda
Output 2Output 3 / PWMout
Input 1 / ADC 1Input 0 / ADC 0 / InfrainInput 7 / Keyboard dataInput 6 / Keyboard clock+VOutput 7Output 6Output 5Output 4 / i2c scl
1
2
3
4
5
6
7
8
9
18
17
16
15
14
13
12
11
10
Katila & Bläuer © www.kasityo.com 12 / 32
PROJEKTILEVYProjektilevy on kehitetty ohjelmoinnin opiskelua ja oman ohjelman kehittelyä ja testaustavarten, ennen varsinaisen oman piirilevyn piirtämistä PCB-ohjelmalla ja rakentamista.
Projektilevyn rakenne ja käyttö
! Toimii 12V jännitteellä muuntajasta (reguloitu tai reguloimaton) tai vaihtoehtoisestiparistoilla. 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. Hyppylangatlaitetaan 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 13 / 32
PROJEKTILEVY
VIRTAKATKAISIJA
OHJELMOINTILIITIN jaVALINTAKATKAISIJAT
SÄÄTÖVASTUS
PS2-NÄPPÄIMISTÖLIITIN
ASKELMOOTTORI
SIL-RIMAARiman koloihin
laitetaaanhyppylankojen päät.
LCD-NÄYTTÖVasen liitin serial,
oikea liitin i2c tilassa.
PICAXE 8M JA 18X MIKROPIIRIT
IR-LÄHETIN LED
IR-VASTAANOTIN
12V-LIITIN
YLIMÄÄRÄISIÄ 5V VIRTAPISTEITÄTarvitaan kun käytetään koekytkentälevyä
KATKAISIJAT
LÄMPÖANTURI
SERVO 2kpl
LED VALOT 8KPL
PIETZO SUMMERI
LDR-VASTUS“VALOVASTUS”
8 tai 8M PIIRIN ERILLINENOHJELMOINTIKATKAISIJA.
INPUT þ þ þ þ PROSESSI þ þ þ þ OUTPUT
Katila & Bläuer © www.kasityo.com 14 / 32
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)
alku: ‘ohjelman otsikkoif pin0=1 then valo ‘jos jalassa 0=5V/high tila, hyppy kohtaan valo goto alku ‘muuten hyppy takaisin alkuun
valo: ‘ohjelmapätkän otsikkohigh 0 ‘kytke output jalka 0=5v ledi 7 syttyypause 1000 ‘odota 1seklow 0 ‘kytke jalka pois päältä/offpause 1000 ‘odota 1sekgoto alku ‘hyppy otsikkoon alku
Muista vaihtaa 08M piirinohjelmointi/output katkaisijan
asento kun alat testataohjelmaa!