সুচিপত্র:

ছন্দ হাত: 6 ধাপ
ছন্দ হাত: 6 ধাপ

ভিডিও: ছন্দ হাত: 6 ধাপ

ভিডিও: ছন্দ হাত: 6 ধাপ
ভিডিও: স্বামীর মৃত্যুর খবর নিজেকেই বলতে হচ্ছে ব্রেকিং নিউজে। 2024, নভেম্বর
Anonim
ছন্দ হাত
ছন্দ হাত

এই সাইবারব্লভটি সঠিক মুহূর্তে সঠিক পদক্ষেপ নেওয়ার বিষয়ে।

লাইট আপনার বাহু (কনুই) থেকে আপনার হাতে যাচ্ছে এবং যখন লাইট আপনার হাতে আসে তখন আপনাকে মিনি ফোটোসেলের উপর আপনার আঙ্গুল টিপতে হবে।

আপনি যদি সঠিক মুহূর্তে মিনি ফোটোসেলের উপর আপনার হাত টিপেন তবে লেডগুলি সবুজ হয়ে যায়। যদি তা না হয় তবে লেডগুলি লাল হয়ে যায়।

ধাপ 1: উপকরণ সংগ্রহ করুন

  • একটি গ্লাভস
  • গ্লাভস লম্বা করার জন্য কাপড়
  • WS2812B LED স্ট্রিপ
  • তারের
  • আরডুইনো
  • মিনি ফোটোসেল

ধাপ 2: সার্কিট তৈরি করা

সার্কিট তৈরি করা
সার্কিট তৈরি করা
সার্কিট তৈরি করা
সার্কিট তৈরি করা

প্রথমে নেতৃত্বাধীন স্ট্রিপটিকে আরডুইনোতে সংযুক্ত করুন। আরডুইনোতে +5v কে 5v এর সাথে সংযুক্ত করে আপনি এটি করতে পারেন। দিনটিকে Arduino এ A0 এর সাথে সংযুক্ত করতে হবে এবং GND কে Arduino এ GND এর সাথে সংযুক্ত করতে হবে।

আপনাকে লিড স্ট্রিপ থেকে 5v তারের সাথে সংযোগ স্থাপনের মাধ্যমে আরডুইনোতে পিন 6 এর সাথে একই উৎস থেকে সংযোগের মাধ্যমে মিনি ফোটোসেলকে আরডুইনোতে সংযুক্ত করতে হবে। মিনি ফোটোসেলের অন্য দিকটি LED স্ট্রিপ থেকে GND তারের সাথে সংযুক্ত করতে হবে

ধাপ 3: গ্লাভ ডিজাইন করা

গ্লাভ ডিজাইন করা
গ্লাভ ডিজাইন করা

নেতৃত্বাধীন স্ট্রিপগুলি ফিট করার জন্য গ্লাভসটির সঠিক আকার থাকতে হবে। দেখতে আরও আনন্দদায়ক করার জন্য লেডগুলিকে সারিবদ্ধ করতে হবে।

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

মিনি ফোটোসেল গ্লাভের ভিতরে সেলাই করা হয়েছে তাই এটি জায়গায় থাকবে।

শেষ পর্যন্ত আপনাকে তারগুলি আরও ভাল দেখানোর জন্য লুকিয়ে রাখতে হবে। এটি তারের উপরে সেলাই করা ফ্যাব্রিক দিয়ে করা যেতে পারে।

ধাপ 4: সোল্ডারিং

সোল্ডারিং
সোল্ডারিং

এখন আপনি সার্কিট থেকে সংযোগকারী তারগুলি সোল্ডারিং দ্বারা নিরাপদ করতে পারেন।

ধাপ 5: কোডিং

কোডিং
কোডিং
কোডিং
কোডিং
কোডিং
কোডিং

// একটি মৌলিক দৈনিক নিওপিক্সেল স্ট্রিপ টেস্ট প্রোগ্রাম।

// সবচেয়ে নির্ভরযোগ্য ক্রিয়াকলাপের জন্য NEOPIXEL সেরা পদ্ধতি: // - NeoPixel স্ট্রিপের + এবং - সংযোগের মধ্যে 1000 uF ক্যাপাসিটর যুক্ত করুন। // - মাইক্রোকন্ট্রোলার বোর্ড এবং প্রথম পিক্সেলের মধ্যে তারের দৈর্ঘ্যকে ছোট করুন। //-নিওপিক্সেল স্ট্রিপের ডেটা-ইন 300-500 ওএইচএম রেজিস্টরের মধ্য দিয়ে যেতে হবে। // - একটি লাইভ সার্কিটে NeoPixels সংযোগ এড়িয়ে চলুন। যদি আপনি অবশ্যই, সর্বদা // সংযোগ করুন GROUND (-) প্রথমে, তারপর +, তারপর ডেটা। //-5V- চালিত NeoPixel স্ট্রিপ সহ 3.3V মাইক্রোকন্ট্রোলার ব্যবহার করার সময়, // ডেটা লাইনে একটি লজিক-লেভেল কনভার্টারকে কঠোরভাবে সুপারিশ করা হয়। // (এগুলি এড়িয়ে যাওয়া আপনার ওয়ার্কবেঞ্চে ঠিকঠাক কাজ করতে পারে কিন্তু ক্ষেত্রে ব্যর্থ হতে পারে)

#অন্তর্ভুক্ত #ifdef _AVR_ #অন্তর্ভুক্ত // 16 MHz Adafruit Trinket #endif এর জন্য আবশ্যক

// Arduino এর কোন পিনটি NeoPixels- এর সাথে সংযুক্ত? // একটি Trinket বা Gemma তে আমরা এটিকে 1: #LED_PIN 6 সংজ্ঞায়িত করার পরামর্শ দিই

// আরডুইনোতে কতগুলি নিওপিক্সেল সংযুক্ত? #LED_COUNT 60 নির্ধারণ করুন

// আমাদের NeoPixel স্ট্রিপ অবজেক্ট ঘোষণা করুন: Adafruit_NeoPixel স্ট্রিপ (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); uint32_t color = strip. Color (127, 127, 127); // সাদা রঙ, ডিফল্ট বুলের জন্য ক্লিক করুন সঠিকভাবে = মিথ্যা; // আর্গুমেন্ট 1 = নিওপিক্সেল স্ট্রিপে পিক্সেলের সংখ্যা // আর্গুমেন্ট 2 = আরডুইনো পিন নম্বর (বেশিরভাগই বৈধ) // আর্গুমেন্ট 3 = পিক্সেল টাইপের পতাকা, প্রয়োজন অনুযায়ী একসাথে যোগ করুন: // NEO_KHZ800 800 KHz বিটস্ট্রিম (বেশিরভাগ NeoPixel পণ্য w/ WS2812 LEDs) // NEO_KHZ400 400 KHz (ক্লাসিক 'v1' (v2 নয়) FLORA পিক্সেল, WS2811 ড্রাইভার) // NEO_GRB পিক্সেল GRB বিটস্ট্রিম (বেশিরভাগ NeoPixel পণ্য) // NEO_RGB পিক্সেল RGB বিটস্ট্রিম (v1 FLORA পিক্সেল) এর জন্য তারযুক্ত, v2 নয়) // NEO_RGBW পিক্সেলগুলি RGBW বিটস্ট্রিম (NeoPixel RGBW পণ্য) এর জন্য তারযুক্ত

// সেটআপ () ফাংশন-শুরুতে একবার চালানো হয় --------------------------------

অকার্যকর সেটআপ () {// এই লাইনগুলি বিশেষভাবে অ্যাডাফ্রুট ট্রিংকেট 5V 16 মেগাহার্টজ সমর্থন করার জন্য। // অন্য যে কোন বোর্ড, আপনি এই অংশটি সরাতে পারেন (কিন্তু এটি রেখে কোন ক্ষতি নেই): #if সংজ্ঞায়িত (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // Trinket- নির্দিষ্ট কোডের END।

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

// লুপ () ফাংশন-যতক্ষণ বোর্ড চালু থাকে ততবার ---------------

অকার্যকর লুপ () {ক্লিক করা সঠিকভাবে = থিয়েটার চেসঅন (রঙ); যদি (ক্লিক করে সঠিকভাবে) {color = strip. Color (0, 255, 0); } অন্য {color = strip. Color (255, 0, 0); }}

// অ্যানিমেটেড প্রভাব তৈরির জন্য আমাদের নিজস্ব কিছু ফাংশন -----------------

// থিয়েটার-মার্কি-স্টাইলের পিছনে আলো। একটি রঙে পাস করুন (32-বিট মান, // একটি লা স্ট্রিপ। উপরে বর্ণিত হিসাবে রঙ (r, g, b)), এবং বিলম্বের সময় (ms) // ফ্রেমের মধ্যে। বুল থিয়েটারচেসঅন (uint32_t রঙ) {বুল সঠিক = মিথ্যা; বুল clickWrong = false; জন্য (int index = 0; index 800) {// value light sensor if (index <16) {// 2 leds end before then you can click color = strip. Color (255, 0, 0); // লাল রঙের লেড ক্লিক করা হয়েছে ভুল = সত্য; // ভুল ক্লিক করলে লেডগুলি লাল হয়ে যায়} অন্যথায় (! ক্লিক করা ভুল) {// যদি ভুল না হয় রং = strip. Color (0, 255, 0); // সবুজ রঙের লেডস সঠিক = সত্য; // ক্লিক করুন সঠিক তারপর leds turn green}} strip.clear (); strip.setPixelColor (17 - সূচক, রঙ); // প্রথম সারির নেতৃত্বাধীন লাইট strip.setPixelColor (18 + index, color); // দ্বিতীয় সারির নেতৃত্বাধীন লাইট strip.setPixelColor (53 - সূচক, রঙ); // তৃতীয় সারির নেতৃত্বাধীন লাইট strip.show (); বিলম্ব (300); } সঠিক ফিরে; }

ধাপ 6: পরিবর্তন

পরিবর্তন
পরিবর্তন
পরিবর্তন
পরিবর্তন
পরিবর্তন
পরিবর্তন

আমি কিছু পরিবর্তন করেছি। প্রথমে আমি আরডুইনো লুকিয়ে রেখেছিলাম তাই "রাইথম হ্যান্ড" ব্যবহার করা আরও আরামদায়ক হবে এবং দ্বিতীয়ত আমি কোডটি কিছুটা পরিবর্তন করেছি। আমি কোডটি পরিবর্তন করেছি যাতে আপনি যখন সঠিক মুহুর্তে টিপুন তখন রঙ সবুজ হয়ে যায় এবং LEDS দ্রুত গতিতে চলে আসে। এটি করার মাধ্যমে LED Swill আগের তুলনায় 10% দ্রুত হয়ে যায়। এটি গেমটিকে আরও আকর্ষণীয় করে তোলে

এইভাবে কোডটি এখন:

// একটি মৌলিক দৈনিক নিওপিক্সেল স্ট্রিপ টেস্ট প্রোগ্রাম। // সবচেয়ে নির্ভরযোগ্য ক্রিয়াকলাপের জন্য NEOPIXEL সেরা পদ্ধতি: // - NeoPixel স্ট্রিপের + এবং - সংযোগের মধ্যে 1000 uF ক্যাপাসিটর যুক্ত করুন। // - মাইক্রোকন্ট্রোলার বোর্ড এবং প্রথম পিক্সেলের মধ্যে তারের দৈর্ঘ্যকে ছোট করুন। //-নিওপিক্সেল স্ট্রিপের ডেটা-ইন 300-500 ওএইচএম রেজিস্টরের মধ্য দিয়ে যেতে হবে। // - একটি লাইভ সার্কিটে NeoPixels সংযোগ এড়িয়ে চলুন। যদি আপনি অবশ্যই, সর্বদা // সংযোগ করুন GROUND (-) প্রথমে, তারপর +, তারপর ডেটা। //-5V- চালিত NeoPixel স্ট্রিপ সহ 3.3V মাইক্রোকন্ট্রোলার ব্যবহার করার সময়, // ডেটা লাইনে একটি লজিক-লেভেল কনভার্টারকে কঠোরভাবে সুপারিশ করা হয়। / // একটি Trinket বা Gemma তে আমরা এটিকে 1: #LED_PIN 6 নির্ধারণ করুন // Arduino এর সাথে কতগুলি NeoPixels সংযুক্ত আছে? #ডিফাইন LED_COUNT 60 // আমাদের NeoPixel স্ট্রিপ অবজেক্ট ঘোষণা করুন: Adafruit_NeoPixel স্ট্রিপ (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); uint32_t color = strip. Color (127, 127, 127); // সাদা রঙ, ডিফল্ট বুলের জন্য ক্লিক করুন সঠিকভাবে = মিথ্যা; int সূচক = 0; int ব্যবধান = 300; int ফলাফল = 0; স্বাক্ষরবিহীন দীর্ঘ পূর্ববর্তী এমএস = মিলিস (); // আর্গুমেন্ট 1 = নিওপিক্সেল স্ট্রিপে পিক্সেলের সংখ্যা // আর্গুমেন্ট 2 = আরডুইনো পিন নম্বর (বেশিরভাগই বৈধ) // আর্গুমেন্ট 3 = পিক্সেল টাইপের পতাকা, প্রয়োজন অনুযায়ী একসাথে যোগ করুন: // NEO_KHZ800 800 KHz বিটস্ট্রিম (বেশিরভাগ NeoPixel পণ্য w/ WS2812 LEDs) // NEO_KHZ400 400 KHz (ক্লাসিক 'v1' (v2 নয়) FLORA পিক্সেল, WS2811 ড্রাইভার) // NEO_GRB পিক্সেল GRB বিটস্ট্রিম (বেশিরভাগ NeoPixel পণ্য) // NEO_RGB পিক্সেল RGB বিটস্ট্রিম (v1 FLORA পিক্সেল) এর জন্য তারযুক্ত, v2 নয়) // NEO_RGBW পিক্সেলগুলি RGBW বিটস্ট্রিম (NeoPixel RGBW পণ্য) // সেটআপ () ফাংশনের জন্য ওয়্যার্ড করা হয়-স্টার্টআপের সময় একবার চলে -------------------- ------------ অকার্যকর সেটআপ () {// এই লাইনগুলি বিশেষভাবে অ্যাডাফ্রুট ট্রিংকেট 5V 16 মেগাহার্টজ সমর্থন করার জন্য। // অন্য যে কোন বোর্ড, আপনি এই অংশটি সরাতে পারেন (কিন্তু এটি রেখে কোন ক্ষতি নেই): #if সংজ্ঞায়িত (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // Trinket- নির্দিষ্ট কোডের END। Serial.begin (9600); while (! সিরিয়াল) {; // সিরিয়াল পোর্ট সংযোগের জন্য অপেক্ষা করুন। শুধুমাত্র স্থানীয় USB পোর্টের জন্য প্রয়োজন} পিনমোড (A0, INPUT); strip.begin (); // নিওপিক্সেল স্ট্রিপ অবজেক্ট (প্রয়োজনীয়) strip.show (); // যত দ্রুত সম্ভব সব পিক্সেল strip.setBrightness বন্ধ করুন (10); // প্রায় 1/5 (সর্বাধিক = 255)} // লুপ () ফাংশনে উজ্জ্বলতা সেট করুন-যতক্ষণ বোর্ড চালু থাকে ততক্ষণ --------------- অকার্যকর লুপ () {স্বাক্ষরবিহীন দীর্ঘ currentMs = মিলিস (); // বর্তমান সময় পাওয়া int মান = analogRead (A0); // বর্তমান আলোর সেন্সর পড়া লুপ ব্যবধান আগেরMs = currentMs অতিক্রম করে; // বর্তমান সময় + ব্যবধান সূচক + = 1 নতুন ব্যবধান সেট করুন; // লুপে এক ধাপ এগিয়ে এলইডি সেট করুন যদি (সূচী> 17) {// লুপ হ্যান্ডলিং সূচকের শেষ ট্রিগার = 0; যদি (ফলাফল == 2) {// একটি সঠিক ফলাফলের ব্যবধান = (int) সর্বোচ্চ ((ব্যবধান * 0.95), 50); // গতি 10%বাড়িয়ে, 50ms এর ব্যবধানে/ রঙ = স্ট্রিপ। রঙ (0, 255, 0); // leds সবুজতে সেট করুন} অন্যথায় (ফলাফল == 1) {// একটি ভুল ফলাফলের ব্যবধান = 300; // ব্যবধান রঙ = স্ট্রিপ রিসেট করুন রঙ (255, 0, 0); // লেডগুলিকে লাল রঙে সেট করুন} অন্যথায় {// কোন ফলাফল পাওয়া যায় না রঙ = strip. Color (255, 0, 0); // leds সেট করুন লাল} result = 0; // পরবর্তী লুপ} থিয়েটারচেসঅন (রঙ, সূচক) এর জন্য ফলাফল পুনরায় সেট করুন; // প্রদর্শনের জন্য এলইডি জ্বালান। }} // অ্যানিমেটেড ইফেক্ট তৈরির জন্য আমাদের নিজস্ব কিছু ফাংশন ----------------- // থিয়েটার-মার্কি-স্টাইলের চেজিং লাইট। একটি রঙে পাস করুন (32-বিট মান, // একটি লা স্ট্রিপ। উপরে বর্ণিত হিসাবে রঙ (r, g, b)), এবং বিলম্বের সময় (ms) // ফ্রেমের মধ্যে। অকার্যকর থিয়েটারচেসঅন (uint32_t রঙ, int সূচক) {strip.clear (); strip.setPixelColor (17 - সূচক, রঙ); // প্রথম সারির নেতৃত্বাধীন লাইট strip.setPixelColor (18 + index, color); // দ্বিতীয় সারির নেতৃত্বাধীন লাইট strip.setPixelColor (53 - সূচক, রঙ); // তৃতীয় সারির নেতৃত্বাধীন লাইট strip.show (); }

প্রস্তাবিত: