2024. március 29., péntek

Gyorskeresés

Amikor a hardver és a szoftver találkozik 2. rész - DPTP System - HandText

Írta: |

[ ÚJ BEJEGYZÉS ]

DPTP System - HandText

A következő projektem melyet szeretnék bemutatni nektek és amellyel a programozási és elektronikai ismereteim elmélyítse és magam szórakoztatására készítettem az egy kis kézi rázogatós, elnevezésem szerint: HandText, vagy WandText amelyik jobban tetszik.
Én maradok a HandText-nél.

Elsőként egy Orosz oldalon láttam ilyet ahol szépen meg is volt osztva, természetesen Orosz nyelven a teljes dokumentáció beleértve a kacsácsolási rajzot elkészítési javaslatokat és magát a programot amelyet beleégetve már is lehet gyönyörködni az előre leprogramozott cirill betűkkel elkészített képi kivetülésben.
Egy Magyar Hobbielektronikás is elkészítette amely szintén nagyon jól sikerült és akitől pár apró részletet én is ellestem :D

Ide jöttek volna a képek és link ami az Orosz készülékről készült.
Sajnos az eredeti oldal ahol az Orosz leírás volt időközben eltávolításra került így azt már nem tudom megosztani.

Azért egy videó maradt még fent: Mirage

Ez eddig mind szép és jó, de....
Egyetlen baj volt csak, hogy ATMEL chip köré épült a kapcsolás és az előre megírt és lefordított kódot nem lehet módosítani.
És a legfontosabb az az, hogy én PIC-es vagyok :D

Amúgy létezik még jó pár megvalósítás e téren, de ezeket nem feszegetném mert vagy nem ástam bele magam a témában elég mélyen vagy nem is érdekelt, így alaposabb ismeretekkel nem rendelkezem.
Amúgy mindenki rákereshet ezekre a szavakra, google mindenki barátja: Wand Clock, Hand Clock, Plopeller Clock, ...stb

Mint feljebb is olvasható a nevekben és az Orosz videón is látható, e kütyü funkciója a pontos idő mutatásában és egy pár szöveg kiírásában ki is merül.
Én is egy ilyet akartam készíteni, de hamar rájöttem, hogy a megfelelő lendítő gyorsaság és az időzítések pontossága nagyon nagyon fontosak.
És persze az első prototípust az Orosz kapcsolás alapján és azon feltüntetett alkatrészek alapján akartam megvalósítani.
Egy 32.768KHz-es kristály szolgáltatta az órajelet az eredeti leírások szerint.
A lendítés sebessége és a LED-ek megfelelő időzítése kulcsfontóságú és egyszerűen az említett 32.768KHz-es óra sebesség nem volt elegendő az összehangolásra, így az óra funkcióját kihajítottam a megvalósítások közül :D.
Maradt a szöveg kiíratás. :D

Pár képet és videót megosztok miközben picit részletezem a folyamatokat:

A tervezés:

A nyák már kimaratva, előkészítve beültetéshez:

És beültetve: (SMD kivitelben készült a kisebb méret érdekében)

A program elméletéhez és az első működő programverzióhoz segítséget nem kaptam, így azt teljes egészében nekem kellett kitalálni és aztán megírni.
Mondanom sem kell, hogy nem volt egyszerű.

Picit a programról:
A program illetve a program futását úgy kell megírni, hogy a lendítési sebesség és a LED-ek felvillanásának időzítése teljesen szinkronban legyenek, más esetben a kép nem lesz éles és olvasható.
Itt még nehezítette a dolgomat az is, hogy a PIC 1-bit-re (lábra) eső maximum áramfelvétele erősen korlátozott, így mátrixos multiplexálással kellett a LED-eket vezérelni.
Ez utóbbi azt jelenti, hogy egyszerre mindig csak 1db LED villanhat fel, de összességében olyan gyorsan, hogy azt már az emberi szem folyamatosnak érzékeli.
Nem mellesleg 3v-os elemről megy, szóval csak csínján az árammal :D
A programot gyakorlatilag 1-2nap alatt megírtam és jól működött, de a leprogramozott sorok száma meghaladták a 3000-t. (ez nem kevés)
A PIC memóriája 97%-ra megtelt és az időzítésből kifogytam, tehát nem tudtam már tovább hajtani és gyorsítani a lefutásokat.
Ez ahhoz vezetett, hogy ugyan az emberi agy ki tudta venni a felíratott amit megjelenített, de ez nehézségekbe is ütközhetett volna.., nem beszélve a csíkokból összerakott betűkről..
Lassú volt na.. :D

Nézzétek meg videón is az eredményt:

Ennél a videónál már azért látszik, hogy kivertem mindent amit csak tudtam a PIC-ből: (Óra is benne volt :D )

Mivel nem voltam megelégedve a program teljesítményével, tovább gondoltam és újra kezdtem előröl immáron kértem segítséget is itt a fórumon a C topikban ..: C programozás
Megjegyzem alapszolút pozitív amit abban a topikban tapasztalok. ;)
Innen is köszönöm a segítséget.

A fórumozok rávilágítottak pár hiányosságomra és segítségükkel hatékonyabbá és optimalizáltabbá tettem a program egyes részeit és ezzel vissza csökkentettem a PIC memória foglaltságát 30%-ra.
Azért ez már valami :D
A program olyan jól teszi a dolgát és olyan jól lehet az időzítésekkel variálni, hogy meg is találtam, ha nem is a legtökéletesebb beállításokat, de közel a legideálisabbat.

Egy kép, immáron kéken:

Itt már jól láthatóan és szépen elkülönülnek a LED-ek körvonalai így pixelesebb megjelenést kölcsönözve.

Ez pedig itt már a teljesen új programmal zöld majd kék LED-es megvalósítás:

A kék nyákpanelja beültetve:

És a videó:

Azt hiszem ezzel a programozással nagyobbat haraptam, de a végén még is csak szépen sikerült megoldanom a dolgot.

Egy dologról még nem beszéltem a projekt kapcsán, ami ugyan nem egy nagy dolog, de még is említésre méltó.
Ez pedig a lendítés kapcsoló kivitelezése.
Feljebb még az írásom elején említettem, hogy ellestem valamit egy magyar Hobbielektronikás sráctól .
No ez lenne az: A lendítés vagy gyorsulás kapcsoló.
Gyakorlatilag egy hőbiztosíték vázát átalakítva lehet létrehozni egy ilyen lendítés kapcsolót.

Pár képet megosztok, bár a videón is nagy hangsúlyt fektettem rá:
Szétszedve és kipucolva a hőbiztosíték:

Előkészítve összerakásra:

Összeépítve:

És méretre vágva és hajlítva:

Én az első típusnál a hőbiztosíték saját anyagát felhasználva készítettem el a kapcsolót, de a második verziónál már a belsejébe egy 3-as csapágygolyót tettem ezzel biztosítva a megfelelő időben történő kapcsolást.

A működéséről pár szó:
A henger alakú kialakítás adja meg a választ: a hengerben amelyben a golyó vagy a rugó akadálytalan mozog, csatlakozik a jelfogó lábra a végére erősített nyákpanel közepében van egy lyuk melyben a testre lekötött szál található a körkörös kialakítása miatt nem érintkezik sehová, tehát a levegőben lóg.
Emlékszel? A kapcsoló egyik szála testen a másik a PIC jelfogó lábához csatlakozik.
Amikor történik egy balról-jobbra történő mozdulat, akkor a golyó vagy rugó nekivágódik a testnek ezzel zárja az áramkört és létre jön a jelzés amely a program elindításához vezet.
Ennek a gyors ismétlése vezet annak eredményéhez, hogy szemmel is láthatóvá válik a szöveg.

Nos ezzel végére is értem a 2. projektem bemutatásának, remélem, hogy az olvasóimnak tetszett és a jövőben is megtisztelnek látogatásukkal.
Az erő legyen veletek.

Copyright © 2000-2024 PROHARDVER Informatikai Kft.