IOT

রাস্পবেরি পাই পিকো এবং স্টোন টিএফটি এলসিডি ভিত্তিক পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড

সংক্ষিপ্ত ভূমিকা

থার্মাল প্রিন্টার আমাদের দৈনন্দিন জীবনে খুবই সাধারণ, এবং রেস্তোরাঁ, পার্কিং লট এবং কেনাকাটায় তাপীয় প্রিন্টারের উদাহরণ রয়েছে। এই নিবন্ধটি পার্কিং সিস্টেমে তাপীয় প্রিন্টার প্রয়োগের উপর ফোকাস করবে।

Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.

উপকরণ ব্যবহার করা হবে

  • স্টোন STWI101WT-01
  • FTP থার্মাল প্রিন্টার হেড
  • রাস্পবেরি পাই পিকো
    • কয়েন চালিত মেশিন
    ক্রিয়াকন্ট্রোল ফাংশনটি সিরিয়াল স্ক্রিনে প্রদর্শিত হয়, প্রধান ইন্টারফেসটি মেঝে নির্বাচন করে, প্রধান ইন্টারফেসে প্রবেশ করার পরে পার্কিং স্থান নির্বাচন করে, একই সময়ে এটি উপরের ডানদিকে পাঠ্য বাক্সে পার্কিং স্থান নম্বর প্রদর্শন করবে, তারপর নির্বাচন করে থাকার সময়, এটি দুটি স্ক্রোলিং টেক্সট নির্বাচক, তারপর একইটি উপরের ডানদিকে টেক্সট বক্সে অর্ডার তথ্য প্রদর্শন করবে, নির্দিষ্ট ইউনিট মূল্য অনুসারে যা মোট মূল্য পেতে থাকার সময়ের সাথে গুণ করে। তারপর শুধুমাত্র যখন পার্কিং স্থান এবং থাকার সময় নির্বাচন করা হয়, আপনি পেমেন্ট বোতামে যেতে পারেন, অন্যথায় এটি অবৈধ। পেমেন্ট স্ক্রিনে প্রবেশ করার পরে, একটি মুদ্রা গ্রহণকারী ব্যবহার করা হবে। তারপর স্ক্রীনে কয়েন রাখা হবে এবং ইতিমধ্যে কত কয়েন রাখা হবে তা দেখাবে। কয়েন ঢোকানোর পর, একটি পেমেন্ট সফল বার্তা প্রদর্শিত হবে। তারপরে আপনি তাপীয় কাগজে স্থান নম্বর এবং সময় প্রিন্ট করার জন্য একটি ছোট টিকেট প্রিন্ট করতে পারেন।নকশা প্রক্রিয়াপ্রথমে আমি ব্যবহার করতে চেয়েছিলাম রাস্পবেরি পাই পিকো একটি ছোট প্রিন্টার তৈরি করতে। তারপর উপাদান নির্বাচন করার প্রক্রিয়ায় আমি মনে করি তাপ প্রিন্টার অর্জন করা আরও সুবিধাজনক, প্রোগ্রামটি নির্ধারণ করার পরে, আমি হার্ডওয়্যার ক্রয় শুরু করেছি। প্রকৃতপক্ষে, অনলাইন সংগ্রহের প্রক্রিয়াতে আমি দেখেছি যে ভাল ড্রাইভার সার্কিট সহ অনেক তাপীয় প্রিন্টার রয়েছে, তাদের বেশিরভাগই stm এর চিপ ব্যবহার করে তৈরি করা হয়েছে এবং সেগুলি তাদের নিজস্ব নির্দেশাবলীর সাথে ডিজাইন করা হয়েছে। উদাহরণস্বরূপ, তার নির্দেশাবলী ব্যবহার করে প্রিন্টারকে অক্ষর মুদ্রণ করতে দেওয়া বা কাগজে যেতে দেওয়া, তবে এই প্রিন্টারের ব্যবহারিকতা খুব বেশি, তবে শেখার কোনও মূল্য নেই। এটি লাইনে সিরিয়াল পোর্টের মাধ্যমে নির্দেশাবলী পাঠাতে হয়, আপনি প্রিন্টারটি ম্যানিপুলেট করতে পারেন। তাই আমি ভেবেছিলাম আমি একটি প্রিন্ট হেড কিনব এবং এটি নিজেই বিকাশ করব। তারপরে প্রিন্ট হেড সম্পর্কে, আমি একটি এফটিপি থার্মাল প্রিন্ট হেড বেছে নিয়েছি।এফটিপি থার্মাল প্রিন্ট হেড
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • এই প্রিন্ট হেড আন্তর্জাতিকভাবে পাওয়া উচিত, মৌলিক নীতিগুলি একই রকম। বাম দিকে একটি স্টেপার মোটর। তারপর মধ্যম মাথা 6 হিটিং ইউনিট। প্রতিটি হিটিং ইউনিটে 64টি হিটিং পয়েন্ট রয়েছে। তাই মোট 384 হিটিং পয়েন্ট। তারপর নীচে একটি কুঁচি আছে। ল্যাচের নীচে একটি শিফট রেজিস্টার রয়েছে। অবশেষে, একটি ঘড়ি সংকেত প্রদান করা হয়. সুতরাং অপারেশনের সম্পূর্ণ নীতি হল প্রিন্ট হেডে একটি ঘড়ির সংকেত প্রদান করা এবং তারপর প্রতি ঘড়ির সময় একটি ডেটা পাঠানো, 384 ঘড়ি সংকেত এবং 384 ডেটা পাঠানোর পরে, শিফ্ট রেজিস্টারের ডেটা ল্যাচে সংরক্ষণ করা হবে। তারপর ল্যাচ নিম্ন স্তরে সেট করা হয়। তারপরে 384 হিটিং পয়েন্টগুলি প্রতিটি ডেটা 0 বা 1 কিনা তা অনুসারে গরম করা বা না গরম করা বেছে নেবে। একই সময়ে, পছন্দসই অক্ষর ডিজাইন করার জন্য থার্মাল পেপার চালানোর জন্য স্টেপার মোটরটিকে ঘুরতে দিন। আমি তাপীয় প্রিন্ট পাওয়ার পর হেড, আমি এগিয়ে গিয়ে একটি ডেটাশীট চেয়েছিলাম এবং এটি একটি 30 পিন এফপিসি কেবল ছিল। সুতরাং এটি স্পষ্টতই পিকোর সাথে সরাসরি সংযোগ করা খুব সুবিধাজনক নয়। তাই আমি ভেবেছিলাম আমি একটি ব্যাকপ্লেন সার্কিট ডিজাইন করব। আমার কাছে একটি আছে স্টোন সিরিয়াল পর্দা হল 12v পাওয়ার সাপ্লাই, এবং তারপর আমি একটি রেফারেন্স মানের থার্মাল প্রিন্ট হেড প্রিন্টিং ভোল্টেজ দেখি 7.6v, সর্বোচ্চ মান 8v, তারপর এটি প্রায় 7.6v একটি ভোল্টেজ প্রদান করি৷ এটি একটি লজিক ভোল্টেজ 3.3v, এবং তারপর রাস্পবেরি পাই পিকো সর্বাধিক সমর্থন 5v পাওয়ার সাপ্লাই এবং এটি একটি 3.3v আউটপুট ভোল্টেজ আছে, তারপর পাওয়ার সাপ্লাই ডিজাইন দুটি dcdc ব্যবহার করতে পারে, 12v পাওয়ার সাপ্লাই সহ, একটি dcdc আউটপুট 7.6v থার্মাল প্রিন্ট হেডকে পাওয়ার জন্য, পিকোতে অন্য dcdc আউটপুট 5v, এবং তারপর থার্মাল প্রিন্ট হেড লজিক ভোল্টেজ পাওয়ার জন্য পিকো থেকে 3.3v ব্যবহার করুন। তারপর 12v সরাসরি সিরিয়াল স্ক্রিনে নিয়ে যায়।
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • যাইহোক, সেই থার্মাল প্রিন্ট হেডের জন্য স্টেপার মোটরও চালিত করা দরকার। আমার কাছে একটি সমন্বিত ডার্লিংটন টিউব ইন্টিগ্রেটর আছে। কিন্তু এটি অনেক বড়, এবং এটি একটি সোজা প্লাগ-ইন, তাই শুধু একটি ড্রাইভার চিপ কিনুন। তাহলে ড্রাইভ মোটরের এই দিকটিও ঠিক আছে।প্রিন্টিং এর জন্য একটি ফন্টের ডিজাইন প্রয়োজন, মূলত সবাই ফন্ট স্টোরেজের জন্য স্পি ফ্ল্যাশ ব্যবহার করে যা একটি বিশাল প্রজেক্ট। শুধুমাত্র ascii কোড 100 এর বেশি, তাই আপনাকে আরেকটি SPF ফ্ল্যাশ কিনতে হবে। তারপর পুরো পরিকল্পনা প্রায় এই রকম।
    স্টোন ডিজাইনার (GUI ডিজাইনার সফ্টওয়্যার)দেশদে:https://www.stoneitech.com/support/download/software
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • সার্কিট ডিজাইন করুনতারপর নিচের সার্কিট ডিজাইন করা শুরু করলো। প্রথমে পাওয়ার সাপ্লাই খুঁজুন, আসলে, শুরুতে আমি একটি থ্রি-টার্মিনাল ভোল্টেজ রেগুলেটর ব্যবহার করেছি, কারণ সার্কিটটি সহজ, তৈরি হওয়ার পরে, ডিবাগিংয়ের সময় গরম করার পরিস্থিতি আরও গুরুতর ছিল, স্পর্শ করা খুব গরম, তাই আমি ব্যবহার করতে পরিবর্তন করি dcdc সার্কিট ডায়াগ্রামটি করতে সরাসরি চিপ ডেটা শীট অনুসরণ করুন। আমি এখানে mt2492 বেছে নিয়েছি, কিন্তু আমি একটি গুরুত্বপূর্ণ প্যারামিটার উপেক্ষা করেছি তা হল প্রিন্ট হেড অপারেটিং কারেন্ট, এই চিপের সর্বোচ্চ আউটপুট কারেন্ট হল 2A, কিন্তু প্রিন্ট হেড অপারেটিং কারেন্ট 2.3A, 0.3A এর পার্থক্য, এটিও ব্যবহার করা যেতে পারে, কিন্তু দক্ষতা এত বেশি নয়, আমরা পরে নির্দিষ্ট প্রভাব সম্পর্কে কথা বলব।
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • তারপরে আমি যে মোটর ড্রাইভার চিপটি কিনেছি তা হল lv8548, প্রিন্ট হেড ডেটা শীটটি দেখুন, যার একটি স্টেপার মোটর ড্রাইভ টাইমিং ডায়াগ্রাম রয়েছে, এটির সময় অনুযায়ী, এটিতে একটি চার-মুখী pwm সংকেত প্রদান করতে।
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • তারপর ফ্ল্যাশ চিপ, by25q32bs সহ, ​​32Mbit এর ক্ষমতা বেশ বড়, এবং পিকোর সাথে সংযুক্ত, পিকো ডাকার অপেক্ষায়।
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • এর পরে, সার্কিট ডায়াগ্রামটি এরকম, উপরের বাম কোণে যোগাযোগ সকেট এবং পাওয়ার সাপ্লাই সকেট, নীচে একটি বুজার (আসলে সার্কিটে ব্যবহৃত হয় না), ডানদিকে একটি আলো-নিঃসরণকারী ডায়োড রয়েছে এবং নীচের ডান কোণে প্রিন্ট হেড সংযোগ করার জন্য একটি 30 পিন fpc।
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • রাস্পবেরি পাই পিকোর জন্য বোর্ডে একটি পিন হেডার রিসেপ্ট্যাকল রেখে নিচের মত করে এবং ব্যবহার করা যেতে পারে, আপনি সরাসরি এতে প্লাগ ইন করতে পারেন।
    রাস্পবেরি পাই পিকো
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • পাওয়ার চালু করুন, প্রথমে পিকো এবং প্রিন্ট হেডের সাথে সংযুক্ত নয়, dcdc এর আউটপুট ভোল্টেজ পরিমাপ করুন, সাধারণ ক্ষেত্রে একটি প্রায় 7.5v, অন্যটি প্রায় 5v।
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • তারপরে প্রিন্ট হেড, সিরিয়াল স্ক্রিন এবং পিকো সংযোগ করুন, লজিক ভোল্টেজটি প্রায় 3.3v পরিমাপ করুন, কোন সমস্যা ছাড়াই, আপনি প্রোগ্রামটি লিখতে পারেন।
    কার্যক্রমআমি প্রথমে স্টেপার মোটর সামঞ্জস্য করতে চাই, এই অংশটি সামঞ্জস্য করা সহজ, ডেটা শীটে টাইমিং ডায়াগ্রাম দেখুন, 8 ক্লক পিরিয়ড, প্রতিটি ক্লক পিরিয়ড আলাদাভাবে মোটরটির চারটি পিনকে একটি লজিক সিগন্যাল দিতে হবে, 8 পিরিয়ডের পরে মোটর চলবে চালু করুন, এবং তারপর গতি সামঞ্জস্য করুন, কিন্তু মাঝখানে আমাদের ডিউটি ​​অনুপাত সামঞ্জস্য করতে একটি বিলম্ব যোগ করতে হবে অন্যথায় এটি খুব দ্রুত ঘুরবে, আমি যে বিলম্বের সময় সেট করেছি তা প্রায় 5ms এবং তারপরে এটি ঘুরতে দেওয়ার পরে আপনাকে অবশ্যই স্তরটি দিতে হবে কম, অন্যথায় মোটরটি চালু হবে বলে মনে হয় না আসলে অভ্যন্তরীণ কয়েলটি এখনও শক্তিতে রয়েছে, অনেকক্ষণ পরে আপনি জ্বলন্ত গন্ধ পেতে পারেন। তারপর ফাংশনটি লিখুন, শরীরটিকে একটি লুপে রাখুন, চক্রের সংখ্যা প্রতিনিধিত্ব করে মোটর ঘূর্ণনের দৈর্ঘ্য, ফাংশনটি একটু লম্বা দেখাচ্ছে, এটিকে অন্য কোথাও একা রাখুন এবং কলের জন্য অপেক্ষা করুন।
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • এই ফাংশনটি কয়েকটি পরিবর্তনের পরে, গতি এবং সময়কাল মূল প্রোগ্রামে প্রেরণ করা হবে। এটির এখনও অনেক অপ্টিমাইজেশানের প্রয়োজন। তারপরে প্রিন্ট হেড সামঞ্জস্য করার বিষয় হল, এই অংশটি আমার পক্ষে কঠিন, এটির জন্য একটি ঘড়ির সংকেত প্রয়োজন, ডেটা শীটটি সর্বাধিক 8M এ লেখা হয়েছে, আমি ভেবেছিলাম এটি প্রায় 8M এর সংকেত প্রয়োজন। ফ্রিকোয়েন্সি, এটা কঠিন, প্রথমে আমি io ফ্লিপ লেভেল দিয়ে ফ্রিকোয়েন্সি পরিমাপ করেছি, পার্থক্যটি অনেক বেশি। এবং তারপরে আমি পিও ব্যবহার করতে চাই, এবং আমি সারা দিন গবেষণা করেছি কিন্তু ফলাফল ভাল হয়নি, আমার ব্যক্তিগত দক্ষতা সীমিত, সম্ভবত আমাকে rp2040 চিপ ম্যানুয়ালটি গভীরভাবে অধ্যয়ন করতে হবে। তারপর চেষ্টা করার জন্য লেভেল 384 পিরিয়ড ফ্লিপ করুন, এটি একটি এইভাবে ওয়ার্কফ্লো, ডাটা ইনপুট 1 পিন, ল্যাচ 1 পিন, ক্লক সিগন্যাল 1 পিন, 6টি প্রিন্ট ইউনিট পিন শুরু করুন এবং তারপরে ল্যাচ ছাড়াও অন্যান্য সমস্ত পুল লো করুন এবং তারপর সাইকেল চালানোর পরে একটি ঘড়ির মধ্যে একটি ডেটা পাঠান। ল্যাচটি 384 এ সেট করার জন্য, 0 প্রিন্ট ইউনিটকে 6 এ সেট করার জন্য এবং তারপরে কোন পয়েন্টে ডেটা আছে কোন পয়েন্টটি উত্তপ্ত হবে। সেটটি বাস্তবায়নের পরে, স্তরটি পিছনে টানুন৷ তারপর প্রোগ্রামটি লেখার পরে এবং পরীক্ষা শুরু করার পরে, এটি সত্যিই কাজ করেনি, আসলে কারণ অনেকগুলি প্রিন্ট ইউনিট নিয়ন্ত্রণ করা হয়েছিল কিন্তু কারেন্ট যথেষ্ট ছিল না, তারপরে কম দেওয়ার জন্য এটি পরিবর্তন করুন দুটি মুদ্রণ ইউনিট উচ্চ স্তরের এবং আবার পরীক্ষা করুন।
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • এটা সত্যিই কাজ! এটি একটি অনুভূমিক রেখা প্রিন্ট করেছে। তার মানে ঘড়ির ফ্রিকোয়েন্সির কোন নিম্ন সীমা নেই, তাহলে আপনি একটি উল্লম্ব লাইন মুদ্রণ করতে স্টেপার মোটর চালাতে পারেন। পিকো ডুয়াল থ্রেড, তারপরে অন্য থ্রেডটিকে সিঙ্ক্রোনাসে মোটর চালাতে দিন, তারপর প্রোগ্রামটি লিখে রান করুন। উল্লম্ব লাইন বেরিয়ে আসে।
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • অনুভূমিক এবং উল্লম্ব রেখাগুলির সাথে, তারপর একটি তির্যক রেখা পান, একটি মুদ্রণ ইউনিটে 64 পয়েন্ট রয়েছে, যা একটি দৈর্ঘ্যকে সংজ্ঞায়িত করে, যেমন 32, এবং তারপরে 32 বার 384 পিরিয়ডের চক্র, প্রতিটি পিরিয়ড শুধুমাত্র প্রথম 64টি ডেটা 1-এ সেট করে এবং পরবর্তী 320 ডেটা সেট করুন 0, এবং তারপর 32 বার প্রতিবার শুধুমাত্র প্রথম ইউনিটে একটি পয়েন্ট প্রিন্ট করার জন্য এবং তারপরে সাইকেল ইনক্রিমেন্টাল, সামঞ্জস্য করার জন্য স্টেপার মোটরের গতির সাথে মিলিত, এবং অবশেষে 64 * 32 আকারের সামঞ্জস্য করে তির্যক রেখা, আপনি প্রথমে একটি Z অক্ষর বানান করতে পারেন।  
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • তারপর প্রোগ্রামের আউটলাইন আছে, ওয়ার্ড প্রিন্ট করতে চাইলে প্রথমে ফন্ট করতে হবে। প্রথমে একটি বড় অক্ষর করুন A, 32 * 32 সাইজ, সংজ্ঞাগুলির একটি তালিকা সহ, আমি এখানে pin.value () দিয়ে করার পরিকল্পনা করছি, তাই ফন্টটি তৈরি করুন, তারপরে 32টি সারি এবং 32টি বাইনারি মানের কলাম ব্যবহার করুন, একটি শিফট করতে বের করুন এবং তারপরে pin.value() এ পাস করুন, তাই এটি বাস্তবায়নের প্রক্রিয়া।
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • ব্যাকগ্রাউন্ড হিসাবে 0 এবং ফোরগ্রাউন্ড হিসাবে 1 এর সাথে, বাস্তব বাস্তবায়ন প্রক্রিয়াটি এরকম দেখায়।
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • সবচেয়ে বাহ্যিক বৃহৎ চক্র 32টি 32 লাইনের চক্রকে প্রতিনিধিত্ব করছে, অর্থাৎ, 32টি লাইন প্রিন্ট করুন, এবং তারপর প্রথম 32টি চক্রের ভিতরে প্রথম হিটিং ইউনিটের অর্ধেক গরম করতে হবে, তারপর বাকি 352টি পিরিয়ড 0 এ সেট করা হবে এবং তারপর 1 থেকে বিয়োগ 31 প্রতিবার 0 পর্যন্ত, আপনি পয়েন্টগুলির প্রথম লাইনটি গণনা করতে পারেন যেগুলিকে বাম থেকে ডানে উত্তপ্ত করতে হবে এবং তারপর প্রতি 384 পিরিয়ডগুলি শেষ করতে হবে একবার ল্যাচ সেট 0 এবং হিটিং ইউনিট 1 সেট করার পরে আপনি প্রিন্ট করতে পারেন, এবং তারপর 32 বার লুপ করার পরে একটি A শব্দ আউট।
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • এখনও সাহসী, এই ধরনের ডট ম্যাট্রিক্স শব্দ, অনলাইনে টুল আছে সরাসরি করা যেতে পারে, সামনে প্লাস 0b এবং তারপর পিছনে একটি কমা যোগ করুন, এবং তারপর আপনি আপনার নিজস্ব ধারনা অনুযায়ী খেলা, ফন্ট আসলে প্রাথমিকভাবে উদ্দেশ্য করা হয় ফ্ল্যাশ চিপে সংরক্ষিত, কিন্তু আমি অনেক সময় সামঞ্জস্য করছি এটি এখনও খোলা যাবে না।
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • আমি জানি না সমস্যা কোথায়, আমার সময় পরে আমি আবার সামঞ্জস্য করব, ভাল জিনিস হল পিকো নিজেই 16 এমবিট সাইজ ফ্ল্যাশ আছে, একটি ascii লাইব্রেরি সংরক্ষণ করুন এখনও যথেষ্ট, তারপর আমি তাই সংরক্ষণ করা হয়.
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • এটিকে একটি অভিধান দিয়ে সংজ্ঞায়িত করুন, এটিকে একটি পৃথক অংশে রাখুন এবং মূল প্রোগ্রামে এটিকে আবার কল করুন। Then after debugging, the available version looks like this.from machine import Pinfrom time import sleepimport _threadimport rp2from array import arrayimport ascii_kuimport speed_motor#import sysdelaytime = 0.0000001 # Printer clock delaymotor = speed_motor.motor_control(2, 3, 4, 5) # Initialize the printer’s internal stepper motor pins, corresponding to the a+/a-/b+/b- of the stepper motormov_bit = 0PRINTER_DIN = Pin(20, Pin.OUT)PRINTER_CLK = Pin(19, Pin.OUT)PRINTER_LAT = Pin(18, Pin.OUT, Pin.PULL_UP)STB1 = Pin(6, Pin.OUT, Pin.PULL_DOWN)STB2 = Pin(7, Pin.OUT, Pin.PULL_DOWN)STB3 = Pin(8, Pin.OUT, Pin.PULL_DOWN)STB4 = Pin(9, Pin.OUT, Pin.PULL_DOWN)STB5 = Pin(14, Pin.OUT, Pin.PULL_DOWN)STB6 = Pin(15, Pin.OUT, Pin.PULL_DOWN)lock = _thread.allocate_lock()ascii_code = ascii_ku.ascii_code() # Importing an ascii character libraryshuru = input(“Please enter text:”)line_word = []for item in range(len(shuru)):    line_word.append(shuru[item])# line_num = len(shuru)# bottom_line_num = len(shuru)%# global motor_speed = 0# global line = 0# if len(shuru) > 12:#     motor_speed = len(shuru) % 6#     if (len(shuru) % 6) == 0:#         motor_speed = 12# else:#     motor_speed = len(shuru)# print(motor_speed)motor_speed = len(shuru)line = (len(shuru) // 12) + 1if (len(shuru) % 12) == 0:    line -= 1lins = 0supper = 0slower = 0# _thread.start_new_thread(motor.run_stop, (0.005*motor_speed, 26*line))_thread.start_new_thread(motor.run_stop, (motor_speed, 1))# _thread.start_new_thread(motor.run_stop, (0.03, 56))def last_word_size32 (word_line, linss, lins, supper, slower):    for mov_bit in range((supper*32)+(slower*24)):        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(0)        PRINTER_CLK.value(1)        sleep(delaytime)    for mov_bit in range(31, -1, -1):        word_bit = (word_line[linss] >> mov_bit)&0b00000000000000000000000000000001        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(word_bit)        PRINTER_CLK.value(1)        sleep(delaytime)    for mov_bit in range(352-((supper*32)+(slower*24))):        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(0)        PRINTER_CLK.value(1)        sleep(delaytime)    if (supper*32)+(slower*24) < 192:        PRINTER_LAT.value(0)        STB1.value(1)        STB2.value(1)        STB3.value(1)        sleep(0.005)        STB1.value(0)        STB2.value(0)        STB3.value(0)        PRINTER_LAT.value(1)    else:        PRINTER_LAT.value(0)        STB4.value(1)        STB5.value(1)        STB6.value(1)        sleep(0.005)        STB4.value(0)        STB5.value(0)        STB6.value(0)        PRINTER_LAT.value(1)def word_size24 (word_line, linss, lins, supper, slower):    for mov_bit in range((supper*32)+(slower*24)):        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(0)        PRINTER_CLK.value(1)        sleep(delaytime)    for mov_bit in range(23, -1, -1):        word_bit = (word_line[linss] >> mov_bit)&0b000000000000000000000001        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(word_bit)        PRINTER_CLK.value(1)        sleep(delaytime)    for mov_bit in range(360-((supper*32)+(slower*24))):        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(0)        PRINTER_CLK.value(1)        sleep(delaytime)    if (supper*32)+(slower*24) < 192:        PRINTER_LAT.value(0)        STB1.value(1)        STB2.value(1)        STB3.value(1)        sleep(0.005)        STB1.value(0)        STB2.value(0)        STB3.value(0)        PRINTER_LAT.value(1)    else:        PRINTER_LAT.value(0)        STB4.value(1)        STB5.value(1)        STB6.value(1)        sleep(0.005)        STB4.value(0)        STB5.value(0)        STB6.value(0)        PRINTER_LAT.value(1)for linss in range(32):    supper=slower=0    if linss < 32:        for lins in range(len(line_word)):#             if lins//12:#                 break            if (line_word[lins].isupper() or line_word[lins].isdigit() or line_word[lins].isspace()):                last_word_size32 (ascii_code.code.get(line_word[lins]), linss%32, lins%12, supper, slower)                supper += 1            elif (line_word[lins].islower()):                word_size24 (ascii_code.code.get(line_word[lins]), linss%32, lins%12, supper, slower)                slower += 1    else:        if linss == 32:            sleep(5.8)        for lins in range(motor_speed):            if (line_word[lins].isupper()):                last_word_size32 (ascii_code.code.get(line_word[12]), linss%32, lins%12, len(line_word))#     elif:#         _thread.start_new_thread(motor.run_stop, (motor_speed, line))#     for linss in range(32):#         for lins in range(len(line_word)):#             if (line_word[lins].isupper()):#                 last_word_size32 (ascii_code.code.get(line_word[lins]), linss, lins, len(line_word))line_word.clear()I am separate control printing unit, because the current is not enough so like this, but in order to print clear, making my printing speed becomes particularly slow, the more words the slower, and then the lowercase letters is 24 * 32 dot matrix, that it is less print points to use, but can not give it to leave 32 heating points of space then the character spacing is large, so the capital letters and lowercase letters are separated, the numbers are still 32 * 32.
  • Raspberry Pi pico এবং STONE TFT LCD IOT PlatoBlockchain ডেটা ইন্টেলিজেন্সের উপর ভিত্তি করে পার্কিং ম্যানেজমেন্ট সিস্টেমের জন্য থার্মাল প্রিন্ট হেড। উল্লম্ব অনুসন্ধান. আ.
  • Finally, the whole program is attached.from machine import UART,Pinfrom time import sleepimport _threadimport rp2from array import arrayimport ascii_kuimport speed_motorfrom os import uname#import sysuart1 = UART(0, baudrate = 115200, tx =Pin(0), rx = Pin(1))floor1 = [‘f’, ‘l’, ‘o’, ‘o’, ‘r’,’1′]floor2 = [‘f’, ‘l’, ‘o’, ‘o’, ‘r’,’2′]floor3 = [‘f’, ‘l’, ‘o’, ‘o’, ‘r’,’3′]button_cmd = [16,1]selector_cmd = [16,129]print(uname()[0])delaytime = 0.0000001 # Printer clock delaycoin = Pin(22, Pin.IN,Pin.PULL_UP)coin_num = 0motor = speed_motor.motor_control(2, 3, 4, 5) # Initialize the printer’s internal stepper motor pins, corresponding to the a+/a-/b+/b- of the stepper motormov_bit = 0PRINTER_DIN = Pin(20, Pin.OUT)PRINTER_CLK = Pin(19, Pin.OUT)PRINTER_LAT = Pin(18, Pin.OUT, Pin.PULL_UP)STB1 = Pin(6, Pin.OUT, Pin.PULL_DOWN)STB2 = Pin(7, Pin.OUT, Pin.PULL_DOWN)STB3 = Pin(8, Pin.OUT, Pin.PULL_DOWN)STB4 = Pin(9, Pin.OUT, Pin.PULL_DOWN)STB5 = Pin(14, Pin.OUT, Pin.PULL_DOWN)STB6 = Pin(15, Pin.OUT, Pin.PULL_DOWN)lock = _thread.allocate_lock()ascii_code = ascii_ku.ascii_code() # Importing an ascii character library# shuru = ‘aa’# line_word = []# for item in range(len(shuru)):#     line_word.append(shuru[item])# line_num = len(shuru)# bottom_line_num = len(shuru)%# global motor_speed = 0# global line = 0# if len(shuru) > 6:#     motor_speed = len(shuru) % 6#     if (len(shuru) % 6) == 0:#         motor_speed = 12# else:#     motor_speed = len(shuru)# # print(motor_speed)# # line = (len(shuru) // 12) + 1# if (len(shuru) % 12) == 0:#     line -= 1lins = 0supper = 0slower = 0danjia = 0# _thread.start_new_thread(motor.run_stop, (0.005*motor_speed, 26*line))# _thread.start_new_thread(motor.run_stop, (motor_speed, line))# _thread.start_new_thread(motor.run_stop, (0.03, 56))def pay(pay):    global coin_num    line_word = {‘line_word1’:[‘s’,’i’,’t’,’e’,’:’,’F’,’1′,’-‘,’0′],’line_word2’:[‘0′,’d’,’a’,’y’,’2′,’h’,’o’,’u’,’r’],’line_word3′:[‘t’,’o’,’t’,’a’,’l’,’:’,’4′,’.’,’0′],’line_word4′:[‘T’,’o’,’t’,’a’,’l’,’:’,’4′,’.’,’0′]}    line_wors = {‘line_word1’:[‘U’,’n’,’i’,’t’,’:’,’2′,’.’,’0′,’0′],’line_word2′:[‘T’,’o’,’t’,’a’,’l’,’:’,’4′,’.’,’0′],                 ‘line_word3’:[‘U’,’n’,’i’,’t’,’:’,’2′,’.’,’0′,’0′],’line_word4′:[‘T’,’o’,’t’,’a’,’l’,’:’,’5′,’.’,’0′]}#     line_word1 = [‘S’,’i’,’t’,’e’,’:’,’F’,’1′,’-‘,’0’]#     line_word2 = [‘1′,’D’,’a’,’y’,’1′,’H’,’o’,’u’,’r’]#     line_word3 = [‘U’,’n’,’i’,’t’,’:’,’2′,’.’,’0′,’0′]#     line_word4 = [‘T’,’o’,’t’,’a’,’l’,’:’,’5′,’.’,’0′]#     line_word1[8]=str(pay[0])#     line_word2[0]=str(pay[1])#     line_word2[4]=str(pay[2])#     line_word4[6]=str(pay[3])    (line_word[‘line_word1’])[8]=str(pay[0])#     (line_word[‘line_word2’])[0]=str(pay[1])#     (line_word[‘line_word2’])[4]=str(pay[2])#     (line_word[‘line_word4’])[6]=str(pay[3])    sleep(1)    uart1.write(‘ST<{“cmd_code”:”set_value”,”type”:”image_value”,”widget”:”image_value4″,”value”:’+str(pay[3])+’}>ET’)#     sleep(2)#     print(line_word.get(‘line_word’+str(1))[0])#     print(‘zfdszfz’,line_word)#     sleep(2)#     uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message5″,”text”:”F1 – ‘+pay[0]+'”}>ET’)#     uart1.sendbreak()#     sleep(1)#     uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message6″,”text”:”‘+str(pay[1])+'”}>ET’)#     uart1.sendbreak()#     sleep(1)# #     uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message22″,”text”:”‘+str(pay[2])+'”}>ET’)#     uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message8″,”text”:”‘+str(pay[3])+'”}>ET’)    while True:        if coin.value()==0:            coin_num += 1            print(“Number of coins deposited:”,coin_num)            sleep(0.1)            uart1.write(‘ST<{“cmd_code”:”set_value”,”type”:”image_value”,”widget”:”image_value2″,”value”:’+str(coin_num)+’}>ET’)            if coin_num == pay[3]:                uart1.write(‘ST<{“cmd_code”:”set_visible”,”type”:”widget”,”widget”:”image37″,”visible”:true}>ET’)                     if uart1.any()>1:            rx2 = []            data_name2 = ”            bin_data = uart1.read(40)            uart1.sendbreak()            rx1 = list(bin_data)            for item in rx1:                rx2.append(chr(item))            print(rx2)            if rx1[3:5:1] == button_cmd:                data_name_len = rx1[6] – 1                data_name = rx2[7:data_name_len+6:1]                data_name2 = ”.join(data_name)                print(data_name2)                if data_name2 == ‘back’:                    break                elif data_name2 == ‘print’ and coin_num == pay[3] and rx1[13] == 2:                    data_name2=”                    _thread.start_new_thread(motor.run_stop, (9, 4))                    for iii in range(1,3):                        for linss in range(32):                            supper=slower=0                            for lins in range(9):#                                 temp_list=ascii_code.code.get((‘line_word’+str(iii))[lins])#                                 print(temp_list,type(temp_list))                                if (line_word.get(‘line_word’+str(iii))[lins]).islower():                                    word_size24 (ascii_code.code.get(line_word.get(‘line_word’+str(iii))[lins]), linss%32, lins%12, supper, slower)                                    slower += 1                                else:                                    last_word_size32 (ascii_code.code.get(line_word.get(‘line_word’+str(iii))[lins]), linss%32, lins%12, supper, slower)                                    supper +=                         sleep(6)#                     for iii in range(1,2):#                         for linss in range(32):#                             supper=slower=0#                             for lins in range(9):# #                                 temp_list=ascii_code.code.get((‘line_word’+str(iii))[lins])# #                                 print(temp_list,type(temp_list))#                                 if (line_wors.get(‘line_word’+str(iii))[lins]).islower():#                                     word_size24 (ascii_code.code.get(line_wors.get(‘line_word’+str(iii))[lins]), linss%32, lins%12, supper, slower)#                                     slower += 1#                                 else:#                                     last_word_size32 (ascii_code.code.get(line_wors.get(‘line_word’+str(iii))[lins]), linss%32, lins%12, supper, slower)#                                     supper += 1#                     sleep(6)#                     for iii in range(1,2):#                         for linss in range(32):#                             supper=slower=0#                             for lins in range(9):# #                                 temp_list=ascii_code.code.get((‘line_word’+str(iii))[lins])# #                                 print(temp_list,type(temp_list))#                                 if (line_wors.get(‘line_word’+str(iii))[lins]).islower():#                                     word_size24 (ascii_code.code.get(line_wors.get(‘line_word’+str(iii))[lins]), linss%32, lins%12, supper, slower)#                                     slower += 1#                                 else:#                                     last_word_size32 (ascii_code.code.get(line_wors.get(‘line_word’+str(iii))[lins]), linss%32, lins%12, supper, slower)#                                     supper += 1def floor1def():    day_jia = 0    hour_jia = 0    day_flag = False    hour_flag = False    price_flag = False    posltion = False    zongjia = 0    pay1 = [0,0,0,0]    print(“floor1 now”)#     uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message3″,”text”:”2.00$/H”}>ET’)    uart1.sendbreak()    while True:        if uart1.any()>1:            rx2 = []            data_name2 = ”            bin_data = uart1.read(40)            uart1.sendbreak()            rx1 = list(bin_data)            for item in rx1:                rx2.append(chr(item))            print(rx2)            if rx1[3:5:1] == button_cmd:                data_name_len = rx1[6] – 1                data_name = rx2[7:data_name_len+6:1]                data_name2 = ”.join(data_name)                print(data_name2)                if data_name2 == ‘back’:                    break                elif data_name2 == ‘position’:                    posltion = True                    pay1[0]=rx2[15]                    write1(rx2[15])                elif data_name2 == ‘pay’ and posltion and price_flag:                    uart1.write(‘ST<{“cmd_code”:”open_win”,”type”:”window”,”widget”:”window7″}>ET’)                    pay(pay1)#                 if data_name2 == ‘pay’ and posltion = True and (day_flag or hour_flag):#                     posltion = True#                     uart1.write(‘ST<{“cmd_code”:”open_win”,”type”:”window”,”widget”:”window7″}>ET’)            if rx1[3:5:1] == selector_cmd:                data_name_len = rx1[6] – 4                data_name = rx2[7:data_name_len+7:1]                data_name2 = ”.join(data_name)                print(data_name2)                if data_name2 == ‘time_day1’:                    pay1[1]=rx2[19]                    write2(ord(rx2[19]))                    day_jia = ord(rx2[19])                    day_flag = True                elif data_name2 == ‘time_hour1’:                    pay1[2]=rx2[20]                    write3(ord(rx2[20]))                    hour_jia = ord(rx2[20])                    hour_flag = True            if hour_flag or day_flag:                price_flag = True                zongjia = (day_jia*48) + (hour_jia*2)                pay1[3]=zongjia                print(str(zongjia))                uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message4″,”text”:”‘+str(zongjia)+'”}>ET’)                hour_flag = day_flag = Falsedef floor2def():    passdef floor3def():    passdef write1(num):    #print(ss)    for item in range(49,55):        uart1.write(‘ST<{“cmd_code”:”set_image”,”type”:”image”,”widget”:”image1_’+chr(item)+'”,”image”:”nocar_bg”}>ET’)    uart1.write(‘ST<{“cmd_code”:”set_image”,”type”:”image”,”widget”:”image1_’+num+'”,”image”:”selectedcar_bg2″}>ET’)    uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message1″,”text”:”F1 – ‘+num+'”}>ET’)def write2(num):#     danjia = 1    uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message2″,”text”:”‘+str(num)+'”}>ET’)#     if danjia == 1:#         uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message3″,”text”:”2.00$/H”}>ET’)def write3(num):#     danjia = 1    uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message22″,”text”:”‘+str(num)+'”}>ET’)#     if danjia == 1:#         uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message3″,”text”:”2.00$/H”}>ET’)def last_word_size32 (word_line, linss, lins, supper, slower):    for mov_bit in range((supper*32)+(slower*24)):        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(0)        PRINTER_CLK.value(1)        sleep(delaytime)    for mov_bit in range(31, -1, -1):        word_bit = (word_line[linss] >> mov_bit)&0b00000000000000000000000000000001        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(word_bit)        PRINTER_CLK.value(1)        sleep(delaytime)    for mov_bit in range(352-((supper*32)+(slower*24))):        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(0)        PRINTER_CLK.value(1)        sleep(delaytime)    if (supper*32)+(slower*24) < 192:        PRINTER_LAT.value(0)        STB1.value(1)        STB2.value(1)        STB3.value(1)        STB4.value(1)        sleep(0.005)        STB1.value(0)        STB2.value(0)        STB3.value(0)        STB4.value(0)        PRINTER_LAT.value(1)    else:        PRINTER_LAT.value(0)        STB4.value(1)        STB5.value(1)        STB6.value(1)        sleep(0.005)        STB4.value(0)        STB5.value(0)        STB6.value(0)        PRINTER_LAT.value(1)#         PRINTER_LAT.value(0)#         STB1.value(1)#         STB2.value(1)#         STB3.value(1)#         STB4.value(1)#         STB5.value(1)#         STB6.value(1)#         sleep(0.005)#         STB1.value(0)#         STB2.value(0)#         STB3.value(0)#         STB4.value(0)#         STB5.value(0)#         STB6.value(0)#         PRINTER_LAT.value(1)   def word_size24 (word_line, linss, lins, supper, slower):    for mov_bit in range((supper*32)+(slower*24)):        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(0)        PRINTER_CLK.value(1)        sleep(delaytime)    for mov_bit in range(23, -1, -1):        word_bit = (word_line[linss] >> mov_bit)&0b000000000000000000000001        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(word_bit)        PRINTER_CLK.value(1)        sleep(delaytime)    for mov_bit in range(360-((supper*32)+(slower*24))):        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(0)        PRINTER_CLK.value(1)        sleep(delaytime)    if (supper*32)+(slower*24) < 192:        PRINTER_LAT.value(0)        STB1.value(1)        STB2.value(1)        STB3.value(1)        sleep(0.005)        STB1.value(0)        STB2.value(0)        STB3.value(0)        PRINTER_LAT.value(1)    else:        PRINTER_LAT.value(0)        STB4.value(1)        STB5.value(1)        STB6.value(1)        sleep(0.005)        STB4.value(0)        STB5.value(0)        STB6.value(0)        PRINTER_LAT.value(1)#         PRINTER_LAT.value(0)#         STB1.value(1)#         STB2.value(1)#         STB3.value(1)#         STB4.value(1)#         STB5.value(1)#         STB6.value(1)#         sleep(0.005)#         STB1.value(0)#         STB2.value(0)#         STB3.value(0)#         STB4.value(0)#         STB5.value(0)#         STB6.value(0)#         PRINTER_LAT.value(1)while True:    if uart1.any()>1:        rx2 = []        data_name2 = ”        bin_data = uart1.read(40)        uart1.sendbreak()        rx1 = list(bin_data)        for item in rx1:            rx2.append(chr(item))        print(rx2)        if rx2[7:13:1] == floor1:            floor1def()        elif rx2[7:13:1] == floor2:            floor2def()        elif rx2[7:13:1] == floor3:            floor3def()for linss in range(32):    supper=slower=0    if linss < 32:        for lins in range(len(line_word)):#             if lins//12:#                 break            if (line_word[lins].isupper() or line_word[lins].isdigit() or line_word[lins].isspace()):                last_word_size32 (ascii_code.code.get(line_word[lins]), linss%32, lins%12, supper, slower)                supper += 1            elif (line_word[lins].islower()):                word_size24 (ascii_code.code.get(line_word[lins]), linss%32, lins%12, supper, slower)                slower += 1    else:        if linss == 32:            sleep(5.8)        for lins in range(motor_speed):            if (line_word[lins].isupper()):                last_word_size32 (ascii_code.code.get(line_word[12]), linss%32, lins%12, len(line_word))#     elif:#         _thread.start_new_thread(motor.run_stop, (motor_speed, line))#     for linss in range(32):#         for lins in range(len(line_word)):#             if (line_word[lins].isupper()):#                 last_word_size32 (ascii_code.code.get(line_word[lins]), linss, lins, len(line_word)line_word.clear()
  • সূত্র: প্লেটো ডেটা ইন্টেলিজেন্স