Beszélgető lapkák

|

Egy nagyobb projekt esetén könnyen előfordulhat, hogy egyszerre több Arduinot is össze kell kapcsolni, mutatjuk, miként lehetséges ez.

A megfelelő kábelezés után csupán annyi a teendőnk, hogy az modellek kódolásra is fordítsunk némi időt, ha ugyanis mindent gondos odafigyelés mellett kötöttünk össze egymással, modelljeinket már csak ez a lépcső választja el az egymás közötti kommunikáció végrehajtásától.

Adatküldés eszközök között

Mint minden esetben az első lépés az Arduino fejlesztői környezet megnyitása. A kódolási folyamat végrehajtásához mindenképp ügyelnünk kell arra, hogy a megfelelő eszközre töltsük fel az adatokat, ha ugyanis nem így teszünk, akkor szinte garantált a kudarc. Éppen ezért még a kábelek bekötése előtt vértezzük fel kóddal mindkét eszközünket. Első körben azt szeretnénk elérni, hogy a Master pozícióban tetszelgő modellünk képes legyen egy egyszerű üzenetet fogadni a második Arduinonktól, melyet sikeres átvitel esetén a számítógépünkön is megjelenít. A kódoláshoz hozunk létre egy új, üres projektet, és a void setup() elé gépeljük be a kábeles csatlakozás kezeléséhez szükséges #include <Wire.h> utasítást.

Ezek után a setup utasításon belül adjuk meg a Wire.begin(); startmetódust, majd a soros-monitor kimenetet is aktiváljuk a Serial.begin(9600); utasítással. Ha kész, jöhet a kódunk folyamatosan ismétlődő része, melyet a loop() függvényen belül hívunk meg. Elsőként a Wire.requestFrom(8, 6); paranccsal fogadjunk 6 byte adatot a 8-as címkével ellátott Slave eszközünktől. Ezt követően egy while-ciklusban karakterenként dolgozzuk fel az üzenetet, ehhez a while feltételében a Wire.aviable() sort adjuk meg, a ciklus belsejében pedig hozzunk létre egy char c változót, mely betűnként olvassa ki az érkező üzenetet a Wire.read(); funkcióval és írja ki a képernyőre a Serial.print(c); segítségével. Két ciklus között pedig írjuk a delay (1000); parancsot.

Ha mindezzel végeztünk, jöhet a fordítás és az első számú arduinora küldés. Amint fent a kód az első eszközön a második Arduino-t is csatlakoztathatjuk a PC-hez, és egy új felületen már kezdhetjük is a kódolását. Itt is szükségünk lesz az #include <Wire.h>-ra, majd a setup()-on belül a Wire.begin(8); utasítással megcímkézzük az eszközünket, míg a Wire.onRequest(requestEvent); kóddal regisztráljuk a Master által várt eseményt. Utolsó lépésként a loop()-ban helyezzünk el egy delay(100) utasítást, majd egy új függvényt hozunk létre void requestEvent() néven, melynek belsejében a Wire.write("hello "); kerüljön. Ha kész vagyunk a kódot töltsük is fel az eszközre, és ha a kábelezés rendben van a Master PC-s csatlakoztatását követően pedig már meg is jelenik a hello felirat az Eszközökből előhívható soros monitoron.

 

Oldalak: 1 2

Úgy tűnik, AdBlockert használsz, amivel megakadályozod a reklámok megjelenítését. Amennyiben szeretnéd támogatni a munkánkat, kérjük add hozzá az oldalt a kivételek listájához, vagy támogass minket közvetlenül! További információért kattints!

Engedélyezi, hogy a https://www.helloworldonline.hu értesítéseket küldjön Önnek a kiemelt hírekről? Az értesítések bármikor kikapcsolhatók a böngésző beállításaiban.