Sarjaliikenne tietokoneen kanssa
Tähän mennessä olemme käyttäneet digitaalisia I/O-liitäntöjä Grove-kitin ja antureiden väliseen kommunikointiin. Mutta miten toimitaan monimutkaisempien laitteiden ja antureiden, kuten tietokoneesi tai kiihtyvyysanturin kanssa? Vastaus tähän kysymykseen on sarjaliikenne. Sarjaliikenne muuntaa informaation bittivirraksi, joka sitten lähetetään kahden laitteen välillä yhden tai useamman johdon kautta.
Arduinon Serial-funktiot antavat meille mahdollisuuden käyttää UART-tiedonsiirtoprotokollaa
(englanniksi ”universal asynchronous receiver/transmitter”) tietokoneen kanssa kommunikointiin.
Käyttääksemme näitä Serial-toimintoja, meidän on ensin alustettava sarjaliikenneprotokolla
funktiolla Serial.begin(9600). Arvo 9600 määrää yhteyden ”baudinopeuden”, eli sen, kuinka
nopeasti dataa lähetetään. Kun käytät Arduino-laitetta, törmäät usein begin()-funktioon
erilaisten oheislaitteiden ja viestintäprotokollien alustamiseksi.
Sarjaprotokollan käynnistämisen jälkeen voit käyttää Serial-funktioiden toimintoja, kuten
toimintoa Serial.print(), joka lähettää suluissa olevan tekstin tietokoneelle ja toimintoa
Serial.println(), joka lisää tekstin jälkeen uuden rivin. Testataan seuraavaksi tätä
toiminnallisuutta. Kirjoita alla oleva koodi uuteen sketsiin ja lähetä se levylle. Siirry sitten
sarjamonitoriin IDE:stäsi riippuen seuraavasti:
- Duino App: Napsauta oikean yläkulman Serial -näppäintä tai, kun konsoli on koodin lataamisen jälkeen auennut, siirry konsolissa Serial-välilehdelle.
- Adruino IDE: Valitse valikosta Työkalut (englanniksi Tools) > Serial Monitor tai napsauta oikeassa yläkulmassa olevaa suurennuslasikuvaketta.
Tämä avaa uuden ikkunan, jossa näkyy lähettämämme viesti.
Kokeile lähettää erilaisia viestejä käyttämällä sekä Serial.print() että Serial.println() -toimintoja.
void setup() { Serial.begin(9600); // Aloita sarjaliikenne Serial.println("Hello, World!"); // Lähetä viesti tietokoneelle // Voit lisätä uusia print() viestejä tähän}
void loop() {} // loop()-funktio pysyy tällä hetkellä tyhjänä