TFT kijelzős robotok Android vezérléssel

Fejlettebb hardver, programozási technika és kétféle működésmód.

Egyszerűbben fogalmazva: újratöltve...

Ez a legújabb plotter fejlettebb, mint a korábbiak. Tud ferde vonalakat és kört is rajzolni.



A videóból minden kiderül, legalábbis remélem.

Itt csak egy rövid kiegészítést fűzök hozzá: 

az Android applikáció az adatokat három-három számjegyből álló csoportokban adja át a robotnak. Ezért, ha valamelyik paraméter ennél kevesebb számjegyből áll, akkor a korrekt működés érdekében eléjük egy ún. vezető nullát kell írni a  beviteli mezőbe.

Megtetszet a Bináris óra algoritmusa, úgyhogy némi átalakítással csináltam belőle decimálisból bináris, oktális éa hexadecimális számrendszerbe konvertáló kütyüt.



Olyan robotot most csináltam először, melyet két módon lehet vezérelni:

A videó a már megszokott módon mtatja be az eszközt, példákkal illusztrálva. 


Megint visszanyúltam a múltba. Egy közel 3 éves, Kockajáték elnevezésű robotomat (https://sites.google.com/view/robotepites/legfrissebbek) gondoltam újra, és néhány újdonságot is bevetettem (TFT kijelző, vezérlés Android app-al).


Mivel a videóból szándékosan kihagytam a működtető motorok felsorolását, ezt most itt pótolom.

Az egymáshoz képest merőlegesen mozgó görgős szánokat fogasszíjhajtáson keresztül két léptetőmotor hajtja. A kilökő kart pedig  egy szervómotor  billegteti.

Eltérően a korábbi változattól, ennél a kivitelnél két rekesz van, a bennük lévő kockák színkódjait és azok sorrendjét egy kétdimenziós tömbben tárolja a program.  Ez szükséges a TFT kijelzőn a megfelelő szinek megjelenítéséhez és a shifteléshez is.

A videóban olvasható leírás és a két játékmenet példa ezen kiegészítésekkel együtt - reményeim szerint - elegendő a robot működésének megértéséhez.

A Hatoslottón felbuzdulva most egy olyan mozgó alkatrész nélküli eszközt készítettem, mellyel - egy Androidos tablettel kiegészítve - Luxort lehet játszani. 



Annak a kedves követőmnek, aki nem játszott még Luxort illetve nem ismeri a szabályait, annak javasolom, hogy ide kattintva olvasson utána, és a megszerzett információk birtokában jobban fogja érteni a készülék működését illetve magát a játékot.

Ezen kívül itt egyéb kiegészíteni valóm nincs, talán csak annyi, hogy vélhetően ez lett az eddigi legkomplexebb Arduino/Android programom. A hangsúly a véletlen számok generálására helyeződött,  a tetszőlegesen megadott 20 db tipp szám és a bónusz nullák szelvényen történő elrendezésétől egészen a kisorsolt számokig. Ennek következtében az is a véletlenen múlik, hogy a Képet vagy a Keretet  érjük-e el először és hány találat kell a Luxorhoz.

Ezzel az egyszerű felépítésű robottal és az Androidos tablettel hatoslottót lehet játszani. A szabályok megegyeznek az igazival.

A videóban látható és olvasható infókhoz néhány kiegészítés.


Bevetettem egy programozási trükköt: a TFT kijelző 76 800 db egyedi pixeljeiből 5 x 5- ös, színezhető négyzeteket képezve 3 072 db virtuális pixelt lehet előállítani. Így maximum ennyi koordináta megadásával bármilyen grafikát megjeleníthetünk,  természetesen kis felbontással.

A készülék - mely tableten futó Androidos vezérlő programmal működik - remélem elég jól szemlélteti ezt az alapelvet.

Ami a videó magyarázó szövegeiből (részben) kimaradt:


Ez a készülék egy korábbi változat, a Zászlórúd (ld. https://sites.google.com/view/robotepites/legfrissebbek) felújítása. A fejlettebb alkatrész készlet és az Androidos vezérlő applikáció révén sokkal egyszerűbb és látványosabb robot született .

Az applikációval 10 európai országból lehet választani. A robot jobb oldalán alul elhelyezett LED mátrixon megjelenik az adott ország nemzetközi betűjele, a TFT kijelzőn pedig a (trikolór) zászlaja. Ezt követően a kijelző  magasabb pozícióba kerül, vagyis a zászlót a készülék felvonja a zászlórúdra, majd kis késleltetés után leengedi. Újabb késleltetés után a zászló eltűnik, a TFT kijelzőn megjelenik a cím felirat, a LED mátrixon pedig egy kérdőjel látható, és a jobb oldalon felül lévő 4 LED pirosról zöldre vált. Ekkor lehet a következő országot kiválasztani. 

Az applikációban kihasználtam azt a lehetőséget, hogy egy gomb megnyomása után annak alapszíne pirosra váltson. Így követhető, hogy mely ország nem volt még kiválasztva. A gombok feliratai közül a dőlt betűsek olyan országot jelentenek, melynek zászlaja  három függőleges csíkból áll.

A fentieket igyekeztem a videóban - 5 ország példáján keresztül - érhetően illusztrálni. (A színtorzulásokért viszont nem tudok felelősséget vállalni...)

Ezzel a mechanikailag egyszerű készülékkel egy csapásra két legyet lehet ütni: random arab számot római számmá, illetve random római számot arab számmá konvertálni. 


A hardver mindkét esetben ugyan az, de a programnak és az adatbevitelre szolgáló Androidos alkalmazásnak két változata van. A program által random módon generált szám (akár arab, akár római) nemcsak a TFT kijelzőn, hanem az applikáció felületén is megjelenik. Az általunk átkódolt (római vagy arab) számot az alkalmazás Bluetooth kapcsolaton keresztül átküldi a készüléknek, mely ezt követően összehasonlítja a "saját megoldásával", amely szintén megjelenik a TFT kijelzőn, majd a két eredményt összehasonlítja. 

A viedóban mindkét működésmódra 3 - 3 példát mutatok az alapvető funkciók ismertetése mellett.

A videóban a lehetséges számtartományról teszek említést ugyan, de annyi magyarázat még tartozik hozzá, hogy a felső határ azért 3999 illetve MMMCMXCIX, mert a római számokra vonatkozó szabályok maximum ezen értékig tarthatók be. 


Ez a rendszer a Geometria továbbfejlesztett változata. Itt már nem előre megadott méretű alakzatokat lehet a TFT kijelzőn megjeleníteni, hanem a dedikált koordinátáik megadása révén a robot ennek megfelelően jelenít meg tetszőleges egyenes szakaszt, négyszöget vagy kört. 


A Bluetooth soros port karaktereket vagy karakter láncokat tud továbbítani vagy fogadni. A tabletre készült Android alkalmazás a megadott koorditátákat egy 4 x 3 =12 db karakterből (kör esetén 3 x 3 = 9 db-ból) álló  karakterláncba fűzi és azt továbbítja a robotnak. Az Arduino program ezeket "visszafejti" és az így kapott értékeket  használja fel az alakzatok kirajzolásához.

Ez a karakterlánc formájában történő Bluetooth-os adat továbbítás és annak visszaalakítása jelentette számomra az újdonságot, mind az Android applikáció, mind az Arduino program elkészítésekor.

Lényegében ez az oka a Geometria 2.0 elkészültének. Mivel a kitöltött alakzatok és a változtatható színek az új programozási módszer elsajátítása szempontjából irrelevánsak, ezért ezen opciókat elhagytam.   

Ez az egyszerű szerkezet azt bizonyítja, hogy igenis lehet a TFT kijelzőt és a Bluetooth modult egyidejűleg működtetni.


Egyúttal ez azt jelenti, hogy  TFT -s robotokat is lehet Android applikációval vezérelni.

Az itt bemutatott készülék kijelzőjén egyszerű geometriai alakzatok jeleníthetők meg, melyeket az applikáció legördülő listájából választhatunk ki. 

Amennyiben kitöltött síkidomot fogunk kijelölni, (pl. tele kört), először a  kitöltő színt  kell egy ugyancsak legördülő listából kiválasztani. Persze nem szükséges mindig színt váltani, akár az összes alakzatot kitölthetjük egyazon színnel.