picaxe ohjelmointi - kasityo.com · picaxe ohjelmointi tämä materiaalipaketti on tehty picaxe...

6
Juha Katila Harri Bläuer 27.1.2006 © PICAXE OHJELMOINTI Tä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 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 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 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 elekt- roniikan harrastuksen on mahdollista jatkua kotona ja lähteä itsek- seen kehittymään eteenpäin.

Upload: truongdan

Post on 05-Oct-2018

244 views

Category:

Documents


0 download

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!