Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
projekte:epson-stylus-sx100 [2016-06-04 17:41] – cracki | projekte:epson-stylus-sx100 [2016-06-04 18:21] – [Operation] cracki | ||
---|---|---|---|
Line 50: | Line 50: | ||
* 10 Vref (sollte auf GND fest) | * 10 Vref (sollte auf GND fest) | ||
* wenns hoeher ist, gibts kein gescheites bild mehr | * wenns hoeher ist, gibts kein gescheites bild mehr | ||
- | * 11 DPI Mode (0/L: 300 dpi ~2600 pixel; 1/H: 600 dpi ~5200 pixel) | + | * 11 DPI Mode |
* macht auf jeden Fall, wieviele Clocks man pro Zeile rausholen kann | * macht auf jeden Fall, wieviele Clocks man pro Zeile rausholen kann | ||
+ | * 0/L: 300 dpi ~2600 clocks | ||
+ | * 1/H: 600 dpi ~5268 clocks | ||
+ | * nach anderen datenblaettern hat man 82 clocks " | ||
+ | * 600 dpi: 5184 pixels | ||
+ | * 300 dpi: 2592 pixels | ||
* 12 Analog Out | * 12 Analog Out | ||
* bei steigender Clock gehts scheinbar los (kommt von GND hoch fuer jeden Pixel neu, gefuehlte 100ns hier) | * bei steigender Clock gehts scheinbar los (kommt von GND hoch fuer jeden Pixel neu, gefuehlte 100ns hier) | ||
Line 78: | Line 83: | ||
* warte, 0-20 Millisekunden haben geklappt | * warte, 0-20 Millisekunden haben geklappt | ||
+ | ==== Arduino ==== | ||
+ | |||
+ | < | ||
+ | #define START 2 | ||
+ | #define CLOCK 3 | ||
+ | #define DPIMODE 4 | ||
+ | |||
+ | bool dpimode = 1; | ||
+ | uint16_t pixels = dpimode ? 5268 : 2634; | ||
+ | |||
+ | void setup() { | ||
+ | pinMode(START, | ||
+ | pinMode(CLOCK, | ||
+ | pinMode(DPIMODE, | ||
+ | |||
+ | digitalWrite(DPIMODE, | ||
+ | } | ||
+ | |||
+ | uint16_t linetime = 10000; // us | ||
+ | uint32_t sched = 0; | ||
+ | |||
+ | void loop() { | ||
+ | digitalWrite(START, | ||
+ | digitalWrite(CLOCK, | ||
+ | digitalWrite(CLOCK, | ||
+ | digitalWrite(START, | ||
+ | |||
+ | for (uint16_t counter = 0; counter < pixels; counter += 1) | ||
+ | { | ||
+ | PORTD |= _BV(PORTD3); | ||
+ | // | ||
+ | PORTD &= ~_BV(PORTD3); | ||
+ | // | ||
+ | } | ||
+ | |||
+ | sched += linetime; | ||
+ | int16_t dt = sched - micros(); | ||
+ | if (dt > 0) | ||
+ | delayMicroseconds(dt); | ||
+ | } | ||
+ | </ | ||
==== coloring code ==== | ==== coloring code ==== | ||
< | < |