Stap 5: Hack 2: het omzeilen van de papiersensor
De printer maakt gebruik van een optische sensor als een papiersensor. Een hefboom is verschoven ten opzichte van haar positie als het papier gaat en dat zorgt ervoor dat de optische weglengte in de sensor om te voltooien. Hier is een goede uitleg van een optische sensor. De sensor in deze printer is bijna hetzelfde, maar de circuit verbindingen zijn vrij verschillend. Boven is de gewijzigde versie van dat circuit. Afbeelding 3 toont de sensor-bestuur. Het heeft 3 pinnen die ik heb vastgesoldeerd aan verschillende gekleurde draden voor foutopsporing: witte draad pin: Chip select/power
Zwarte draad pin: grond
Blauwe draad pin: Sensor output
Dus, in normale arbeidsvoorwaarden, er is een vast tijdsinterval tussen het voederen van papier en opsporing van papier door de sensor. Als het papier niet wordt gedetecteerd binnen het opgegeven interval, een fout wordt gegenereerd door de printer en het afdrukken stopt. Om te simuleren deze exacte signaaluitwisseling gezagsgetrouwe specifieke tijdsintervallen, bouwde ik een kleine mechanisme voor het detecteren van het begin van het drukproces. Uitleg in de video
Met behulp van een oscilloscoop, kon ik vaststellen dat de printer papier rond 268 milliseconde verwacht nadat het probeert te duwen van het papier. Dus, ik een arduino voor het detecteren van de schakelaar sluit, wacht 268 msec en vervolgens verzenden een nep 'papieren gedetecteerd' signaal gecodeerd:
const int mySwitch = 7;<br>const int fakeOutput = 8; void setup(){ pinMode(mySwitch, INPUT); pinMode(fakeOutput, OUTPUT); digitalWrite(fakeOutput, HIGH); }
void loop(){ if(digitalRead(mySwitch) == HIGH){ delay(268); digitalWrite(fakeOutput, LOW); delay(2400); digitalWrite(fakeOutput, HIGH); } }
Dit valse signaal wordt gegeven aan de printer in plaats van het verzenden van de sensor output. Dus, de sensor output draad breken, zoals in afbeelding 4 en pin van de Arduino fakeOutput verbinden met deze draad, zodanig dat het nep signaal naar de printer gaat. Zorg ervoor dat het terrein van je Arduino & de sensor om elkaar te verbinden.