Tämä
jakso ei toteutunut aivan suunnitellusti. KEHITYS III piti olla
huomattavasti laajempi, mutta se siirtyy KEHITYS IV:een. Eli jatkoa
seuraa. Miksi tästä sitten tuli tällainen pieni ”välipala”.
Syy on seuraava: Kun mukana on LCD-näyttö ja inputtien
sarjaliikennettä (ja jos vielä lähdönkin sarjaliikennettä), niin
digitaliset I/O:t käyvät huolestuttavan vähiin.
Tähän
on olemassa helpotus. Myös analogiapuolta voi käyttää
binääri-tuloina ja -lähtöinä. Paitsi Arduino MICRO:ssa, minkä
alun perin valitsin tämän jakson mikrokontrolliseksi. Syy siihen
oli, että sellainen lojui tarpeettomana. Siis se ensi kerralla jaksossa
KEHITYS IV.
Pinnin
määrittely tapahtuu normaaliin tapaan (pinMode(pin, INPUT /
OUTPUT). Tässä tosin se suoritataan I/O-aliohjelmassa.
Digitalikäytössä analogiatulon A0 digitaliosoite on 14 ja
viimeisen tulon A5 osoite on 19. Koska tässä ei näy aliohjelmaa
(pitää kopioda), niin ohjelma typistyy kahteen riviin. Ohjelma
toimii siten, että painettaessa vasenta painiketta, palaa LEDi
punaisena ja painettaessa oikeaa painiketta, palaa LEDi vihreänä.
![]() |
Tässä oikeanpuoleinen
painike on ohitettu.
|
OHJELMA
36
/***************************************
*
Ohjelma 36
*
23.01.2017
*
Analogiapuolen käyttö digitaalisessti
**************************************/
//
ALIOHJELMAT
IO_AliOhjelma_v1
IO_Ali_v1.No2Tam17
/*************************************/
boolean
Fun_IO(int mode, int pinni, boolean tila){
//
ASETUKSET:
void
setup(){
Serial.begin(9600);
}//
Asetuksen loppu
//
PÄÄLOOPPI
void
loop(){
Fun_IO(2,
18, Fun_IO(1,16,0));
Fun_IO(2,
19, Fun_IO(1,17,0));
delay(1);
}
// Pääohjelma LOPPU
Ei kommentteja:
Lähetä kommentti