সুচিপত্র:

NodeMCU সঙ্গে দূরবর্তী নিয়ন্ত্রিত টাইমার: 14 ধাপ
NodeMCU সঙ্গে দূরবর্তী নিয়ন্ত্রিত টাইমার: 14 ধাপ

ভিডিও: NodeMCU সঙ্গে দূরবর্তী নিয়ন্ত্রিত টাইমার: 14 ধাপ

ভিডিও: NodeMCU সঙ্গে দূরবর্তী নিয়ন্ত্রিত টাইমার: 14 ধাপ
ভিডিও: How to make a flight controller using Arduino and MPU6050 sensor || DIY Arduino flight controller || 2024, জুলাই
Anonim
NodeMCU সঙ্গে দূরবর্তী নিয়ন্ত্রিত টাইমার
NodeMCU সঙ্গে দূরবর্তী নিয়ন্ত্রিত টাইমার

এখানে আমরা একটি NodeMCU এবং Adafruit ব্যবহার করে একটি টাইমার তৈরি করতে যাচ্ছি। আমরা একটি LED স্ট্রিপ দিয়ে আমাদের টাইমার প্রদর্শন করতে যাচ্ছি এবং আমরা আমাদের ফোন বা কম্পিউটার ব্যবহার করে এটি নিয়ন্ত্রণ করতে সক্ষম হব!

আমাদের উদ্দেশ্য:

একটি LED স্ট্রিপ ব্যবহার করে একটি টাইমার তৈরি করুন যা আমরা করতে পারি: আমাদের ফোন বা কম্পিউটার ব্যবহার করে শুরু, বিরতি এবং পুনরায় সেট করুন।

সরবরাহ

হার্ডওয়্যার:

  • NodeMCU ESP 8266
  • Adafruit NeoPixel LED স্ট্রিপ

লাইব্রেরি:

  • Adafruit_NeoPixel.h
  • AdafruitIO_WiFi.h

অন্যান্য:

একটি ভাল ওয়াইফাই সংযোগ

ধাপ 1: আসুন অ্যাডাফ্রুটে একটি ফিড তৈরি করি

আসুন অ্যাডাফ্রুটে একটি ফিড তৈরি করি!
আসুন অ্যাডাফ্রুটে একটি ফিড তৈরি করি!

এখন যেহেতু আমরা আমাদের প্রয়োজনীয় সবকিছু পেয়েছি, আমরা নির্মাণ শুরু করতে প্রস্তুত! সবার আগে আমাদের Adafruit এ একটি ফিড তৈরি করতে হবে। অ্যাডাফ্রুট এমন একটি পরিষেবা যা আমাদের Arduino কে ইন্টারনেটের সাথে সংযুক্ত করা এবং দরকারী দূরবর্তী নিয়ন্ত্রিত বৈশিষ্ট্যগুলি তৈরি করা সত্যিই সহজ করে তোলে। যদি আপনি ইতিমধ্যে না করে থাকেন, তাহলে Adafruit এর জন্য সাইন আপ করুন।

এখন একটি নতুন ফিড তৈরি করা যাক

আমরা আমাদের ফিডের যেকোনো নাম দিতে পারি, আমি এটাকে 'টাইমার' বলছি।

একটি ফিড আমাদের ড্যাশবোর্ডে যা কিছু করে তা রেকর্ড করে (যা আমরা মাত্র এক মিনিটের মধ্যে তৈরি করব) এবং সেই ডেটা আমাদের বোর্ডে পাঠায়, কিন্তু এটি এমন কিছু যা আমরা একবার দেখে নেব যখন আমাদের কাছে ডেটা পাঠানো হবে।

পদক্ষেপ 2: এখন আসুন একটি ড্যাশবোর্ড তৈরি করি

এখন আসুন একটি ড্যাশবোর্ড তৈরি করি
এখন আসুন একটি ড্যাশবোর্ড তৈরি করি
এখন আসুন একটি ড্যাশবোর্ড তৈরি করি
এখন আসুন একটি ড্যাশবোর্ড তৈরি করি
এখন আসুন একটি ড্যাশবোর্ড তৈরি করি
এখন আসুন একটি ড্যাশবোর্ড তৈরি করি

এখন যেভাবে আমরা একটি ফিড তৈরি করেছি, আমরা একটি নতুন ড্যাশবোর্ড তৈরি করব। আমি আমার ড্যাশবোর্ডকে কল করব: 'টাইমার ইন্টারফেস' কারণ এটি মূলত আমাদের ড্যাশবোর্ড হবে: আমাদের টাইমার নিয়ন্ত্রণ করার জন্য বোতামগুলির সাথে একটি ইন্টারফেস।

ধাপ 3: আমাদের চাবি পান

আমাদের চাবি পান
আমাদের চাবি পান

যদি আমরা আমাদের Arduino কে আমাদের ফিডের সাথে সংযুক্ত করতে চাই তাহলে আমাদের Adafruit কী পেতে হবে, এটি আপনার গোপন পাসওয়ার্ড যা নিশ্চিত করবে যে শুধুমাত্র আপনি আপনার ফিডের সাথে সংযোগ স্থাপন করতে পারবেন।

আপনি Adafruit এ আপনার পর্দার উপরের ডানদিকে হলুদ AIO কী বোতামটি ক্লিক করে আপনার কী পেতে পারেন।

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

আপনার চাবি ভাগ করবেন না! অন্যথায় খারাপ উদ্দেশ্য নিয়ে লোকেরা আপনার ফিড এবং ডিভাইসের সাথে সংযোগ স্থাপন করতে পারে।

ধাপ 4: ফিড পড়ার উদাহরণ খুলুন

ফিড পড়ার উদাহরণ খুলুন
ফিড পড়ার উদাহরণ খুলুন

এখন আসুন আমাদের Arduino IDE খুলি এবং কোডিং প্রক্রিয়া শুরু করি। সবার আগে আমাদের Adafruit IO Arduino লাইব্রেরি ইনস্টল করা দরকার।

লাইব্রেরি কিভাবে ইনস্টল করতে হয় তা জানেন না? এটি অ্যাডাফ্রুট দ্বারা একটি দুর্দান্ত নির্দেশিকা: আরডুইনো লাইব্রেরি

অ্যাডাফ্রুট আমাদের ব্যবহার এবং শেখার জন্য অনেকগুলি পূর্বনির্ধারিত উদাহরণ সরবরাহ করে। এই উদাহরণগুলির মধ্যে একটি হল: adafruitio_21_feed_read। আপনি এই উদাহরণটি এখানে পেতে পারেন: ফাইল - উদাহরণ Adafruit IO Arduino adafruitio_21_feed_read

(ছবিতে আমার ডাচ ইন্টারফেস ক্ষমা করুন)

ধাপ 5: আসুন আমাদের সংযোগ স্থাপন করি

যদি আপনি সফলভাবে adafruitio_21_feed_read স্কেচ খুলে থাকেন তাহলে আপনার স্কেচে 2 টি ট্যাব দেখতে হবে: adafruitio_21_feed_read এবং config.h। এই স্কেচটি তৈরি করা হয়েছিল যাতে আমরা ধাপ 1 এ তৈরি করা ফিডের সাথে সংযোগ করতে পারি।

এই ফিডের সাথে সংযোগ করার জন্য আমাদের আমাদের ওয়াইফাই এবং আমাদের অ্যাডাফ্রুট অ্যাকাউন্ট সম্পর্কে কিছু বিবরণ পূরণ করতে হবে,

আসুন config.h ভ্রমণ করি, এখানে আমরা নিম্নলিখিত বিবরণ পূরণ করব:

আপনার Adafruit ব্যবহারকারীর নাম:

#IO_USERNAME "joopert" নির্ধারণ করুন

আপনার Adafruit কী:

#ডিফাইন IO_KEY "1234567890abcdefghijklmnop"

আপনার ওয়াইফাই এর নাম:

#WIFI_SSID "MyWifi" নির্ধারণ করুন

এবং আপনার ওয়াইফাই পাসওয়ার্ড:

#WIFI_PASS "aVerySecretPassword" নির্ধারণ করুন

এখন আসুন adafruitio_21_feed_read ট্যাবে ফিরে যাই এবং পূরণ করুন:

আপনার Adafruit ব্যবহারকারীর নাম… আবার:

#FEED_OWNER "joopert" নির্ধারণ করুন

এবং অবশেষে আপনার ফিড নাম (ধাপ 1 এ আমরা তৈরি করা ফিড থেকে):

AdafruitIO_Feed *sharedFeed = io.feed ("টাইমার", FEED_OWNER);

ধাপ 6: Adafruit IO এর সাথে সংযোগ পরীক্ষা করুন

Adafruit IO এর সাথে সংযোগ পরীক্ষা করুন
Adafruit IO এর সাথে সংযোগ পরীক্ষা করুন

আমরা আগে যে পদক্ষেপগুলি নিয়েছিলাম তা সঠিকভাবে কার্যকর হয়েছে কিনা তা পরীক্ষা করার জন্য, আমরা আমাদের স্কেচ NodeMCU এ আপলোড করতে যাচ্ছি। আপনি যদি আপনার সিরিয়াল মনিটরটি খুলেন তবে এটি উপরের ছবির মতো দেখতে হবে। প্রথমে সিরিয়াল মনিটর আপনাকে দেখায় যে এটি আপনার ওয়াইফাই এবং অ্যাডাফ্রুট এর সাথে সংযোগ স্থাপনের চেষ্টা করছে। যদি এটি সম্পূর্ণ হয় তবে এটি বলা উচিত:

Adafruit IO সংযুক্ত

এটা দারুণ খবর! এখন আমরা আমাদের টাইমারে কার্যকারিতা যোগ করা শুরু করতে পারি …

ধাপ 7: এলইডি

LED করা যাক
LED করা যাক
LED করা যাক
LED করা যাক

এখন আমাদের LED স্ট্রিপ চালু করার সময়!

আপনার LED স্ট্রিপটিকে D5 পিনের সাথে সংযুক্ত করুন (যদি আপনি D5 খুঁজে না পান তবে এটিকে অন্য পিনের সাথে সংযুক্ত করুন এবং কোডে LED_PIN পরিবর্তন করুন)।

LED স্ট্রিপ সংজ্ঞায়িত করুন

নিচের কোডটি NeoPixel লাইব্রেরি যোগ করবে (এই লাইব্রেরি সম্পর্কে আরও জানুন: https://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library-use) এবং নিশ্চিত করুন যে আমাদের Arduino জানে আমাদের LED স্ট্রিপ কোথায় এবং কত আলো আছে যদি আপনার এলইডি স্ট্রিপের বিভিন্ন স্পেসিফিকেশন থাকে তবে কোডে এটি পরিবর্তন করুন।

অকার্যকর সেটআপের উপরে নিম্নলিখিত কোড যোগ করুন ():

// সেট আপ NeoPixel সংযোগ #অন্তর্ভুক্ত #ifdef _AVR_ #অন্তর্ভুক্ত #endif

#ডিফাইন LED_PIN D5 // LED স্ট্রিপ কোথায় সংযুক্ত?

#ডিফাইন LED_COUNT 30 // কত পিক্সেল আছে?

#সংজ্ঞায়িত করুন উজ্জ্বলতা 50 // নিওপিক্সেলের উজ্জ্বলতা, 0 (মিনিট) থেকে 255 (সর্বোচ্চ)

Adafruit_NeoPixel স্ট্রিপ (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);

LED স্ট্রিপ শুরু করুন

এখন আমরা আমাদের LED স্ট্রিপ শুরু করব এবং উজ্জ্বলতা সেট করব (উজ্জ্বলতা 0 মিনিট থেকে 255 সর্বোচ্চ পর্যন্ত, কিন্তু আমি 50… 255 সুপারিশ করছি সত্যিই উজ্জ্বল)।

অকার্যকর সেটআপ () এ নিম্নলিখিত কোড যোগ করুন:

strip.begin (); // নিওপিক্সেল স্ট্রিপ অবজেক্ট (প্রয়োজনীয়) strip.show (); // যত তাড়াতাড়ি সম্ভব সব পিক্সেল স্ট্রিপ সেট করুন উজ্জ্বলতা (50); // প্রায় 1/5 (সর্বোচ্চ = 255) তে উজ্জ্বলতা সেট করুন

ledsOn (); // প্রতিটি LED একে একে চালু করার জন্য ফাংশনটিকে কল করে

আলো জ্বালাও

হয়তো আপনি ইতিমধ্যে লক্ষ্য করেছেন যে আমরা এমন একটি ফাংশনকে কল করছি যা এখনও বিদ্যমান নেই, এটি হবে আমাদের কোডিং এর পরবর্তী অংশ। যদি আমরা আমাদের লাইট জ্বালাতে চাই তাহলে আমাদের একটি 'লুপের জন্য' তৈরি করতে হবে যা প্রতিটি পৃথক LED একে একে চালু করে (লুপ কি তা জানেন না? এখানে দেখুন en/language/structure/control-structure/for/)।

এখন আমরা ফাংশন তৈরি করতে যাচ্ছি: ledsOn ();

নীচের কোডটি যোগ করুন অকার্যকর হ্যান্ডেল মেসেজ ():

void ledsOn () {for (int i = 0; i <strip.numPixels (); i ++) {// স্ট্রিপের প্রতিটি পিক্সেলের জন্য… strip.setPixelColor (i, 0, 0, 255); // পিক্সেল এর রং নীল strip.show () এ সেট করুন; // আপডেট স্ট্রিপ মেলে}}

আপলোড

এখন মজার অংশ, আসুন আমাদের কোডটি নোডএমসিইউতে আপলোড করি … যদি সবকিছু সঠিকভাবে কাজ করে তবে আপনার এলইডি স্ট্রিপটি এখন পুরোপুরি নীল হয়ে যাবে!

কোন পিক্সেল দেখা যাচ্ছে না ?: আপনি কি স্ট্রিপটিকে ডান পিনের সাথে সংযুক্ত করেছেন? অথবা হয়তো আপনার ইন্টারনেট সংযোগ হারিয়ে গেছে।

শুধুমাত্র কিছু পিক্সেল দেখা যাচ্ছে না ?: আপনি সঠিক পরিমাণ পিক্সেল সেট করেছেন কিনা তা পরীক্ষা করুন!

ধাপ 8: টাইমারে সময় যোগ করুন

এখন আমরা নিশ্চিত করতে যাচ্ছি যে আমাদের টাইমার আসলে… ভাল… বার, কিছু।

Arduino এর সাথে সময় করার বিভিন্ন উপায় আছে, একটি হল বিলম্ব (), এটি একটি নির্দিষ্ট সময়ের জন্য আমাদের বোর্ডের প্রক্রিয়াকরণ বন্ধ করে দেয়। আমরা এটি ব্যবহার করতে যাচ্ছি না যেহেতু আমাদের আরডুইনো মূলত বিলম্বের সময় জমে যায়, এবং আমরা চাই আমাদের বোর্ড নিয়মিত আপডেট করা হোক। সুতরাং আমরা Millis () ব্যবহার করতে যাচ্ছি, এটি Arduino এ সময় করার একটি আরো মার্জিত উপায়, Millis () এর সাথে আমরা এখনও বিরতির মধ্যে কোড চালাতে পারি।

আপনি যদি এটি কীভাবে কাজ করে সে সম্পর্কে আগ্রহী হন তবে আপনি এই নিবন্ধটি দেখতে পারেন:

আসুন মিলিস () এর জন্য কোড যোগ করি:

অকার্যকর সেটআপের উপরে এই কোডটি রাখুন ()

স্বাক্ষরবিহীন দীর্ঘ পূর্ববর্তী মিলিস = 0; // শেষবার LED স্ট্রিপ আপডেট করা হবে অন্তর = 1000; // আমাদের টাইমারের ব্যবধান (মিলিসেকেন্ড)

এবং আসুন এই কোডটি অকার্যকর লুপে রাখি ():

স্বাক্ষরবিহীন দীর্ঘ কারেন্টমিলিস = মিলিস ();// টাইমার রাইথ শুরু করুন *********************************************** ********* যদি (currentMillis - previousMillis> = ব্যবধান) {previousMillis = currentMillis;

// শেষ টাইমার রাইথম *********************************************** ***********

আমরা যা করেছি তা হল আমাদের এলইডি স্ট্রিপের জন্য এলইডি বন্ধ করার জন্য একটি রাইথম তৈরি করা, পরবর্তী ধাপে আমরা কোডটি যোগ করব ঠিক সেটাই করার জন্য।

ধাপ 9: কাউন্টডাউন

এই ধাপে: আমরা এমন একটি ফাংশন তৈরি করব যা নিশ্চিত করবে যে প্রতিটি সেকেন্ড (অথবা আপনি যে ব্যবধানটি সেট করেছেন) আমরা স্ট্রিপের শেষে একটি LED বন্ধ করে রাখি যতক্ষণ না আমাদের সমস্ত LEDs বন্ধ থাকে।

আমরা 'লেডস' নামে শীর্ষে একটি 'int' তৈরি করব। এটি পরে আমাদের টাইমারকে বলবে যে কতগুলি এলইডি এখনও বন্ধ করতে হবে।

অকার্যকর সেটআপের উপরে নিম্নলিখিত কোড যোগ করুন ():

int leds = LED_COUNT-1; // tels কত পিক্সেল জ্বালানো উচিত

এখন আসুন 'টাইমার ();' ফাংশন যোগ করি, এটি প্রতি সেকেন্ডে একটি আলো বন্ধ করবে

নিচের কোডটি যোগ করুন নিচে শূন্য ledsOn ():

অকার্যকর টাইমার () {strip.setPixelColor (leds, 0, 0, 0);

যদি (leds> -1) {leds--; } অন্য {ব্লিঙ্কি (); }}

আমরা ব্যবহারকারীকে কিছু প্রতিক্রিয়া জানাতে চাই যে সমস্ত লাইট জ্বলে যাওয়ার পরে টাইমারটি সম্পন্ন হয়। সঙ্গে 'blinkie ();' টাইমার শেষ হওয়ার পরে LEDs জ্বলজ্বল করবে!

অকার্যকর সেটআপের উপরে নিম্নলিখিত কোড যোগ করুন ():

int blinkStatus = 1; // ব্লিঙ্কিকে বলে (); ফাংশন যত বেশি আলো চালু বা বন্ধ হওয়া উচিত

নিচের কোডটি নিচের অকার্যকর টাইমার () যোগ করুন:

অকার্যকর ব্লিঙ্কি () {যদি (blinkStatus == 1) {

blinkStatus = 0; strip.clear (); } অন্যথায় {blinkStatus = 1; জন্য (int i = 0; i <strip.numPixels (); i ++) {// স্ট্রিপের প্রতিটি পিক্সেলের জন্য… strip.setPixelColor (i, 255, 0, 0); // পিক্সেলের রঙ সেট করুন (RAM তে) strip.show (); // আপডেট স্ট্রিপ মেলে}}}}

অবশেষে আমাদের ফাংশনটি আমাদের অকার্যকর লুপে কল করতে হবে ();, 8 তম ধাপে আমরা যে টাইমার রাইথ যোগ করেছি তা মনে আছে? এই যদি বিবৃতিতে আমরা ফাংশন টাইমার ();

টাইমার রাইথম এখন এই মত হওয়া উচিত:

// টাইমার রাইথ শুরু করুন *********************************************** *********

যদি (currentMillis - previousMillis> = ব্যবধান) {previousMillis = currentMillis; টাইমার (); strip.show ();} // শেষ টাইমার রাইথম **************************************** ******************

এখন এই কোডটি আপলোড করুন!

এই মুহুর্তে আপনার LED স্ট্রিপটি প্রতি সেকেন্ডে 1 টি LED বন্ধ করা উচিত এবং এটি সম্পন্ন হলে লাল জ্বলজ্বল করা উচিত …

এখন আসুন এই মাদারলভারকে রিমোট কন্ট্রোল করা যাক!

ধাপ 10: এটি দূরবর্তী নিয়ন্ত্রিত করুন: অংশ I

এটি দূরবর্তী নিয়ন্ত্রিত করুন: পার্ট I
এটি দূরবর্তী নিয়ন্ত্রিত করুন: পার্ট I
এটি দূরবর্তী নিয়ন্ত্রিত করুন: অংশ I
এটি দূরবর্তী নিয়ন্ত্রিত করুন: অংশ I

আমরা আমাদের টাইমার পেয়েছি, সব ঠিক আছে, কিন্তু আমি আপনাকে প্রতিশ্রুতি দিয়েছি যে আপনি আপনার ফোন দিয়ে এটি নিয়ন্ত্রণ করতে পারবেন? আসুন আমাদের প্রকল্পের চূড়ান্ত পর্যায়ে প্রবেশ করি: আমাদের টাইমারকে রিমোট কন্ট্রোল করা।

এখনও আপনার Adafruit ট্যাব খোলা আছে? আসুন io.adafruit.com এ ফিরে যাই এবং আমাদের টাইমার ইন্টারফেস ড্যাশবোর্ডে যাই এবং একটি নতুন ব্লক তৈরি করি: টগল

  1. টাইগার ফিডের সাথে টগলটি সংযুক্ত করুন
  2. অন মান সেট করুন: 1
  3. অফ মান সেট করুন: 0

এর কারণ হল Adafruit আমাদের NodeMCU তে পাঠ্য তথ্য পাঠায় না, কিন্তু শুধুমাত্র সংখ্যা।

আপনি চাইলে টগলের নামও দিতে পারেন, হয়তো: 'অন/অফ সুইচ'

এখন Arduino IDE- এ ফিরে যাই

শুধু আমাদের কোড আপ টু ডেট আছে তা নিশ্চিত করার জন্য, আসুন আবার আমাদের কোডটি আপলোড করি।

একবার আপলোড করা হয়ে গেলে সিরিয়াল মনিটরটি খুলুন এবং কয়েকবার আমাদের অ্যাডাফ্রুট ড্যাশবোর্ডে টগলটি চাপুন। আমাদের এখন আমাদের সিরিয়াল মনিটরে এমন কিছু দেখা উচিত:

প্রাপ্ত <- 0 প্রাপ্ত <- 1 প্রাপ্ত <- 0 প্রাপ্ত <- 1 প্রাপ্ত <- 0

এর মানে হল যে আমরা আসলে আমাদের NodeMCU- এ নিয়ন্ত্রণ পাঠাতে পারি!

আপনি যদি এই বার্তাগুলি না পাচ্ছেন, আপনার config.h এ আপনার Adafruit ডেটা এখনও সঠিক কিনা তা পরীক্ষা করুন।

ধাপ 11: এটি দূরবর্তী নিয়ন্ত্রিত করুন: দ্বিতীয় অংশ

এখন আমাদের প্রাপ্ত নিয়ন্ত্রণের সাথে কিছু করা বাকি আছে।

এটি করার জন্য আমরা আমাদের টাইমার RYTHM পরিবর্তন করতে পারি যদি অকার্যকর লুপে বিবৃতি (); একটু খানি.

আমরা আমাদের নোডএমসিইউকে বলব যে এটি অ্যাডাফ্রুট থেকে '1' (যার অর্থ: চালু) পেয়ে গেলেই টাইমারটি শুরু করা উচিত।

প্রথমে আসুন ডাটা সংগ্রহ করি Adafruit আমাদের পাঠায়

অকার্যকর সেটআপের উপরে নিম্নলিখিত কোড যোগ করুন ():

int adaData; // AdaFruit আমাদের পাঠানো তথ্য সংগ্রহ করে

এখন আসুন আসলে সেই ডেটা সংগ্রহ করি

অকার্যকর হ্যান্ডেল মেসেজ () এর মধ্যে নিম্নলিখিত কোড যুক্ত করুন:

adaData = data-> toInt ();

আসুন আমাদের অকার্যকর লুপ () পরিবর্তন করি;

টাইমার রাইথম এখন এই মত হওয়া উচিত:

// টাইমার রাইথ শুরু করুন *********************************************** ********* যদি (currentMillis - previousMillis> = ব্যবধান) {previousMillis = currentMillis; যদি (adaData == 0) {Serial.println ("আমি চলছি না"); } অন্যথায় যদি (adaData == 1) {timer (); } strip.show (); } // শেষ টাইমার রাইথম ************************************************ ************

আপনার কোড আপলোড করুন …

এখন আপনি Adafruit সুইচ ব্যবহার করে টাইমার চালু এবং বন্ধ করতে সক্ষম হওয়া উচিত!

ধাপ 12: চারপাশে খেলুন! আমরা হয়ে গেছি … নাকি আমরা?

এই মুহূর্তে আপনার একটি সম্পূর্ণরূপে কার্যকরী দূরবর্তী টাইমার থাকা উচিত! যদি এটি আপনার জন্য হয় তবে এই প্রকল্পের সাথে আসার জন্য আপনাকে ধন্যবাদ!

আপনি যদি আরও কিছুক্ষণ চালিয়ে যেতে চান, পরবর্তী কয়েক ধাপে আমরা আমাদের টাইমারের জন্য একটি রিসেট বোতাম যুক্ত করতে যাচ্ছি!

ধাপ 13: অতিরিক্ত: ক্ষণস্থায়ী বোতাম তৈরি করুন

অতিরিক্ত: ক্ষণস্থায়ী বোতাম তৈরি করুন
অতিরিক্ত: ক্ষণস্থায়ী বোতাম তৈরি করুন

আসুন আমাদের ড্যাশবোর্ডে ফিরে আসি। এখন আমরা আবার একটি নতুন ব্লক তৈরি করতে চাই।

  1. একটি ক্ষণস্থায়ী বোতাম তৈরি করুন
  2. এটিকে 'টাইমার' ফিডের সাথে সংযুক্ত করুন
  3. প্রেস মান সেট করুন: 2
  4. রিলিজ মান সরান
  5. এটি একটি সুন্দর রঙ দিন!

সুবিধাজনকভাবে ক্ষণস্থায়ী বোতামটিকে ইতিমধ্যে 'রিসেট' বলা হয়!

একবার আপনি এই ব্লকটি তৈরি করে পরীক্ষা করে দেখুন, আপনি যদি পান তবে বোতামটি কাজ করে:

প্রাপ্ত <- 2

আপনার সিরিয়াল মনিটরে।

আপনি যদি এই বার্তাটি না দেখেন তবে স্কেচটি পুনরায় আপলোড করার চেষ্টা করুন

ধাপ 14: অতিরিক্ত: রিসেট ফাংশন যোগ করুন

রিসেট বোতামটি কিছু করার জন্য আমাদের এমন একটি ফাংশন যুক্ত করতে হবে যা সমস্ত এলইডিগুলিকে মূল অবস্থায় ফিরিয়ে দেয়।

নিচের কোডটি নিচের অকার্যকর ব্লিঙ্কি () যোগ করুন:

অকার্যকর পুনরায় চালু () {leds = LED_COUNT; ledsOn (); }

এখন আমাদের ফাংশনকে কল করা বাকি আছে, এর জন্য আমাদের শেষবারের মতো টাইমার রাইথম পরিবর্তন করতে হবে

টাইমার রাইথম এখন এই মত হওয়া উচিত:

// টাইমার রাইথ শুরু করুন *********************************************** ********* যদি (currentMillis - previousMillis> = ব্যবধান) {previousMillis = currentMillis if (adaData == 0) {Serial.println ("im not running"); } অন্যথায় যদি (adaData == 1) {timer (); } অন্যথায় যদি (adaData == 2) {পুনরায় চালু (); } strip.show (); } // শেষ টাইমার রাইথম ************************************************ ************

আপনার কোড আপলোড করুন …

এখন আপনি বাটন টিপে টাইমার পুনরায় সেট করতে সক্ষম হওয়া উচিত!

প্রস্তাবিত: