Kai Tuominen ATMEGA32/88 PA-DEMOLAITEKOODI
|
|
- Anna Sipilä
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Kai Tuominen ATMEGA32/88 PA-DEMOLAITEKOODI Tekniikka ja liikenne 2013
2 2 VAASAN AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma TIIVISTELMÄ Tekijä Kai Tuominen Opinnäytetyön nimi ATMega32/88 PA Demolaitekoodi Vuosi 2013 Kieli suomi Sivumäärä 32 Ohjaaja Jukka Matila Opinnäytetyö tehtiin Vaasan ammattikorkeakoululle. Työn tarkoituksena on toteuttaa demolaite koodi ATMEGA 32-mikrokontrollerille ja työssä mukana oleville komponenteille. Tarkoituksena on luoda ympäristö, jossa voidaan yksinkertaisesti esitellä ohjelmointikittiin liitettävien oheiskorttien toimintaa sekä esitellä ohjelmoinnin merkitystä tietotekniikan opetuksessa. Tästä päätettiin lisätä kolme Mini88 alustaa jotka toimivat ATMEGA 88 PAmikrokontrollereilla. Tällä päästään neljään eri laitteeseen, joista kaikki esittelevät vähintään yhden keskeisen komponentin toimintaa ja mahdollisuuksia. Opinnäytetyö toteutettiin C-koodilla, joka kirjoitettiin ja käännettiin ohjelmalla Atmel Studio 6. Koodit ajettiin mikrokontrollereille AVRISP mk2-laitteella. Ohjelmointi suoritettiin Atmel Studio 6-ohjelmalla ja ajettiin mikrokontrollerille AVRISP mk2-ohjelmoijalla. Itse ohjelma suoritettiin alkuperäisten suunnitelmien mukaan ja eri ohjelmien välissä täytyi vain fyysisesti vaihtaa komponentteja. Ohjelman valmistuttua tultiin siihen tulokseen, että komponenttien erittely eri kontrollereille olisi parempi ratkaisu. Alkuperäinen ratkaisu ei onnistunut, mutta alkuperäisiin tavoitteisiin ja vaatimuksiin päästiin. Avainsanat sulautetut järjestelmät, c-koodi, mikrokontrolleri
3 3 VAASAN AMMATTIKORKEAKOULU UNIVERSITY OF APPLIED SCIENCES Tietotekniikan koulutusohjelma ABSTRACT Author Kai Tuominen Title ATMega32/88 PA Demo Device Code Year 2013 Language Finnish Pages 32 Name of Supervisor Jukka Matila The thesis was done for the Vaasan ammattikorkeakoulu, University of Applied Sciences. The purpose of this thesis was to implement a demo device code for ATMEGA 32 microcontroller and various given components. The aim was to create an environment in which programming kit connected to peripheral components activities can be introduced simply as well as to showcase the importance of information technology in teaching programming. From there we decided to add three Mini88 platforms running ATMEGA 88 PA microcontrollers. That gave us a total of four different devices, each of which displays at least one of the central components operation and possibilities. The thesis was implemented in c code, which was written and compiled using the Atmel Studio 6 program. The codes were run to microcontrollers using ARVRISP mk2 device. The program itself was carried out according to the original plan and the components between programs only had to be changed physically. When the program was completed; we came to the conclusion that the program should be divided to controllers by the various components as a better solution. The original solution did not work out, but the initial objectives and requirements were reached. Keywords embedded systems, c code, microcontrollers
4 4 SISÄLLYS TIIVISTELMÄ ABSTRACT 1 TYÖN TARKOITUS Työn tausta Työn tavoitteet TYÖVÄLINEET JA KOMPONENTIT ATMEGA ARV Universal Board Askelmoottori Pistenäyttö Seitsemän segmentin näyttö PWM-levy LCD-näyttö Matriisinäppäimistö ATMEGA88 PA-mikrokontrolleri Mini LED-moduuli Kytkinlevy AVRISP mkii Atmel Studio TOTEUTUS Toteutustavan kuvaus Ohjelmointi Toiminta TESTAUS YHTEENVETO LÄHTEET... 31
5 5 KUVIO- JA TAULUKKOLUETTELO Kuvio 1. ATMEGA32-pinniasettelu. s. 8 Kuvio 2. AVRUB ylhäältäpäin s. 9 Kuvio 3. Jokaisen portin toteutus s. 10 Kuvio 4. Askelmoottorikytkentä s. 10 Kuvio 5. Askelmoottorilevy s. 10 Kuvio 6. Pistenäyttökytkentä s. 11 Kuvio 7. Pistenäyttölevy s. 11 Kuvio 8. 7-Segment segmentit s. 12 Kuvio 9. 7-Segment-kytkentä s. 12 Kuvio Segment-näyttö s. 12 Kuvio 11. PWM-levy s. 13 Kuvio 12. LCD-kytkentä s. 14 Kuvio 13. LCD-näyttö s. 14 Kuvio 14. Näppäimistöliitäntä s. 15 Kuvio 15. Näppäimistö s. 15 Kuvio 16. ATMEGA 88-pinniasettelu s. 16 Kuvio 17. Mini88 s. 17 Kuvio 18. LED-moduuli s. 17
6 6 Kuvio 19. Näppäimistön korvike s. 18 Kuvio 20. AVRISP mk2-laite, ohjelmalevy ja USB-johto s. 19 Kuvio 21. Atmel Studio 6 käynnistysruutu s. 20 Kuvio 22. Koodien perusperiaate s. 23 Kuvio 23. ATMEGA32 koodilla Demodot s. 24 Kuvio 24. Mini88 koodilla Sseg2 88 s. 26 Kuvio 25. Mini88 koodilla PWM 88 s. 27 Kuvio 26. Mini88 koodilla Askel 88 s. 28
7 7 1 TYÖN TARKOITUS 1.1 Työn tausta Työn tarkoituksena on toteuttaa demolaite Ari Urpiolalle ja Vaasan ammattikorkeakoululle. Työssä tehdään demolaite, jota vierailevat mahdolliset opiskelijat voivat kokeilla. Komponentit työhön valitsi toimeksiantaja. Työhön on valittu komponentit, jotka toimeksiantaja on tilannut osoitteesta Kirja aiheesta on Pentti Vahteran sähköistä materiaalia AVR mikrokontrollerien ohjelmointiympäristöön. Tämä kirja löytyy koulun verkkolevyltä oppilaan_kirja_2 nimellä. Kyseinen kirja on tietääkseni innoittanut toimeksiantajan tähän projektiin. Materiaalin esipuhe löytyy google haulla Pentti Vahtera oppilaan kirja. Työ toteutettiin neljälle eri alustalle. Alkuperäinen tarkoitus oli saada kaikki komponentit kiinni saamaan alustaan. Tämä ei ollut toteuttamiskelpoista. 1.2 Työn tavoitteet Työn tavoitteena on luoda C-ohjelmistokokonaisuus jolla voidaan demonstroida työhön valittujen komponenttien toimintaa ja käyttäytymistä. Muut komponentit ovat mukana havainnollistamaan tätä käyttäytymistä. Tarkoituksena on luoda ympäristö, jossa voidaan yksinkertaisesti esitellä ohjelmointikittiin liitettävien oheiskorttien toimintaa sekä esitellä ohjelmoinnin merkitystä tietotekniikan opetuksessa useammalle eri toiminnolle jokaiselle komponentille valitsemalla näppäimistöltä ajettava ohjelma.
8 8 2 TYÖVÄLINEET JA KOMPONENTIT 2.1 ATMEGA32 ATMega32 Prosessori on 8-bittinen mikrokontrolleri jolla on 32 kilobittiä ohjelmoitavaa muistia. Prosessorissa on neljä 8 pinnistä I/O porttia, joista yhden voi sisäisillä ohjelmoitavilla sulakkeilla asettaa ainoastaan JTAG-käyttöön. JTAG on akronyymi sanoista Joint Test Action Group. Tämä tarkoittaa ohjelman testaukseen käytettävää menetelmää, joka tunnetaan myös nimellä IEEE Standardi. JTAG käytetään yleisesti mikropiirien kehitys- ja testausapuvälineenä. JTAG tarvitsee käyttöönsä viisi pinniä, nämä ovat testidata sisään, testidata ulos, testikello, testimoodin valinta ja testi reset, joista viimeinen on vaihtoehtoiunen. JTA- Gin sijasta tässä työssä mikrokontrolleri ohjelmoitin AVRISP: n kautta josta lisää kohdassa Mikrokontrollerissa on kaksi 8 bittistä ja yksi 16 bittinen ajastin. Mikrokontrollerin data lehti löytyy kohdasta lähteet./1/ (Kuvio 1.) Kuvio 1. ATMEGA32 pinniasettelu/1/
9 9 2.2 ARV Universal Board Tietopetrin AVR Universal Board on useammalle mikrokontrollerille suunniteltu alusta, jossa on kontrollerin ulkopuolinen reset-näppäin ja 8Mhz kellotaajuuskide, sekä led-ilmaisimet jokaiselle neljän portin i/o pinnille. AVRISP: lle on selvästi merkitty kytkeytymispaikka ja vaikka mikään ei estä kytkemästä laitetta tähän väärinpäin, sen kyllä huomaa jos laite on väärinpäin. Kuten sanottu laite on useammille kontrollereille, ja vaikka kyseisille kontrollereille on selvästi laitteeseen merkitty numeroin, mikä mikrokontrolleri kuuluu minne, voi silti erehtyä K1 ja K2 osoitteen välillä jos ei ole ennen laitetta käyttänyt. /9/ Jos joku ei vielä tänä päivänä tiedä mitä LED tarkoittaa, niin se tulee sanoista Light Emmitting Diode, eli valoa luova diodi. AVR puolestaan on yhdistelmä jolle sen kehittäjät eivät ole koskaan antaneet suoraa vastausta, mutta ne ovat aina olleet Atmelin 8 bittisiä RISC-piirejä. RISC taas tarkoittaa Reduced Instruction Set Computer, joka tarkoittaa suunnittelufilosofiaa tietokoneiden suoritinarkkitehtuurissa, jossa konekielelle käännetyt käskyt pyritään pitämään yksinkertaisina ja nopeasti suoritettavina. (Kuvio 2. ja 3.) Kuvio 2. AVRUB ylhäältäpäin /9/
10 10 Kuvio 3. Jokaisen portin toteutus/9/ 2.3 Askelmoottori Tietopetrin askelmoottorilevy on helppokäyttöinen laite johon löytyy valmistajan sivuilta perusaskelluskuvio. Askelmoottorien periaate on melko itsestään selvä, moottoria pyöritetään sähkömagneettien avulla johtamalla sähköä seuraavasta seuraavaan napaan saaden aikaan moottorin liikkeen. Hitaasti toteutettuna liike on katkonaista, mutta nopeana liikkeenä sulavaa ja yhdenmukaista./8/ (Kuvio 4. ja 5.) Kuvio 4. Askelmoottorikytkentä, eli vain ensimmäinen tavu, vcc ja maa ovat käytössä./8/ Kuvio 5. Askelmoottorilevy /8/
11 Pistenäyttö Pistenäyttö on ensimmäinen käytetyistä komponenteista, joka vaatii kaksi tuloa. Tietopetrin DOT-näytön käyttö on piirtämistä. Kirjaimet, numerot tai kuviot on piirrettävä näytölle kolumni kerrallaan. Jokaisen pystyrivin saa päälle yhden kerrallaan, ja sitten binääri- koodilla alhaalta ylöspäin jokainen ykkönen on uusi valo./15/ (Kuvio 6. ja 7.) Kuvio 6. Pistenäyttökytkentä./15/ Kuvio 7. Pistenäyttö /15/ 2.5 Seitsemän segmentin näyttö Seitsemän segmentin näyttö on toinen ja viimeinen kaksi tuloa vaativa komponentti tässä työssä, Tietopetrin seitsemän segmentin näyttö. Toisin kuin DOTnäytössä segmenttinäytössä toissijaisella tulolla voidaan laittaa useampi näytön neljästä osasta päälle. Binäärillä sitten laitetaan kahden tavun verran ensisijaiseen tuloon merkkejä, jotka määrittävät mitkä segmenteistä ovat päällä. Segmentit menevät oheisen kuvan mukaan päälle A ollen alin bitti ja DP ollessa viimeinen./6/
12 12 Päällä olevat osat näytöstä valitaan syöttämällä toissijaiseen tuloon binäärillä sammutettavat osiot./7/ (Kuviot 8. ja 9. ja 10.) Kuvio 8. 7-Segment segmentit /6/ Kuvio 9. 7-Segment-kytkentä./7/ Kuvio Segment-näyttö /7/ 2.6 PWM-levy PWM levyssä on viisi eri vapaasti uudelleen kiinnitettävää pulssin leveysindikaattoria. PWM tulee sanoista Pulse Width Modulation eli pulssin leveysmodulaatio.
13 13 Modulaatio tarkoittaa elektroniikassa ja tietoliikennetekniikassa signaalin muokkaamista toisella signaalilla. Yksinkertaisin modulointi on lähettää yksi signaali ja katkoa tätä signaalia luoden muita toimintoja. Tässä tapauksessa on tasavirtamoottori, ledi ja puna-, viher- ja sininen ledi. Pulssimodulaatiolla voidaan himmentää ledejä tai hidastaa moottoria./16/ Levyä ei ole kytketty loppuun, koska eri mikrokontrollereilla on ajastimen lähdöt eri pinneissä. Tässä työssä on käytetty piirin täydentämiseen muovipäällysteistä kuparilankaa. Käytetyn langan tulee olla tarpeeksi ohutta mahtuakseen annettuihin aukkoihin, jotka ovat selvästi merkittyinä./16/ (Kuvio 11.) Kuvio 11. PWM-levy /16/ 2.7 LCD-näyttö LCD on akronyymi sanoista Liquid Crystal Display eli suomeksi nestemäinen kristallinäyttö. Sana näyttö esiintyy siis kahteen kertaan sanottaessa LCD-näyttö, mutta tämä on yleisesti hyväksytty käytäntö. Tämä on myös monimutkaisin, mutta helppokäyttöisin käyttämistäni komponenteista. Suurimmaksi osaksi, koska LCD näytölle on olemassa todella hyvä mallikoodi, joka tietääkseni toimii kaikilla samankaltaisilla komponenteilla./11/ LCD-näyttö toimii kahdeksalla bitillä, ensimmäiset kolme(0-2) hallitsevat sitä mitä LCD tekee viimeisillä neljällä(4-7). Ensimmäiset kolme bittiä on nimetty, Bitti 0 Register Select Line, Bitti 1 ReadWrite Control Line ja Bitti 2 Enable. Bitti 3
14 14 ottaa käskyjä myös vastaan, mutta tätä käytetään vain näytön taustavalon päälle tai pois päältä laittamiseen. Kolmen ensimmäisen bitin ollessa nolla, laite on käskytilassa, jos ensimmäinen(0) on päällä, laite on kirjoitustilassa. Itse kirjoitus tapahtuu Ascii-merkistöllä eli iso A on desimaalina 65. Jotain LCDnäyttöjen yleismaailmallisuudesta kertoo sekin, että vaikka näytössä on vain 16 merkkipaikkaa per rivi, laite olettaa 40 merkkiä per rivi. Tämä on osa siitä miten sama koodi voi toimia niin monella erilaisella LCD-näyttötyypillä. Paitsi jos näytössä on neljä riviä, silloin näyttö olettaa 20 merkkiä per rivi. (Kuvio 12. ja 13.) Kuvio 12. LCD-kytkentä Kuvio 13. LCD-näyttö /3/ 2.8 Matriisinäppäimistö Matriisi-näppäimistö on helppo ymmärtää, mutta hankala koodata. Matriisinäppäimistö tarvitsee puolet portista lähdöksi ja puolet tuloksi. Laittamalla siten yhden pystyriveistä päälle, näppäimistö palauttaa joko nollan, jos nappia ei ole
15 15 pystyrivillä painettu tai ykkösen, kakkosen, nelosen tai kasin jos kyseisellä rivillä on painettu nappia. Nämä ovat samat palautukset joka kolumnilta, joten kaikki pystyrivit täytyy tarkistaa erikseen. Ohjelma on kuitenkin niin nopea, että erillistä viivettä ei huomaa tapahtuvan nappia painettaessa./14/ (Kuvio 14. ja 15) Kuvio 14. Näppäimistöliitäntä, bitit 0-3 ovat COL ja 4-7 ROW./14/ Kuvio 15. Näppäimistö /14/ 2.9 ATMEGA88 PA-mikrokontrolleri ATMEGA 88 on 8 bittinen mikrokontrolleri, jolla on kaksi 8 pinnistä i/o-porttia ja yksi 7 pinninen i/o-portti josta yksi pinni on pysyvästi varattu ohjelmistoresetiksi. Kontrollerissa on kolme ajastinta joiden ulostulot löytyy alla olevasta kaaviosta
16 16 suluissa nimellä OC (numero) (kirjain) numero tarkoittaen ajastinnumeroa ja kirjain ensisijaista tai toissijaista lähtöä. Esim. OC2A. Mikrokontrollerin datalehti löytyy kohdasta lähteet.(2) (Kuvio 16.) Kuvio 16. ATMEGA 88-pinniasettelu /2/ 2.10 Mini88 Tietopetrin Mini88 on alusta ATMEGA 88-mikrokontrollerille, joka mahdollistaa helpon pääsyn käsiksi portteihin ja virransaantiin. Vaikka Mini88 on paljon minimalistisempi kuin AVR Universal Board, sen pieni koko tarjoaa myös enemmän mahdollisuuksia. Se on myös vain kolmasosa AVR Universal Boardin hinnasta./13/ (Kuvio 17.)
17 17 Kuvio 17. Mini88 /13/ 2.11 LED-moduuli LED-moduuli on minimalistinen ja helppokäyttöinen, Tietopetrin led moduuli sytyttää ledit binäärijärjestyksessä, 0 ollen alin bitti. Moduulille syötetään luku 0-255, ja moduuli ilmoittaa saman luvun binääriarvona ledeillä. Riippuu kuitenkin kontrollerista onko ledit päällä ykkösellä vai nollalla./12/ (Kuvio 18.) Kuvio 18. LED-moduuli /12/
18 Kytkinlevy Tietopetrin kytkinlevy toimii ulkoisena inputtina. Kun alustaa nappien arvot korkeaksi, painamalla nappia levy sulkee piirin maan kanssa ja painettu arvo menee pieneksi. Tällä saa levystä helposti ohjelman valintalevyn./10/ (Kuvio 19.) Kuvio 19. Näppäimistön korvike /10/ 2.13 AVRISP mkii AVRISP on akronyymi sanoista AVR In-System Programmer, ja ISP suomeksi sanottuna on kyky, joka joillain mikrokontrollereilla ja sulautetuilla järjestelmillä on. Tämä kyky sallii näiden laitteiden ohjelmoimisen tai uudelleen ohjelmoimisen, kun laite on jo asennettuna. AVRISP mk2 on pääasiassa mikrokontrollereiden kenttäpäivitys tai uudelleen ohjelmoimista varten. Tämä johtuu siitä, että laite on täysin vailla debug-toimintoa. Muuten laite on kompakti ja helppokäyttöinen./4/ (Kuvio 20.)
19 19 Kuvio 20. AVRISP mk2-laite, ohjelmalevy ja USBjohto /4/ 2.14 Atmel Studio 6.1 Atmel Studio tai AVR Studio on Atmel yhtiön virallinen mikrokontrollerien ohjelmointiin tehty tuote. Atmel on sama yhtiö joka on valmistanut kaikki ATMEGA-sarjan kontrollerit, sekä lukuisia muita kontrollereita. Itse ohjelma tunnistaa valtavan määrän Atmel-tuotteita ja niiden ohjelmointiin käytettäviä laitteita. Ennen ohjelmoinnin aloittamista on valittava ohjelmoitava kontrolleri sillä eri mikrokontrollereille käännetään koodi eri tavoin. Kääntäminen tarkoittaa ohjelmointikielen muuttamista laitteen ymmärtämään muotoon. Ohjelma itse ymmärtää kääntämisen käskyllä Build./3/ (Kuvio 21.)
20 Kuvio 21. Atmel Studio 6 käynnistys ruutu. /3/ 20
21 21 3 TOTEUTUS 3.1 Toteutustavan kuvaus Demo-laitteen koodi aiottiin toteuttaa yhdelle ATMEGA32-mikrokontrollerille, joka olisi ollut kiinni AVR Universal Board-laitteessa. Tässä ratkaisussa kaikki komponentit olisivat olleet kiinni samassa kontrollerissa. Koska tässä mikrokontrollerissa on vain neljä sisään- ja/tai ulostuloa eli i/o-porttia, olisi tähän ratkaisuun tarvittu mekaaninen kytkin, joka katkaisisi toiset yhteydet muodostaessaan yhden./1/ Tästä ratkaisusta päätettiin luopua ja sen sijaan luoda yksi koodi ATMEGA32- alustalle, ja loput ATMEGA88 PA-mikrokontrollerille on paljon kompaktimpi toteutus, joka säästää tilaa. Tämä vaati ohjelman pilkkomista pienempiin osiin sekä muokkaamista osilta, joissa alustat osoittivat eroavaisuuksia, kuten siitä, että mikrokontrollerilla ATMEGA 88 ei ole lainkaan porttia A./2/ Koodit on nimetty tähdellisimmän tai näkyvimmän komponentin mukaan. Koodi Demodot on toteutettu AVR Universal Board alustalle ATMEGA32- mikrokontrollerilla. Se sai nimensä edeltäjältään demo-nimiseltä koodilta, joka oli alkuperäisessä toteutusmielessä koodattu. Muut koodit Askel 88, Sseg2 88 ja PWM 88 on toteutettu Tietopetrin Mini88 alustalle ATMEGA 88 PAmikrokontrollerilla. Koodissa Demodot porttia A ohjaa LCD näyttöä. Portti B toimii tulona matriisinäppäimistön avulla. Portti C ohjaa pistenäytön kolumnin vaihtoa. Portti D asettaa pisteitä näytölle. Koodissa Askel 88, portti D toimii tulona, ja näin ohjelman valitsimena. Portti C ohjaa led-moduulia. Portti B ohjaa askelmoottoria. Porttia A ei tässä kokoonpanossa ole ollenkaan, eikä muissa Mini88 alustan koodeissa.
22 22 Koodissa PWM 88 Portti D toimii tulona, ja ohjelman valitsimena. Portti C on jätetty tyhjäksi. PWM-levy on kytketty porttiin B.. PWM-levyssä moottori on kytketty pinniin 3, joka on ajastimen 2 ulostulo. Pinni 0 on kytketty lediin, pinni 1 on kytketty vihreään RGB-ledissä, pinni 2 on kytketty siniseen RGB-ledissä ja pinni 4 on kytketty punaiseen RGB-ledissä. Koodissa Sseg2 88, Portti D toimii näytön eri osien ohjaajana, päättäen mihin kohtaan näyttöä seuraava seitsemän segmentin syöte tulee. Portti B toimii ohjaimena sille mitkä segmentit asetetaan päälle. Portti C on kytketty kytkin levyyn, tämä toimii ohjelman valitsimena. Portti C valittiin ohjelman valitsijaksi tässä kokoonpanossa, koska ATMEGA 88 potti C ei ole 8 bittinen ja seitsemän segmentin näyttö tarvitsee molempiin tuloihinsa täydet 8 bittiä. 3.2 Ohjelmointi Ohjelmointi suoritettiin Atmel Studio 6-ohjelmalla ja ajettiin mikrokontrollerille AVRISP mk2-ohjelmoijalla. Itse ohjelma suoritettiin alkuperäisten suunnitelmien mukaan ja eri ohjelmien välissä täytyi vain fyysisesti vaihtaa komponentteja. Ohjelman valmistuttua tultiin siihen tulokseen, että komponenttien erittely eri kontrollereille olisi parempi ratkaisu. Tässä vaiheessa otettiin avuksi kolme Tietopetrin Mini88-kittiä, joissa kontrollerina toimii AMTMEGA88 PA-mikrokontrolleri. Koodi pilkottiin neljään osaan, komponenttien osalta ja ATMEGA 88-koodeissa käytettiin kytkinlevyjä näppäimistön sijaan. Komponenttien ohjelmoinnissa ensimmäinen haaste oli matriisinäppäimistö, johon löytyi kyllä mallikoodi. Ongelma oli, että ohjelmien alustat olivat täysin erilaiset. Ongelmien yli kuitenkin päästiin, ja muiden komponenttien käyttö oli suhteellisen helppoa, kunhan niiden toimintaan tutustui paremmin./5/
23 Toiminta Demodot-koodi aloittaa ohjelmalla nolla, joka toimii myös nollaus tai uudelleenalustusohjelmana. Ohjelmat valitaan näppäimistölevyltä. Jokainen näppäin, paitsi nolla, tulostaa LCD-näytölle, mikä ohjelma on valittuna. Ohjelmat risuaita, tähti ja D, eivät tulosta mitään pistenäytölle. Kuviossa 22 näkyy jokaisen koodin perimmäinen olemus. Kuvio 22. Koodien perusperiaate Tässä kokoonpanossa LCD-näyttö on A-portissa. Näppäimistö käyttää koko B- portin. Portin C ensimmäisellä tavulla ohjataan pystyrivin vaihtoa näytöllä. Portti D, viimeistä bittiä lukuun ottamatta, ohjaa mitä näytössä näkyy. Koodiesimerkkinä Demodot kokoonpano, ohjelma 9: if(ohjelma == '9') { } LCD_Clear(); //LCD tyhjennys LCD_SetCursorXY(0,0); //kursorin asetus LCD_WriteString("Ohjelma 9 valit."); //satunnaisohjelma _delay_ms(100); //viive r = rand() % 10; //satunnainen kolumni a = rand() % 177; //satummainen määrä satunnaisia pisteitä PORTC = r; //syötetään luvut komponentille PORTD = a; _delay_ms(10); //viive
24 24 Ohjelma 1 tulostaa DOT-näytölle numeron kolme. Ohjelma 2 täyttää näytön pisteillä ja vilkuttaa nämä päälle ja pois. Ohjelma 3 tulostaa näytölle KT.. Ohjelma 4 sytyttää kaikki ledit pystyriveittäin vasemmalta oikealle ja toistaa. Ohjelma 5 tulostaa näytölle numeron yksi. Ohjelma 6 tulostaa näytölle numeron kaksi. Ohjelma 7 tulostaa näytölle numeron neljä. Ohjelma 8 sytyttää vuoronperään kaksi kolumnia ja kaksi riviä. Ohjelma 9 tulostaa satunnaiselle riville satunnaisen määrän pisteitä. Ohjelma A tulostaa näytölle leveän A kirjaimen, ja aloittaa aliohjelman josta poistuu pois näppäimellä nolla. Aliohjelma tulostaa pistenäytölle viimeksi painetun näppäimen näköisyyden. Ohjelma B tulostaa näytölle takakenoviivan ja kaksi pystysuoraa viivaa, yhden katkonaisen ja yhden kokonaisen. Ohjelma C tulostaa näytölle luvun 12. (Kuvio 23.) Kuvio 23. ATMEGA32-koodilla Demodot. Kokoonpanossa Sseg2 88-kytkinlevy käyttäisi koko C-portin, mutta ATMEGA 88-mikrokontrollerissa C-portti on vain 7 bittinen ja yksi biteistä on varattu. Tällä hetkellä kokoonpanon käytössä on vain bitit 0, 1, 3, 4 ja 5. Portti D ohjaa päällä olevia näytön osia. Portti B sytyttää näihin osiin segmentit. Koodiesimerkkinä Sseg2 88-kokoonpano, ohjelma S4: case 4: if(n>9) { //kellotus ohjelma //ensimmäisen kymmenet
25 25 n=0; m++; } if(m>9) //toisen kymmenet { m=0; l++; } if(l>9) //kolmannen kymmenet { l=0; k++; } if(k>9) //99.99 jälkeinen nollaus { k=0; } PORTD = 0xE0; //näytön osion valinta PORTB = Ssegnum(k); //kutsutaan funktiota joka wait(5); //tulostaa segmentit numeron mukaan PORTD = 0xD0; PORTB = Ssegnum(10+l); //yli kymmenen lisää perään pilkun wait(5); //viive PORTD = 0xB0; PORTB = Ssegnum(m); wait(5); PORTD = 0x70; PORTB = Ssegnum(n); if(toggle==0) //pysäyttäjä { n++; } wait(40); PORTD = 0xF0; //valojen tasoittaja break; //ohjelman loppu Koodi Sseg2 88 aloittaessaan laite odottaa syötettä kytkinlevyltä. S0 näppäin tyhjää näytön ja uudelleen alustaa laitteen. S1-näppäin välkyttää kahta nollaa vuoronperään oikealla ja vasemmalla. S3-näppäin tulostaa näytölle välkkyvän luvun. S4-näppäin lähtee juoksuttamaan numeroita , pysähtyy uudelleen painalluksesta. Laskenta jatkuu samasta kohtaa, ellei ohjelmaa vaihda. S5- näppäin tulostaa näytölle luvun 5689, aloittaen numerosta viisi ja jatkaen oikealle. (Kuvio 24.)
26 26 Kuvio 24. Mini88 koodilla Sseg2 88. Kokoonpanossa PWM 88-kytkinlevy käyttää koko D-portin. Portista B on kytketty bitti nolla ledille. Bitti yksi on kytketty RGB-ledin vihreään tuloon. Bitti kaksi on kytketty RGB-ledin punaiseen tuloon. Bitti kolme on kytketty moottorille. Bitti neljä on kytketty RGB-ledin siniseen tuloon. Koodiesimerkkinä PWM 88-kokoonpano, ohjelma S1: switch(prog) { case 1: //80% vihreä //WGM on wave generator mode //COM on compare on match //CS on clock select //eli tässä on nopea pulssimodulaatio ei esiskaalausta if(i==0) { TCCR2A = _BV(WGM20) _BV(WGM21) _BV(COM2A1); TCCR2B = _BV(CS20); i++; } OCR2A = 204; //255*80%=204 PORTB = 2; //vihreä valo RGBled break; //ohjelman loppu Koodi PWM 88 odottaa alustettaessa syötettä kykinlevyltä. S0 sammuttaa moottorin ja sytyttää ledin. S1 käynnistää moottorin 80 % tehosta pulssimodulaatiolla ja sytyttää vihreän valon RGB-lediin. S2 käynnistää moottorin 70 % tehosta ja sytyttää punaisen valon RGB-lediin. S3 käynnistää moottorin 30 % tehosta ja sytyttää sinisen valon RGB-lediin. Tuuletin ei jaksa itse aloittaa liikettä tässä ohjelmassa, mutta pyörii jos toisella ohjelmalla on laitettu liike alulle. S4 käynnistää moottorin
27 27 50 % tehosta ja sytyttää punaisen valon RGB-lediin. S5 käynnistää moottorin maksimi nopeudella ja sytyttää vihreän valon RGB-lediin. S6 käynnistää moottorin 8 % tehokkuudella ja sytyttää ledin päälle. Jokainen uusi painallus lisää 4 % tehoa, jos ohjelmaa ei välillä vaihdeta, led valoa vaihdetaan tehon mukaan. S7 sammuttaa moottorin ja sytyttää ledit vuoron perään. (Kuvio 25.) Kuvio 25. Mini88 koodilla PWM 88. Kokoonpanossa Askel 88 kytkin levy käyttää koko D-portin. Led moduuli käyttää C-portista niin paljon kuin pystyy. Askelmoottorilevy käyttää ilmeisesti vain ensimmäisen tavun B-portista. Koodiesimerkkinä Askel 88-kokoonpano, ohjelma S3: case 3: //myötäpäivään nopeampi PORTB = stepl[j]; //syöte askelmoottorille PORTC = stepl[j]; //syöte led-moduulille j++; //seuraava askelluskuvio if(j>4)j=0; //uudelleenaloitus wait(100); //viive break; //ohjelman loppu Koodi Askel 88 odottaa alustettaessa syötettä kykin levyltä. Jokainen ohjelma näyttää ledeillä mitä moottorille lähetetään. S0 sammuttaa ledit ja pysäyttää toiminnan. S1 moottori pyörii myötäpäivään kohtalaista vauhtia. S2 moottori pyörii vastapäivään kohtalaista vauhtia. S3 moottori pyörii myötäpäivään nopeaa vauhtia. S4 moottori pyörii vastapäivään nopeaa vauhtia. S5 moottorille lähetetään vasemmalle siirrettävää bittikuviota S6 moottorille lähetetään vasemmal-
28 28 le siirrettävää bittikuviota S7 moottori pyörii vastapäivään hidasta vauhtia. (Kuvio 26.) Kuvio 26. Mini88 koodilla Askel 88.
29 29 4 TESTAUS AVRISP mk2 ei tue Atmel Studion debug ominaisuuksia. Sen sijaan suurin osa työtä on ollut koodin muuttamista ja uudelleen ajamista mikrokontrollerille. Muutosten tarkkailu ja muisti ovat olleet avainasemassa suurimman osan työn tekemisestä. Varsinkin viiveiden lisäämisessä kokeilu on ollut ainoa tapa saada asiat toimimaan. Toinen testauksessa merkittävä käsite on ollut Usart eli Universal Asynchronous Receiver/Transmitter eli suomeksi sarjaliikenne, jota käytetään usein asynkronisessa sarjamuotoisessa tietoliikenteessä tietokoneen ja oheislaitteen välillä. Tässä työssä käytettiin kuitenkin ainoastaan piiriltä lähetystä ja luettiin ulostulo ohjelmalla nimeltä PuTTY. PuTTY on telnet- ja ssh-asiakasohjelma ja pääteemulaattori. Tässä työssä PuTTYä käytettiin sarjaliikenne konsolina.
30 30 5 YHTEENVETO Opinnäytetyönä toteutettu ATMEGA32/88-demolaitekoodi vastasi suurimmissa määrin odotuksia. Tätä raporttia kirjoittaessa kaikki neljä totutusta on tehty niin pitkälle kuin ne tässä viedään. Nykyisillä laitteilla olisi kuitenkin huono idea jättää demolaite ilman valvontaa ulkopuolisten armoille. Esimerkkinä tälle on kytkinlevyssä esiintyvät jumpperit, eli pienet oikosulkunastat, joita levy tarvitsee toimiakseen. Toivoakseni toimeksiantaja löytää tavan järjestää demolaitteen esille. Työ oli sekä tuttua että haastavaa, koska ympäristö oli tuttu, mutta ohjelmoitavat laitteet olivat lähes täysin eriävät koulussa käytetyistä komponenteista. Ainoa tuttu komponentti oli LCD näyttö jonka käyttö oli tuttua, mutta tämä työ vaati minua myös ymmärtämään komponentin toimintaa. Kaikkein haastavin komponentti työssä oli kuitenkin matriisinäppäimistö, jonka toiminta oli tämän työn alkutaipaleella täysi mysteeri. Toinen komponentti joka aiheutti hankaluuksia, oli yllättävää kyllä PWM-levy. Tällä kertaa ei alussa ollut mitään, millä täydentää piiri. Vasta kun myönsin että tämä ei toimi, oskilloskooppikuvan kanssa, toimeksiantaja huomasi mitä minulle oli unohdettu antaa.
31 31 6 LÄHTEET Elektroniset julkaisut /1/ ATMEGA32 data lehti Viitattu /2/ ATMEGA88 data lehti Viitattu /3/ Atmel Studio 6 ohjelman kotisivu Viitattu /4/ AVRISP mk2 kuvaus Viitattu /5/ Mallikoodi matriisinäppäimistöön Viitattu /6/ Seitsemän segmentin toiminta Viitattu /7/ Tietopetrin tuote 7 segmentin näyttö Viitattu /8/ Tietopetrin tuote askelmoottori Viitattu /9/ Tietopetrin tuote AVR Universal Board Viitattu /10/ Tietopetrin tuote kytkinlevy Viitattu /11/ Tietopetrin tuote LCD-näyttö Viitattu /12/ Tietopetrin tuote led-moduuli Viitattu /13/ Tietopetrin tuote Mini88 alusta Viitattu /14/ Tietopetrin tuote näppäimistölevy Viitattu
32 32 /15/ Tietopetrin tuote pistenäyttö Viitattu /16/ Tietopetrin tuote PWM-levy Viitattu
Tehtävä 5. ECIO dataloggeri lämpötila-anturilla
Tehtävä 5. ECIO dataloggeri lämpötila-anturilla Tehtävänä on rakentaa lämpötilamittausjärjestelmän prototyyppi verolevylle ja yhdistää se tietokoneen sarjaterminaaliohjelmaan. Käytettävissä on mikro-ohjaimen
OMNIA OPINNÄYTETYÖ AMMATTIOPISTO. Diginoppa ICTP09SLG OMNIAN AMMATTIOPISTO
OMNIA AMMATTIOPISTO OPINNÄYTETYÖ Diginoppa ICTP09SLG - 2012 OMNIAN AMMATTIOPISTO KOULUTUSALA Tieto- ja tietoliikennetekniikka OPISKELIJA Hannu Junno OHJAAJA Jari Laurila VUOSI 2012 2 TIIVISTELMÄ Opinnäytetyöni
Mikrokontrollerit. Mikrokontrolleri
Mikrokontrollerit S-108.2010 Elektroniset mittaukset 18.2.2008 Mikrokontrolleri integrointi säästää tilaa piirilevyllä usein ratkaisu helpompi ja nopeampi toteuttaa ohjelmallisesti prosessori 4-64 bittinen
Julkaisun laji Opinnäytetyö. Sivumäärä 43
OPINNÄYTETYÖN KUVAILULEHTI Tekijä(t) SUKUNIMI, Etunimi ISOVIITA, Ilari LEHTONEN, Joni PELTOKANGAS, Johanna Työn nimi Julkaisun laji Opinnäytetyö Sivumäärä 43 Luottamuksellisuus ( ) saakka Päivämäärä 12.08.2010
P I C A X E O H J E L M O I N T I
PICAXE OHJELMOINTI Tämä materiaalipaketti on tehty PICAXE piireihin perustuvaa elektroniikan opetusta varten. Tarkoituksena on opettaa ohjelmoitavan mikropiirin käyttöä erilaisissa sovellutuksissa. Lisää
DIGITAALINEN AJASTIN ULKOKÄYTTÖÖN
KÄYTTÖ-OHJE DIGITAALINEN AJASTIN ULKOKÄYTTÖÖN E135008 A. Toiminnot 1. Digitaalisen ajastimen ohjelmointi on yhtä helppoa kuin mekaanisen ajastimen antaen samalla digitaalisen ajastimen tarkkuuden. 2. Tällä
Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO
Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO Opinnäytetyö KESKI-POHJANMAAN AMMATTIKORKEAKOULU Puutekniikan koulutusohjelma Toukokuu 2009 TIIVISTELMÄ OPINNÄYTETYÖSTÄ Yksikkö Aika Ylivieska
OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012
OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012 Luento 6: Tiedon esittäminen tietokoneessa, osa 1 Tekijät: Antti Virtanen, Timo Lehtonen, Matti Kujala, Kirsti Ala-Mutka, Petri M. Gerdt et al. Luennon
S14 09 Sisäpeltorobotti AS Automaatio ja systeemitekniikan projektityöt. Antti Kulpakko, Mikko Ikonen
S14 09 Sisäpeltorobotti AS 0.3200 Automaatio ja systeemitekniikan projektityöt Antti Kulpakko, Mikko Ikonen 1. Projektin tavoitteet Projektin tavoitteena on toteuttaa ohjelmisto sisäpeltorobottiin seuraavien
Digitaalitekniikka (piirit), kertaustehtäviä: Vastaukset
Digitaalitekniikka (piirit), kertaustehtäviä: Vastaukset Metropolia/AK. Mealyn koneessa on kolme tulosignaalia, joista yksi vaikuttaa pelkästään lähtösignaaleihin, yksi pelkästään koneen tilaan ja yksi
Arduino. Kimmo Silvonen (X)
Arduino Kimmo Silvonen (X) Arduino, toimiva oma versio (osat Pajalla) ATmega 328P IC DIL-kotelossa (DIP) päältä katsottuna, Arduinon pinnit +5 V TX RX DTR FT232 10k 22p 22p Reset 1 RX D0 TX D1 D2 PWM D3
SATAKUNNAN AMMATTIKORKEAKOULU Sähkötekniikan koulutusohjelma. M-koodit Omron servojen ohjauksessa. Luovutettu. Hyväksytty
SATAKUNNAN AMMATTIKORKEAKOULU Sähkötekniikan koulutusohjelma M-koodit Omron servojen ohjauksessa Tekijän nimi Ryhmätunnus Syventävä työ Jouni Lamminen EE01POS 4. vuosikurssin syventävä Luovutettu Hyväksytty
AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja
AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja s2009 1. D-kiikku Toteuta DE2:lla synkroninen laskukone, jossa lasketaan kaksi nelibittistä lukua yhteen. Tulos esitetään ledeillä vasta,
Adafruit Circuit Playground Express
Adafruit Circuit Playground Express Ulkoiset LEDit ja moottorit Sini Riikonen, sini.riikonen@helsinki.fi 6.6.2019 Adafruit Circuit Playground Express / Ledit ja moottorit / 2019 Innokas 1 Yleistä Circuit
Datatähti 2019 loppu
Datatähti 2019 loppu task type time limit memory limit A Summa standard 1.00 s 512 MB B Bittijono standard 1.00 s 512 MB C Auringonlasku standard 1.00 s 512 MB D Binääripuu standard 1.00 s 512 MB E Funktio
Harjoitustyö - Mikroprosessorit Liikennevalot
Saku Chydenius tammikuu 2004 Asko Ikävalko Harjoitustyö - Mikroprosessorit Liikennevalot Työn valvoja: Kimmo Saurén RAPORTTI 1(8) 1. Alkuperäinen tehtävänanto 2. Määritelmä valojen vaihtumiselle Muodosta
A15 - Inertial Measurement Unit
AS-0.3200 Automaatio- ja systeemitekniikan projektityöt (6op) 16.09.2008-19.12.2008 A15 - Inertial Measurement Unit Mikko Virkkilä Aki Juutistenaho Ohjaaja: Tapio
LUMA SUOMI -kehittämisohjelma LUMA FINLAND -utvecklingsprogram LUMA FINLAND development programme Ohjelmointia Arduinolla
Ohjelmointia Arduinolla Kyösti Blinnikka, Olarin koulu ja lukio LUMA-keskus Aalto Mikä on Arduino? Open Source Electronics Prototyping Platform Arduino on avoimeen laitteistoon ja ohjelmistoon perustuva
Hyvä Webaston käyttäjä! Tämä käyttöohje on tarkoitettu valtuutetun asentamon antaman käytönopastuksen
Käyttö- ja huolto-ohje T80 advanced FIN Yleistä Hyvä Webaston käyttäjä! Tämä käyttöohje on tarkoitettu valtuutetun asentamon antaman käytönopastuksen tueksi.. Tässä käyttöohjeessa haluamme vielä luoda
AS-0.3200 Automaatio- ja systeemitekniikan projektityöt
Teknillinen korkeakoulu Sähkö- ja tietoliikennetekniikan osasto AS-0.3200 Automaatio- ja systeemitekniikan projektityöt CeilBot 2DoF camera actuator Antti Riksman Sisältö 1 CeilBot 3 2 Projektin tämän
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
Ohjeistus Auditorion laitteiden käyttämiseksi.
Ohjeistus Auditorion laitteiden käyttämiseksi. Jatkuu seuraavalla sivulla Huomioi ensimmäiseksi nämä asiat: Kuvassa näkyvissä liitinlaatikoissa tulisi olla kaikki johdot paikallaan. Mikäli jokin kuvassa
Ohjelmoijan binaarialgebra ja heksaluvut
Paavo Räisänen Ohjelmoijan binaarialgebra ja heksaluvut www.ohjelmoinaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta
ELEC-A4010 Sähköpaja Arduinon ohjelmointi. Jukka Helle
ELEC-A4010 Sähköpaja Arduinon ohjelmointi Jukka Helle Arduino UNO R3 6-20VDC 5VDC muunnin 16 MHz kideoskillaattori USB-sarjamuunnin (ATmega16U2) ATmega328 -mikro-ohjain 14 digitaalista I/O väylää 6 kpl
6.3. AVR_rauta. EEPROM-muisti 09.12.2007 pva
6.3. AVR_rauta. EEPROM-muisti 09.12.2007 pva Experience is what causes people to make new mistakes instead of old ones... - Unknown Sisältö Yleistä EEPROM-rekisterit Protoilu-ohje EEPROMmista ja Fuse-biteistä
1 Muutokset piirilevylle
1 Muutokset piirilevylle Seuraavat muutokset täytyvät olla piirilevylle tehtynä, jotta tätä käyttöohjetta voidaan käyttää. Jumppereiden JP5, JP6, JP7, sekä JP8 ja C201 väliltä puuttuvat signaalivedot on
KÄYTTÖOHJE HIRVIMATIC (2V0) 5.5.2010
1 KÄYTTÖOHJE HIRVIMATIC (2V0) 5.5.2010 NÄPPÄIMISTÖ: Ohjelman valinta Asetukset /nollaus Ajastimen valinta (Ei vielä käytössä) Ohjaus oikealle / lisää asetusta / ajastimen käynnistys Seis / valinnan vahvistus
Salasanan vaihto uuteen / How to change password
Salasanan vaihto uuteen / How to change password Sisällys Salasanakäytäntö / Password policy... 2 Salasanan vaihto verkkosivulla / Change password on website... 3 Salasanan vaihto matkapuhelimella / Change
Ohjelmoi Arduino Grovella
Ohjelmoi Arduino Grovella Tomi Hukkalainen ja Kati Sormunen 25.9.2016 2016 Innokas 1 Tarvikkeet 25.9.2016 2016 Innokas 2 Tarvikkeet Näissä harjoituksissa käytetään Seeduino Lotus piirilevyä, jossa käytetään
Käyttö- ja huolto-ohje Telestart T91 Yleistä
Telestart T91 Käyttö- ja huolto-ohje Telestart T91 FI Yleistä Hyvä Webasto-asiakkaamme! Olemme iloisia, että valintanne on kohdistunut tähän Webasto-tuotteeseen. Oletamme, että laitteen asentanut palvelupiste
OHJE D C.docx
1(5) KPAD Käyttöjännite 12-24 VAC tai DC liitetään liittimiin ALIM+ ja ALIM-. Mallista riippuen laitteessa on 2 tai neljä relelähtöä, liittimissä lukee C1,, eli Common ykkönen, normaalisti auki ja avautuva.
CEM DT-3353 Pihtimittari
CEM DT-3353 Pihtimittari Sivu 1/5 CEM DT-3353 Pihtimittari Ongelma Mittarin ohjelmisto ilmoittaa NO DATA vaikka tiedonsiirtokaapeli on kytketty tietokoneen ja mittarin välille, mittarissa on virta päällä
TTY TKT-1110 Mikroprosessorit TKT. HEW-ohjeet ver 1.0
Johdanto Nämä ohjeet opastavat sinut tekemään kurssiin TKT-1110 Mikroprosessorit liittyvät harjoitustyöt. Ohjeet sisältävät kolme osiota. Ensimmäisenä esitellään projektin luonti, mikä tehdään ainoastaan
Toimintaperiaate: 2. Kytke virta vastaanottimeen käyttämällä virtalaitetta, jossa on merkintä "horsealarm receiver only".
Toimintaperiaate: 1. Kytke virta toistimeen käyttämällä virtalaitetta, jossa on merkintä "RadioLink only". Kun virta on kytketty toistimeen, laitteen vihreä valo välähtää. 2. Kytke virta vastaanottimeen
ASM-kaavio: reset. b c d e f g. 00 abcdef. naytto1. clk. 01 bc. reset. 10 a2. abdeg. 11 a3. abcdg
Digitaalitekniikka (piirit) Metropolia / AKo Pikku nnitteluharjoitus: Suunnitellaan sekvenssipiiri, jolla saadaan numerot juoksemaan seitsensegmenttinäytöllä: VHDL-koodin generointi ASM-kaavioista Tässä
Näppäimistö CT 1000. Käyttäjäopas. Global Safety & Security Solutions Oy E-mail: info@globalsafety.fi. CT1000v.5
Näppäimistö CT 1000 Käyttäjäopas CT1000v.5 Global Safety & Security Solutions Oy E-mail: info@globalsafety.fi Sivu 2 CT 1000 Rajoitukset Kaikki oikeudet tähän ohjekirjaan ovat Global Safety & Security
OHJELMOINTILAITE 10/50
OHJELMOINTILAITE 10/50 1 2 3 4 5 6 17 16 15 7 14 8 13 12 11 10 9 1) Näyttö 1 taivutuksen nro. 2) Näyttö 2 kulma 3) LED merkkivalo MANUAALI 4) OFF-SET. 5) Taivutussuunta. 6) Palautus 7) Käynnistys ja resetointi.
Liikennevalot. Arduino toimii laitteen aivoina. Arduinokortti on kuin pieni tietokone, johon voit ohjelmoida toimintoja.
Liikennevalot Laite koostuu Arduinokortista ja koekytkentälevystä. Liikennevalon toiminnat ohjelmoidaan Arduinolle. Ledit ja muut komponentit asetetaan koekytkentälevylle. Arduino toimii laitteen aivoina.
ELEC-C5070 Elektroniikkapaja (5 op)
(5 op) Luento 3, osa 2 PSoC (yksityiskohtaisempi esittely / JM) Alkuluennolta: Programmable System-on-Chip (PSoC) Ohjelmoitava järjestelmä vain yhdellä mikropiirillä PSoC 1,3,4,5LP eri suoritustasoja Tietoa:
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne
Maha Eurosystem jarrulaskentaohjelman asennusohje versio 7.20.026
2012 Tecalemit Oy Seppo Koskivuori Maha Eurosystem jarrulaskentaohjelman asennusohje versio 7.20.026 Vaatimukset: - tietokone (PC), jossa vapaa USB portti - käyttöjärjestelmä Windows XP, Vista tai Windows
Setup Utility (Tietokoneen asetukset) -apuohjelma. Oppaan osanumero:
Setup Utility (Tietokoneen asetukset) -apuohjelma Oppaan osanumero: 389194-352 Joulukuu 2005 Sisällysluettelo 1 Setup Utility (Tietokoneen asetukset) -apuohjelman käyttö 2 Setup Utility (Tietokoneen asetukset)
ECIO käyttöohje. Matrix Multimedia Limited. JJJ-Automaatio Oy. Keijo Salonen Jyväskylän ammattiopisto
ECIO käyttöohje Matrix Multimedia Limited JJJ-Automaatio Oy Keijo Salonen Jyväskylän ammattiopisto ECIO28 Kä yttö öhje Ohje on sellaisenaan sovellettavissa myös ECIO40 mikro-ohjaimelle. Keijo Salonen p.
Käyttöohje EMT757 / 3567 Ohjelmoitava digitaalinen kellokytkin
Käyttöohje EMT757 / 3567 Ohjelmoitava digitaalinen kellokytkin A. Toiminnot 1. Käytetään päällä/pois -aikojen asettamiseen, säätämään erilaisia aikajaksoja virran päälläololle. Toimii erilaisten laitteiden
FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL
FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...
Arduino. Kimmo Silvonen (X)
Arduino Kimmo Silvonen (X) Arduinon ohjelmointiympäristön installointi Teensyn (2.0) installointi Arduino IDE:n alle IDE = Integrated Development Environment Arduino UNO, ym.: https://www.arduino.cc/en/guide/windows
,&20,&+7. Modifiointi V0.1. by OH2LFV
,&20,&+7 Modifiointi V0.1 by OH2LFV ,&+702',),2,17, Irrota radiosta akku ja antenni (kuva: ICH16T_iso) Irrota takakannesta viisi (5) ruuvia (kuva: ICH16T_taka) Poista takakansi nostamalla sitä ylöspäin
Versio: FIN Langaton painonappi. Käyttäjän käsikirja
Versio: FIN180524 Langaton painonappi Käyttäjän käsikirja SISÄLLYS 1 Käyttöönotto...3 1.1 Käynnistys/Sammutus...3 1.2 Ajanottokanava...3 1.2.1 Kanavan asettaminen C0:ksi (lähtö)... 3 1.2.2 Kanavan asettaminen
1. Yleistä. 2. Ominaisuudet. 3. Liitännät
1. Yleistä SerIO on mittaus ja ohjaustehtäviin tarkoitettu prosessorikortti. Se voi ohjemistosta riippuen toimia itsenäisenä yksikkönä tai tietokoneen ohjaamana. Jälkimmäisessä tapauksessa mittaus ja ohjauskomennot
Ohjelmointi 1. Kumppanit
Ohjelmointi 1 Kumppanit November 20, 2012 2 Contents 1 Mitä ohjelmointi on 7 2 Ensimmäinen C#-ohjelma 9 2.1 Ohjelman kirjoittaminen......................... 9 A Liite 11 3 4 CONTENTS Esipuhe Esipuhe 5
Taitaja2005/Elektroniikka. 1) Resistanssien sarjakytkentä kuormittaa a) enemmän b) vähemmän c) yhtä paljon sähkölähdettä kuin niiden rinnankytkentä
1) Resistanssien sarjakytkentä kuormittaa a) enemmän b) vähemmän c) yhtä paljon sähkölähdettä kuin niiden rinnankytkentä 2) Kahdesta rinnankytketystä sähkölähteestä a) kuormittuu enemmän se, kummalla on
Scratch ohjeita. Perusteet
Perusteet Scratch ohjeita Scratch on graafinen ohjelmointiympäristö koodauksen opetteluun. Se soveltuu hyvin alakouluista yläkouluunkin asti, sillä Scratchin käyttömahdollisuudet ovat monipuoliset. Scratch
Verilogvs. VHDL. Janne Koljonen University of Vaasa
Verilogvs. VHDL Janne Koljonen University of Vaasa Sälää Huom! Verilogistauseita versioita: 1995, 2001 ja 2005. Kommentit Javasta tutut // ja /* */ ovat kommenttimerkkejä. Case sensitivity Isot ja pienet
BL40A1810 Mikroprosessorit, harjoitus 1
BL40A1810 Mikroprosessorit, harjoitus 1 Käytettävä laitteisto Kurssin opetuslaitteistona käytetään Legon MINDSTORMS laitteita, jonka pääosia ovat ohjelmoitava NXT-yksikkö (Atmel ARM7, 64k RAM, 256k Flash),
Eye Pal Solo. Käyttöohje
Eye Pal Solo Käyttöohje 1 Eye Pal Solon käyttöönotto Eye Pal Solon pakkauksessa tulee kolme osaa: 1. Peruslaite, joka toimii varsinaisena lukijana ja jonka etureunassa on laitteen ohjainpainikkeet. 2.
Luento 1 (verkkoluento 1) Tietokonejärjestelmä
Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä This image cannot currently be displayed.
Luento 1 Tietokonejärjestelmän rakenne
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
kokoaminen 1. Ota ASPER ajanottolaitteisto 1- kentän laatikosta ja siirrä kisakentälle 2. Kokoa yleisönäyttö sopivaa paikkaan ja vedä sille sähkö
pikaopas ASPER ajanoton kokoaminen 1. Ota ASPER ajanottolaitteisto 1- kentän laatikosta ja siirrä kisakentälle 2. Kokoa yleisönäyttö sopivaa paikkaan ja vedä sille sähkö Sähköjenkytkentästä oma kohta.
Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone
ELEC-C5070 Elektroniikkapaja (5 op)
(5 op) Luento 3, osa 2 PSoC (yksityiskohtaisempi esittely) 1. luennolta: Programmable System-on-Chip (PSoC) Ohjelmoitava järjestelmä vain yhdellä mikropiirillä PSoC 1,3,4,5 eri suoritustasoja Tietoa: www.cypress.com
HF1 laitteen käyttöönotto ja asetukset
HF1 laitteen käyttöönotto ja asetukset Laitteen kytkentä 1. Kytke laitteeseen käyttöjännite 12V. Sulakkeelle menevään punaiseen johtoon kytketään +12V. Normaalissa odotustilassa laitteen virrankulutus
Mikro-ohjain µc harjoitukset - yleisohje
Mikro-ohjain µc harjoitukset - yleisohje Keijo Salonen 20. marraskuuta 2016 Sisältö 1 Esittely 2 2 Arduino UNO R3 mikro-ohjain kortti 2 3 Koekytkentälevy 5 4 Elektroniikan komponentit 7 5 Työkalut ja muut
TIETOKONETEKNIIKAN LABORAATIOT V2.0 VHDL ohjelmoinnin perusteet
TIETOKONETEKNIIKAN LABORAATIOT V2.0 VHDL ohjelmoinnin perusteet Työ: VHDL ohjelmoinnin perusteet & Quartus II ohjelmiston käyttöönotto Tehnyt: Kari Huovinen Pvm: 26.4.2006 Lisäyksiä: Harri Honkanen 13.09.2007
Laurea-ammattikorkeakoulu. CRM-järjestelmäratkaisun toteutus - Case Firma
Laurea-ammattikorkeakoulu CRM-järjestelmäratkaisun toteutus - Case Firma Laurea-ammattikorkeakoulu Tiivistelmä CRM - järjestelmäratkaisun toteutus Case Firma Laurea University of Applied Sciences Abstract
TAITAJA 2007 ELEKTRONIIKKAFINAALI 31.01-02.02.07 KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro:
KILPAILIJAN TEHTÄVÄT Kilpailijan nimi / Nro: Tehtävän laatinut: Hannu Laurikainen, Deltabit Oy Kilpailutehtävä Kilpailijalle annetaan tehtävässä tarvittavat ohjelmakoodit. Tämä ohjelma on tehty laitteen
MUISTIPIIRIT H. Honkanen
MUISTIPIIRIT H. Honkanen Puolijohdemuistit voidaan jaotella käyttötarkoituksensa mukaisesti: Puolijohdemuistit Luku- ja kirjoitusmuistit RAM, Random Access Memory - Käytetään ohjelman suorituksen aikaisen
Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus
Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän e eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokone- järjestelmäj ä Käyttäjä Tietokonelaitteisto Oheislaitteet
Tietokonearkkitehtuuri 2 TKT-3201 (5 op)
Tietokonearkkitehtuuri 2 (5 op) syksyllä 2012 periodit I & II (viikot 35-41 & 43-49) luennot tiistaisin klo 14-16 (periodi I: sali S4, periodi II: sali TB109) Kurssin tavoite Käydään läpi tietokoneen toimintaa
Taitaja2008, Elektroniikkalajin semifinaali 24.1.2008
Taitaja2008, Elektroniikkalajin semifinaali 24.1.2008 Kilpailijan nimi: 1) Oheisen kytkennän kokonaisresistanssi on n. 33 Ohm 150 Ohm a) 70 Ohmia b) 100 Ohmia c) 120 Ohmia 120 Ohm 2) Oheisen kytkennän
Adafruit Circuit Playground Express
Adafruit Circuit Playground Express Ohjelmointi Microsoft MakeCode:lla Sini Riikonen, sini.riikonen@helsinki.fi 4.6.2019 Adafruit Circuit Playground Express / MakeCode / 2019 Innokas 1 Microsoft MakeCode
Luento 1 Tietokonejärjestelmän rakenne
Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Luento
BaseMidlet. KÄYTTÖOHJE v. 1.00
KÄYTTÖOHJE v. 1.00 KUVAUS BaseMidlet on matkapuhelimessa toimiva sovellus jolla voi etäkäyttää Tiimi 7000 sarjan säätimiä. Copyright Team-Control Oy, oikeudet muutoksiin pidätetään. TiiMi on Team-Control
Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä?
Ongelma 1: Onko datassa tai informaatiossa päällekkäisyyttä? 2012-2013 Lasse Lensu 2 Ongelma 2: Voidaanko dataa tai informaatiota tallettaa tiiviimpään tilaan koodaamalla se uudelleen? 2012-2013 Lasse
Yleishimmentimellä varustetun, uppoasennettavan WMR-252-vastaanottimen käyttöopas
Yleishimmentimellä varustetun, uppoasennettavan WMR-252-vastaanottimen käyttöopas Ainutlaatuinen, himmennystoiminnolla varustettu langaton yleisvastaanotin esimerkiksi himmennettävien 230 voltin LEDvalojen,
Digitaalitekniikan matematiikka Harjoitustehtäviä
arjoitustehtäviä Sivu 6 6.3.2 e arjoitustehtäviä uku 3 ytkentäfunktiot ja perusporttipiirit 3. äytäväkytkin on järjestelmä jossa käytävän kummassakin päässä on kytkin ja käytävän keskellä lamppu. amppu
Tällä ohjelmoitavalla laitteella saat hälytyksen, mikäli lämpötila nousee liian korkeaksi.
Lämpötilahälytin Tällä ohjelmoitavalla laitteella saat hälytyksen, mikäli lämpötila nousee liian korkeaksi. Laite koostuu Arduinokortista ja koekytkentälevystä. Hälyttimen toiminnat ohjelmoidaan Arduinolle.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann
S14 09 Sisäpeltorobotti AS Automaatio ja systeemitekniikan projektityöt. Antti Kulpakko, Mikko Ikonen
S14 09 Sisäpeltorobotti AS 0.3200 Automaatio ja systeemitekniikan projektityöt Antti Kulpakko, Mikko Ikonen 1. Projektin tavoitteet Projektin tavoitteena on toteuttaa ohjelmisto sisäpeltorobottiin seuraavien
Kieliteknologian ATK-ympäristö Kolmas luento
Kieliteknologian ATK-ympäristö Kolmas luento Miikka Silfverberg Nykykielten laitos 20. syyskuuta 2010 Miikka Silfverberg (Nykykielten laitos) Kieliteknologian ATK-ympäristö: Luento 3 20. syyskuuta 2010
Tietotekniikan valintakoe
Jyväskylän yliopisto Tietotekniikan laitos Tietotekniikan valintakoe 2..22 Vastaa kahteen seuraavista kolmesta tehtävästä. Kukin tehtävä arvostellaan kokonaislukuasteikolla - 25. Jos vastaat useampaan
S SÄHKÖTEKNIIKKA JA ELEKTRONIIKKA
S-55.00 SÄHKÖTKNKKA JA LKTONKKA. välikoe 3.0.2006. Saat vastata vain neljään tehtävään!. Laske jännite U. = =4Ω, 3 =2Ω, = =2V, J =2A, J 2 =3A + J 2 + J 3 2. Kondensaattori on aluksi varautunut jännitteeseen
Peltorobotin akselimoduulin kontrolleri
Peltorobotin akselimoduulin kontrolleri Automaatio- ja systeemitekniikan projektityöt B.Sc. Joni Rannisto (Mech.) Janne Hafrén (Mech.) Matti Koskinen (Mech.) Esitelmän rakenne 1. Tehtävänanto ja vaatimukset
////// VENETIETO.FI \\\\\\ //// Autopilotti 2014 \\\\ #include <EEPROM.h> #include <SoftwareSerial.h> SoftwareSerial gps(10, 0); // RX, TX -pinnit
////// VENETIETO.FI \\\\\\ //// Autopilotti 2014 \\\\ #include #include SoftwareSerial gps(10, 0); // RX, TX -pinnit const int buttonpinset = 2; // painonäppäimen pinni const
Kiertokysely. Sulautetut järjestelmät Luku 2 Sivu 1 (??)
Sulautetut järjestelmät Luku 2 Sivu 1 (??) Kiertokysely Perinteiset ohjelmointikielet kuten C tukevat hyvin sekventiaalista ohjelmointia, jossa herätteisiin reagointi on helppoa toteuttaa pollauksella
Kontrollerin tehonsäätö
Kontrollerin tehonsäätö Sulautetut järjestelmät ovat monesti akku- tai paristokäyttöisiä ja tällöin myös mikro-ohjaimen virrankulutuksella on suuri merkitys laitteen käytettävyydelle. Virrankulutuksella
Paavo Räisänen. Ohjelmoijan binaarialgebra ja heksaluvut. www.ohjelmoimaan.net
Paavo Räisänen Ohjelmoijan binaarialgebra ja heksaluvut www.ohjelmoimaan.net Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei kaupallisissa tarkoituksissa. Kuitenkaan omille nettisivuille opasta
3 9-VUOTIAIDEN LASTEN SUORIUTUMINEN BOSTONIN NIMENTÄTESTISTÄ
Puhe ja kieli, 27:4, 141 147 (2007) 3 9-VUOTIAIDEN LASTEN SUORIUTUMINEN BOSTONIN NIMENTÄTESTISTÄ Soile Loukusa, Oulun yliopisto, suomen kielen, informaatiotutkimuksen ja logopedian laitos & University
1 YLEISTÄ. Taitaja2002, Imatra Teollisuuselektroniikkatyö Protorakentelu 1.1 PROJEKTIN TARKOITUS
Taitaja2002, Imatra Teollisuuselektroniikkatyö Protorakentelu 1 YLEISTÄ 1.1 PROJEKTIN TARKOITUS Tämä projekti on mikrokontrollerilla toteutettu lämpötilan seuranta kortti. Kortti kerää lämpöantureilta
Itseasennusohje. Elisa ADSL. M1122-verkkopääte ADSL
Itseasennusohje M1122-verkkopääte 1 (6) Verkkopäätteen sisältö: M1122 -verkkopääte Virtajohto Ethernet- suorakaapeli Linjajohto puhelinpistokkeeseen Konfaukseen tarvittava muunnin suorakaapelista COM1-porttiin
7.3. Oheisrautaa. DS1820 30.10.2007
7.3. Oheisrautaa. DS1820 30.10.2007 Miksi eteenpäin pyrkivällä insinööriopettajalla rehtoriksi tullessaan, on aina päässään paljon muutakin kuin järkeä? - Mr Maple Sisältö Yleistä 1-Wire-väylän lyhyt esittely
Viivakoodin viiteopas
Viivakoodin viiteopas Versio 0 FIN 1 Johdanto 1 Yleiskuvaus 1 1 Tämä opas sisältää tietoja viivakooditulostuksesta, joka toimii suoraan Brotherin tulostimeen lähetettyjen komentojen avulla. Yhteensopivat
TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?
Miksi moniprosessorijärjestelmä? Laskentaa voidaan hajauttaa useammille prosessoreille nopeuden, modulaarisuuden ja luotettavuuden vaatimuksesta tai hajauttaminen voi helpottaa ohjelmointia. Voi olla järkevää
Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö
Matopeli C#:lla Aram Abdulla Hassan Ammattiopisto Tavastia Opinnäytetyö Syksy 2014 1 Sisällysluettelo 1. Johdanto... 3 2. Projektin aihe: Matopeli C#:lla... 3 3. Projektissa käytetyt menetelmät ja työkalut
ELEC-A4010 Sähköpaja Arduinon väylät tutuiksi
ELEC-A4010 Sähköpaja Arduinon väylät tutuiksi Risto Järvinen 2.11.2015 Luennon sisältö Alustus: Väylät, mitä ja miksi. Alustus: logiikka-analysaattori. Yleisnäkymä Arduino/AVR:n väyliin. Väylä: I2C Väylä:
Electronisen nopeus ja matkamittarin kalibrointi laite huippunopeus muistilla.
Speedohealer V4 Electronisen nopeus ja matkamittarin kalibrointi laite huippunopeus muistilla. 1. Esipuhe Onnittelemme sinua Speedohealer laitteen oston johdosta. HealTech Electronics Ltd. on omistautunut
Ammatillinen opettajakorkeakoulu
- Ammatillinen opettajakorkeakoulu 2 JYVÄSKYLÄN KUVAILULEHTI AMMATTIKORKEAKOULU Päivämäärä 762007 Tekijä(t) Merja Hilpinen Julkaisun laji Kehittämishankeraportti Sivumäärä 65 Julkaisun kieli Suomi Luottamuksellisuus
Taitaja semifinaali 2010, Iisalmi Jääkaapin ovihälytin
Taitaja semifinaali 2010, Iisalmi Jääkaapin ovihälytin Ohjelmointitehtävänä on laatia ohjelma jääkaapin ovihälyttimelle. Hälytin toimii 3 V litium paristolla ja se sijoitetaan jääkaapin sisälle. Hälyttimen
Venekilpailu! Esteiden väistely ja hahmon ohjaaminen
Venekilpailu! Esteiden väistely ja hahmon ohjaaminen 1 Vaihe 1 Valmistelu Lataa Boat Race eli Venekisa -niminen projekti seuraavasta linkistä ja avaa Scratchissa (Online- tai Offline-versiossa): http://jumpto.cc/boat-get
Apuja ohjelmointiin» Yleisiä virheitä
Apuja ohjelmointiin» Yleisiä virheitä Ohjelmaa kirjoittaessasi saattaa Visual Studio ilmoittaa monenlaisista virheistä "punakynällä". Usein tämä johtuu vain siitä, että virheitä näytetään vaikket olisi