Differences
This shows you the differences between two versions of the page.
projekte:cis:canon_mf4370dn [2016-06-15 06:06] cracki [Pinout] |
projekte:cis:canon_mf4370dn [2017-01-17 02:01] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Canon MF4370dn ====== | ||
- | <WRAP right> | ||
- | ^ Canon MF4370dn | ||
- | ^ Kontakt | [[wiki: | ||
- | </ | ||
- | |||
- | Ein Multifunktionsdrucker, | ||
- | |||
- | * Glasplatte neben dem E-Lab rechts | ||
- | * [[projekte: | ||
- | * Motoren | ||
- | * keine Encoder gefunden (war n Laserdrucker) | ||
- | * haufenweise Lichtschranken | ||
- | * FFC Flachbandkabel und Sockel (1.0mm) | ||
- | * Platinen, u.a. eine mit Duzenden von Tastern | ||
- | |||
- | ===== Beschriftungen ===== | ||
- | |||
- | * 01 70315 | ||
- | * FK2-9569-000 | ||
- | * das ist die Typbezeichnung für den CIS | ||
- | * 01 57038164 F | ||
- | * Barcode: Format ITF, Typ Text, Wert 57038164 | ||
- | |||
- | ===== Pinout ===== | ||
- | |||
- | * 6 Clock | ||
- | * 7 Startpuls | ||
- | * 8 Vref | ||
- | * 9 VCC (5V) | ||
- | * 10 GND | ||
- | * 11 DPI (low: 300, high: 600, pullup) | ||
- | * 12 Aout | ||
- | * 2-4 V Ausgang, geht nie runter auf 0 | ||
- | |||
- | * regelmäßige blinde Flecke, ca 0.5mm breit jeweils | ||
- | * doppelt so viele blinde Flecke, wenn Spannung an DPI > VCC | ||
- | |||
- | ===== Reversing ===== | ||
- | |||
- | Pins gezaehlt von innen (links) nach aussen (rechts). | ||
- | |||
- | Bis auf GND sind 1-5 und 6-12 getrennt. Insbesondere 5, trotz weiterer Abzweigung, scheint mit nix weiter zu interagieren. | ||
- | |||
- | ==== Messungen ==== | ||
- | |||
- | Spannungen bei 10 mA und 3.4V: | ||
- | |||
- | ^ + \ - ^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ Beschreibung des Pins ^ | ||
- | | 1 | <typo bg:# | ||
- | | 2 | | ||
- | | 3 | | ||
- | | 4 | | ||
- | | 5 | | ||
- | |||
- | auch: | ||
- | * 2 GND Rot, ~2.3V 50mA | ||
- | * 3 GND Gruen, ~3.45V 50mA | ||
- | * 4 GND Blau, ~3.45V 30mA | ||
- | |||
- | bei ~4.5V Versorgung in die LEDs folgende Widerstände nach Erde: | ||
- | * Rot: 220 | ||
- | * Grün: 50 | ||
- | * Blau: 100 | ||
- | |||
- | Spannungen bei 1 mA: | ||
- | |||
- | ^ + \ - ^ 6 ^ 7 ^ 8 ^ 9 ^ 10 ^ 11 ^ 12 ^ Aufgabe | ||
- | | 6 | <typo bg:# | ||
- | | 7 | <typo bg:# | ||
- | | 8 | <typo bg:# | ||
- | | 9 | <typo bg:# | ||
- | | 10 | <typo bg:# | ||
- | | 11 | <typo bg:# | ||
- | | 12 | <typo bg:# | ||
- | |||
- | ===== Arduino Code ===== | ||
- | |||
- | < | ||
- | #define START 2 | ||
- | #define CLOCK 3 | ||
- | #define DPIMODE 4 | ||
- | #define LEDR 5 | ||
- | #define LEDG 6 | ||
- | #define LEDB 7 | ||
- | |||
- | bool dpimode = 1; | ||
- | uint16_t pixels = dpimode ? 5184 : 2592; | ||
- | |||
- | uint32_t linetime = 4000; // us | ||
- | uint32_t sched = 0; | ||
- | |||
- | uint8_t lightcolor = 0; | ||
- | |||
- | void set_lighting(uint8_t active) | ||
- | { | ||
- | digitalWrite(LEDR, | ||
- | digitalWrite(LEDG, | ||
- | digitalWrite(LEDB, | ||
- | } | ||
- | |||
- | void setup() { | ||
- | pinMode(START, | ||
- | pinMode(CLOCK, | ||
- | pinMode(DPIMODE, | ||
- | |||
- | pinMode(LEDR, | ||
- | pinMode(LEDG, | ||
- | pinMode(LEDB, | ||
- | |||
- | digitalWrite(DPIMODE, | ||
- | |||
- | sched = micros(); | ||
- | } | ||
- | |||
- | void loop() { | ||
- | | ||
- | set_lighting(0); | ||
- | |||
- | digitalWrite(START, | ||
- | digitalWrite(CLOCK, | ||
- | digitalWrite(CLOCK, | ||
- | digitalWrite(START, | ||
- | |||
- | set_lighting(1 << lightcolor); | ||
- | |||
- | for (uint16_t counter = 82 + pixels; counter-- > 0; ) | ||
- | { | ||
- | PORTD |= _BV(PORTD3); | ||
- | PORTD &= ~_BV(PORTD3); | ||
- | } | ||
- | |||
- | lightcolor = (lightcolor+1) % 3; | ||
- | |||
- | sched += linetime; | ||
- | int32_t dt = sched - micros(); | ||
- | while (dt > 0x4000) | ||
- | { | ||
- | delayMicroseconds(0x4000); | ||
- | dt -= 0x4000; | ||
- | } | ||
- | if (dt > 0) | ||
- | delayMicroseconds(dt); | ||
- | } | ||
- | </ |