Nach zwei Jahren Betrieb und ĂĽber 30.000 gescannten Buchseiten war Zeit fĂĽr eine grundlegende Ăśberarbeitung meines klappbaren Buchscanners: Die renovierte Version hat eine komplett ĂĽberarbeitete Elektronik, kommt mit einem alten PC-Netzteil aus und digitalisiert 100 Buchseiten in weniger als 10 Minuten.
Kern des Buchscanners ist ein Pendel mit darauf montierter Kamera, das in seinen beiden Extrempositionen einrastet, von denen aus automatisch Fotos der beiden gerade aufgeschlagenen Seiten geschossen werden.
Ist das Pendel links oder rechts eingerastet, können die digitalen Werte am seriellen Monitor der IDE für den Arduino mini ausgelesen werden. Hier befindet sich das Pendel in Startposition (links).
Winkelmessung des Pendelausschlags
Hat das Pendel die neue Aufnahmeposition erreicht, gibt es mehrere Möglichkeiten, den Motorlauf anzuhalten. In der ersten Version meines Buchscanners haben Reed-Relais in Höhe der Arretierung dem Motor mitgeteilt, dass er Pause machen könne. Per Software lässt sich der Motorlauf auch zeitlich reglementieren: Man probiert aus, wie lange das Pendel von einer Ruheposition zur gegenüberliegenden benötigt und trägt diesen Wert in die entsprechende Programmzeile ein. Erstaunlich ist, dass bei meinem Scanner die Zeiten für Hin- und Rückfahrt sich unterscheiden (400 Millisekunden und 550 Millisekunden).
Als dritte Möglichkeit bietet sich an, den Auslenkwinkel des Pendels mittels eines Potenziometers zu messen und den analog ermittelten Wert über einen Analog-Digital-Wandler als Steuerimpuls für die Motorsteuerung zu nutzen. Dies lässt sich einfach mit dem Arduino realisieren.
Der Arduino hat sechs Analogeingänge (A0, A1, A...). Ein an einem Analog-Eingang anliegende Spannung zwischen 0 und 5 Volt wandelt der interne Analog-Digital-Wandler in einen digitalen Wert zwischen 0 und 1023 um. Ein als Sensor angeschlossenes Potenziometer wirkt wie ein Spannungsteiler. Am Schleifer kann die je nach Potenziometerstellung variable Teilspannung abgegriffen werden.