Einleitung
Du gehst immer achtsam mit Deinem Computer um, hällst Dich an die Empfehlungen
der Hersteller ...
Das ist sehr zu begrüßen und damit Du auch in Zukunft nicht auf falsche Gedanken
kommst solltest Du den folgenden Text keinesfalls lesen ! Es geht nämlich um den
gnadenlosen Mißbrauch von Hardware, zu sinnlosen Zwecken. (Zurück)
Im Klartext: Die folgende Anleitung beschreibt die Verwendung eines alten Druckers
als "Scanner". Das ganze richtet sich an etwas abgedrehte Bastler mit Mut zum Ver-
rückten. Hierbei sollte jedem klar sein, daß das Resultat dieser kleinen Bastelei
nicht mehr viel mit einem normalen Scanner zu tun haben. Diese Scanner liefert im
Optimalfall Bilder, wie sie in der ASCII (Grey Scalled) Gallerie zu finden sind.
Die Idee einen ASCII Scanner zu bauen, hatte ich am Anfang eigentlich gar nicht.
Ich war jung, arm und wollte unbedingt einen Scanner haben. Leider ließ mein
Budget das nicht zu und so kam mir die Idee einen SelfMade Scanner zu bauen.Gesagt
getan... und plötzlich hatte ich einen ASCII Art Scanner gebaut ohne überhaupt je
etwas von ASCII Art gehört zu haben. :-)
Falls sie dennoch weiterlesen oder sogar versuchen etwas nach zu bauen, seien Sie
bitte vorsichtig. Die Anschlüsse Ihres Rechners und Druckers stehen unter Strom !
Für Schäden jeglicher Art ist jeder selbstverantwortlich
TEIL I: HARDWARE
Bauteile:
+ Kabel, flexibel, zweiadrig (3adrig bei zusätzl. Sensor)
+ Joystick Steckverbinder
+ ggfs. Planine und Poti für den Regler
+ lichtempf. Widerstand (ggfs. Strichcode Leser, zusätzl. LED)
+ alte Druckerkassette
Kosten (ohne Computer u. Drucker): ca. 10 DM
(1.) (2.) (3.) (4.) (5.)
Sensor
+----+ +---------------+\________
| C | | +-+--________\____O
| o | | | | / \_\
| m | | | | |
| p | Joystick +-----------+ | | | | ___
| u +-( )-----------| Regler- |------------|-------| | \__/__/
| t +-( )-----------|schaltung |------------|---------| ___/
| e | port +-----------+ | /
| r | +---------------+
| |
+----+ Druckerband
1.) Ein Computer: Völlig egal welcher vom C64 bis zum Highend PC geht alles und
dazu einen (alten) Nadeldrucker mit Einwegfarbkassette.
2.) Joystickport: Angeschlossen werden lediglich zwei Pins für einen der Feuer
Buttons (Fire1 oder Fire2).
[Es natürlich auch ein Anschluß an den seriellen Port möglich
was jedoch wegen der geringen Datenübertragungsrate und dem
höheren Aufwand nicht notwendig ist]
3.) Reglerschaltung: Sie ist notwending, falls der Joystickport digital ist, wie
zB. beim Amiga(500) oder Atari. Bei einem PC ist er analog
und die Schaltung kann wegfallen, da die unterschiellichen
Schwellenwerte per Software gesetzt werden können. Ansonsten
genügen zwei Potis. Ihr Wert hängt von den Werten des Sensors
ab (dh. probieren).
[Falls der Widerstand des Sensors zu hoch ist, kann auch ein
kleiner Verstärker mit zwei Transistoren zwischengeschaltet
werden]
4.) Druckerkassete: Verwendet werden sollte eine alte oder leere Kassete. Ent-
fernen Sie zuerst das Farbband (öffnen) und beschädigen Sie
die Mechanik nicht. Schneiden Sie eine kleine Öffnung in das
Plastik, wo später der Sensor angebracht wird. Links davon
machen Sie ein kleines Loch für das Kabel.
5.) Sensor: Er besteht nur aus einem Plastikröhrchen an dessen Spitze sich
ein lichtempfindlicher Widerstand befindet. Dessen Wert läßt
sich nicht angeben, da hilft nur probieren (mit dem Regler).
Das Röhrchen wird nun in die Öffnung (4) der Kassette gescho-
ben (Sollte nicht zu fest sitzen, damit man den Abstand zum
Papier noch einstellen kann). Das Kabel an der Druckerkassette
sollte beweglich und etwas länger sein.
[Etwas bessere Resultate erziehlt man durch einen Strichcode
Leser anstelle des Widerstands. Dieser benötigt jedoch teil-
weise eine zusätzliche Stromquelle (Computer/Trafo). Auch ein
kleines LED kann durch die zusätzliche Helligkeit das Resul-
tat verbessern]
Sonstiges:
- Die Mechanik in der Druckkassette sollte funktionieren, weil der Drucker ansosten
ggfs. nicht arbietet.
- Der Sensor sollte möglichst links eingebaut werden, damit der Rand erfaßt wird.
- Der Sensor sollte etwas Spielraum habe, um den Abstand zu justieren.
- Wichtig: Diese Anleitung enthält KEINE Anweisungen die eine Änderung an ihrem Com-
puter oder Drucker fordern !!!
- Meine Hardware (nicht zwingend, s.o.): Amiga500, Star LC10 9Nadel Drucker
WARNUNG:
DIESE ANLEITUNG BEZIEHT SICH AUF ERFAHRENE PERSONEN. DIE ANSCHLÜSSE IHRES RECHNES
STEHEN UNTER STROM! BEI FALSCHEM ANSCHLUß ODER ANDEREN COMPUTERSYSTEMEN KANN ES ZU
EINER SCHÄDIGUNG IHRER HARDWARE KOMMEN. JEGLICHE GEWÄHRLEISTUNG FÜR SCHÄDEN WIRD
AUSGESCHLOSSEN. FÜR DIE ANLEITUNG WIRD WEDER RICHTIGKEIT NOCH VOLLSTÄNDIGKEIT GA-
RANTIERT.
Das alles ist mit ein bißchen mehr Probiererei verbunden als es aussieht. Die Gefahr
für Schäden an ihrem Rechner/Drucker kann nicht ausgeschlossen werden. Verwenden Sie
ggfs.einen alten Rechner. Ein gebrauchter C-64 mit Drucker ist teilweise schon für
50,- erhältlich.
TEIL II: SOFTWARE
Der weitaus schwierigere Teil der Anleitung:
Da Sie eine Software für diesen Eigenbau nicht kaufen können, müssen sie etwas
programmiererfahrung haben. Die Sprache ist dabei egal, jedoch sollten Sie mit der
Druckeransteuerung und Portabfrage vertraut sein.
Das Programm selbst besteht aus folgenden Teilen:
1.) Auslesen des Sensors, dh. des Ports
2.) Steuerung des Druckers
3.) Aufarbeiten der Informationen
Da das Programm einfach aufgebaut ist, kann es unter BASCIC sehr schnell realisiert
werden. Allerdings sind die Variationsmöglichkeiten für einen späteren Ausbau auch
beschränkt. Folgende Routinen sollte das Programm enthalten.
A.) Auslesen des Ports:
Möglichkeit 1: Auslesen der Buttons (Schwarz/Weiß Scanner, digital)
Wenn der Widerstand des Sensors zu hoch ist (Schwarz) setzt das Prog. eine "1".
In diesem Fall ist der Jostickbutton nicht durchgängig. Im anderen Fall fällt der
Widerstand (weiß) und der Button ist gedrückt. Es wird eine Null gesetz. Als
ASCII zuordnung kann man dann zB. 1="#" und 0=" " setzen.
Falls die Unterschiede zwischen hell und dunkel nicht genügen um den Button durch
zu schalten kann ein kleiner Verstärker oder ein LED helfen, ansonsten muß man
mit dem Regler nach dem besten Schwellenwert suchen.
Möglichkeit 2: Auslesen der Potis (Graustufen Scanner, analog)
In Abhängigkeit der Farbe ändert sich der Widerstand des Sensors. Verschiedenen
Intervallen können dem Wert gemäß Zeichen gesetzt werden, zB. (in KOhm):
0-25=" ", 25-50=".", 50-75="o" , 75-100="#" (beliebig verifizierbar)
Ein Regler ist in diesem Fall idR. nicht notwendig. Zur Ansteurung des Ports
findet man übrigens fertige Unit's im Internet.
B.) Steuerung des Druckes.
Sie benötigen zuerst die Befehle um ihren Drucker zu Steuern. Diese finden Sie
in ihrem Druckerhandbuch.
Nachdem Sie die Druckerschnittstelle geöffnet haben (Open LPT1 ...) müssen Sie
eine Schleife schreiben, die den Druckerkopf veranlaßt sich Zeichen für Zeichen
und Zeile für Zeile über das Blatt zu arbeiten. Dabei sollte jedes Zeichen ein-
zeln gesetz werden, da der Widerstand etwas Zeit benötigt um sich anzugleichen.
Die Steuerung erfolgt dabei einfach über sog ESCSequencen.
Mögliche Bewegungswege:
1.) Zeilenweise von links-rechts 2.) "Schlängelnd"
---------------------> (Zeilensprung) -----------------------.
---------------------> (Zeilensprung) .----------------------'
---------------------> (Zeilensprung) '----------------------.
Obwohl die zweite Möglichkeit eleganter wirkt hat die erste den Vorteil, daß
der Drucker weniger Fehler macht, da er durch den Zeilenvorschub jedesmal neu
justiert wird. Zur Verbesserung des Resultats kann ein Stelle ggfs. mehrmals
gescannt werden.
C.) Aufarbeiten der Informationen
Hier sind der Phantasie keine Grenzen gesetz. Neben der Speicherung in einer
Textdatei können den Werten verschiedene ACII Zeichen zugeordnet werden. Auch
mit kleinen Bitmaps in Zeichengröße kann man die Grafik gestallten.
Warum ist das den nun ein ASCII Scanner, nur weil man den Werten ASCII Zeichen zu-
ordnet? Nicht nur. In diesem Beispiel wird davon ausgegangen, daß sich der Drucker-
kopf zeichenweise bewegt und deshalb den Zeichensatzproportionen entspricht. Würde
man an Stelle des ASCII Zeichens einen Pixel setzen, so wäre das Bild nicht propor-
tional.
TEIL III: Erweiterungsmöglichkeiten
Andere Sensoren:
Hier gibt es vielfältige Variationsmöglichkeiten. Von dem Photowiderstand über
Strichcodeleser oder andere Phototransistoren ist alles möglich. Im Fall eines
lichtempf. Widerstandes kann ein kleines LED am Sensorkopf das Resultat etwas
verbessern.
Pixelweise Druckeransteuerung:
Man könnte nun auf die Idee kommen den Druckerkopf pixelweise zu bewegen und
somit den ASCII Scanner in einen normalen Scanner um zu bauen. Obwohl das mehr
oder weniger funktioniert, kann ich nur davon abraten. Das Reultat ist wirklich
traurig. Allein das Scannen dauert fast einen halben Tag (Wartezeit nach jedem
Pixel)und dadurch kommt es oft zu Fehlern (Papier schief eingezogen, Sensor muß
Lichtverhältnissen angepaßt werden ...). Wer es dennoch probieren will sollte es
nur aus interesse machen und sich nicht viel von dem Reultat erhoffen.
Der "DRUCKERPLOTTER":
Wem das alles bisher zu langweilig war, der bekommt nun noch etwas wirklich ab-
gedrehtes. Nach einem ähnlichen Prinzip wie der ASCII Scanner kann auch ein ein-
facher Plotter realisiert werden. Da dies eigentlich nicht hierher gehört, nur
eine kurze Beschreibung:
+--------+------+\____ ....... Elastisches Band
| .....|=|Magnet| ___ \
|.O |______|/ \_\
| ..../ |
| / | ___
-------| oGelenk \__/__/
------ | / O O ___/
| /HHHHHHHHHHHHHHHHHHHHHHHHH>- (Stift bewegbar)
+-----O--------O+ Stift
Das Grundprinzip: Der Computer steuert den Elektomagneten an, der das Band anzieht
und über das Gelenk den Stift auf das Papier drückt. Ist der Magnet nicht ange-
steuert zieht das elast. Band das Gelenk wieder zurück.
Man kann den Magneten über den seriellen Port steuern und den Drucker wie gehabt
mit ESCSequencen. Man sollte drei Druckdurchläufe planen um nach jedem die Stift
farbe wechseln zu können.
Übrigens läßt sich dieser "Plotter" dann auch als Einnadeldrucker mißbrauchen ....
aähm, ich sollte wohl jetzt aufhören ...
WARNUNG !!!
Also noch mal, auch wenn ich Euch langweile. Dieses Dokument ist keine komplette An-
leitung und liefert nur eine "Idee". Es ist weder vollständig noch kann ich für die
Richtigkeit garantieren. Demgemäß richtet sich diese Datei an Anwender mit gewissen
Erfahrungen im Bereich Hardware, Elektronik und Programmierung. Ihre Hardware ist
keinesfalls dafür gedacht den vorgeschlagenen "Mißbrauch" damit zu treiben. Deshalb
sind nur sie selber verantwortlich für mögliche Schäden, egal welcher Art.
(c) BTS, Meph.1992-99