সুচিপত্র:

ক্যাপাসিটিভ ইনপুট এবং এলইডি ব্যবহার করে গেম সফটওয়্যার সহ বেয়ার আরডুইনো পরীক্ষা করুন: 4 টি ধাপ
ক্যাপাসিটিভ ইনপুট এবং এলইডি ব্যবহার করে গেম সফটওয়্যার সহ বেয়ার আরডুইনো পরীক্ষা করুন: 4 টি ধাপ

ভিডিও: ক্যাপাসিটিভ ইনপুট এবং এলইডি ব্যবহার করে গেম সফটওয়্যার সহ বেয়ার আরডুইনো পরীক্ষা করুন: 4 টি ধাপ

ভিডিও: ক্যাপাসিটিভ ইনপুট এবং এলইডি ব্যবহার করে গেম সফটওয়্যার সহ বেয়ার আরডুইনো পরীক্ষা করুন: 4 টি ধাপ
ভিডিও: ক্যাপা‌সিটর কি, কিভা‌বে কাজ ক‌রে, কেন ব্যবহার করা হয় । All about capacitors 2024, জুলাই
Anonim
ক্যাপাসিটিভ ইনপুট এবং এলইডি ব্যবহার করে গেম সফটওয়্যার সহ বেয়ার আরডুইনো পরীক্ষা করুন
ক্যাপাসিটিভ ইনপুট এবং এলইডি ব্যবহার করে গেম সফটওয়্যার সহ বেয়ার আরডুইনো পরীক্ষা করুন
ক্যাপাসিটিভ ইনপুট এবং এলইডি ব্যবহার করে গেম সফটওয়্যার সহ বেয়ার আরডুইনো পরীক্ষা করুন
ক্যাপাসিটিভ ইনপুট এবং এলইডি ব্যবহার করে গেম সফটওয়্যার সহ বেয়ার আরডুইনো পরীক্ষা করুন

খালি Arduino বোর্ড ব্যবহার করে "পুশ-ইট" ইন্টারেক্টিভ গেম, কোন বাহ্যিক যন্ত্রাংশ বা তারের প্রয়োজন নেই (একটি ক্যাপাসিটিভ 'টাচ' ইনপুট ব্যবহার করে)। উপরে দেখানো হয়েছে, এটি দুটি ভিন্ন বোর্ডে চলমান দেখায়।

পুশ-এর দুটি উদ্দেশ্য আছে।

  1. আপনার Arduino বোর্ড কাজ করে এবং এটিতে একটি নতুন কোড স্কেচ ডাউনলোড করার জন্য আপনি সঠিকভাবে সেটআপ করছেন তা দ্রুত প্রদর্শন/যাচাই করতে। আপনি দেখতে পাবেন যে এটি ইনপুট এবং আউটপুট সম্পাদন করে (ডিজিটাল ইনপুট লেভেল, বোর্ডে LED তে আউটপুট); সংরক্ষণ করুন এবং অ-উদ্বায়ী EEPROM মেমরি থেকে একটি মান পুনরুদ্ধার করুন। কোন তার বা ডিভাইস সংযুক্ত না করে সব।
  2. একটি Arduino বোর্ডের সাথে ইন্টারেক্টিং একটি বিনোদনমূলক এবং চ্যালেঞ্জিং খেলা প্রদান করুন।

এই নির্দেশযোগ্য অনুমান করে যে আপনি ইতিমধ্যে একটি Arduino IDE ইনস্টল করেছেন এবং এটির ব্যবহারের সাথে কমপক্ষে কমপক্ষে পরিচিত। যদি না হয় আমি আপনাকে এই লিঙ্কগুলিতে উল্লেখ করি:

Arduino দিয়ে শুরু করা

বিদ্যমান Arduino 1.6.x IDE তে Digispark (বুটলোডার সহ) সমর্থন যোগ করা

পুশ-এটি বেশিরভাগ Arduino বোর্ডের সাথে কাজ করবে, যেমন একটি Nano, Uno, বা DigiSpark Attiny85 বোর্ড। আমি এটি একটি Nano 3.1 এবং একটি DigiSpark দিয়ে পরীক্ষা করেছি। পাঠ্যে যখন আমি পিনের নাম/সংখ্যা উল্লেখ করি তখন সেগুলি ন্যানো বোর্ডে ব্যবহৃত হবে (DigiSpark এর বিপরীতে)।

ধাপ 1: আপনার প্রয়োজনীয় জিনিসগুলি থাকা

যা কেবল কোন Arduino বা তুলনীয় বোর্ড।

যদি আপনার কাছে ইতিমধ্যেই একটি না থাকে তবে আমি সুপারিশ করি একটি DigiSpark প্রো (~ $ 12), অথবা B $ 3 এর জন্য ইবে থেকে একটি ন্যানো 3.0 দিয়ে শুরু করতে (কিন্তু আপনার চীন থেকে আসার জন্য অপেক্ষা করার জন্য অতিরিক্ত এক বা দুই সপ্তাহ থাকবে এবং আপনাকে একটি CH340 ইউএসবি ড্রাইভার ইনস্টল করতে হবে)। DigiSpark 10 $ 10 (non Pro) এই একক বিট 'ভিডিও' গেমের জন্য খুব ভালভাবে উপযুক্ত

এখানে ব্যবহৃত হার্ডওয়্যারের লিঙ্ক:

ইবেতে ন্যানো V3.0 Atmega328P

ডিজিসপার্ক ইউএসবি ডেভেলপমেন্ট বোর্ড

ধাপ 2: কোডটি আনুন এবং ডাউনলোড করুন

কোড আনুন এবং ডাউনলোড করুন
কোড আনুন এবং ডাউনলোড করুন

নীচের কোডটি একটি arduino স্কেচ ফাইলে অনুলিপি করুন (যেমন…/Push_It/Push_It.ino) আমি এটি মোটামুটি ভালভাবে মন্তব্য করার চেষ্টা করেছি। আমি আশা করি আপনি সহজেই বোধগম্য কোডটি খুঁজে পাবেন। কখন বৃদ্ধি, হ্রাস এবং কখন না হবে তা কিছুটা জটিল, কিন্তু সেই অংশটিও বিশেষ কোড এবং সাধারণ উপযোগী নয়। Arduino IDE দেখুন:

একটি নতুন Arduino স্কেচ তৈরি করা

আপনার বোর্ডের জন্য Arduino IDE নির্দেশাবলী অনুযায়ী আমাদের মাইক্রোকন্টোলারে 'Push_It' স্কেচ ডাউনলোড করুন।

ধাপ 3: বাজানো

খেলি
খেলি

গেমটির লক্ষ্য হল LED (অন-বোর্ড) ফ্ল্যাশগুলির একটি সেটে যতটা সম্ভব জ্বলজ্বল করা যা তারপর পুনরাবৃত্তি হয়

খেলাটি খেলিতেছি:

ধাক্কা-এটি একটি একক ফ্ল্যাশ দিয়ে শুরু হয়, যা তারপর পুনরাবৃত্তি হবে। LED চালু থাকা অবস্থায় যদি আপনি ইনপুট পিনের কাছে আপনার আঙুল স্পর্শ করেন, তাহলে পরবর্তী চক্রটি LED দুবার ফ্ল্যাশ করবে।

প্রতিবার যখন আপনি ফ্ল্যাশের একটি সেটের প্রথম ফ্ল্যাশ চলাকালীন ছদ্ম বোতামটি চাপবেন তখন সেই সেটে আরেকটি ফ্ল্যাশ যুক্ত হবে। আপনি যখন আপনার আঙুল তুলবেন/সরিয়ে দেবেন তখন এটি কোন ব্যাপার না।

কিন্তু যদি আপনি প্রথম ফ্ল্যাশের আগে বা পরে 'ধাক্কা' দেন তবে একটি সেটে ফ্ল্যাশের সংখ্যা হ্রাস পাবে।

আপনি যদি আর কিছু না করেন তবে একটি সেটে ফ্ল্যাশের সংখ্যা বজায় থাকে। আরও যখন একটি পূর্ণ চক্রের জন্য গণনা অপরিবর্তিত থাকে তখন গণনা সংখ্যাটি EEPROM মেমরিতে সংরক্ষণ করা হয়।

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

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

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

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

একটি 250Hz বর্গ তরঙ্গ ইনপুট পিনের পাশে একটি পিনে আউটপুট করা হয় যা একটি ইনজেকশনযুক্ত ইনপুট সিগন্যালের নিশ্চিততাকে অনেক উন্নত করে যখন আপনার আঙুল উভয় পিন জুড়ে থাকে।

আমি পেয়েছি যে ডিজিস্পার্ক বোর্ডের সাড়া পাওয়া মোটামুটি ধারাবাহিকভাবে ভবিষ্যদ্বাণীযোগ্য হতে পারে যাতে বোর্ডের কোণে আঙ্গুলের সামান্য চাপ থাকে যেখানে D3-D5 থাকে।

যখন আমি 'পুশ-ইট' খেলি তখন আমি একটি ইউএসবি 5v মোবাইল ব্যাটারি প্যাকের সাথে সংযুক্ত বোর্ডের সাথে এটি করতে পছন্দ করি (ছবি দেখুন)। এগুলি সাধারণত ইউএসবি এসি এবং 12 ভি অটো অ্যাডাপ্টারের পাশের বিনগুলিতে সস্তাভাবে পাওয়া যায়; বেশিরভাগ ডিপার্টমেন্ট স্টোর ইলেকট্রনিক্স বিভাগে।

ধাপ 4: বাহ্যিক উপাদানগুলির সাথে চ্ছিক পরীক্ষা

বাহ্যিক উপাদানগুলির সাথে চ্ছিক পরীক্ষা
বাহ্যিক উপাদানগুলির সাথে চ্ছিক পরীক্ষা

দয়া করে মনে রাখবেন: যদি আপনি একটি বাস্তব বোতাম সংযুক্ত করেন তবে কোডের একটি লাইন রয়েছে যা কোডে বর্ণিত হিসাবে মন্তব্য করা প্রয়োজন।

একটি স্পিকারের সাথে, একপাশে মাটিতে, যদি আপনি অন্য সীসাটি D4 তে স্পর্শ করেন তবে আপনি 250 Hz বর্গ তরঙ্গের শব্দ শুনতে পাবেন। D3 এ 500Hz বর্গ তরঙ্গ আছে। আপনি যদি স্পিকারটিকে D3 এবং D4 এর মধ্যে সংযুক্ত করেন তবে আপনি দুটি সংকেতের সংমিশ্রণ শুনতে পাবেন।

উপরের হিসাবে স্পিকারের পরিবর্তে একটি LED হুকিং করা খুব আকর্ষণীয়। ভোল্টেজ, কারেন্ট লেভেল, রেসিস্টার, অথবা এমনকি পোলারিটি সম্পর্কে উদ্বিগ্ন হওয়ার কোন প্রয়োজন নেই (খারাপ ক্ষেত্রে এটি হালকা হয় না, তারপর শুধু ঘুরিয়ে দিন)। চেষ্টা করুন, প্রথমত, নেগেটিভ (ক্যাথোড) সীসা মাটির সাথে এবং অন্যটি D3 বা D4 এর সাথে সংযুক্ত। বর্গাকার তরঙ্গের কারণে LED 'অর্ধ' জ্বলবে। মাইক্রোকন্ট্রোলার ইউনিটগুলির আউটপুট বর্তমান সীমিত হওয়ায় কোন প্রতিরোধকের প্রয়োজন নেই। আমি বর্তমান পরিমাপ করেছি যার ফলে যথাক্রমে Attiny85 এবং Atmega328 MCU গুলির জন্য 15ma এবং 20ma হয়েছে। ড্রাইভিং স্কয়ার ওয়েভ সিগন্যালের 50% ডিউটি সাইকেল প্রকৃতির কারণে এই মাত্রাগুলি এই অংশগুলির বর্তমান সীমিত মূল্যের প্রায় অর্ধেক। মিটারের রিডিংগুলি আসলে পরীক্ষিত সার্কিটের মাধ্যমে বর্তমানের গড়।

মজার ব্যাপার হল, যদি আপনি LED এর সাথে D3 এবং D4 এর মধ্যে সেতুবন্ধন করেন (উপরের এবং বাম দিকে ছবিটি দেখুন) এটি যেকোনোভাবেই আলোকিত হবে, এবং প্রায় ½ উজ্জ্বলতা যেমনটি একদিকে মাটির সাথে সংযুক্ত ছিল। কেন তা ভেবে দেখার জন্য আমি আপনাকে আমন্ত্রণ জানাচ্ছি।

প্রস্তাবিত: