HA5PLS (Laci): Nem minden projekt kezdődik a tervezőasztalon, ezt például egy kapualjban találtam. Egy jól sikerült HA5KFU gyűlést követően a Bajor Söröző és a Schönherz Koli között sétáltunk, amikor kiszúrtam egy kidobott IPTV set-top boxot. Szeretek szétszedni és ‒ ha lehet ‒ újrafelhasználni elektronikai hulladékot, gondoltam csak lesz ebből valami, úgyhogy felvittem a klubszobába.
HA7DN (Dínó): De nem közvetlenül, előtte megálltunk a SEM-ben valentin-napi szívecskéket forrasztani, de már ott elkezdtünk ötletelni, hogy mi minden jó lehet a dobozban, és miket lehet belőle csinálni.
HA5PLS: A dobozt kinyitva ismerős paneleket láttam: „ilyet már szedtem szét!” ‒ mondtam Dínónak, akit szintén érdekelt a zsákmány. Figyelmünket a kijelző moduláramköre felé fordítottuk, ami egy ATMega88 által vezérelt vákuumfluoreszcens megjelenítő (VFD). Dínó, a vákuum-eszközök szerelmese, fölvetette, hogy életet lehelhetnénk bele „jó lesz valamire” címszóval.
HA7DN: Igazság szerint amint megláttam a kijelzőt, eszembe jutott, hogy ezek varázslatosak szoktak lenni, így el lehetne ezzel is játszani.
HA5PLS: Először a moduláramkört fejtettük vissza. A VFD egy Princeton PT6302 vezérlő IC-n keresztül volt összekötve 3 láb felhasználásával a mikrokontrollerrel. Ennek ki voltak kényelmesen vezetve az ICSP lábai egy beültetetlen tüskesorhoz, melyet rögtön be is forrasztottunk.
HA7DN: Persze egy jó esti program volt a sípolós műszerrel végigkövetni, hogy mi-hová van bekötve, majd rákötni a programozót, ami persze nem működött elsőre…
HA5PLS: Legnagyobb meglepetésünkre az ATmega flash memóriája nem volt levédve, a teljes binárist ki tudtuk olvasni. Ezek közül a fuse bitek voltak a leghasznosabbak, a program visszafejtése a nagy méretéből adódóan nem volt célszerű, főleg hogy a vezérlő IC adatlapját gyorsan megtaláltuk.
HA7DN: Azért persze próbálkoztunk vele, de végül elvetettük, mivel egyszerűbb volt újat írni rá. Én ebben sok részt már nem vállaltam, PLS mókolta az eszközt.
HA5PLS: A következő nehézség az avr-gcc belebűvölése volt a CLion-ba, ami valószínűleg gyorsabban meglett volna, ha tudom, hogy flashelés előtt meg kell hívnom a binárisra az avr-objcopy-t is. Végülis egy GNU Make-es és egy CMake-es megoldás is született a kör öregtagja ‒ HA8KDA ‒ segítségével. Ezután megírhattam végre a szükséges drivert. Az illesztés kísértetiesen hasonlít az SPI-hoz (MISO vonal nélkül), de én mégis a bit-bang-elést választottam: egyfelől az időzítési követelmények betartása végett, másfelől mert az ATMega mikrovezérlőkben nincs pinmux, és a vezérlő IC nem az SPI perifériához tartozó pinekkel volt összekötve. Az elkészült driver könyvtár egy demó projekttel megtalálható githubon: https://github.com/Derisis13/AT-VFD
HA7DN: Természetesen a szoftver még nem minden. Meggyűlt a bajunk a panellal rendesen: hol működött, hol nem… Mint kiderült a probléma azokkal az ellenállásokkal volt, amiket PLS ráforrasztott. Korábban néhányat véletlenül letört róla, és az új ellenállások kicsit letépték a rézréteget a panelről, amik néha érintkeztek, de csak azért, hogy jól megzavarjanak minket.
HA5PLS: Igen, a letörő, és a forrasztás során a pákán maradó alkatrészek visszatérő gondot jelentettek, de azt is a fájdalmasabb úton tudtam meg, hogy a tápegység egyik hűtőbordája a 230 V-ra van kötve.
HA7DN: A tápegységgel volt más baj is, sikerült rövidre is zárni, ezután elég furcsa dolgokat mértünk rajta, de szerencsére ‒ mint később kiderült ‒ az csak mérési hiba volt. A tápegység egy részét amúgy vissza is fejtettük HA5ERI-vel, de végül nem kellett piszkáljuk. Ekkor amúgy az egész projekt úgy érződött, mintha el lenne átkozva: amint valamit megjavítottunk, legalább egy másik dolog elromlott. Egyszer egy IC láb is a páka végén maradt, ráadásul egy igen fontos darab.
HA5PLS: Ezt végül én oldottam meg: Dínó ugyan sikeresen ráforrasztott egy drótot a kiálló negyed milliméteres csonkra, de a végleges megoldás az lett, hogy a tokozásba sniccerrel belevágtam, és arra forrasztottam rá a drótot.
HA7DN: Ekkor már mozgó „HA5KFU”-feliratot is tudtunk rajzolni a kijelzőre. Ezt később Nyan-cicára bővítettük, amit HA7CSK „Csoki” rajzolt meg ‒ ahol küzdeni kellett az animációval.
HA5PLS: Ekkorra rájöttünk, hogy a legjobb doboz a projektnek a saját eredeti háza, úgyhogy vissza is szereltük bele. Ez ennyiben is maradt volna, ha nem támad valakinek az az ötlete, hogy ha már ezt a ládát mindenképpen ki kell vinni standoláshoz, akkor szereljük bele a PAL TV modulátorunkat is.
HA7DN: Viszont utána nekem jutott eszembe, hogy belefér ebbe a dobozba a szkóplogó is, úgyhogy a legközelebbi klubszoba ügyeleten bele is fúrtunk két BNC csatlakozót a hátuljába, beledrótoztuk az ESP32-t, és átkereszteltük az egész projektet „Stand-Top-Box”-ra.
HA5PLS: Ezek után HA7CSK-val beleszereltük a TV-modulátort és a hozzá tartozó Raspberry Pi-t is, és újrakábeleztünk mindent, hogy a VFD vezérlőpaneljét és a szkópologó ESP-jét is lehessen a kártyaszámítógépen keresztül programozni. Azzal a szomorú ténnyel szembesültünk, hogy sem az OMXPlayer, sem az AVRDUDE nem működik úgy, ahogy szeretnénk, így a PAL TV és a VFD panel programozása még nyitott feladat. Legalább az ESP32 soros portját felismerte, és még maradt is egy szabad USB2 portunk egy külső tároló csatlakoztatására.
HA7DN: Felmerült még más standolós játékszerek dobozba integrálása is, például Sus morzegyakorlója, de ezeket végül elvetettük. Mindenesetre szerintem maradt elég hely a dobozban, hogy később több projekttel is kibővíthessük.
Írta: Párkányi László HA5PLS, Baráth László HA7DN