- A nyomtató specifikációi és csatlakozásai
- Előfeltételek
- Áramkör diagram és magyarázat
- Arduino Program
Most fizetett egy étteremben, és kapott egy kis számlát vagy készpénzt adott ki egy ATM-ből, és megkapta a tranzakciós bizonylatot. Ezeket a nyugtákat Thermal nyomtatóval vagy nyugtanyomtatóval nyomtatják ki.
A hőnyomtató a könnyen elérhető és költséghatékony megoldás a kis számlák vagy nyugták kinyomtatására. Ez a könnyen integrálható megoldás mindenhol elérhető. A nyomtató termokróm papírt használ, egy speciális papírtípust, amely bizonyos mennyiségű hő hatására fekete színűvé válik. A hőnyomtató speciális fűtési eljárást használ a papírra történő nyomtatáshoz. A nyomtatófejet egy speciális elektromos berendezésben melegítik, hogy fenntartsák a hőmérsékletet. Amikor a hőpapír áthalad a fején, hőbevonata fekete színűvé válik, ahol a fejet melegítik.
Az előző projektben a Thermal nyomtatót összekötöttük a PIC mikrokontrollerrel. Ebben az oktatóanyagban egy termikus nyomtatót fogunk összekapcsolni az Arduino Uno táblával. Ez a projekt így fog működni: -
- A nyomtató csatlakozik az Arduino Uno-hoz.
- Tapintható kapcsolót csatlakoztatnak az Arduino táblához, hogy megnyomva biztosítsa a „ push to print” opciót.
- A fedélzeti Arduino LED értesíti a nyomtatás állapotát. Csak akkor fog világítani, amikor a nyomtatási tevékenység folyik.
A nyomtató specifikációi és csatlakozásai
A Cashino CSN A1 hőnyomtatóját használjuk, amely könnyen elérhető, és az ára sem túl magas.
Ha meglátjuk a specifikációt a hivatalos honlapján, meglátunk egy táblázatot, amely a részletes specifikációkat tartalmazza-
A nyomtató hátoldalán a következő csatlakozást látjuk:
A TTL csatlakozó biztosítja az Rx Tx kapcsolatot, hogy kommunikáljon a mikrovezérlő egységgel. Az RS232 protokollt használhatjuk a nyomtatóval való kommunikációhoz is. A tápcsatlakozó a nyomtató áramellátására szolgál, a gomb pedig a nyomtató tesztelésére szolgál. A nyomtató áramellátása alatt, ha megnyomjuk az önteszt gombot, a nyomtató kinyomtat egy lapot, ahol specifikációk és mintasorok kerülnek kinyomtatásra. Itt van az öntesztlap
Mint láthatjuk, a nyomtató 9600 baud sebességet használ a mikrovezérlő egységgel való kommunikációhoz. A nyomtató képes ASCII karaktereket nyomtatni. A kommunikáció nagyon egyszerű, bármit kinyomtathatunk egyszerűen az UART használatával, karakterlánc vagy karakter továbbításával.
A nyomtató 5-9 V feszültségről működik, 9 V 2A tápegységet fogunk használni, amely a nyomtatót és az Arduino Uno-t is táplálni tudja. A nyomtatónak 1,5 A-nál nagyobb áramra van szüksége a nyomtatófej fűtéséhez. Ez a hőnyomtató hátránya, mivel a nyomtatási folyamat során hatalmas terhelési áramot vesz fel.
Előfeltételek
A következő projekt elkészítéséhez a következő dolgokra van szükségünk: -
- Kenyérlemez
- Csatlakoztassa a vezetékeket
- Arduino UNO kártya USB kábellel.
- Az Arduino interfész beállításával rendelkező számítógép készen áll az Arduino IDE használatával.
- 10k ellenállás
- Tapintható kapcsoló
- Hőnyomtató CSN A1 papírtekerccsel
- 9V 2A névleges tápegység.
Áramkör diagram és magyarázat
A nyomtató Arduino Uno vezérlésének vázlata az alábbiakban látható:
Az áramkör egyszerű. Ellenállást használunk alapértelmezett állapot biztosítására a Switch D2 bemeneti tűn. A gomb megnyomásakor a D2 NAGY lesz, és ezt a feltételt használják a nyomtatás elindításához. A hőnyomtató és az Arduino kártya áramellátására 9V 2A tápegységet használnak. Fontos ellenőrizni a tápellátás polaritását, mielőtt az Arduino UNO kártyához csatlakoztatná. A középső pozitív polaritású hordó jack bemenet van.
Az áramkört kenyérlapon építettük és teszteltük.
Arduino Program
A teljes Arduino kód egy Demo Video-val a projekt végén van. Itt megmagyarázzuk a kód néhány fontos részét.
Eleinte deklaráltuk a nyomógomb (2. érintkező) és a fedélzeti LED (13. érintkező) csapjait
int led = 13; int SW = 2;
Ezután néhány változó van konfigurálva a visszavonási késleltetéshez és a váltáshoz
int is_kapcsoló_nyomás = 0; // A kapcsoló megnyomásához nyomja meg az int debounce_delay = 300 állapotot ; // Visszavonás késleltetése
A beállítási funkcióban kimenetként konfiguráltuk a LED-csapot, és bemenetként a kapcsolót. Az UART-t 9600 baud sebességgel is konfiguráltuk.
void setup () { / * * Ez a funkció a tűkonfiguráció beállítására szolgál * / pinMode (led, OUTPUT); pinMode (SW, INPUT); Serial.begin (9600); }
A fő ciklusban először ellenőrizzük, hogy a kapcsolót lenyomják-e vagy sem, majd ismét várunk valamikor, és újra ellenőrizzük, hogy a kapcsoló valóban megnyomva van-e vagy sem, ha a kapcsolót a késés után is megnyomják, akkor egyedi vonalak az UART-ban, tehát a Thermal nyomtatóban.
A nyomtatás kezdetekor magasra állítottuk a fedélzeti LED-et, és nyomtatás után alacsony szintre állításával kikapcsoltuk.
void loop () { is_switch_press = digitalRead (SW); // A Switch press állapotának beolvasása if (is_switch_press == HIGH) { delay (debounce_delay); // a gomb megnyomásának késleltetése, ha (is_switch_press == HIGH) { digitalWrite (led, HIGH); Serial.println ("Hello"); késés (100); Serial.println ("Ez egy termikus nyomtató interfész"); Serial.println ("az Arduino UNO-val."); késés (100); Serial.println ("Circuitdigest.com"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Soros.println ("---------------------------- \ n \ r"); Serial.println ("Köszönöm."); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); Serial.println ("\ n \ r"); digitalWrite (led, LOW); } } else { digitalWrite (led, LOW); } }
Ellenőrizze az alábbi teljes Arduino kódot és bemutató videót.