Fórum témák
» Több friss téma |
Tiszteletem a pákásoknak,
Belefogtam egy projektbe a szoftverfejlesztő barátommal, de a következő problémát nem tudjuk megoldani: nyomtatót akarunk csinálni. Túl sok szakirodalom nem található meg a neten erről, ezért kénytelenek vagyunk csak magunkra hagyatkozni. Illetve rátok. Summa summarum: a nyomtató hardver része készen van nagy vonalakban. A szoftver részével van problémánk. Egyszerűen nem tudunk vezérlőbiteket előállítani a hardver vezérléséhez. Elképzelhető, hogy az általunk ismert nyelvek nem elegendőek ehhez? (Pascal, JAVA, PHP-mondjuk ez lényegtelen, Python ) Minden más már megvan, csak a vezérlőbitekre van szükségünk. Na, ebben kellene segítenetek. Előre is köszönöm. Ha valami nem világos, írjatok, adok bővebb felhomályosítást. Ha tudok. Még valami, közvetlenül idevágó témát nem találtam, és nem akartam belerondítani a 3D-s nyomtatós-témába . Üdv Kris
Az általad ismert nyelvek egyikével sem próbálkoztam hasonlót csinálni, de az biztos, hogy a windows az NT óta nem szereti a port bitjeinek billegetését, csak a szabályos adatküldést. Ha nyomtatót úgy csináltátok volna meg, hogy szabályos adatcsomagokat értelmezzen és ne a lábak állapotát figyelje, akkor sima WINAPI hívással megoldható (gondolom a felsorolt nyelvekben van erre szebb megoldás is) lenne. Ha mégis ragaszkodsz a bitek egyenkénti beállításához, akkor WIN 98 alatt a legegyszerűbb, simán a port címére írva az adatot. XP alatt emlékeim szerint még voltak működő dl-ek amikkel meg lehetett oldani, Vista és 7-es alatt szerintem csak egyedi driver írással oldható meg.
Ha még váletlenül linux fut a gépen, akkor majd egy linux felhasználó segít.
Üdv!
A hardverrről készültek képek? Mert érdekelne, hogy milyen lett. Üdv: Einstein
Üdv!
Mik azok a vezérlő bitek? Elképzelhető, hogy nem elég az általatok ismert nyelvek valamelyike. Milyen periférián akartok beszélgetni a nyomtatóval?
Igen, valóban jó lenne tudni mit gondol a kérdező vezérlőbitek alatt és milyen portot használ.
LPT porton egyébként a vezérlőbitek az adatbitektől különböző címen vannak.
Szóval, akkor adatot sikerült kiküldeni rajta csak vezérlő karaktereket nem?
Előttem szólónak igaza van mégpedig, anno C++-ban ugyanúgy kellett mindkettővel dolgozni. A különbség, hogy más volt az adat- és a control regiszter címe. Legalábbis régi rendszerekben így még működött is. Milyen operációs rendszer alá lesz most a fejlesztés? Ha csatolsz Java kódot abban tudok segíteni. (Ennek ellenére nem ajánlom erre a feladatra, még akkor sem, ha platformfüggetlenre akarjátok készíteni.)
Szia!
A vezérlő karakterek egy ASCII táblázat segítségével minden nyelvből küldhetők: pascal - delphi: $#27 - escape, c - c++ c#: "\t\r\n" - sorban a tab, a cr és az lf karakterek Ennél bonyolultabb a helyzet, ha egy protokollt is meg kell valósítani (Epson ESC-P, ESC-P2, Hp PCL, stb). Leírások letölthetők egy-egy típus leírásában (Fx1050, stb). Ha az LPT port vezérlőbitjeit kellene állítgatni, akkor közvetlen i/o elépést kell megvalósítani a Portio32.dll vagy más hasonló csomaggal.
Mi windows 95 re gondoltunk, mert ez az az egyedüli, ami nem küld tesztsorozatot LPT-re, 98tól már ezt megteszi, és eléggé el tudja barmolni a vezérlést. Köszi!
LPT- mivel ez az egyik legkönnyebben használható, és tudom használni.
Igazából addig nem építjük meg, amíg nincs meg a megvalósítás papíron-mivel addig bármi változhat...
Adatot persze, hogy ki tudunk küldeni. Csak a képből/illetve a szövegből nem tudunk előállítani biteket. Főleg ebben kéne segítség, mivel ebben nincs gyakorlatom.
Milyen nyomtató lesz?
Milyen felépítése lesz? Hogyan kapja az adatokat? Közvetlenül a pontokat vezérlő megoldáshoz maghajtó programot kell írni. Valamilyen "szabványos" nyomtató emulációt megvalósít a nyomtatóba épített kontroller? 9 - 24 tűs mátrix - Epson ESC - P, Tintasugaras, laser - Hp PCL 3... Plotter - HP-GL Ha valamelyik megvalósul, a hozzá való meghajtó programot kell felteni, a többit az operációs rendszer elintézi. Miért ragaszkodtok az LPT felülethez? Ha lesz benne kontroller (és jól választjátok ki a típusát), akkor benne lehet az USB illesztés is. nyomtatókeresés letiltása
ha mindenképp párhuzamos portnál maradtok, akkor ahogy korábban már írták a vezérlő bitek másik címen vannak. de a nyomtatóba mindenképp kell mikrovezérlő ha standard nyomtatót akartok. akkor a nyomtató csak azt kapja meg hogy milyen karaktert nyomtasson. a karakter képe pedig a nyomtatóban lévő vezérlőben van tárolva (vagy egy külön cartridge-on)
Személy szerint még mindig nem értem mi a probléma.
Tehát pl. "új sor" karaktert nem sikerült kiküldeni vagy a párhuzamos port kontroll részét nem éred el? Vagy esetleg file-ból nem tudtál beolvasni karaktereket? Win95 helyett a helyedben megfontolnék inkább valami Linux-ot.
Igen, fájból nem tudunk beolvasni karaktereket.
Valamiért úgy érzem,először az alapokat kellene kitalálni.
Először is, ha saját nyomtatótok van,akkor milyen jelekre van szüksége? 1 Kellenek pontok amiket odarak vagy nem. -ezekből hány darab van? ,milyen elrendezésben? 2 Kell egy parancs amivel arrébb toszigálod a fejet egy (vagy több ) oszloppal. 3 Kell egy parancs amivel tudod a lapot emelni egy sorral. Ha mindezt tisztáztad magadban ,mi mennyi, akkor lehet gondolkodni az elektronikán.Ha azt kitaláltad lehet gondolkodni a szoftveren. Ha mindent csak a portról akarsz vezérelni ,nem akarsz elektronikát,akkor pl alkalmazhatsz 8 nyomtatandó pontot (D0-D7 kivezetések) A lap léptetéshez egy vezérlő bitet,a fej arrébb tolásához egy másik vezérlőbitet, a nyomtatás vére hajtásához egy harmadikat. Ebben az esetben a kinyomtatandó dokumentumból kell készítened egy "bmp" képet (nem hátrány ha a szélessége a nyomtató lépésszámával egyezik ) és ennek a pontjain 8 pontonként végighaladva ki tudod nyomtatni. Első byte (amit a D0-D7 re küldesz) tartalma a "bmp" első sor első pont (D0) a második sor első pont (D1)...8:sor első pont (D7) Ha ezt a byte-ot elkészíted kiküldöd a portra ,ezután a jelzőbitekkel a papírra ütteted egyel arrébb tolod a fejet,esetleg emelsz egyet a papíron.Majd jöhet a következő nyomtatandó pici pálcika összeválogatása.(a "bmp" 1 sor 2. pont 2. sor 2. pont...8.sor 2.pont ) .És így tovább. Saját nyomtatónál olyan nincs hogy "a" betű nyomtatás csak ha komoly elektronikát építesz a nyomtatóba,ami elvégzi a képpontra bontást.
Szia!
Pascal / Dephi Help topikjában nézz utánna az alábbi eljárásoknak: - resetfile(); - read(file,paraméterlista); - eof(file); - closefile();...
HP nyomtatóknak a patron egyben van a nyomtató fejjel. én ezzel kezdenék. van egy leírás is hogyan lehet vezérelni:
Elektor 1992/9 12. oldal kell stepper motor vezérlő (de ezzel biztosan tisztában vagytok) Idézet: „Ha mindent csak a portról akarsz vezérelni ,nem akarsz elektronikát,akkor pl alkalmazhatsz 8 nyomtatandó pontot (D0-D7 kivezetések) A lap léptetéshez egy vezérlő bitet,a fej arrébb tolásához egy másik vezérlőbitet, a nyomtatás vére hajtásához egy harmadikat. Ebben az esetben a kinyomtatandó dokumentumból kell készítened egy "bmp" képet (nem hátrány ha a szélessége a nyomtató lépésszámával egyezik ) és ennek a pontjain 8 pontonként végighaladva ki tudod nyomtatni. Első byte (amit a D0-D7 re küldesz) tartalma a "bmp" első sor első pont (D0) a második sor első pont (D1)...8:sor első pont (D7) Ha ezt a byte-ot elkészíted kiküldöd a portra ,ezután a jelzőbitekkel a papírra ütteted egyel arrébb tolod a fejet,esetleg emelsz egyet a papíron.Majd jöhet a következő nyomtatandó pici pálcika összeválogatása.(a "bmp" 1 sor 2. pont 2. sor 2. pont...8.sor 2.pont )” én ezzel az eljárással dolgoznék. pontosan nem tudom még hogyan lehet megoldani, de én is dolgozom hasonló projekten. én 3D nyomtatót szeretnék építeni ezért már rengeteg oldalon néztem ezzel kapcsolatos információk után. Nézd meg az Elektor ban e cikket. Sokat segíthet. Remélem valamennyit tudtam segíteni.
Köszönöm mindekinek a segítséget, elkezdtük építeni a plottert, ha van rá igény, és kész van, mutatunk róla videót. Még egyszer köszönöm!
Hello,
Szeretnék készíteni egy nyomtatót aminek a fejét kicserélem egy lézerre, tehát a lézerrel égetek bele a papírba. Annyi már megvan hogy megégetem a lapot, de a nyomtató feje túl gyorsan ugrál és a lézer ilyen gyorsan nem tudja megégetni a lapot. A kérdésem az lenne, hogy hogyan lehet ezt a fejet lelassítani? előre is kösznöm a válaszokat!
Bocs hogy ilyen gagyi kérdéseket teszek fel csak az a gond hogy versenyre visszük és jövő héten lesz a verseny és már csak ez a dolog a probléma. Az a gond hogy hiába lassítom le a nyomtató fejét a nyomtató azt hiszi hogy beragadt a papír és nem nyomtat tovább. Előre is kösz ha segít valaki.
Szerintem sehogy...
A nyomtató direkt arra lett fejlesztve, hogy gyorsan nyomtasson, és tintával, vagy tonerrel, de nem így ahogy te akarod. |
Bejelentkezés
Hirdetés |