لقد سددت للتو دفعة إلى مطعم واستلمت فاتورة صغيرة أو صرفت نقدًا من ماكينة الصراف الآلي واستلمت إيصال المعاملة. تتم طباعة هذه الإيصالات باستخدام طابعة حرارية أو طابعة إيصالات.
الطابعة الحرارية هي الحل المتاح بسهولة والفعالية من حيث التكلفة لطباعة الفواتير أو الإيصالات الصغيرة. هذا الحل سهل الدمج متاح في كل مكان. تستخدم الطابعة ورقًا حراريًا ، وهو نوع خاص من الورق يتحول إلى اللون الأسود عند تعرضه لكمية معينة من الحرارة. تستخدم الطابعة الحرارية عملية تسخين خاصة للطباعة على هذا الورق. يتم تسخين رأس الطابعة في كهربي خاص للحفاظ على درجة حرارة معينة. عندما يمر الورق الحراري من خلال رأسه ، يتحول طلاءه الحراري إلى اللون الأسود حيث يتم تسخين الرأس.
في المشروع السابق ، قمنا بتوصيل الطابعة الحرارية بوحدة تحكم دقيقة PIC. في هذا البرنامج التعليمي ، سنقوم بتوصيل طابعة حرارية بلوحة Arduino Uno. سيعمل هذا المشروع على النحو التالي: -
- سيتم توصيل الطابعة بـ Arduino Uno.
- يتم توصيل مفتاح لمسي بلوحة Arduino لتوفير خيار " الدفع للطباعة" عند الضغط عليه.
- سوف يقوم Arduino LED على متن الطائرة بإخطار حالة الطباعة. سوف يتوهج فقط عندما يستمر نشاط الطباعة.
مواصفات الطابعة والتوصيلات
نحن نستخدم طابعة حرارية CSN A1 من كاشينو ، وهي متوفرة بسهولة والسعر ليس مرتفعًا جدًا.
إذا رأينا المواصفات على موقعها الرسمي ، فسنرى جدولاً يوضح المواصفات التفصيلية-
على الجانب الخلفي من الطابعة ، سنرى الاتصال التالي-
يوفر موصل TTL اتصال Rx Tx للتواصل مع وحدة الميكروكونترولر. يمكننا أيضًا استخدام بروتوكول RS232 للتواصل مع الطابعة. موصل الطاقة مخصص لتشغيل الطابعة ويستخدم الزر لغرض اختبار الطابعة. عندما يتم تشغيل الطابعة ، إذا ضغطنا على زر الاختبار الذاتي ، فستقوم الطابعة بطباعة ورقة حيث ستتم طباعة المواصفات وخطوط العينة. هنا ورقة الاختبار الذاتي-
كما نرى الطابعة تستخدم معدل الباود 9600 للتواصل مع وحدة التحكم الدقيقة. يمكن للطابعة طباعة أحرف ASCII. الاتصال سهل للغاية ، يمكننا طباعة أي شيء ببساطة باستخدام UART ، أو إرسال سلسلة أو حرف.
تعمل الطابعة من 5 إلى 9 فولت ، وسوف نستخدم مصدر طاقة 9 فولت 2 أمبير يمكنه تشغيل كل من الطابعة و Arduino Uno. تحتاج الطابعة إلى أكثر من 1.5 أمبير من التيار لتسخين رأس الطابعة. هذا هو عيب الطابعة الحرارية لأنها تأخذ تيارًا كبيرًا أثناء عملية الطباعة.
المتطلبات الأساسية
لعمل المشروع التالي نحتاج إلى الأشياء التالية: -
- اللوح
- ربط الأسلاك
- لوحة اردوينو UNO مع كابل USB.
- جهاز كمبيوتر مزود بإعداد واجهة Arduino جاهز مع Arduino IDE.
- 10 كيلو المقاوم
- مفتاح اللمس
- طابعة حرارية CSN A1 مع لفة ورق
- 9V 2A تصنيف وحدة امدادات الطاقة.
مخطط الدائرة وشرحها
رسم تخطيطي للتحكم في الطابعة باستخدام Arduino Uno موضح أدناه:
الدائرة بسيطة. نحن نستخدم المقاوم لتوفير الحالة الافتراضية عبر طرف إدخال المحول D2. عند الضغط على الزر ، يصبح D2 مرتفعًا ويتم استخدام هذا الشرط لبدء الطباعة. يستخدم مصدر الطاقة الأحادي من مزود الطاقة 9V 2A لتشغيل الطابعة الحرارية ولوحة Arduino. من المهم التحقق من قطبية مصدر الطاقة قبل توصيلها بلوحة Arduino UNO. لديها مدخل جاك برميل مع قطبية مركزية موجبة.
قمنا ببناء الدائرة في لوحة واختبارها.
برنامج اردوينو
كود Arduino الكامل مع فيديو توضيحي في نهاية المشروع. نحن هنا نوضح بعض الأجزاء المهمة من الكود.
في البداية ، أعلنا عن المسامير الخاصة بزر الضغط (Pin 2) وعلى اللوحة LED (Pin13)
أدى int = 13 ؛ int SW = 2 ؛
ثم يتم تكوين بعض المتغيرات لتأخير الإلغاء وحالة ضغط التبديل
int is_switch_press = 0 ؛ // لاكتشاف المفتاح ، اضغط على الحالة int debounce_delay = 300 ؛ // تأخير الرد
في وظيفة الإعداد ، قمنا بتكوين دبوس LED كإخراج والتبديل كمدخل. قمنا أيضًا بتكوين UART بمعدل 9600 باود.
إعداد باطل () { / * * تُستخدم هذه الوظيفة لضبط تكوين الدبوس * / pinMode (led ، الإخراج) ؛ pinMode (SW ، INPUT) ؛ Serial.begin (9600) ؛ }
في الحلقة الرئيسية ، نتحقق أولاً مما إذا كان المفتاح مضغوطًا أم لا ، ثم ننتظر مرة أخرى لبعض الوقت ثم نتحقق مرة أخرى لتحديد أن المفتاح مضغوط حقًا أم لا ، إذا كان المفتاح لا يزال مضغوطًا حتى بعد التأخير ، فنحن نطبع مخصص في UART ، لذلك في الطابعة الحرارية.
في بداية الطباعة ، قمنا بضبط مؤشر LED على اللوحة مرتفعًا وبعد الطباعة ، قمنا بإيقاف تشغيله بجعله منخفضًا.
حلقة باطلة () { is_switch_press = digitalRead (SW) ؛ // قراءة حالة الضغط على التبديل إذا (is_switch_press == HIGH) { delay (debounce_delay) ؛ // تأخير debounce for button press if (is_switch_press == HIGH) { digitalWrite (led، HIGH)؛ Serial.println ("Hello") ؛ تأخير (100) ؛ Serial.println ("هذه واجهة طابعة حرارية") ؛ Serial.println ("مع Arduino UNO.") ؛ تأخير (100) ؛ Serial.println ("Circuitdigest.com") ؛ Serial.println ("\ n \ r")؛ Serial.println ("\ n \ r")؛ Serial.println ("\ n \ r")؛ Serial.println ("---------------------------- \ n \ r") ؛ Serial.println ("شكرًا لك") ؛ Serial.println ("\ n \ r")؛ Serial.println ("\ n \ r")؛ Serial.println ("\ n \ r")؛ الكتابة الرقمية (led ، منخفضة) ؛ } } else { digitalWrite (led، LOW)؛ } }
تحقق من كود Arduino الكامل والفيديو التوضيحي أدناه.