সুচিপত্র:
- ধাপ 1: এই প্রকল্পে ব্যবহৃত জিনিসগুলি
- ধাপ 2: গল্প
- ধাপ 3: হার্ডওয়্যার সংযোগ
- ধাপ 4: সফটওয়্যার প্রোগ্রামিং
- ধাপ 5: কোড
ভিডিও: স্পার্কলিং ম্যাট্রিক্স দিয়ে আপনার ভ্যালেন্টাইনকে আলোকিত করুন: 5 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:01
ভালোবাসা দিবস আপনার জন্য প্রেমের বার্তা পাঠানোর সুযোগ। কেন আপনার অনুভূতি প্রকাশ করতে সস্তা উপাদান দিয়ে একটি মজার LED মুখ তৈরি করবেন না!
ধাপ 1: এই প্রকল্পে ব্যবহৃত জিনিসগুলি
হার্ডওয়্যার উপাদান
- Seeeduino V4.2
- বেস শিল্ড
- গ্রোভ - লাল LED ম্যাট্রিক্স w/ড্রাইভার
- গ্রোভ - অঙ্গভঙ্গি (PAJ7620U2
সফটওয়্যার অ্যাপ এবং অনলাইন সেবা
Arduino IDE
ধাপ 2: গল্প
ধাপ 3: হার্ডওয়্যার সংযোগ
এই প্রকল্পে, আমরা একটি ইনপুট হিসাবে অঙ্গভঙ্গি সেন্সর ব্যবহার করি এবং লাল LED ম্যাট্রিক্স খাওয়ানোর জন্য LED ম্যাট্রিক্স ড্রাইভারকে প্রতিক্রিয়া জানাই।
আপনাকে Grove - Gesture and the Grove - Red LED Matrix w/Driver কে I^2^C পোর্টে বেস ieldালের সাথে সংযুক্ত করতে হবে যা Seeeduino- এ প্লাগ করা আছে। তারপর একটি USB তারের মাধ্যমে পিসি থেকে Seeeduino সংযোগ করুন।
ধাপ 4: সফটওয়্যার প্রোগ্রামিং
এই প্রকল্পের পরিকল্পনা হল স্থির ইমোজি (কান্নাকাটি মুখ এবং অপেক্ষা মুখ) প্রদর্শন করা যখন কোন বাম বা ডান অঙ্গভঙ্গি পড়া হয়নি।
বাম বা ডান অঙ্গভঙ্গি পড়ার সময় বাম বা ডান অঙ্গভঙ্গি দ্বারা নিয়ন্ত্রিত চোখের অবস্থান-পরিবর্তন ইমোজি প্রদর্শন করুন।
নির্দিষ্ট চোখের অবস্থানে, একটি হার্ট হার্ট LED ম্যাট্রিক্সে প্রদর্শিত হবে।
LED ডিসপ্লে প্যাটার্নগুলি LED ম্যাট্রিক্স এডিটর দ্বারা ডিজাইন করা হয়েছে, আপনি উপরের প্রোগ্রাম শোতে আপনার LED প্যাটার্ন পরিবর্তন বা যোগ করতে পারেন।
এই প্রকল্পের জন্য প্রস্তুত হওয়ার জন্য, Grove - Gesture, Grove - Red LED Matrix w/Driver এবং MsTimer2 লাইব্রেরিগুলি Arduino IDE তে ইনস্টল করা প্রয়োজন।
#অন্তর্ভুক্ত "Grove_LED_Matrix_Driver_HT16K33.h"
#অন্তর্ভুক্ত "MsTimer2.h" #অন্তর্ভুক্ত "paj7620.h" #অন্তর্ভুক্ত "Wire.h"
সেটআপ পদ্ধতির সময়, আমরা সিরিয়াল, ম্যাট্রিক্স এবং MsTimer2 ফাংশন শুরু করেছি। প্রারম্ভিক সিরিয়ালটি প্রোগ্রাম ডিবাগ করার জন্য ব্যবহৃত হয়, তাই পিসিতে সংযোগ করা বা ডিবাগ করার পরে সিরিয়াল মনিটর ব্যবহার করা অপ্রয়োজনীয়। আমরা স্থির ইমোজি প্রদর্শন নিয়ন্ত্রণ করতে এই প্রকল্পে MsTimer2 ব্যবহার করি।
// ডিবাগ করার জন্য সিরিয়াল শুরু।
Serial.begin (9600); যখন (! সিরিয়াল); paj7620Init (); Wire.begin (); matrix.init (); matrix.set উজ্জ্বলতা (15); matrix.setBlinkRate (BLINK_OFF); MsTimer2:: সেট (1000, displayStatic); MsTimer2:: শুরু ();
প্রধান লুপে, আমরা শুধুমাত্র অঙ্গভঙ্গি সেন্সর, GES_RIGHT_FLAG, GES_LEFT_FLAG থেকে দুটি আউটপুট নিয়ে থাকি এবং এগুলি displayDynamic () ফাংশন নির্দেশ করতে ব্যবহৃত হয়।
ডিসপ্লে ডায়নামিক () ফাংশনটি শেষ সময়ের গতিশীল ইমোজি বর্তমান সময় থেকে প্রদর্শিত হওয়ার সময়কালের হিসাব করবে, যদি ব্যবধানটি TIMEOUT এর চেয়ে বেশি হয় তবে এটি স্ট্যাটিক ইমোজি বাজানো বন্ধ করবে এবং প্রদর্শিত গতিশীল ইমোজি সূচী সেট করতে শুরু করবে। বাম-থেকে-ডান অঙ্গভঙ্গিগুলি পড়লে, সূচকের সূচকটি 0 হয়, এবং বাম-থেকে-ডান অঙ্গভঙ্গিগুলি আবার পড়ার পর সূচকটি বাড়ানো হবে। অন্যথায়, সূচী সূচকটি DYNAMIC অ্যারের শেষ সূচক, এবং সূচকটি হ্রাস পাবে।
void displayDynamic (bool leftToRight) {
স্বাক্ষরবিহীন দীর্ঘ কারেন্টটাইম = মিলিস (); যদি (currentTime - prevTime> TIMEOUT) {dIndex = leftToRight? 0: ARRAY_LENGTH (DYNAMIC) - 1; শো স্ট্যাটিক = মিথ্যা; } // এটি সীমা অতিক্রম করতে এড়াতে ব্যবহৃত হয়। যদি (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex <= -1) {heartBeat (); dIndex = leftToRight? ARRAY_LENGTH (ডায়নামিক) - 1: 0; } prevTime = currentTime; matrixDisplay = DYNAMIC [leftToRight? dIndex ++: dIndex--]; }
TIMEOUT পেরিয়ে গেলে কোন ইঙ্গিত পড়া হয় না, স্থির ইমোজি বাজানো পুনরুদ্ধার করা হবে।
আপনার Seeeduino এ প্রোগ্রামটি আপলোড করুন, সব শেষ। খেলুন এবং একটি মজা আছে!
ধাপ 5: কোড
#অন্তর্ভুক্ত "Grove_LED_Matrix_Driver_HT16K33.h"
#অন্তর্ভুক্ত "MsTimer2। ম্যাট্রিক্স_8x8 ম্যাট্রিক্স; uint64_t matrixDisplay = 0; স্বাক্ষরবিহীন দীর্ঘ prevTime = মিলিস (); int8_t sIndex = 0; বুল শো স্ট্যাটিক = সত্য; const uint64_t স্ট্যাটিক = {0x00003c0000a54200, 0x00003c000000e700, 0x00003c004242e700}; int8_t dIndex = 0; const uint64_t DYNAMIC = {0x00003c000021e700, 0x00003c000042e700, 0x00003c000084e700}; const uint64_t HEART = {0x00183c7e7e240000, 0x00183c7effff6600, 0x183c7effffffff66, 0x00183c7effff6600}; void displayStatic (void) {if (showStatic) {matrixDisplay = STATIC [sIndex]; sIndex = (sIndex + 1) % ARRAY_LENGTH (স্ট্যাটিক); }} void heartBeat () {for (uint8_t i = 0; i TIMEOUT) {showStatic = false; prevTime = currentTime; dIndex = leftToRight? 0: ARRAY_LENGTH (DYNAMIC) - 1; } // এটি সীমানা অতিক্রম করতে ব্যবহার করা হয়। যদি (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex TIMEOUT) {showStatic = true; } matrix.writeOnePicture (matrixDisplay); matrix.display (); বিলম্ব (100); }
প্রস্তাবিত:
আপনার মাথা দিয়ে আপনার কম্পিউটার নিয়ন্ত্রণ করুন!: 6 টি ধাপ (ছবি সহ)
আপনার মাথার সাহায্যে আপনার কম্পিউটারকে নিয়ন্ত্রণ করুন! আমি কেন এটা তৈরি করেছি? আমি এমন একটি বস্তু তৈরি করতে চেয়েছিলাম যা ভিডিও গেম তৈরি করে
IoT স্মার্ট ক্লক ডট ম্যাট্রিক্স Wemos ESP8266 ব্যবহার করুন - ESP ম্যাট্রিক্স: 12 টি ধাপ (ছবি সহ)
IoT স্মার্ট ক্লক ডট ম্যাট্রিক্স Wemos ESP8266 ব্যবহার করুন-ESP ম্যাট্রিক্স: আপনার নিজের IoT স্মার্ট ক্লক তৈরি করুন যা পারে: একটি সুন্দর অ্যানিমেশন আইকন ডিসপ্লে রিমাইন্ডার -১ দিয়ে রিমাইন্ডার -5 ডিসপ্লে ক্যালেন্ডার প্রদর্শন ঘড়ি প্রদর্শন করুন মুসলিম নামাজের সময় প্রদর্শন আবহাওয়ার তথ্য প্রদর্শন সংবাদ প্রদর্শন পরামর্শ প্রদর্শন বিটকয়েনের হার প্রদর্শন
স্পার্কলিং আরজিবি ম্যাট্রিক্স দিয়ে আপনার ভ্যালেন্টাইনকে আলোকিত করুন: 3 টি ধাপ
স্পার্কলিং আরজিবি ম্যাট্রিক্স দিয়ে আপনার ভ্যালেন্টাইনকে আলোকিত করুন: ভ্যালেন্টাইনস ডে আসছে, আপনি কি এমন কারো সাথে দেখা করেন যিনি প্রথম দর্শনে প্রেমে পড়েছিলেন?
LEDs দিয়ে আপনার প্রকল্পটি আলোকিত করুন: 4 টি ধাপ
এলইডি দিয়ে আপনার প্রকল্পটি আলোকিত করুন: একটি প্রকল্পকে জীবন্ত করার একটি খুব কার্যকর উপায় হল আলো যোগ করা। আজকের প্রযুক্তির মাধ্যমে আপনি নিজেরাই করতে পারেন আলোকসজ্জা অপশনের বিস্তৃত নির্বাচন যা খুব উজ্জ্বল, খুব কম খরচে কাজ করা যায়, কেনার জন্য সস্তা, এবং ইনস্টল করা সহজ
আপনার রোবট কার্ডটি আলোকিত করুন: 7 টি ধাপ (ছবি সহ)
আপনার রোবট কার্ডটি আলোকিত করুন: হাই সবাই! আমি সম্প্রতি একটি নির্দেশিকা প্রতিযোগিতা জিতেছি। তারা আমাকে একটি ইন্সট্রাকটেবল রোবট টি-শার্ট, বই, স্টিকার এবং ইন্সট্রাকটেবল রোবটের ছবি পাঠিয়েছে। অন্যদিকে, যখন আমি সহজ কাগজ সার্কিট ধারণা সম্পর্কে চিন্তা করছিলাম এবং আমি তৈরি করতে চেয়েছিলাম