lauantai 18. maaliskuuta 2017

Sarjaliikenne IV

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