সুচিপত্র:

দক্ষ এবং সস্তা: STM32L4: 13 ধাপের সাথে প্রদর্শন করুন
দক্ষ এবং সস্তা: STM32L4: 13 ধাপের সাথে প্রদর্শন করুন

ভিডিও: দক্ষ এবং সস্তা: STM32L4: 13 ধাপের সাথে প্রদর্শন করুন

ভিডিও: দক্ষ এবং সস্তা: STM32L4: 13 ধাপের সাথে প্রদর্শন করুন
ভিডিও: ফ্রিল্যান্সিং: সস্তা নাকি দক্ষতা? | Freelance | Orthojog | Ekattor TV 2024, নভেম্বর
Anonim
Image
Image
ভূমিকা
ভূমিকা

আজ, আমরা তিনটি বিষয় নিয়ে কথা বলব যা আমি একেবারে পছন্দ করি: একটি LCD ডিসপ্লে যা অল্প শক্তি ব্যয় করে, কোর Arduino এর সাথে STM32 এবং Arduino মেগা প্রো মিনি। ইন্টারনেট অফ থিংসের জন্য এটি একটি অদম্য ত্রয়ী। আমি তখন আপনাকে HT1621 ছয়-অঙ্কের LCD ডিসপ্লেতে পরিচয় করিয়ে দেব এবং একটি কোড দিয়ে একটি উদাহরণ নিয়ন্ত্রণ তৈরি করব যা Arduino Mega Pro Mini এবং STM32 L432KC উভয় ক্ষেত্রেই কাজ করে। একটি উল্লেখযোগ্য বিবরণ হল যে দুটি মাইক্রোকন্ট্রোলারের সোর্স কোড ঠিক একই। আমি পিনিংও পরিবর্তন করব না। এটা একেবারে চমত্কার!

ধাপ 1: ভূমিকা

ভূমিকা
ভূমিকা

HT1621 এলসিডি ডিসপ্লেতে একটি স্ক্রিন থাকে যা সাধারণত মাল্টিমিটার, ইলেকট্রনিক স্কেল, ইলেকট্রনিক ঘড়ি, থার্মোমিটার এবং ইলেকট্রনিক পরিমাপ যন্ত্রগুলিতে ব্যবহৃত হয়।

• এর 7 টি সেগমেন্ট সহ 6 ডিজিট আছে

• এটি 3-তারের SPI যোগাযোগ ব্যবহার করে

• এটির একটি ব্যাকলাইট রয়েছে যা অন্ধকার পরিবেশের জন্য উপযুক্ত

• এর অপারেটিং ভোল্টেজ 4.7 ~ 5.2V

• এটি একটি ব্যাকলাইট সহ 4mA খরচ করে

মনে রাখবেন এতে ছয়টি সংখ্যা, তিন দশমিক পয়েন্ট এবং তিনটি বার সহ একটি ব্যাটারি মিটার রয়েছে।

পদক্ষেপ 2: ব্যবহারের জন্য লাইব্রেরি

আমরা ANXZHU github ব্যবহারকারী লাইব্রেরি ব্যবহার করব, যা বেশ সহজ। এটি নীচের লিঙ্কে মূল সংস্করণে দেখা যাবে:

github.com/anxzhu/segment-lcd-with-ht1621

লাইব্রেরির নাম কিছুটা অদ্ভুত, তাই আমি এটির নাম পরিবর্তন করার সিদ্ধান্ত নিয়েছি (ফাইল, ক্লাস, বিল্ডার ইত্যাদি)। এর আসল নাম "A6seglcd"। আমি এই নামটি "lcdlib" দিয়ে প্রতিস্থাপন করেছি।

ধাপ 3: লাইব্রেরি

লাইব্রেরি "lcdlib" যোগ করুন।

লিঙ্কটি অ্যাক্সেস করুন এবং লাইব্রেরি ডাউনলোড করুন।

ফাইলটি আনজিপ করুন এবং Arduino IDE এর লাইব্রেরি ফোল্ডারে পেস্ট করুন।

সি: / প্রোগ্রাম ফাইল (x86) / আরডুইনো / লাইব্রেরি

ধাপ 4: বিক্ষোভ

প্রদর্শন
প্রদর্শন

Arduino মেগা সমাবেশ

ধাপ 5: বিক্ষোভ

প্রদর্শন
প্রদর্শন

SMT32 সমাবেশ

ধাপ 6: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

আমি এখানে হাইলাইট করতে চাই যে STM32-L432KC এর একটি সিরিয়াল ইউএসবি কনভার্টার নেই। পরিবর্তে, এটি একটি সম্পূর্ণ ইউএসবি, যা STMicroelectronics ST-link প্রোটোকল ব্যবহার করে। এইভাবে, এটি বেশ পরিশীলিত এবং যদি আপনি আইআর বা মাইক্রোভিশন ব্যবহার করেন তবে খুব দক্ষ ডিবাগিং সক্ষম করে। এবং একটি Arduino কোর (MBED, মাইক্রোসফটের নেটিভ টুল ব্যবহার করে), এটি অত্যন্ত পেশাদার কম্পাইলার ব্যবহার করে। আমার কি আর কিছু বলার দরকার আছে?

ধাপ 7: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

আমি এটিও পছন্দ করি, কারণ এটি একটি "বিশুদ্ধ" এবং "আসল" আরডুইনো। এটি একটি মেগা, অনেক আইও সহ। তবে এটি মিনি, তাই এটি যে কোনও জায়গায় ফিট করে। আমি সর্বত্র আইও পছন্দ করি। এর সাথে, আমি LED, SPI, i2c, ইত্যাদি সংযোগ করতে পছন্দ করি এই ক্ষেত্রে, এই মেগাটি চমৎকার।

ধাপ 8: সমাবেশ

সমাবেশ
সমাবেশ

আমাদের সমাবেশে, পুরুষ পিনের সারি ভিতরের দিকে থাকে, যখন মহিলা পিন বাইরের দিকে থাকে, আমাদের কাজকে সহজতর করে এবং একটি প্রোটোবোর্ডের সাথে সংযোগ স্থাপন করে। আমরা SPI সংযোগ তৈরি করি, মনে রাখবেন যে Arduino মেগা এবং এই Arduino ন্যানো ক্লোন একই পিনিং, যা STM32-L432KC।

ধাপ 9: প্রোগ্রাম

আমরা একটি খুব সহজ প্রোগ্রাম তৈরি করব, যেখানে আমরা ডিসপ্লেতে বিভিন্ন চিহ্ন (অক্ষর, সংখ্যা এবং পয়েন্ট) লিখব।

মনে রাখবেন যে এই প্রোগ্রামটি Arduino Mega Pro Mini এবং STM32 L432KC উভয় ক্ষেত্রেই কাজ করে।

ধাপ 10: লাইব্রেরি এবং পরিবর্তনশীল

আমরা তখন যোগাযোগের জন্য দায়ী লাইব্রেরি অন্তর্ভুক্ত করব এবং ডিসপ্লে নিয়ন্ত্রণ নিয়ন্ত্রণ করব। "Const char" ফাংশন একটি অ্যারে টেবিল প্রকাশ করে। এই ভেক্টরগুলির মাধ্যমে আপনি ডিসপ্লেতে ছাপানো চরিত্রের রেফারেন্স তৈরি করবেন।

#অন্তর্ভুক্ত // বিবলিওটেকা প্যারা কন্ট্রোল ডু ডিসপ্লে

lcdlib lcd; // instancia do controlador do display /*0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, c, d, E, F, H, H, L, n, N, P, r, t, U, -, bat, pf, '', */ const char num = {0x7D, 0x60, 0x3E, 0x7A, 0x63, 0x5B, 0x5F, 0x70, 0x7F, 0x7B, 0x77, 0x4F, 0x1D, 0x0E, 0x6E, 0x1F, 0x17, 0x67, 0x47, 0x0D, 0x46, 0x75, 0x37, 0x06, 0x0F, 0x6D, 0x02, 0x80, 0xFF, 0x00}; / *সূচক সংখ্যা 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 */

ধাপ 11: সেটআপ

সেটআপ শুরু করার জন্য, আমরা পিনগুলি সংজ্ঞায়িত করব, প্রাথমিক সেটআপ করব এবং ডিসপ্লে ক্লিনিং সেট করব। আমরা নির্ধারণ করেছি যে ডিসপ্লেটি "হ্যালো" দেখায় এবং একটি নির্দিষ্ট বিলম্বের পরে, ডিসপ্লে বার্তাটি সাফ হয়ে যায়।

অকার্যকর সেটআপ () {lcd.run (2, 3, 4, 5); // [cs wr data led+] definição dos pinos lcd.conf (); // configuração inicial lcd.clr (); // limpa o display // escreve HELLO lcd.display (10, num [17]); lcd.display (8, সংখ্যা [15]); lcd.display (6, সংখ্যা [19]); lcd.display (4, সংখ্যা [19]); lcd.display (2, num [0]); // ফিম হেলো বিলম্ব (1000); lcd.clr (); // limpa o display}

ধাপ 12: লুপ

এখানে, আমরা "writeLoop" নামে একটি ফাংশন তৈরি করি, যা ডিসপ্লেতে LOOP শব্দটি লিখবে, তারপর আমাদের অ্যারের সব চিহ্ন লিখবে। আমাদের "writeBattery" ফাংশনও আছে, যা ব্যাটারি মার্কার প্রিন্ট করে

অবশেষে, আমাদের কাছে "lcd.dispnum" কমান্ড আছে যা ভাসমান বিন্দুর মান লিখবে।

ধাপ 13: ফাইলগুলি ডাউনলোড করুন

পিডিএফ

আইএনও

প্রস্তাবিত: