সুচিপত্র:

DFRobot FireBeetle ESP32 এবং LED ম্যাট্রিক্স কভার ব্যবহার করে 4 টি প্রকল্প: 11 টি ধাপ (ছবি সহ)
DFRobot FireBeetle ESP32 এবং LED ম্যাট্রিক্স কভার ব্যবহার করে 4 টি প্রকল্প: 11 টি ধাপ (ছবি সহ)

ভিডিও: DFRobot FireBeetle ESP32 এবং LED ম্যাট্রিক্স কভার ব্যবহার করে 4 টি প্রকল্প: 11 টি ধাপ (ছবি সহ)

ভিডিও: DFRobot FireBeetle ESP32 এবং LED ম্যাট্রিক্স কভার ব্যবহার করে 4 টি প্রকল্প: 11 টি ধাপ (ছবি সহ)
ভিডিও: FireBeetle 2 ESP32 S3 WROOM-1 getting started tutorial 2024, জুলাই
Anonim
Image
Image
প্রকল্পগুলির জন্য সাধারণ গ্রন্থাগারগুলি ইনস্টল করুন।
প্রকল্পগুলির জন্য সাধারণ গ্রন্থাগারগুলি ইনস্টল করুন।

আমি এই প্রতিটি প্রকল্পের জন্য একটি নির্দেশযোগ্য করার কথা ভেবেছিলাম - কিন্তু শেষ পর্যন্ত আমি সিদ্ধান্ত নিলাম যে সত্যিই সবচেয়ে বড় পার্থক্য হল প্রতিটি প্রকল্পের জন্য সফটওয়্যার যা আমি ভেবেছিলাম শুধু একটি বড় নির্দেশযোগ্য করা ভাল!

হার্ডওয়্যার প্রতিটি প্রকল্পের জন্য একই, এবং আমরা ESP32 ডিভাইস প্রোগ্রাম করার জন্য Arduino IDE ব্যবহার করছি।

তাহলে হার্ডওয়্যার কি: DFRobot- এ আমার বন্ধুরা সব হার্ডওয়্যার সরবরাহ করেছিল, তাদের কাছে খুব ভালো টিউটোরিয়াল আছে এবং এর জন্য কোর বোর্ড ইনস্টল করা সহজ। এছাড়াও একটি ভাল সমর্থন ব্যবস্থা আছে, এবং মার্কিন যুক্তরাষ্ট্রে বেশ দ্রুত শিপিং

সম্পূর্ণ প্রকাশ ফায়ারবিটল ESP32 বোর্ড, এবং LED ম্যাট্রিক্স ডিএফ রোবট দ্বারা প্রদান করা হয়েছিল, উপস্থাপিত প্রকল্প এবং ভিডিওতে আমার নিজের।

এই প্রকল্পগুলি সবাই একটি DFRobot FireBeetle ESP32 IOT মাইক্রোকন্ট্রোলার ব্যবহার করে

www.dfrobot.com/product-1590.html

সমর্থন উইকি - বোর্ড কোর ইনস্টল নির্দেশাবলী সহ এখানে পাওয়া যাবে:

www.dfrobot.com/wiki/index.php/FireBeetle_…

আমাদের একটি ফায়ারবিটল কভার 24x8 LED ম্যাট্রিক্স (নীল) প্রয়োজন

www.dfrobot.com/product-1595.html

নীল লেডগুলি পছন্দ করবেন না - তাদের বিভিন্ন রঙও রয়েছে।

সবুজ -

লাল -

সাদা -

হলুদ -

আপনি শুধুমাত্র একটি LED ম্যাট্রিক্স প্রয়োজন - রঙ আপনার পছন্দ, তারা সব একই কাজ।

LED ম্যাট্রিক্স সাপোর্ট উইকি এখানে পাওয়া যাবে:

www.dfrobot.com/wiki/index.php/FireBeetle_…

এখানে আমরা Arduino লাইব্রেরির একটি লিঙ্ক খুঁজে পাই।

github.com/Chocho2017/FireBeetleLEDMatrix

এগুলো নিয়ে আরো একটু পরে ….

এমন কিছু যা alচ্ছিক, কিন্তু হতে পারে সহজ একটি মাইক্রো ইউএসবি 3xAA ব্যাটারি হোল্ডার।

www.dfrobot.com/product-1130.html

তাই যে হার্ডওয়্যার প্রয়োজন - 4 প্রকল্প কি কি -

ধাপ 1: প্রকল্পগুলি

Image
Image

প্রকল্প 1: একটি সাধারণ LED ম্যাট্রিক্স এনটিপি ঘড়ি যা মিলিটারি টাইম ডিসপ্লে অথবা AMPM টাইম ডিসপ্লে সহ, এই ঘড়িটি একটি এনটিপি (টাইম সার্ভার) এর সাথে সংযুক্ত হবে সময়টি ধরবে এবং একটি অফ সেট প্রয়োগ করবে যাতে আপনি স্থানীয় সময় পান। এটি LED ম্যাট্রিক্সে সময় প্রদর্শন করবে। - এটি একটি খুব সহজ ঘড়ি, এবং খুব সহজ 1 ম প্রকল্প।

প্রকল্প 2: আইএসএস পাস পূর্বাভাস প্রদর্শন, এই প্রকল্পটি প্রসেসরের ২ য় কোর ব্যবহার করে। এটি দেখাবে যে আইএসএস কতটা (মাইলের মধ্যে) রয়েছে, কখন আপনার অবস্থানে পরবর্তী ইউএসএস পাস আশা করবে (ইউটিসি সময়ে), এবং allyচ্ছিকভাবে কতজন মানুষ মহাকাশে রয়েছে। যেহেতু এই তথ্যের অনেকটা প্রায়ই পরিবর্তিত হয় না, তাই আমরা দ্বিতীয় কোর ব্যবহার করি শুধুমাত্র পাসের পূর্বাভাসের আপডেটগুলি চেক করতে, অথবা প্রতি 15 মিনিটে কতজন মানুষ মহাকাশে থাকে। আমরা এই ভাবে সার্ভারে অনেক API কল রোধ করতে পারি। এই প্রকল্পটি একটু বেশি জটিল, কিন্তু এখনও করা বেশ সহজ।

প্রজেক্ট 3: এমকিউটিটি ব্যবহার করে একটি সরল মুভিং মেসেজ সাইন, আমি ESP8266 D1 মিনি বোর্ডের জন্য তৈরি করা একটি প্রকল্পের পুনর্বিবেচনা করেছি, এবং এটি 8x8 LED ম্যাট্রিক্স - ধারণাটি একটি MQTT ব্রোকারের সাথে সংযোগ স্থাপন করা, একটি টপিকের জন্য একটি বার্তা পাঠানো যা ডিভাইসটি শোনা - এবং সেই বার্তাটি প্রদর্শন করুন। সবকিছু সেটআপ হয়ে গেলে এটি করা খুবই সহজ এবং খুব সহজ। এবং একটি ডেস্কটপ কম্পিউটারে MQTT ক্লায়েন্ট সফ্টওয়্যার সেট আপ করার কয়েকটি ধাপ রয়েছে। একবার সেটআপ করা MQTT অনেক শক্তিশালী মেসেজিং প্রোটোকল যা অনেক IoT ডিভাইস বার্তা পাঠাতে এবং গ্রহণ করতে ব্যবহার করে।

প্রকল্প 4: ওয়েদার স্টেশন ডিসপ্লে - স্কুইক্স 78 এবং থিংপালস দ্বারা তৈরি ESP8266 D1 মিনি আবহাওয়া স্টেশনের উপর ভিত্তি করে। আমরা ওয়ান্ডারগ্রাউন্ড থেকে আমাদের ডেটা সংগ্রহ করি, এবং বর্তমান অবস্থা এবং ডিগ্রি ফারেনহাইটে তাপমাত্রা প্রদর্শন করি। আমরা প্রতি 10 মিনিটে আমাদের ডেটা আপডেট করতে ESP32 এর ২ য় কোর ব্যবহার করি। এটি সেটআপ করাও সহজ।

BUUNS MINI EXAMPLES: লাইব্রেরি (এবং উপরের স্কেচ) 8x4 ফন্ট ব্যবহার করে, লাইব্রেরিতে 5x4 ফন্টও রয়েছে, যা আমি এই BOUNS মিনি উদাহরণগুলির অধিকাংশের জন্য ব্যবহার করেছি। কয়েকটি সমস্যা রয়েছে যা আমি ছোট ফন্ট দিয়ে নোট করতে পারি, একটি যখন আপনি ডিভাইসের ওয়াইফাই ব্যবহার করেন তখন সমস্যা দেখা দেয়। এটি এমন কিছু যা আমি আরও অন্বেষণ করতে চাই, কিন্তু সময় পেয়েছি। অন্য সমস্যা হল এটি স্ক্রোল করে না, শুধুমাত্র বড় ফন্ট স্ক্রোল করতে পারে। সুতরাং এই উদাহরণগুলির মধ্যে কোনটিই ওয়াইফাই ব্যবহার করে না - তারা কেবল ডিসপ্লে আপডেট করে, এবং এগুলি সম্পর্কে আরও পরে বলা হবে।

চল শুরু করি…..

ধাপ 2: Arduino IDE তে DFRobot FireBeetle ESP32 বোর্ড ইনস্টল করুন

সুতরাং, আমি আপনাকে Arduino IDE এর জন্য বোর্ড কোর ইনস্টল করার জন্য DF রোবট উইকিতে উল্লেখ করতে যাচ্ছি।

আধুনিক IDE (1.8.x বা তার চেয়ে ভাল) দিয়ে এটি করা বেশ সহজ।

www.dfrobot.com/wiki/index.php/FireBeetle_…

আমি দেখেছি যে আরডুইনো আইডিইতে নির্মিত ওয়াইফাই লাইব্রেরি সমস্যার সৃষ্টি করে (পিএস অন্য কোন ওয়াইফাই লাইব্রেরি যা হয়তো আপনার লাইব্রেরি ডিরেক্টরিতে ইনস্টল করা হয় বা সমস্যা সৃষ্টি করতে পারে না)। সমস্যা সমাধানের একমাত্র উপায় (বা কমপক্ষে সবচেয়ে সহজ উপায়) হল আইডিই ডিরেক্টরি থেকে ওয়াইফাই লাইব্রেরি সরানো। দুর্ভাগ্যক্রমে এটি কোথায় ইনস্টল করা আছে তা আপনাকে বলার কোনও ভাল উপায় নেই - এটি IDE কীভাবে ইনস্টল করা হয়েছে এবং আপনি কোন OS ব্যবহার করছেন তার উপর নির্ভর করে।

আমি যা করেছি তা হল ওয়াইফাই লাইব্রেরি যা সমস্যা সৃষ্টি করছে, এবং কেবল ওয়াইফাই ডিরেক্টরিটি আপনার ডেস্কটপে সরান … এবং আইডিই পুনরায় চালু করুন। আরডুইনো ওয়াইফাই বোর্ডের জন্য আপনার প্রয়োজন হলে আপনি লাইব্রেরিটি রাখতে পারেন।

আমি দেখেছি 90% সমস্যা উপরের সমস্যা সম্পর্কিত। যদি আপনি Arduino IDE ডিরেক্টরি বা Arduino লাইব্রেরি ডিরেক্টরি থেকে ওয়াইফাই ব্যবহার সম্পর্কিত অনেকগুলি সংকলন ত্রুটি পান তবে এটি আপনার সমস্যা।

আমার ২ য় ইস্যু হল কখনও কখনও স্কেচ আপলোড আপলোড করতে ব্যর্থ হয় - এই ক্ষেত্রে আমাকে আবার আপলোড বোতামটি টিপতে হবে, এবং এটি কাজ করে।

এবং সবশেষে, যদি আপনার সিরিয়াল কনসোল খোলা থাকে, এবং তারপর এটি বন্ধ করুন - FireBeetle জমাট বাঁধে।

আমি জানি যে ডিএফ রোবট সক্রিয়ভাবে বোর্ড কোরে কাজ করছে, এবং অল্প সময়ের মধ্যেই আমার বোর্ড ছিল তারা একটি নতুন কোর প্রকাশ করেছে। দুর্ভাগ্যবশত এটি ওয়াইফাই সমস্যার সমাধান করেনি যা আমার সবচেয়ে বড় সমস্যা।

* এসপ্রেসিফের একটি 'জেনেরিক' কোর ম্যানেজার রয়েছে যা ইনস্টল করা যায়, কোরটিতে ফায়ারবিটল ইএসপি 32 বোর্ড অন্তর্ভুক্ত রয়েছে, কিন্তু পিনগুলি কীভাবে সংখ্যাযুক্ত তা নিয়ে আমার সমস্যা ছিল। এখানে আকর্ষণীয় বিষয় হল ওয়াইফাই লাইব্রেরি অন্তর্নির্মিত ওয়াইফাই লাইব্রেরির সাথে কাজ করে - তাই আমি জানি যে সমস্যাটির সমাধান রয়েছে।

আপনি যদি এস্প্রেসিফ কোর চেষ্টা করতে চান তবে আপনি এখানে আরও তথ্য খুঁজে পেতে পারেন:

github.com/espressif/arduino-esp32

আমি ব্যক্তিগতভাবে পছন্দ করি কিভাবে ডিএফ-রোবট কোর কাজ করে, এমনকি আমার কয়েকটি সমস্যা রয়েছে।

** দ্রষ্টব্য: আমি লিনাক্সমিন্ট 18 ব্যবহার করছি যা উবুন্টু 16.04 ভিত্তিক আমি মনে করি, আমি অন্য কোন মেশিনে এটি চেষ্টা করি নি, কিন্তু আমি বিশ্বাস করি যে কিছু ইন্টারনেট অনুসন্ধানের উপর ভিত্তি করে সমস্ত ওএসের জন্য সমস্যাটি বিদ্যমান। **

ধাপ 3: প্রকল্পগুলির জন্য সাধারণ গ্রন্থাগারগুলি ইনস্টল করুন।

প্রকল্পগুলির জন্য সাধারণ গ্রন্থাগারগুলি ইনস্টল করুন।
প্রকল্পগুলির জন্য সাধারণ গ্রন্থাগারগুলি ইনস্টল করুন।

এই সমস্ত প্রকল্পগুলি কয়েকটি সাধারণ লাইব্রেরি ব্যবহার করে, তাই এখন এই ধাপটি করা সহজ।

লাইব্রেরির উপর নির্ভর করে আপনি এটি লাইব্রেরি ম্যানেজারে খুঁজে পেতে পারেন - যা একটি লাইব্রেরি ইনস্টল করার সবচেয়ে সহজ উপায়।

আরেকটি সাধারণ উপায় হল একটি জিপ ফাইলের মাধ্যমে ইনস্টল করা, যা সমানভাবে কাজ করে। কিন্তু সাধারণত আমি ম্যানুয়াল ইনস্টল পদ্ধতি ব্যবহার করি। Arduino ওয়েবসাইটে তিনটি পদ্ধতির একটি ভাল টিউটোরিয়াল আছে।

www.arduino.cc/en/guide/libraries

এই লাইব্রেরিগুলির জন্য, আমি ম্যানুয়াল পদ্ধতির সুপারিশ করব - কারণ একই নামের কয়েকটি ভিন্ন লাইব্রেরি আছে, লাইব্রেরি ম্যানেজার ব্যবহার করে আপনি ভুলটি শেষ করতে পারেন।

এই সমস্ত প্রকল্পগুলি আপনার ওয়াইফাই এর সাথে সংযোগ করা সহজ করার জন্য একটি ওয়াইফাই ম্যানেজার ব্যবহার করে - আমি এটি করার সিদ্ধান্ত নিয়েছি যদি আপনার প্রকল্পটি সরানোর প্রয়োজন হয়, আপনাকে বোর্ডকে পুনরায় প্রোগ্রাম করার দরকার নেই। এটি এমন কিছু যা আমি ESP8266 বোর্ডগুলির জন্য ব্যবহার করি এবং এটি ভাল কাজ করে - এটি নিখুঁত নয়। লাইব্রেরি ব্যবহারের জন্য ভাগ্যটি bbx10 নামের একটি গিথুব ব্যবহারকারী দ্বারা ESP32 ব্যবহার করার জন্য পোর্ট করা হয়েছে। (এই ম্যানেজারেরও ESP8266 বোর্ডের সাথে কাজ করা উচিত)

এই কাজের জন্য আমাদের তিনটি লাইব্রেরি ইনস্টল করতে হবে।

ওয়াইফাই ম্যানেজার -

ওয়েব সার্ভার -

এবং পরিশেষে DNSServer -

সমস্ত স্কেচের জন্য সাধারণ হল LED ম্যাট্রিক্সের জন্য DF রোবট DFRobot_HT1632C লাইব্রেরি।

www.dfrobot.com/wiki/index.php/FireBeetle_…

লাইব্রেরি এখানে পাওয়া যাবে (আবার আমি ম্যানুয়াল ইনস্টল পদ্ধতি সুপারিশ করব)

github.com/Chocho2017/FireBeetleLEDMatrix

একটি বিশেষ দ্রষ্টব্য: আমার গিটহাব সংগ্রহস্থলে - আমার কয়েকটি সামান্য পরিবর্তিত DFRobot_HT1632C লাইব্রেরি রয়েছে

github.com/kd8bxp/DFRobot-FireBeetle-ESP32…

পরিবর্তনটি একটি ছোট ফন্টের জন্য, এবং শুধুমাত্র কিছু বোনাস উদাহরণের জন্য ব্যবহৃত হয়। আপনি পরিবর্তিত লাইব্রেরি ব্যবহার করতে পারেন এবং এটি কোন সমস্যা সৃষ্টি করতে পারে না। একটি সামান্য পরিবর্তিত লাইব্রেরি (ট্যাব হিসাবে কিছু স্কেচ সংযুক্ত) যা বিটম্যাপ ইমেজ করতে পারে।

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

এগুলি সাধারণ গ্রন্থাগার - আমরা প্রতিটি প্রকল্পের জন্য কিছু নির্দিষ্ট গ্রন্থাগার স্থাপন করব।

আসুন LED ম্যাট্রিক্সের দিকে এগিয়ে যাই…।

ধাপ 4: 24x8 LED ম্যাট্রিক্স কভার

24x8 LED ম্যাট্রিক্স কভার
24x8 LED ম্যাট্রিক্স কভার
24x8 LED ম্যাট্রিক্স কভার
24x8 LED ম্যাট্রিক্স কভার
24x8 LED ম্যাট্রিক্স কভার
24x8 LED ম্যাট্রিক্স কভার

আমরা LED ম্যাট্রিক্সের জন্য DF রোবট টিউটোরিয়াল সহ অনুসরণ করতে যাচ্ছি

www.dfrobot.com/wiki/index.php/FireBeetle_…

ভূমিকা: এই 24 × 8 LED ম্যাট্রিক্স ডিসপ্লেটি বিশেষভাবে FireBeetle সিরিজের জন্য ডিজাইন করা হয়েছে। এটি লো-পাওয়ার খরচ মোড এবং স্ক্রোলিং ডিসপ্লে সমর্থন করে। HT1632C উচ্চ কর্মক্ষমতা LED ড্রাইভার চিপের সাথে, প্রতিটি নেতৃত্বের স্বাধীন রেজিস্টার রয়েছে, যা আলাদাভাবে গাড়ি চালানো সহজ করে তোলে। এটি একটি 256KHz RC ঘড়ি সংহত করে, শুধুমাত্র 5uA লো-পাওয়ার মোডে, 16 স্কেল PWM উজ্জ্বলতা সমন্বয় সমর্থন করে। এই পণ্যটি Arduino UNO এর মতো অন্যান্য Arduino মাইক্রোকন্ট্রোলারের সাথেও কাজ করে।

স্পেসিফিকেশন:

  • অপারেটিং ভোল্টেজ: 3.3 ~ 5VLED
  • রঙ: একক রঙ (সাদা/নীল/হলুদ/লাল/সবুজ)
  • ড্রাইভ চিপ: HT1632C
  • বর্তমান কাজ: 6 ~ 100mA
  • কম শক্তি খরচ: 5uARC
  • ঘড়ি: 256KHz
  • চিপ নির্বাচন (CS): D2, D3, D4, D5 নির্বাচনযোগ্য
  • স্ক্রোলিং ডিসপ্লে সমর্থন করুন

ডিফল্ট পিন:

  1. DATAD6
  2. WRD7 (সাধারণত ব্যবহৃত হয় না)
  3. CSD2, D3, D4, D5 নির্বাচনযোগ্য (D2 ডিফল্ট)
  4. RDD8
  5. VCC 5VUSB; 3.7VLipo ব্যাটারি

(এই সমস্ত প্রকল্পগুলি নির্বাচিত পিনের জন্য D2 ব্যবহার করে, এটি প্রয়োজন অনুসারে সহজেই পরিবর্তন করা যেতে পারে।)

LED ম্যাট্রিক্সের পিছনে আপনি 4 টি ছোট সুইচ দেখতে পাবেন, শুধুমাত্র একটি সিএস পিন নির্বাচন করতে ভুলবেন না। এই ছোট্ট সুইচগুলি হল কিভাবে আপনি আপনার সিএস পিন নির্বাচন করেন এবং ডিফল্ট হল D2।

ডিএফ রোবট WIKI এর কিছু নমুনা কোড আছে, এই কোডটি লাইব্রেরির উদাহরণেও রয়েছে। (আমি বিশ্বাস করি)

আরেকটি নোট: আপনার পিনের জন্য Dx নম্বর ব্যবহার করুন - অন্যথায় পিন নম্বরগুলি IO পিন নম্বর/নাম হবে

এবং এটি আপনাকে কিছু সমস্যার কারণ হতে পারে।

একটি বিন্দু নির্ধারণ:

X হল 0 থেকে 23 (অথবা যদি আপনি এটিকে স্প্রেডশীট হিসাবে মনে করেন তবে এগুলি হল কলাম)।

Y হল 0 থেকে 7 (অথবা যদি আপনি এটি একটি স্প্রেডশীট হিসাবে মনে করেন তবে এটি সারি)।

লাইব্রেরি একটি সেট পয়েন্ট ফাংশন প্রদান করে।

display.setPoint (x, y) এটি সেই স্থানে কার্সার সেট করবে, যেখানে আপনি এখন একটি বার্তা প্রিন্ট করতে পারেন।

display.print ("Hello World", 40); // এটি x, y বিন্দু থেকে শুরু করে এবং স্ক্রিন থেকে স্ক্রল করে "হ্যালো ওয়ার্ল্ড" প্রদর্শন করবে।

এছাড়াও একটি সেট পিক্সেল (x, y) এবং clrPixel (x, y) আছে - setPixel x, y অবস্থানে একটি LED চালু করবে এবং clrPixel x, y অবস্থানে একটি LED বন্ধ করবে।

এই গ্রন্থাগারটি করতে পারে এমন আরও কিছু কাজ রয়েছে - এবং বেশিরভাগ উদাহরণের মধ্যে অন্তর্ভুক্ত করা হয়েছে।

(আমি কি করতে পারি তা দেখার জন্য উদাহরণগুলি চালানোর এবং সংশোধন করার সুপারিশ করব)।

* একটি জিনিসের অভাব বলে মনে হচ্ছে বিটম্যাপ আঁকা - লাইব্রেরি আসলে এটি করতে পারে কিন্তু কিছু কারণে এটি লাইব্রেরির একটি ব্যক্তিগত কাজ। লাইব্রেরির সামান্য পরিবর্তিত সংস্করণের জন্য আমার কিছু বোনাস উদাহরণ দেখুন

** আরেকটি জিনিস এটি 5x4 ফন্ট সেট অন্তর্ভুক্ত করে, যা একটি ছোট ফন্ট থাকা ভাল - এটি লাইব্রেরিতে কীভাবে মন্তব্য করা হয়েছে। আমি এটি অসম্পূর্ণ করেছি, এবং এটি কাজ করছে, কিন্তু এটির সাথে কয়েকটি সমস্যা লক্ষ্য করেছি - সবচেয়ে বড় এটি স্ক্রোল করে না। এবং আমি লক্ষ্য করেছি যে এটি ওয়াইফাই বা হয়ত অন্য একটি লাইব্রেরির সাথে সমস্যা সৃষ্টি করতে পারে বলে মনে হচ্ছে।

পরিবর্তিত লাইব্রেরিগুলির মধ্যে একটি আমি 5x4 ফন্ট ব্যবহার করি।

আসুন প্রকল্পগুলিতে এগিয়ে যাই ….

ধাপ 5: প্রকল্প 1: সামরিক সময় প্রদর্শন বা AMPM প্রদর্শন সহ একটি সাধারণ LED ম্যাট্রিক্স NTP ঘড়ি

প্রকল্প 1: সামরিক সময় প্রদর্শন বা AMPM প্রদর্শন সহ একটি সাধারণ LED ম্যাট্রিক্স NTP ঘড়ি
প্রকল্প 1: সামরিক সময় প্রদর্শন বা AMPM প্রদর্শন সহ একটি সাধারণ LED ম্যাট্রিক্স NTP ঘড়ি
প্রকল্প 1: সামরিক সময় প্রদর্শন বা AMPM প্রদর্শন সহ একটি সাধারণ LED ম্যাট্রিক্স NTP ঘড়ি
প্রকল্প 1: সামরিক সময় প্রদর্শন বা AMPM প্রদর্শন সহ একটি সাধারণ LED ম্যাট্রিক্স NTP ঘড়ি
প্রকল্প 1: সামরিক সময় প্রদর্শন বা AMPM প্রদর্শন সহ একটি সাধারণ LED ম্যাট্রিক্স NTP ঘড়ি
প্রকল্প 1: সামরিক সময় প্রদর্শন বা AMPM প্রদর্শন সহ একটি সাধারণ LED ম্যাট্রিক্স NTP ঘড়ি

প্রকল্প 1: একটি সাধারণ LED ম্যাট্রিক্স এনটিপি ঘড়ি যা মিলিটারি টাইম ডিসপ্লে অথবা AMPM টাইম ডিসপ্লে সহ, এই ঘড়িটি একটি এনটিপি (টাইম সার্ভার) এর সাথে সংযুক্ত হবে সময়টি ধরবে এবং একটি অফ সেট প্রয়োগ করবে যাতে আপনি স্থানীয় সময় পান। এটি LED ম্যাট্রিক্সে সময় প্রদর্শন করবে। - এটি একটি খুব সহজ ঘড়ি, এবং খুব সহজ 1 ম প্রকল্প।

আমরা এই সহজ প্রকল্পটি শুরু করার আগে, এনটিপি কী তা জানা ভাল ধারণা হতে পারে -

এনটিপি হল একটি ইন্টারনেট প্রোটোকল যা কম্পিউটারের ঘড়িকে কিছু সময়ের রেফারেন্সে সিঙ্ক্রোনাইজ করতে ব্যবহৃত হয়। এটি একটি আদর্শ প্রোটোকল। এনটিপি মানে নেটওয়ার্ক টাইম প্রোটোকল।

এনটিপি ইউটিসিকে রেফারেন্স টাইম হিসেবে ব্যবহার করে ইউটিসি একটি সিসিয়াম পরমাণুর কোয়ান্টাম অনুরণনের উপর ভিত্তি করে।

এনটিপি দোষ-সহনশীল, এবং অত্যন্ত পরিমাপযোগ্য, প্রোটোকল অত্যন্ত সঠিক, একটি ন্যানোসেকেন্ডের কম রেজোলিউশন ব্যবহার করে।

*

একটি UTC ঘড়ি অধিকাংশ মানুষের জন্য খুব বেশি ব্যবহার করা হয় না, তাই আমাদের স্থানীয় ঘড়ির সাথে সামঞ্জস্য করতে হবে। ভাগ্যক্রমে আমরা এই কাজটি খুব সহজেই করতে পারি। তাহলে আসুন এই সহজ NTP ঘড়ি দিয়ে শুরু করা যাক…।

প্রথমত আমাদের একটি লাইব্রেরি স্থাপন করতে হবে যা এনটিপি সার্ভারের সাথে কথা বলা সহজ করে।

github.com/arduino-libraries/NTPClient (এই লাইব্রেরিটি সম্ভবত লাইব্রেরি ম্যানেজারে আছে)

আপনি কি ধাপ 3 এড়িয়ে গেছেন - এবং কিভাবে লাইব্রেরি ইনস্টল করবেন তা নিশ্চিত নন (?) ভাল ফিরে যান এবং ধাপ 3 পড়ুন:-)

আপনাকে এই ওয়েবসাইটে যেতে হবে, এবং আপনার নিকটতম শহরে রাখতে হবে যা আপনার টাইমজোনে রয়েছে।

www.epochconverter.com/timezones

যখন আপনি এন্টার চাপবেন, আপনি "রূপান্তর ফলাফল" দেখতে পাবেন, এবং ফলাফলে আপনি আপনার অফসেট (GMT/UTC এর পার্থক্য) সেকেন্ডে পাবেন (আমার জন্য -14400)

লাইন 66 এ dfrobot_firebeetle_led_matrix_ntp_clock স্কেচে আপনি দেখতে পাবেন:

#Dimeline TIMEOFFSET -14400 // এখানে আপনার টাইম জোন সেট বন্ধ করুন https://www.epochconverter.com/timezones OFF সেকেন্ডে সেট করুন#AMPM 1 // 1 = AM PM সময়, 0 = মিলিটারি/24 HR টাইম নির্ধারণ করুন

আপনার অফসেট দিয়ে -14400 প্রতিস্থাপন করুন। পরের লাইনে আপনি AMPM 1 দেখতে পাবেন - এর ফলে ঘড়িটি AM/PM এ সময় দেখাবে - যদি আপনি 24 ঘন্টার মধ্যে এটি দেখতে চান তবে এটি একটি শূন্য করে।

এরপরে আপনার বোর্ডে স্কেচ আপলোড করুন, অ্যাক্সেস পয়েন্ট (ওয়াইফাই ম্যানেজার) এর সাথে সংযোগ করুন এবং আপনার ওয়াইফাইয়ের বিশদ লিখুন। যদি আপনি ইতিমধ্যেই এটি সম্পন্ন করে থাকেন, তাহলে আপনাকে স্ক্রিন জুড়ে "সংযুক্ত" স্ক্রল দেখতে হবে এবং কয়েক সেকেন্ড পরে আপনার সময় দেখা উচিত।

এই প্রকল্পের জন্য এটিই - সহজ এবং ব্যবহার করা সহজ …..

(সম্ভাব্য উন্নতি: মাস, দিন এবং বছর প্রদর্শন করুন, একটি বুজার এবং অ্যালার্ম সেটআপ করুন - সাধারণত একটি ওয়েব পেজের মাধ্যমে আপনি যা দেখেন তা নিয়ন্ত্রণ করুন। এই ধারণাটি বর্তমান সাধারণ স্কেচের একটি বড় পুনর্লিখন করবে)

আরেকটি সহজ প্রকল্পের জন্য প্রস্তুত - আইএসএস কোথায় তা প্রদর্শন করুন - পূর্বাভাস পাস করুন, এবং মহাকাশে কতজন লোক আছে! (PS এই স্কেচ কি প্রদর্শন করা হয় তা নিয়ন্ত্রণ করতে একটি ওয়েব পেজ ব্যবহার করে)…..

ধাপ 6: প্রকল্প 2: আইএসএস পাস পূর্বাভাস প্রদর্শন,

প্রকল্প 2: আইএসএস পাস পূর্বাভাস প্রদর্শন,
প্রকল্প 2: আইএসএস পাস পূর্বাভাস প্রদর্শন,
প্রকল্প 2: আইএসএস পাস পূর্বাভাস প্রদর্শন,
প্রকল্প 2: আইএসএস পাস পূর্বাভাস প্রদর্শন,
প্রকল্প 2: আইএসএস পাস পূর্বাভাস প্রদর্শন,
প্রকল্প 2: আইএসএস পাস পূর্বাভাস প্রদর্শন,

প্রকল্প 2: আইএসএস পাস পূর্বাভাস প্রদর্শন, এই প্রকল্পটি প্রসেসরের ২ য় কোর ব্যবহার করে। এটি প্রদর্শিত হবে যে আইএসএস কতটা কাছাকাছি (মাইলের মধ্যে), কখন আপনার অবস্থানে পরবর্তী ইউএসএস পাস আশা করবে (ইউটিসি সময়ে), এবং allyচ্ছিকভাবে কতজন মানুষ মহাকাশে আছে। যেহেতু এই তথ্যের অনেকটা প্রায়ই পরিবর্তন হয় না, তাই আমরা দ্বিতীয় কোর ব্যবহার করি শুধুমাত্র পাসের পূর্বাভাসের আপডেট চেক করতে, অথবা প্রতি 15 মিনিটে কতজন মানুষ মহাকাশে থাকে। আমরা এই ভাবে সার্ভারে অনেক API কল রোধ করতে পারি। এই প্রকল্পটি একটু বেশি জটিল, কিন্তু এখনও করা বেশ সহজ।

এই প্রকল্পটি আমার আগের একটি প্রকল্পের উপর ভিত্তি করে যা এখানে পাওয়া যাবে:

(একটি সহজ আইএসএস বিজ্ঞপ্তি সিস্টেম) এতে আমি একটি ESP8266 ব্যবহার করেছি যার একটি বোর্ড ওএলইডি স্ক্রিন (ডি-ডুইনো) ছিল। বেশিরভাগ ক্ষেত্রে এই প্রকল্পটি কেবল একটি ভিন্ন ডিসপ্লে সিস্টেম ব্যবহার করে, আমি এটিকে প্রসারিত করেছি যাতে আপনি একটি ওয়েব পেজের মাধ্যমে আপনি যা দেখতে চান তা পরিবর্তন করতে পারেন। চল শুরু করা যাক….

সহজেই ব্যবহার করার জন্য বেশিরভাগ ক্রেডিট https://open-notify.org- এ যায় যার একটি খুব সহজ এবং সহজেই ব্যবহারযোগ্য API রয়েছে। ওপেন-নোটিফাই এপিআইতে তিনটি জিনিস রয়েছে যা প্রদর্শিত হতে পারে, আইএসএসের অক্ষাংশ এবং দ্রাঘিমাংশে অবস্থান, প্রদত্ত অক্ষাংশ এবং দ্রাঘিমাংশের উপর ভিত্তি করে পূর্বাভাস পাস। এবং পরিশেষে কতজন মানুষ (এবং তাদের নাম) মহাকাশে আছে।

আমাদের আরেকটি লাইব্রেরি ইনস্টল করতে হবে - ArduinoJson লাইব্রেরি।

github.com/bblanchon/ArduinoJson

আমাদের TimeLib.h এরও প্রয়োজন কিন্তু আমি নিশ্চিত নই যে আমি এটি কোথা থেকে পেয়েছি বা এটি IDE তে অন্তর্ভুক্ত থাকলে (দু sorryখিত)…।

তাহলে কেন আইএসএস কোথায় হবে তা পূর্বাভাস দিন - আইএসএসে বিভিন্ন অপেশাদার রেডিও সরঞ্জাম রয়েছে এবং যখন এটি "ওভার হেড" হয় তখন একটি হ্যাম রেডিও অপারেটর কিছু সহজ (এবং সস্তা) রেডিও ব্যবহার করে আইএসএসের সাথে যোগাযোগ করতে পারে। আমি এমনকি মোবাইল (গাড়িতে ড্রাইভিং) করার সময় এটি করেছি। এই কাজটি করার জন্য আপনার খুব বেশি প্রয়োজন নেই। একটি জিনিস যা আপনার প্রয়োজন তা হল এটি কোথায় তা জানা। এবং অ্যান্টেনাকে এর সাধারণ দিক নির্দেশ করা সাহায্য করে।

লাইন 57, 58, 59 কিছু ডিসপ্লে ভেরিয়েবল - যদি সেগুলো 1 এ সেট করা থাকে তাহলে আপনি একটি ডিসপ্লে দেখতে পাবেন, যদি সেগুলো 0 (শূন্য) এ সেট করা থাকে তাহলে আপনি কোন ডিসপ্লে দেখতে পাবেন না। (এই ভেরিয়েবলগুলি স্কেচে সেট করা যেতে পারে, অথবা একটি ওয়েব পেজ থেকে আপডেট করা যেতে পারে যা ফায়ারবিটল তৈরি করে - পরবর্তীতে আরও কিছু)।

int locDis = 1; // ISSint pasDis এর অবস্থান প্রদর্শন = 0; // ডিসপ্লে পাস পূর্বাভাস int pplDis = 1; // মহাকাশে মানুষ দেখান

তাই locDis আইএসএসের অবস্থান অক্ষাংশ এবং দ্রাঘিমাংশে প্রদর্শন করবে - এটি কত মাইল দূরে তাও প্রদর্শন করে।

pasDis open-notify.org থেকে পাসের পূর্বাভাস পাবে এবং সেগুলি প্রদর্শন করবে।

এবং পরিশেষে, pplDis নামগুলি প্রদর্শন করবে এবং কতজন মানুষ মহাকাশে আছে - এটি খুব দীর্ঘ হতে পারে, এটি নয়

প্রায়ই পরিবর্তন হয়। (আপনি এগুলি পরিবর্তন করতে পারেন বা ছেড়ে দিতে পারেন, এটি সম্পূর্ণ alচ্ছিক)

আমাদের আমাদের অক্ষাংশ এবং দ্রাঘিমাংশ জানতে হবে এবং এটিকে স্কেচে রাখতে হবে।

এটি একটি সুনির্দিষ্ট লেট/লম্বা হতে হবে না, এটি আপনার শহরের কেন্দ্র হতে পারে, অথবা একটু দূরে।আইএসএসের পায়ের ছাপ যখন মাথার উপরে থাকে তখন বিস্তৃত, এবং শত শত (বা হাজার হাজার) মাইল আচ্ছাদিত হতে পারে, তাই আপনার ল্যাট/লম্বায় কিছুটা বন্ধ থাকা চুক্তিভঙ্গকারী হতে যাচ্ছে না (বেশিরভাগ সময়), 500 মাইলের উপরে যোগাযোগ বেশ সাধারণ।

আপনি যদি আপনার অক্ষাংশ এবং দ্রাঘিমাংশ না জানেন তবে এই ওয়েবসাইটটি আপনাকে সাহায্য করতে পারে।

www.latlong.net স্কেচের লাইন 84 এর কাছাকাছি আপনি এরকম কিছু দেখতে পাবেন:

// এখানে আপনার অক্ষাংশ এবং দ্রাঘিমাংশ খুঁজুন // https://www.latlong.net/ float mylat = 39.360095; ভাসমান মাইলন = -84.58558;

এটাই পরিবর্তন হওয়া দরকার। স্কেচ আপলোড করুন, এবং ফায়ারবিটলকে ইন্টারনেটে সংযুক্ত করুন - এবং আপনি দেখতে পাবেন, আইএসএসের অবস্থান ল্যাট/লং এবং কত মাইল দূরে রয়েছে (মনে রাখবেন এটি একটি আনুমানিক দূরত্ব হবে। আইএসএস খুব দ্রুত চলে, এবং ডিসপ্লে শেষ হওয়ার পরে আইএসএস যেখানে ছিল সেখান থেকে অনেক মাইল সরে গেছে)। আপনারও মহাকাশের মানুষ দেখা উচিত। (যদি আপনি উপরের ভেরিয়েবল পরিবর্তন না করেন)।

আমরা একটি ওয়েব সাইট চালানোর জন্য ESP32 এর দ্বিতীয় কোরটি ব্যবহার করছি, সাইটটি ব্যবহার করে আমাদের LED ম্যাট্রিক্সে কী প্রদর্শিত হয় তার উপর নিয়ন্ত্রণ দেয়। এটি কীভাবে কাজ করে সে সম্পর্কে এটি বেশ স্বজ্ঞাত হওয়া উচিত, একটি বিভাগ দেখায় যে প্রদর্শনের জন্য কী চালু আছে, অন্য বিভাগে "হ্যাঁ" "না" বোতাম রয়েছে - "হ্যাঁ" ক্লিক করা মানে আপনি এটি দেখতে চান, "না" মানে ডন ' t দেখান। আপনার আরও দেখা উচিত যে বোতামগুলির উপর ভিত্তি করে উপরের বিভাগটি পরিবর্তিত হয়।

এখানে যে জিনিসটি এতটা কাটা এবং শুকনো নয় তা হল কিভাবে ফায়ারবিটলের আইপি ঠিকানা খুঁজে বের করতে হয় - দুর্ভাগ্যবশত আমি এটি খুঁজে বের করার একটি ভাল উপায় নিয়ে আসতে পারিনি - তাই আমি শুধু আইডিই এর সিরিয়াল কনসোল ব্যবহার করে প্রদর্শন করেছি এটি (9600 বড)।

কনসোল খুলুন, এবং আপনি আইপি ঠিকানা দেখতে হবে। (সংযুক্ত বার্তাটি পাওয়ার আগে এটি খুলুন) - আমার অন্য পছন্দটি ছিল শুরুতে LED ম্যাট্রিক্সে এটি প্রদর্শন করা - আমি এর বিরুদ্ধে সিদ্ধান্ত নিয়েছি কারণ আপনি হয়তো সময়টি দেখছেন না এবং আপনি এটি মিস করবেন। আমি একটি এসএমএস বার্তা, বা কিছু পাঠানোর কথা ভেবেছিলাম কিন্তু, শেষ পর্যন্ত আমি এটি সহজ রাখি। (আমি একটি স্ট্যাটিক আইপি/গেটওয়ে/ইত্যাদি বরাদ্দ করার চেষ্টা করেছি, আমি এটি ওয়াইফাই ম্যানেজারের সাথে সঠিকভাবে কাজ করতে পারিনি - কোডটি এখনও স্কেচে রয়েছে, তাই যদি কেউ এটি বের করে তবে আমাকে জানান)

স্কেচটি ফ্রিআরটিওএস বিল্ডের ইএসপি 32 কোরেও আগাম নেয় - আমাদের একটি কাজ আছে যা প্রতি 15 মিনিট বা তারও বেশি সময় ধরে চলে, এটি যা করে তা হল পাসের ভবিষ্যদ্বাণীগুলি আপডেট করা, সেইসাথে মহাকাশের মানুষ। যেমনটি আমি আগে বলেছিলাম মহাকাশে মানুষ এতটা পরিবর্তন করে না, তাই এটি সম্ভবত অন্য একটি কাজে সরানো যেতে পারে এবং সম্ভবত প্রতি 12 ঘন্টা (বা 6 ঘন্টা) একবার চালানো যেতে পারে - তবে এটি কাজ করে এবং এটি জিনিসগুলিকে সহজ রাখে।

যারা ফ্রিআরটিওএস জানে না তাদের জন্য একটি একক কোর মাইক্রো-কন্ট্রোলারকে বহুবিধ কাজ চালানোর একটি উপায়

সাধারণত এটি কাজ করার জন্য আপনাকে কিছু লাইব্রেরি এবং অন্যান্য জিনিস অন্তর্ভুক্ত করতে হবে - তবে এটি ESP32 এর মূল অংশে তৈরি - যা ESP32 কে একটি খুব শক্তিশালী ডিভাইস বানায়। ফ্রিআরটিওএস সম্পর্কে আরও তথ্যের জন্য

freertos.org/

উন্নতিগুলি: এই প্রকল্পের জন্য অনেকগুলি জিনিস উন্নত করা যেতে পারে এবং প্রায় প্রতিদিনই আমি এমন কিছু ভাবি যা কিছুটা ভিন্ন, বা পরিবর্তিত বা যুক্ত করা যেতে পারে।

এবং রিপোজিটরির আরও উদাহরণের ডিরেক্টরিতে আপনি আগের/বিভিন্ন জিনিস সম্পর্কে কিছু ভাবতে পারেন যা আমি ভেবেছিলাম- এর মধ্যে কিছু কাজ করে নি, কিছু শুধু পরিবর্তিত হয়েছে, এবং কিছু বর্তমান স্কেচে অন্তর্ভুক্ত।

* এক পর্যায়ে আমি ডিসপ্লেতে একটি নিওপিক্সেল যোগ করার চেষ্টা করেছি যাতে এটি আমার আগের প্রজেক্টের মত একটু বেশি হয় - আমি কখনোই এটিকে সঠিকভাবে কাজ করতে পারিনি (আমি এটি একটি পাওয়ার ইস্যু বলে মনে করি যা আমি বিবেচনা করিনি) আমি আছি এই ধারণা উন্নত করার উপায় নিয়ে কাজ করা *

এই ধাপটি লেখার সময়, আমি ভেবেছিলাম, আমি হয়তো ওয়েবসাইটটিতে আপনার অক্ষাংশ এবং দ্রাঘিমাংশ আপডেট করার একটি উপায় যোগ করতে পারি - এইভাবে স্কেচটি কখনোই সংশোধন করার প্রয়োজন হবে না - আমি এটি সম্পর্কে আরও একটু চিন্তা করব।

আইপি অ্যাড্রেস পাওয়ার একটি উন্নত উপায় হল অন্য কিছু যা আমি করতে চাই (এখনও সেটার কথা ভাবছি)

আসুন আমাদের পরবর্তী প্রকল্পের দিকে এগিয়ে যাই ….

ধাপ 7: প্রকল্প 3: MQTT ব্যবহার করে একটি সহজ মুভিং মেসেজ সাইন

প্রকল্প 3: MQTT ব্যবহার করে একটি সহজ মুভিং মেসেজ সাইন
প্রকল্প 3: MQTT ব্যবহার করে একটি সহজ মুভিং মেসেজ সাইন
প্রজেক্ট 3: MQTT ব্যবহার করে একটি সহজ মুভিং মেসেজ সাইন
প্রজেক্ট 3: MQTT ব্যবহার করে একটি সহজ মুভিং মেসেজ সাইন
প্রজেক্ট 3: MQTT ব্যবহার করে একটি সহজ মুভিং মেসেজ সাইন
প্রজেক্ট 3: MQTT ব্যবহার করে একটি সহজ মুভিং মেসেজ সাইন

"লোড হচ্ছে =" অলস "" লোড হচ্ছে = "অলস"

বোনাস পার্ট 2 - চিত্র প্রদর্শন করুন
বোনাস পার্ট 2 - চিত্র প্রদর্শন করুন
বোনাস পার্ট 2 - চিত্র প্রদর্শন করুন
বোনাস পার্ট 2 - চিত্র প্রদর্শন করুন
বোনাস পার্ট 2 - চিত্র প্রদর্শন করুন
বোনাস পার্ট 2 - চিত্র প্রদর্শন করুন

সুতরাং দেখা যাচ্ছে যে, লাইব্রেরি ছবি প্রদর্শন করতে পারে - আপনি কিছু কারণে যে ফাংশনটি "ব্যক্তিগত" বলে মনে হচ্ছে - আচ্ছা, এই পরবর্তী স্কেচগুলির জন্য আমি লাইব্রেরিকে আবার পরিবর্তন করেছি এবং ড্র ইমেজকে একটি পাবলিক ফাংশন বানিয়েছি।

এইবার, আমি স্কেচ ডিরেক্টরিতে পরিবর্তিত লাইব্রেরি রাখলাম, তাই আপনাকে লাইব্রেরি পুনরায় ইনস্টল করার দরকার নেই, স্কেচটি প্রথমে নিজের দিকে তাকাবে, তারপর এটি লাইব্রেরির ডিরেক্টরিতে দেখবে, তাই আমরা ভাল!

*** আমি এই পরিবর্তনটি DFRobot- এ জমা দেওয়ার পরিকল্পনা করছি, কারণ এটি সত্যিই খুব শীতল, এবং এই ধরণের স্কেচ করতে সক্ষম হওয়ার জন্য পরিষ্কার।

এলইডি ম্যাট্রিক্স ইমেজ স্কেচ, এখানে আমি প্রথমে লাইব্রেরি কি চায়, এবং কি কাজ করবে এবং কি কাজ করবে না তা বের করার চেষ্টা করছিলাম - সাফল্যের বিভিন্ন মাত্রার সাথে। আমি দেখেছি যে 8x8 চিত্রগুলি সবচেয়ে ভাল কাজ করে, তবে আপনি অন্যদেরও কাজ করতে পারেন। আমি কিছু অনলাইন নেতৃত্বাধীন ম্যাট্রিক্স এডিটরও পেয়েছি, কিছু অন্যের চেয়ে ভাল কাজ করে।

xantorohara.github.io/led-matrix-editor/-ঠিক আছে বলে মনে হচ্ছে, 8x8 ইমেজ তৈরি করে, এবং আপনি সেগুলি বাইট অ্যারে হিসাবে চান।

www.riyas.org/2013/12/online-led-matrix-fo… এটি একটি ভাল কাজ করে, এবং এটি 8x8 এর চেয়ে বড় ডিসপ্লে করার ক্ষমতা রাখে, এই ডিসপ্লের সাথে ডিসপ্লেটি তার পাশে চালু আছে বলে মনে হয় যাহোক. বাইট অ্যারে এখানে সবচেয়ে ভাল কাজ করে বলে মনে হয়। আমি উপরের ভিডিওতে দেখা "মহাকাশ আক্রমণকারী" তৈরি করতে এটি ব্যবহার করেছি।

তাহলে এটা কিভাবে কাজ করে, drawImage (const বাইট * img, uint8_t width_t, uint8_t height_t, int8_t x, int8_t y, int img_offset);

ইমেজ বাইট অ্যারে ভেরিয়েবল, ইমেজের প্রস্থ (8), চিত্রের উচ্চতা (8), স্ক্রিনে শুরুর অবস্থান x (0), y (0) সাধারণত, এবং একটি অফসেট নম্বর, যা আমি নই 100% নিশ্চিত যে এটি কী করে, তাই বেশিরভাগ সময় আমি এটি শূন্যে রেখেছিলাম।

স্কেচ LED ম্যাট্রিক্স ইমেজগুলিতে - 8 টি ভিন্ন বাইট অ্যারে রয়েছে - তিনটি ভিন্ন পদ্ধতি সহ সেগুলিও।

- আতশবাজি হল প্রথম অ্যারে, সৎভাবে আমি নিশ্চিত নই যে এটি কীভাবে কাজ করে - কিন্তু এটি কাজ করে।

পরবর্তীতে একটি মুখ আছে - এটি সত্যিই ঠিক কাজ করে না, মুখটি একজনের জন্য ভুল পথ পাড়াচ্ছে, এবং যে কোন পরিবর্তন করার চেষ্টা করলে এটি আরও খারাপ হয়ে যায়। (কি কাজ করে এবং কি করে না তা শেখা অর্ধেক মজা)

প্রথম মারিওআইএমজি দ্বারা অনুসরণ করা হয়েছে - এটি প্রদর্শনের জন্য খুব বড়, এবং আমি মনে করি এখানেই অফ সেটটি চলে আসে - আমি এখানে এটি ব্যবহার করেছি, এবং আপনি মারিওর সামনে দেখতে পাবেন, যদি আপনি অফসেটটি 1 তে পরিবর্তন করেন ' তার পিছনে দেখব। (আপনি আসলেই বলতে পারছেন না কেন বা অফসেট কি করে। এটি চিত্রটি স্থানান্তরিত বলে মনে হচ্ছে কিন্তু কেন এটি 2 টি স্থানান্তর করছে যাতে আপনি তার সামনে দেখতে পারেন এবং কেন 1 টি অন্য দিক পরিবর্তন করে আমি আপনাকে বলতে পারছি না)

চিত্রগুলি - বাইট অ্যারে আমার তৈরি একটি @ চিহ্ন - মনে হচ্ছে আমি কি টুল ব্যবহার করে তৈরি করেছি

pic1 বাইট অ্যারেও মনে হচ্ছে আমি যা তৈরি করার চেষ্টা করছিলাম, আমি যতটা চেষ্টা করছিলাম তার চেয়ে এটি ছোট - যা আমি বলতে পারি না, কিন্তু আমি সাধারণভাবে বলতে পারি যে আমি সম্পাদকের মধ্যে যা করছিলাম।

mario2Img - এটি আমার 8x8 স্ক্রিন সাইজের জন্য তৈরি বড় মারিওর নিজস্ব সংস্করণ - এবং আপনি সেখানে এক বা দুটি পিক্সেল (আমার দোষ, প্রদর্শন নয়) এটি একটি ছোট মারিও (সাজানো) এর মতো দেখায়।

invader1 এবং invader2 - উভয় একটি স্থান আক্রমণকারী জন্য আমার ধারণা। তারা বেশ ভাল পরিণত, এবং ছবি একে অপরের উপরে স্থাপন করে, আমি পা চলন্ত প্রভাব তৈরি করতে সক্ষম।

ডিরেক্টরিতে দুটি আতশবাজির স্কেচ রয়েছে, প্রত্যেকটি একটু ভিন্ন, এবং চেষ্টা করার মতো।

একজনের স্ক্রিন জুড়ে আতশবাজি চলছে, তাই একটু বেশি/ভিন্ন অ্যানিমেশন… অন্যটিতে একই সময়ে দুটি আতশবাজি প্রদর্শিত হয়েছে

এছাড়াও তিনটি "আক্রমণকারী" স্কেচ রয়েছে, প্রত্যেকটি একটু ভিন্ন, একজন আক্রমণকারী স্ক্রিন জুড়ে চলেছে, এবং আপনি দেখতে পারেন যে আমি কীভাবে এটি করেছি - (এটি করার আরও ভাল উপায় আছে, আমি জানি না)

এমনকি আরও: সংগ্রহস্থলের পরীক্ষার ডিরেক্টরিতে কিছু স্কেচ রয়েছে - এর মধ্যে বেশিরভাগই আমি যেভাবে চেয়েছিলাম সেভাবে কাজ করে নি, অথবা আমি যে ধারণাগুলি করতে চাই তা ছিল, কিন্তু আমি যেভাবে চেয়েছিলাম সেভাবে কাজ করে নি। আমি তাদের ছেড়ে দিয়েছি কারণ কেউ আমার কিছু ধারণা পেয়েছে *(আমি আইএসএস ডিসপ্লেতে ব্যবহারের জন্য WS2812 পিক্সেল দিয়ে একটি ছোট "ieldাল" তৈরি করেছি, কিন্তু আমি এটি 3v লাইনের সাথে সংযুক্ত করেছি, এবং যথেষ্ট ছিল না LED ম্যাট্রিক্সের সাথে শক্তিও চলছে, LED ম্যাট্রিক্স তুমি ছাড়া পিক্সেল ভাল কাজ করেছে, তাই এখনও কিছু আছে যা আমি এটি দিয়ে করতে পারি)*

"আরও উদাহরণ" নামে একটি ডিরেক্টরিও রয়েছে - এগুলি প্রকল্পের কিছু স্কেচের বৈচিত্র্য, হয় আমি কিছু যোগ করেছি বা সরানো হয়েছে, অথবা কোনওভাবে পরিবর্তন করা হয়েছে। এর জন্য, তারা কাজ করে - এগুলি কেবল চূড়ান্ত প্রকল্প নয়। তাই আমি তাদের আবার রেখে দিলাম কেউ তাদের থেকে কিছু দরকারী পেতে পারে। (হতে পারে)

আমি আশা করি আপনি এই নির্দেশনা উপভোগ করেছেন যতটা আমি এই প্রকল্পগুলি তৈরি করতে উপভোগ করেছি:-)

ধাপ 11: লিঙ্কস …

এই প্রকল্পটি DF রোবট দ্বারা স্পনসর এবং সমর্থিত ছিল। পণ্যগুলির জন্য দয়া করে নীচের লিঙ্কগুলি ব্যবহার করুন:

Firebeetle ESP32 -

ফায়ারবিটল কভার 24x8 LED ম্যাট্রিক্স -

আমার কোড রিপোজিটরি:

যদি আপনি এটি বা আমার কোন প্রকল্প দরকারী বা উপভোগ্য মনে করেন তবে দয়া করে আমাকে সমর্থন করুন। আমি যা পাই তা আরও অংশ কিনতে এবং আরও/ভাল প্রকল্প তৈরি করতে যায়।

www.patreon.com/kd8bxp

NTPClient লাইব্রেরি

ArduinoJson.h

ESP8266 আবহাওয়া গ্রন্থাগার

জসন-স্ট্রিমিং-পার্সার লাইব্রেরি

প্রস্তাবিত: