Tavoiteena
on langattomasti (IR välityksellä) siirtää sarjadataa Arduinolta
toiselle. Jännä nähdä, onko tämä niin simppeli, kuin tällä
hetkellä ajattelen? Lähetinpuolelle vastuksen kautta IR-LED
(KY-005) ja vastaanottoon tuo sarjan 37 vastaanotin (KY-022)
infrapuna (IR) vastaanotinelementtinä on AIXIN (aixin
opto-electrical tecnolgy co, ltd)
valmistama
IR-komponentti AX-1838HS (datasivu esim.
https://arduino-info.wikispaces.com/file/view/IR-Receiver-AX-1838HS.pdf).
Lähettävästä infrapunaLEDin tarkoista ominaisuuksista minulla ei
ole tietoa. En tiedä mm. sitä, onko lähettävän LEDin
aallonpituus sama 940nm. Ainakin tuntui, että lähettimen ja
vastaanottimen välinen etäisyys jäi varsin lyhyeksi. Yksi ongelma
oli myös se, että LEDin pinnijärjestys oli (jälleen kerran)
väärä. Onneksi AX-1838HS:stä löytyi dataa ja onneksi on tapana
ennen jännitteiden kytkemistä tarkastaa mittaamalla näiden
moduulien kytkentä.
Yllä
selvisikin jo vastaus ensimmäiseen kysymykseeni. Kuvittelin paljon
simppelimpää juttua ja toteutusta. Näistä syistä tästä
jaksosta tulikin varsin ”tynkä”, sillä tällä hetkellä en näe
ratkaisulle todellista käyttöä. IR-LEDi lähettää
sarjaliikennepulsseja ja toisessa päässä ne vastaanotetaan, mutta
lennokkien, autojen, valojen ja muiden vimpaimien kauko-ohjaukseen
aiheeseen pitäisi perehtyä kyllä paljon tarkemmin.
OHJELMA
42L (lähettävä)
/***************************************
*
Ohjelma_42L
*
17.03.2017
*
Perustutkimusta KY005 ja KY022
*
Lähettävän Arduinon ohjelma
**************************************/
//
MÄÄRITTELYT:
int
Int_Numero = 6;
const
int
Con_Viive = 500;
//
ASETUKSET:
void
setup(){
Serial.begin(9600);
}//
Asetuksen loppu
//
PÄÄLOOPPI
void
loop(){
Serial.write(Int_Numero);
delay(Con_Viive);
delay(1);
}
// Pääohjelma LOPPU
OHJELMA
42V (vastaanottava)
/***************************************
*
Ohjelma 42V
*
17.03.2017
*
Perustutkimusta KY005 ja KY022
*
Vastaanottavan Arduinon ohjelma
**************************************/
//
MÄÄRITTELYT:
int
Int_Tuleva = 0;
//
ASETUKSET:
void setup(){
Serial.begin(9600);
}//
Asetuksen loppu
//
PÄÄLOOPPI
void
loop(){
if(Serial.available()){ // Luku
sarjaportista pinni 0
Int_Tuleva
= Serial.read();
Serial.print("Tuleva :");
Serial.println(Int_Tuleva);
}//
if Sarjaportin luku loppu
delay(1);
}
// Pääohjelma LOPPU
Ei kommentteja:
Lähetä kommentti