Sie haben gerade eine Zahlung an ein Restaurant geleistet und eine kleine Rechnung erhalten oder Bargeld von einem Geldautomaten ausgegeben und die Transaktionsquittung erhalten. Diese Belege werden mit einem Thermodrucker oder Belegdrucker gedruckt.
Der Thermodrucker ist die leicht verfügbare und kostengünstige Lösung zum Drucken kleiner Rechnungen oder Quittungen. Diese einfach zu integrierende Lösung ist überall verfügbar. Der Drucker verwendet thermochromes Papier, eine spezielle Papiersorte, die sich in schwarze Farbe verwandelt, wenn sie einer bestimmten Wärmemenge ausgesetzt wird. Der Thermodrucker verwendet ein spezielles Heizverfahren, um auf dieses Papier zu drucken. Der Druckerkopf wird mit einer speziellen Elektrik beheizt, um eine bestimmte Temperatur aufrechtzuerhalten. Wenn das Thermopapier durch seinen Kopf läuft, wird seine Wärmebeschichtung schwarz, wo der Kopf erwärmt wird.
Im vorherigen Projekt haben wir den Thermodrucker mit dem PIC-Mikrocontroller verbunden. In diesem Tutorial werden wir einen Thermodrucker mit der Arduino Uno-Karte verbinden. Dieses Projekt wird folgendermaßen funktionieren: -
- Der Drucker wird mit Arduino Uno verbunden.
- Ein taktiler Schalter wird mit der Arduino-Karte verbunden, um die Option " Push-to-Print" beim Drücken bereitzustellen.
- Die integrierte Arduino-LED benachrichtigt den Druckstatus. Es leuchtet nur, wenn die Druckaktivität ausgeführt wird.
Druckerspezifikation und Anschlüsse
Wir verwenden den CSN A1 Thermodrucker von Cashino, der leicht erhältlich ist und dessen Preis nicht zu hoch ist.
Wenn wir die Spezifikation auf der offiziellen Website sehen, sehen wir eine Tabelle mit den detaillierten Spezifikationen.
Auf der Rückseite des Druckers sehen wir die folgende Verbindung:
Der TTL-Anschluss bietet die Rx Tx-Verbindung für die Kommunikation mit der Mikrocontroller-Einheit. Wir können auch das RS232-Protokoll verwenden, um mit dem Drucker zu kommunizieren. Der Stromanschluss dient zur Stromversorgung des Druckers und die Taste wird zu Druckertestzwecken verwendet. Wenn der Drucker eingeschaltet wird und wir die Selbsttest-Taste drücken, druckt der Drucker ein Blatt, auf dem Spezifikationen und Musterzeilen gedruckt werden. Hier ist das Selbsttestblatt-
Wie wir sehen können, verwendet der Drucker eine Baudrate von 9600, um mit der Mikrocontrollereinheit zu kommunizieren. Der Drucker kann ASCII-Zeichen drucken. Die Kommunikation ist sehr einfach, wir können alles drucken, indem wir einfach UART verwenden, Zeichenfolge oder Zeichen übertragen.
Der Drucker arbeitet mit 5-9 V, wir verwenden ein 9V 2A-Netzteil, das sowohl den Drucker als auch den Arduino Uno mit Strom versorgen kann. Der Drucker benötigt mehr als 1,5 A Strom zum Erhitzen des Druckerkopfs. Dies ist der Nachteil des Thermodruckers, da er während des Druckvorgangs einen enormen Laststrom benötigt.
Voraussetzungen
Um das folgende Projekt zu realisieren, benötigen wir folgende Dinge: -
- Steckbrett
- Drähte anschließen
- Arduino UNO-Karte mit USB-Kabel.
- Ein Computer mit Arduino-Schnittstelle, der mit der Arduino-IDE eingerichtet ist.
- 10k Widerstand
- Taktiler Schalter
- Thermodrucker CSN A1 mit Papierrolle
- 9V 2A Nennnetzteil.
Schaltplan und Erklärung
Das Schema zur Steuerung des Druckers mit Arduino Uno ist unten angegeben:
Die Schaltung ist einfach. Wir verwenden einen Widerstand, um den Standardzustand über den Schaltereingangspin D2 bereitzustellen. Wenn die Taste gedrückt wird, wird D2 auf HIGH und diese Bedingung wird verwendet, um den Druck auszulösen. Die Stromversorgung des Thermodruckers und der Arduino-Platine erfolgt über ein einzelnes Netzteil mit 9 V und 2 A. Es ist wichtig, die Polarität der Stromversorgung zu überprüfen, bevor Sie sie an die Arduino UNO-Karte anschließen. Es verfügt über einen Barrel-Jack-Eingang mit positiver Mittenpolarität.
Wir haben die Schaltung in ein Steckbrett gebaut und getestet.
Arduino-Programm
Der vollständige Arduino-Code mit einem Demo-Video befindet sich am Ende des Projekts. Hier erklären wir einige wichtige Teile des Codes.
Zuerst haben wir die Pins für den Druckknopf (Pin 2) und die integrierte LED (Pin13) deklariert.
int led = 13; int SW = 2;
Dann sind nur wenige Variablen für die Entprellverzögerung und den Status der Schalterpresse konfiguriert
int is_switch_press = 0; // Zum Erkennen des Schalters drücken Sie den Status int debounce_delay = 300; // Verzögerung entprellen
In der Setup- Funktion haben wir den LED-Pin als Ausgang und den Schalter als Eingang konfiguriert. Wir haben den UART auch mit einer Baudrate von 9600 konfiguriert.
void setup () { / * * Mit dieser Funktion wird die Pin-Konfiguration eingestellt * / pinMode (led, OUTPUT); pinMode (SW, INPUT); Serial.begin (9600); }}
In der Hauptschleife prüfen wir zuerst , ob der Schalter gedrückt ist oder nicht, und warten dann erneut einige Zeit, um festzustellen, ob der Schalter wirklich gedrückt ist oder nicht. Wenn der Schalter auch nach der Verzögerung noch gedrückt wird, drucken wir benutzerdefinierte Daten Linien im UART, also im Thermodrucker.
Zu Beginn des Druckvorgangs haben wir die integrierte LED hoch und nach dem Drucken ausgeschaltet, indem wir sie niedrig eingestellt haben.
void loop () { is_switch_press = digitalRead (SW); // Lesen des Switch-Press-Status if (is_switch_press == HIGH) { delay (debounce_delay); // Entprellverzögerung für Tastendruck if (is_switch_press == HIGH) { digitalWrite (led, HIGH); Serial.println ("Hallo"); Verzögerung (100); Serial.println ("Dies ist eine Thermodruckerschnittstelle"); Serial.println ("mit Arduino UNO."); Verzögerung (100); Serial.println ("Circuitdigest.com"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("---------------------------- \ n \ r"); Serial.println ("Danke."); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); digitalWrite (LED, LOW); } } else { digitalWrite (led, LOW); } }
Überprüfen Sie den vollständigen Arduino-Code und das Demonstrationsvideo unten.