রোবটিক্স এর একটি প্রজেক্ট
ঘুম থেকে উঠে দরজার সামনে আসতেই দেখলাম দরজা নিজেই খুলে গেল আমি তো কিছুটা ভয় পেয়ে গেছি ভূতের কান্ড নাকি! এরপর ডাইনিং টেবিলে বসতেই ফ্যান চালু হয়ে গেল আমিতো রীতিমতো অবাক ব্যাপারটা কি? খাওয়া শেষে হাত ধোয়ার সময় দেখি নিজে নিজেই পানি পরছে এরপর পড়ার টেবিলে যাওয়ার পরে ল্যাপটপ নিজেই অন হয়ে সিরিয়াল মনিটর নামে কিছু একটা ওপেন করল এবং সেখানে আবহাওয়ার ইনফরমেশন দেখানো শুরু করল।
আসলেই এই ভুতুড়ে কান্ডর পুরোটাই ঘটানো সম্ভব রোবটিক্স দিয়ে।
রোবটিক্স কি?
মাইক্রোকন্ট্রোলার এবং প্রোগ্রামিং এর সমন্বয়ে তৈরি কোন ডিভাইস যা মানুষের কাজকে সহজ করে তাই রোবট আর রোবোট নিয়ে পড়াশোনা-গবেষনা কেই বলা হয় রোবোটিক্স।
রোবোটিক্স আর ইলেকট্রনিক্স এর মধ্যে পার্থক্য কি?
রোবটিক্স এর সাহায্যে কোন রোবট তৈরি করতে চাইলে সেখানে প্রোগ্রামিং এবং মাইক্রোকন্ট্রোলার ব্যবহার করতে হয় এবং এটা দিয়ে অনেক ধরনের প্রজেক্ট করা যায় কিন্তু ইলেকট্রনিক্স দিয়ে কোনো প্রজেক্ট করতে চাইলে সেখানে কোনো ধরনের মাইক্রোকন্ট্রোলার বা প্রোগ্রামিং এর দরকার পড়ে না তবে ইলেকট্রনিক্স দিয়ে খুব বেশি প্রজেক্ট করা যায় না।
কেন রোবোটিক্স?
আমাদের জীবনের সাথে ইলেকট্রনিক্স, প্রোগ্রামিং,আইওটি,হ্যাকোলজি এগুলো খুব গভীর ভাবে জড়িয়ে গেছে আর এ সব কিছুর মাথার ওপর বসে আছে রোবোটিক্স।কারণ ইলেকট্রনিক্সের অ্যাডভান্স রূপ হচ্ছে রোবটিক্স এবং রোবটিক্স শিখলে প্রোগ্রামিং শেখা হয়ে যাবে কারণ হচ্ছে ইলেকট্রনিক্স এর সাথে রোবটিক্সে প্রধান পার্থক্য এখানেই যেহেতু রোবটিক্সে প্রোগ্রামিং এবং মাইক্রোকন্ট্রোলারের দরকার পড়ে কিন্তু ইলেকট্রনিক্স পরে না আবার রোবোটিক্স নিয়ে কাজ করলে আইওটি শেখা হয়ে যাবে কারণ রোবটিক্সের একটা পার্ট আইওটি।যারা হ্যাকিং করে তাদের রোবোটিক্স এর বেসিক জানতে হয়।মানে এককথায় রোবোটিক্স এর সাথে পুরো ইনফরমেটিক্স জড়িয়ে আছে।
মাইক্রোকন্টোলার কি?
আমরা জানি একটা মোবাইলে রেম,রোম, প্রসেসর থাকে ঠিক এরকম ভাবেই এই ৩টা জিনিস নিয়ে ছোট-খাটো কাজের জন্য তৈরি হয় মাইক্রোকন্টলার।মাইক্রোকন্টোলার এবং মাইক্রোপ্রসেসর এর মধ্যে পার্থক্য হচ্ছে একটাতে রেম এবং রোম থাকে আরেকটাতে থাকে না।
প্রোগ্ৰামিং কি?
আমার লেখাটা পড়ার জন্য তোমাকে নিশ্চয় কম্পিউটারকে নির্দেশনা দিতে হয়েছে। যেহেতু মাইক্রোকন্ট্রোলার এক ধরনের কম্পিউটার তাই একে দিয়ে কিছু করাতে হলে নির্দেশনা দিতে হয় আর এটিই হল প্রোগ্রামিং।
এখন আমাদের কথা বিষয় হচ্ছে এতোটুকুই কি যথেষ্ট একটি রোবট বানানোর জন্য? আসলে না। একটি রোবট বানানোর জন্য সেন্সর এবং লোড সম্পর্কেও ধারণা রাখতে হয়
সেন্সর:
প্রতিটি সেন্সর নিজ নিজ রেসপন্স টাইম এর ভিত্তিতে মাইক্রোকন্ট্রোলার বা ডিভাইসকে সক্রিয়ভাবে তথ্য বা ডেটা সরবরাহ করতে সক্ষম। যেমন-টাচ সেন্সর স্পর্শ বুঝতে পারে এবং সে অনুযায়ী সিগন্যাল সরবরাহ করে। এক্ষেত্রে রোবটের গায়ে কেউ স্পর্শ করলে সেটি রোবটকে এই তথ্য পৌঁছে দেয়। এবং পুরো কাজটি হয় সক্রিয় হবে অর্থাৎ এখানে কোন মানুষের প্রয়োজন পড়ে না। অর্থাৎ রোবটকে সক্রিয়ভাবে কাজ করানোর জন্য সেন্সর এর গুরুত্ব অপরিসীম।
লোড:
লোড হচ্ছে আউটপুট ডিভাইস আমাদের রোবট যে কাজ করবে তার বহিঃপ্রকাশ ঘটবে লোড এর মাধ্যমে।
চলো একটি প্রজেক্ট করি-
উপকরণ:
Environment Setup:
Arduino এর অফিসিয়াল ওয়েবসাইট থেকে সফটওয়্যার ডাউনলোড করে Arduino Driver সেটাপ করতে হবে।
Diagram:
- সেন্সরের vcc যাবে আরডিওনোর এই 5v পিনে.
- সেন্সরের gnd যাবে আরডিওনোর এই যেকোনো একটি gnd পিনে.
- সেন্সরের trig যাবে আরডিওনোর এই D9 পিনে.
- সেন্সরের echo যাবে আরডিওনোর এই D10 পিনে.
- বার্যারের vcc যাবে আরডিওনোর এই D13 পিনে.
- বার্যারের gnd যাবে আরডিওনোর এই gnd পিনে.
Code:
int trigPin = 9; int echoPin = 10; int buzzer = 13; long duration; int distance; void setup() { pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); Serial.begin(9600); pinMode(buzzer, OUTPUT); } void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = duration * 0.034 / 2; Serial.println(distance); delay(1000); if ((distance >= 0) && (distance <= 30)); { digitalWrite(buzzer, HIGH); } if (distance > 30 ) { digitalWrite(buzzer, LOW); } }
-এবার Arduino board এ আপলোড করতে হবে।
এখন পুরো জিনিসটাকে তোমার টেবিলে সেট করবে।এর পর থেকে তোমার টেবিলের কাছে গেলেই এলর্ম বেজে উঠবে।Power Supply হিসেবে মোবাইল এর চার্জার ব্যাবহার করবে।এটা ছিল রোবোটিক্স এর একদম বেসিক একটা প্রজেক্ট।
কেমন লাগলো প্রজেক্ট জানাতে ভুলো না কিন্তু।