Arduino বাইনারী LED কাউন্টার

কম্পিউটার প্রোগ্রামিং এর মাধ্যমে নিয়ন্ত্রন করা যায় কম্পিউটার কে। কম্পিউটারে যেমন সিস্টেম আছে তেমনি কিছু সিস্টেম নিয়ে তৈরী করা হয়েছে একটি যন্ত্র যার নাম Arduino. বাজারে পাওয়া যায় অনেক রকমের আরডুইনো। তার মধ্যে আজ আপনাদের দেখাবো Arduino uno এর সাহায্যে কি করে খুব সহজেই একটি Arduino বাইনারী কাউন্টার বানানো যায় তা। Arduino uno হলো এমন একটি যন্ত্র যাতে ১৩ টি আউট পুট পিন ও ৫ টি ইনপুট পিন আছে। এর সাহায্যে আপনার করা কোড দিয়ে যে কোনো যন্ত্র কে নিয়ন্ত্রন করতে পারবেন। একে বলা হয় মাইক্রো কন্ট্রোলার। তো এবার আসি কাজের কথায়। এই প্রোজেক্ট টি বানাতে আমাদের যা যা লাগবে...
১। ৩৩০ ওহম রেজিস্টেন্স।
২। Arduino uno
৩। ৮ টি LED বাল্ব (যেহেতু আমরা ৮ বীট বাইনারী কাউণ্টার বানাবো ) ।
৪। তার।
৫। ব্রেড বোর্ড।

১ম স্টেপঃ এক্ষেত্রে নীচের ছবির মতো করে ব্রেড বোর্ড এ রেজিস্টেন্স ও LED বাল্ব গুলোকে কানেকশন দিতে হবে। তারপর চিত্রের মতো করে আরডুইনো এর সাথেও কানেকশন দিতে হবে (1st Image)।

২য় স্টেপঃ এরপর আরডুইনোতে কোড করার পালা। তারপর আপনার যন্ত্র কাজ করবে সেই কোড অনুযায়ী। আমি এখানে আমার করা কোড টি সরবরাহ করছি। আপনাদের কাজ হবে এইভাবে কোডটি লিখে ডাটা কেবলের মাধ্যমে আরডুইনো তে বার্ন করা। তারপর ই তৈরী হয়ে যাবে আপনার ৮ বীট বাইনারী কাউন্টার।

কোডঃ
int button = 2; // pin to connect the button
int presses = 0; // variable to store number of presses
long time = 0; // used for debounce
long debounce = 100; // how many ms to "debounce"
const byte numPins = 8; // how many leds
int state; // used for HIGH or LOW
// pins to connect leds
byte pins[] = {5, 6, 7, 8, 9, 10, 11, 12};
void setup()
{
/* we setup all led pins as OUTPUT */
for(int i = 0; i < numPins; i++) {
pinMode(pins[i], OUTPUT);
}
pinMode(button, INPUT);
/* use pin 2 which has interrupt 0 on Arduino UNO */
attachInterrupt(0, count, LOW);
}
void loop()
{
/* convert presses to binary and store it as a string */
String binNumber = String(presses, BIN);
/* get the length of the string */
int binLength = binNumber.length();
if(presses <= 255) { // if we have less or equal to 255 presses
// here is the scary code
for(int i = 0, x = 1; i < binLength; i++, x+=2) {
if(binNumber[i] == '0') state = LOW;
if(binNumber[i] == '1') state = HIGH;
digitalWrite(pins[i] + binLength - x, state);
}
} else {
/* function to count the presses */
void count() {
// we debounce the button and increase the presses
if(millis() - time > debounce) presses++;
time = millis();
}

আউটপুটঃ এবারে দেখুন মজা। সংযুক্ত সুইচটি আপনি যতবার টিপবেন ঠিক সেই সংখ্যা টিকে বাইনারীতে কনভার্ট করে LED প্রকাশ করবে। এখানে LED জলা মানে ১ আর নেভা মানে সেই স্থানে শূন্য আছে। যদি আমরা সুইচটি ৫ বার টিপি তাহলে ৫ এর বাইনারী মান ১০১ LED দ্বারা প্রকাশ হবে। দেখুনঃ (2nd Image)




যেকোন একজন মানুষ চেষ্টা করে যা পেরেছেন আপনিও তা পারবেন। আজ আপনাদের যা দেখালাম সেটা আমি নিজ চেষ্টায় বানিয়েছি। যারা এখনো তৈরী করেননি তারা আজি করে ফেলুন আর জানুন আপনিও হতে পারেন বিজ্ঞানী। আবার দেখা হবে নতুন কোনো প্রজেক্ট নিয়ে ...............


-
Tajim, 28-04-2020
..................................................

Click here for the Facebook post.

Theme images by lishenjun. Powered by Blogger.