Kapcsolat a robot és az okostelefon között

Makeblock app

Ha Bluetooth verziójú robotunk van, akkor telepítsük fel a Makeblock alkalmazást a Play webáruházból. Töltsük az eredeti firmware-t a következőképpen:

  • Ha még nem tettük meg, telepítsük fel az mBlock alkalmazást (http://www.mblock.cc). (//Megjegyzés: az mBlock 3 a Scratch 2-re, az mBlock 5 pedig a Scratch 3-ra épül. Az írás pillanatában csak az mBlock 3-ml tudjuk elkészíteni a lenti programot, így azt használjuk..)
  • Csatlakoztassuk a robotot USB kábelen keresztül, majd az mBlock programból Connect → Serial Port - COMx, utána Connect → Reset Default Program → mBot.
  • Válasszuk le a robotot a számítógépről és indítsuk újra.

Az Makeblock alkalmazásban csatlakozzuk a robothoz Bluetooth segítségével. Számos lehetőséget biztosít: távirányítás, vonalkövetés, zenélés, lámpa bekapcsolása, értékelések, kisebb programok írása.

Saját robot program

Egy hasonlót saját magunk is elkészíthetünk, ez viszont némi előkészületeket igényel.

  • Ha nem az alapértelmezett program van feltöltve, töltsük azt fel a fent leírtak segítségével.
  • Az okostelefonunkat párosítsuk a robottal: Beállítások → Bluetooth → kapcsoljuk be, majd frissítsük a párosított eszközök listáját. Ha mindent jól csináltunk, megtalálja a robotot Makeblock néven, azt fogadjuk el.
  • A robot program elkészítéséhez az Arduino utasításkésztlet is hozzá kell adni az mBlock fejlesztőkörnyezethez (Extensions → Arduino); a serial (soros) parancsok ott érhetőek el (ezek valójában a Bluetooth parancsok).

Most készítsük el a következő programot:

robotprogram.png

A programot innen is letölthetjük: távirányító program.

Utasításként az A, B, C, D és E betűket (egészen pontosan azok ASCII kódját) tudja értelmezni, és ez alapján hajtja végre a műveleteket, ami jelen esetben a robot mozgatását jelenti. A robotot le tudjuk állítani a rajta található nyomógomb segítségével. (Ha nem működik, teszt céllal először érdemes egyszerűbb műveletet végrehajtani, pl. LED-ek világítása.)

Töltsük fel a programot a robotra: csatlakoztassuk a robotot USB kábelen keresztül, majd Connect → Serial Port → COMx, majd jobb kattintás a robot programjára → Upload to Arduino.

(Megjegyzés: a feltöltést követően általában "szemetet" talál a soros porton, aminek következtében elindul a robot. Ezt a problémát sajnos nem sikerült kiküszöbölni. Emiatt feltöltéskor érdemes megfordítani a robotot, majd nyomjuk meg a roboton található nyomógombot a leállításhoz.)

Saját robot app

Az Android alkalmazás felépítése az alábbi:

robot-kinezet.png

A nyomógombként ábrázolt „Kapcsolódás” valójában egy listaválasztó gomb (User Interface → ListPicker), a többi az, aminek látszik. A komponens nézet:

robot-komponensek.png

Az óra időzítőjét állítsuk 100 ezredmásodpercre. A kapcsolódással kapcsolatos kód az alábbi:

robot-kod1.png

A kiadható utasítások kódja:

robot-kod2.png
robot-kod3.png

Az adatok fogadását az alábbi kódrészlet valósítja meg:

robot-kod4.png

Végül egy alap hibakezelést is megvalósítunk, mivel a vezeték nélküli kapcsolat igen sok hibát rejthet magában.

robot-kod5.png

A végeredmény ez: Távirányító.

Megjegyzés: elképzelhető, hogy a fentiek megvalósítása meghaladja egy alkalom kereteit. Emiatt azt javaslom, hogy töltsük le és importáljuk ezt: Távirányító (kapcsolat). Ez a bluetooth kapcsolatot valósítja meg. Így elég csak az adatküldésre és adatfogadásra szorítkoznunk.

Teszt

Ezzel létrehoztunk egy távirányítós kisautót, ahol a távirányító az okostelefon, a kisautó pedig a robot. A kipróbáláshoz telepítsük önálló alkalmazásként az appot, indítsuk el, majd kattintsunk a Kapcsolódás nyomógombra. Ott - ha korábban megtörtént a párosítás - a listából válasszuk ki azt az elemet, amelynek a kód utáni neve az, hogy Makeblock. Sikeres kapcsolódást követően irányíthatjuk a nyomógombok segítségével, valamint az alkalmazásunkban láthatjuk a legközelebbi akadály távolságát.

Az alkalmazás elkészítéséhez sokat segítettek az alábbi angol nyelvű leírások:

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License