Klassische Auto-Race Spiel auf einem Deskjet 520.

AVI video (1.5MB) von einen Race.

Klick auf ein Bild um das 4-Megapixel Orginalbild anzuzeigen (1.5MB)


Das Parkur-Papier (in diese Fall zwei A4 lang) wird geladen durch die Joystick nach vorne zu drucken.


Wenn der Parkur geladen ist zeigt das LCD “Positionieren”, jetzt kann der Deskjet-Pilot sein Bolide im Position bringen mit Joystick links/rechts. Der Race startet sobald der Joystick nach forne bewegt wird. Solange das Auto auf dem Parkur ist sind hohe Geschwindigkeiten moechlich. Sobald jedoch das Auto von Parkur abkommt, verringert sich die Hoechstgeschwindigkeit. Ziel ist jetzt den Parkur so schnell wie moeglich zu absolvieren.
Es gibt auch ein AVI video (1.5MB) von einen Race.


Beim erreichen des Ziels schaltet der Deskjet ab, und…


Die Rennzeit wird im Display angezeigt.

Bauanleitung


Oeffne ein Deskjet der 500er Reihe (hier 520).


Auf dem Haupplatine wirden folgende Leiterbanen abgetrennt und umgeleitet zum Microkontroller auf dem Breadboard:
- links-oben: Ground Leitung und +5Volt Leitung.
- links-mitte: 4x Stepper Motor Controller Leitungen
- links-unter: 2x Druckkopf Positions Encoder, und 1x “Papier-Aus” Sensor.
- rechts-oben: 3x Druckkopf DC Motor Controller Leitungen.


Der Papierfeederteil wird wieder installiert, wobei es wichtig ist das Druckkopfkabel (weisse Flachkabel unter-mitte) wieder anzuschliesen fuer die Druckkopf Position und “Papier-Aus” Sensoren. Auch werden zwei Holzkloeze installiert die die Bewegungsfreiheit des Druckkopfes auf die Papierbreite beschraenken.



Aus einem Phototransistor und Infrarot LED wird der (licht-dunkel) Parkursensor gebaut. Ein kleines Stueck Plexiglass haelt den Sensor auf ein4er fixen Hoehe ueber dem Papier, so kann der Sensor Ausgangswert kalibriert werden.


Im oberen Gehaeuse-Teil sind die Anschluesse fuer dem Reset-Knopf und Power-On LED.


Die Druckkopfabdeckung vor dem Ausschnitt.


Der fertige Deskjet Racer!

Software

Das austausch Gehirn des Deskjets ist ein ATMega8 Microkontroller (Einzelhandelspreis Euro 3.50). Mit einem, im gcc programmiertem, Programm ist es moeglich Paperfeed Stepper motor und Druckerkopf DC Motor mit variabeler Geschwindigkeit zu steuern. Im Hauptloop des Programms wird die X und Y Position des Joysticks und der Photosensorwert ausgewertet und demensprechend wird die Geschwindigkeit der Motoren angepasst.

Microkontrollers Pin Benutzung:

Pin:Pinname Funktion
 1:RESET programmmer
 2:RXD   serial port
 3:TXD   serial port
 4:INT0  x position phase0
 5:INT1  paperout
 6:PD4   stepper phase0
 7:VCC   VCC
 8:GRD   GRD
 9:PB6   dc motor1
10:PB7   dc motor2
11:PD5   stepper phase1
12:PD6   stepper phase2
13:PD7   stepper phase3
14:PB0   x position phase1
 
15:OC1A  dc motor enable
16:PB2   lcd D4
17:PB3   lcd D5 / MOSI  programmer
18:PB4   lcd D6 / MISO  programmer
19:PB5   lcd D7 / SCK   programmer
20:AVCC  N/C
21:AREF  VCC
22:GRD   GRD
23:ADC0  joystick x
24:ADC1  joystick y
25:ADC2  light sensor
26:
27:PC4   lcd E
28:PC5   lcd RS

Microkontroller Resources:
- Interer Kalibrierte RC-Oscillator auf 8MHz.
- Drei ADC Kanaele: zwei fuer die Joystick-Position und eine fuer den Photosensor (schwarz-weiss).
- 8-Bit Timer2 wird benutzt zum Geschwindigkeit-Kontrolle des Paperfeed Stepper-Motor.
- 8-Bit Timer0 wird benutzt als Zeitbasis mit 4kHs Resolution.
- Interrupt0 wird benutzt zum Auswerten des Druckerkopfes Positions Enkoder.

© 2018 Tech Toy Hacks Suffusion theme by Sayontan Sinha