Developer blog (all entries)

...noha szó sincs kitűzésről, ez is mágneses, mint az eddigi jelvények. Úgy döntöttem, hogy itt az ideje egy teljesen saját tervezésű jelvény elkészítésének, és hát mi más lenne a tökéletes alany, ha nem a saját logóm. A festést direkt mellőztem, hogy igazi fém felülete legyen, és sikerült csiszolópapírral szálcsiszolni, ami tökéletesen eltűntetett minden karcolást ami a munkadarabon eredetileg volt, vagy a megmunkálás során került rá. Bajuszt eredetileg nem terveztem az egérnek, mivel semmiképp nem tudtam volna kifaragni, de mivel egyre többen mondták hogy nélküle úgy néz ki, mint egy medve, így végül a reszelő hegyével belekarcoltam. A hátára most bontott mágnesek kerültek, mivel nem volt szempont hogy kis mágneseket használjak.

Átugorva a TNG jelvényét, ami most anyagbeszerzési és technológia-kísérleti stádiumban van, a következő a sorban az alternatív 2390-es évek jelvénye (Voyager utáni időszak).

Az összes közül ezzel voltam a leghamarabb kész. Itt most két lemezből áll össze: a csillag forma vasból, hogy tartása legyen, a két függőleges rész mögötte pedig szokás szerint alumíniumból. Ezek noha az eredetinél külön állnak, a csillag takarásában meghagytam nekik egy összekötő részt, hogy jobban összetartsa, mert spórolnom kellett a ragasztóval, nehogy kifollyon alóla, ami így festés után nemkívánatos következményekkel járt volna. A kifolyt ragasztó ugyan letéphető utólag, de óhatatlanul is felsértem közben a festéket.

Kész állapotba került hát a LED-sor projekt. Elkészült a dobozba szerelt változata és a szoftver finomhangolása is.

A szoftver része kapott egy új üzemmódot, ahol a LED-sor ritmusra váltogatja véletlenszerűen a színét. Ehhez kellett egy beat-detektáló algoritmus, ami a dob és egyéb kitűnő hangosabb részeket keresi a zenében, majd ezek észlelésekor vált a színek között. Ezt azt is jelenti, hogy a fényerő így mindig egységes és akkor is világít valamilyen színnel, ha épp nem szól alatta zene.

Az SMD-s változatot egyelőre hanyagolom, olyat majd akkor csinálok, ha már ott tartok, hogy egy ehhez szükséges áramkör tervező szoftvert kitanultam.

A tervezésnél külön kiemelt szempont volt, hogy az egész minél egyszerűbb és univerzálisabb legyen. Ahogyan a lenti galériában látszik, a dobozon van összesen 3 csatlakozó, ebből egy a táp, egy a kimenet a ledsorra és egy Jack bemenet, amelyre tetszőleges eszköz hangkimenete rácsatlakoztatható. Vonalszintre van belőve, ami egy szabványos jelszint, az összes kommersz eszköz ezt adja ki (stúdiós felszerelésnél eltérő lehet), így elég csak csatlakoztatni, és már megy is.

Most hogy ez kész, ha valakinek felkeltettem az érdeklődését egy ilyen ketyere iránt, nyugodtan keressen meg vele és készíthetek neki egyet.

Egyik hobbim az ötvösség, fém lemezeket munkálok meg és azokból rakok össze mindenféle jót. A mostani nagy projektem, hogy a Star Trek összes generációjának a jelvényét összerakjam, illetve azon belül az összes variációt is. Mint legegyszerűbbel, az új J.J. Abrams féle reboot filmek jelvényével kezdtem. Abból egyelőre nincs meg a teljes szett, úgyhogy arról majd csak egy későbbi posztban lesznek képek. A Deep Space 9 / Voyager éra jelvénye a következő a bonyolultsági listán, itt már nem csak két kivágot lemez összeillesztése volt szükséges, hanem lemezek egymásra hajtogatása, meg festés. A lenti képgaléria lépésről lépésre bemutatja az elkészítés állapotait.

Az egyenruha még várat magára, majd ha találok ilyen jó kis pulóvert és hirtelen megtanulok profin varrni. Esélyesebb, hogy inkább valaki csinál nekem egyet, cserébe egy jelvényért. :D

A korábbi eredmények, hogy a PWM vezérlőt sok-sok IC-ből raktam össze, szórakoztató volt, de gyakorlatban nem sok értelme, mivel nagyjából bármilyen mikrovezérlőben alapból van PWM kimenet. Így lett aztán, hogy végül egy Arduino Mini-t használtam fel a feladatra, és a jelforrás kérdését is sikerült egyszerűbben megoldanom, ugyanis az eredeti terv szerint egy szoftver vette volna fel a hangkimenetet és szedte volna szét szoftveresen a jelet 3 frekvenciatartományra, ehelyett most egy equalizer IC-t használok, ami a szűrést analog elvégzi, és az Arduino ennek a jelét olvassa be. Így aztán a bemenetre bármilyen eszköz analog hangkimenete rácsatlakoztatható.

A dolog persze még nem tökéletes, a hardver oldala ugyan majdnem kész, de a szoftver oldala az, amivel még lesz bőven munka. Mint rájöttem, a legtöbb esetben nem ad kielégítő eredményt. A legjobb eredményt azok a zeneszámok adják, ahol egyszerre kevés hangszer szól, vagy jóval hangúlyosabb a dob, mint a zene többi része, - ez tipikusan a zeneszámok eleje - de aztán amint beindul, már szinte csak egyenletesen világít. Erre egy ötlet az, hogy programoznék bele beat-detektálást, és azt külön kihangsúlyozná. Ezt aztán tovább lehet vinni, hogy legyen olyan üzemmód is, ahol a LED-ek ritmusra ötletszerűen váltogatják a színüket.

Ha az eszköz kész lesz és beválik, akkor lehet csinálok belőle egy komolyabb összeszerelést is, csupa SMD alkatrészekkel, és profi csináltatott nyomtatott áramköri lappal.

A szakirányos tárgyak kapcsán felmerült bennem az igény, hogy ez ugyan szép és jó, hogy szabályzó rendszereket tervezünk és szimulálunk, de jó lenne látni működés közben is. Itt jött az ötlet, hogy akkor legyen valami, ami egyszerű és látványos is: egy lift! A működési elv az a valódi liftekkel ellentétben most egy kicsit más lesz, a kimenő jel értelemszerűen a motor jele, viszont a bemenő jel egy magasság lesz, a visszacsatolás pedig szintén egy magasság, mégpedig a tényleges fizikai helyzete a liftkabinnak. A liftet az egyszerűség kedvéért LEGO-ból építem meg, így az összerakással hamar készen leszek.

A szabályzó rendszert egy Arduino Uno mikrovezérlő alkotja, ez fogja figyelni az analog bemenetén a visszacsatolást, illetve PWM kimenetén vezérli a motort. A felhasználói bemenetet kapcsolók végzik, mindegyik reprezentálva egy-egy emeletet, a program ezek megnyomásakor az adott emelethez tartozó magasságértékre fogja a rendszer bemenetét állítani.

A liftkabin helyzetének mérését egy ultrahangos szenzorral oldom meg, ami a liftaknában figyel felfelé (ez egy 300 forintos eszköz). Az előzetes tesztek ígéretesnek bizonyultak, a szenzor miliméterre pontosan tud mérni és 200 centiméter után is megfelelően kicsi a szórása.

Egy 22cm-es mérés. A kis fehér dobozt akárhova húztam a vonalzón, mindig pontosan kiírta a kijelzőn a távolságot.

A következő feladat a szenzor liftaknába szerelése. Gondoltam arra hogy esetlen LEGO kockákat fúrok meg, de túl kevés a hely a lyukak körül. Aztán jött az ötlet, hogy építek saját átkötő elemet, ami csatlakozik a gombokra anélkül, hogy bármi kárt tennék bennük. Az eredmény még annál is jobb lett mint amire számítottam.

LEGO átkötő elemek felszerelve az ultrahangos szenzorra.

Jelenleg most itt tartok vele, a liftnek az alsó része meg van csinálva, de még át lesz szabva. Ha kész a LEGO építmény és a motor már viszi a kabint, utána veheti kezdetét a PID szabályzó tervezése.

A lift, amennyi most megvan belőle, és a liftaknába beszerelve az ultrahangos szenzor.

Megérkezett hát az Arduino panelem, és elkezdtem rá gőzerővel mindenfélét építgetni. Van pár konkrét terv is vele, nem csak ilyen „dejó, működik” típusúak, úgyhogy esélyes hogy veszek még egyet.

A jelen bemutató tárgya: hogyan hajtsunk meg villanymotort egy Arduino Uno-nak a PWM kimenetéről. Közte még van egy IC ami a 12V-os tápot és az Arduino védelmét intézi. A motort gyurmaragasztóval rögzítettem az asztalra, hogy ne másszon el, amitől viszont elég komoly hangja lett. :D