Arduino LED Blinking | প্রথম যেদিন LED জ্বালাইছিলাম

রাত তখন অনেক হয়ে গেছে। ভাইয়া টেবিলে বসে আছে। একটা ছোট লাল বাতি, কিছু তার, আর ওই সবুজ বোর্ড। আমি পাশে দাঁড়িয়ে দেখছি। সে একটা বাটনে চাপ দিলো। আর তারপর সেই ছোট বাতিটা মিটমিট করে জ্বলে উঠলো!
আমি তো চিৎকার দিয়ে উঠছিলাম প্রায়! এইটা হলো Arduino LED Blink। আমার কাছে মনে হয় এইটা দিয়েই সবার শুরু করা উচিত।
এইটা কেন শিখবো
অনেকে বলে একটা বাতি জ্বালানো শিখে কি হবে। আমার ভাইয়া বলে, বাড়ি বানাতে আগে ইট বিছাতে জানতে হয়। এইটাও সেরকম।
এই একটা প্রজেক্ট থেকে অনেক কিছু শেখা যায়। আর্ডুইনোর পিন কিভাবে কাজ করে সেইটা বোঝা যায়। কোড কিভাবে বোর্ডে কাজ করে সেইটাও বোঝা যায়। আর কিভাবে সময় ঠিক করতে হয় সেইটাও।
আমার ভাইয়া বলছে যারা এইটা না শিখে বড় কাজে হাত দিছে তারা পরে আবার শুরু থেকে আসছে। তাই এইটা এড়ানো যাবে না।
কি কি লাগবে
বেশি কিছু লাগে না। Arduino Uno লাগবে। এইটার দাম ৫০০ থেকে ৭০০ টাকা। একটা LED লাগবে। মাত্র ২ থেকে ৫ টাকা! ২২০ ওহম রেজিস্টর লাগবে। ব্রেডবোর্ড লাগবে। আর কিছু জাম্পার তার লাগবে।
USB কেবল সাধারণত বোর্ডের সাথেই থাকে। তবে একটা কথা! সস্তা চার্জিং কেবল দিয়ে কোড পাঠানো যায় না। কারণ ওইগুলোতে ভেতরে ডেটার তার থাকে না। আমার ভাইয়া এই ভুলে একঘণ্টা নষ্ট করছিল!
সব মিলিয়ে ৯০০ টাকার মধ্যে হয়ে যাবে। আর Arduino IDE নামাতে কোনো পয়সা লাগে না।
রেজিস্টর কেন দিতে হবে
এইটা অনেক গুরুত্বপূর্ণ। আমার ভাইয়া একবার রেজিস্টর না দিয়ে সরাসরি LED লাগাইছিল। LED পুড়ে গেছে! আমি নিজে দেখছি।
আর্ডুইনোর পিন থেকে অনেক বিদ্যুৎ আসে। LED এত বিদ্যুৎ সহ্য করতে পারে না। রেজিস্টর দিলে বিদ্যুৎ কমে আসে। তারপর LED নিরাপদ থাকে।
২২০ ওহম রেজিস্টর ব্যবহার করলে ঠিকমতো কাজ হয়। এইটা অবশ্যই দিতে হবে।
সার্কিট কিভাবে লাগাবো
সার্কিট শুনলে ভয় লাগে। কিন্তু এইখানে মাত্র তিনটা তার লাগে!
LED-এর লম্বা পা হলো পজিটিভ। ওইটা থেকে রেজিস্টর দিয়ে Digital Pin 13 এ তার দিতে হবে। LED-এর ছোট পা থেকে সরাসরি GND পিনে তার দিতে হবে। এইটুকুই।
একটা কথা। তার যেন একে অপরের গায়ে না লাগে। লাগলে বোর্ড নষ্ট হতে পারে। আমার ভাইয়া বলে USB লাগানোর আগে ৩০ সেকেন্ড ভালো করে দেখতে। এইটা ভালো অভ্যাস।
আর LED-এর লম্বা পা কোনটা সেইটা ঠিকমতো দেখতে হবে। উল্টো লাগালে জ্বলবে না।
কোড কিভাবে লিখবো
Arduino IDE খুলতে হবে। তারপর কোড লিখতে হবে। কোড অনেক ছোট।
কোডে দুইটা অংশ আছে। setup() আর loop()। setup()-এ বলতে হয় পিন ১৩ আউটপুট হিসেবে কাজ করবে। loop()-এ বলতে হয় আলো জ্বালাও, এক সেকেন্ড থাকো, আলো নিভাও, এক সেকেন্ড থাকো। তারপর আবার।
digitalWrite(13, HIGH) মানে আলো জ্বালাও। digitalWrite(13, LOW) মানে আলো নিভাও। delay(1000) মানে এক সেকেন্ড অপেক্ষা করো।
এইটুকু বুঝলেই হবে। বাকিটা এমনিই বোঝা যাবে।
কোড কিভাবে পাঠাবো
Tools থেকে Board সিলেক্ট করতে হবে Arduino Uno। তারপর Port সিলেক্ট করতে হবে।
Port সিলেক্ট না করলে কিছুই হবে না। এইটা সবচেয়ে বেশি ভুল হয়। আমার বন্ধু তারিকও একবার এই কারণে অনেকক্ষণ বসে ছিল কিছু বুঝতে পারেনি। পরে দেখা গেল Port সিলেক্টই করেনাই।
তারপর Verify বাটনে চাপতে হবে। Done compiling দেখালে ঠিক আছে। তারপর Upload চাপতে হবে। Done uploading দেখালে হয়ে গেছে!
তারপর দেখবো LED মিটমিট করছে। এই মুহূর্তটা অনেক অনেক ভালো লাগে!
গতি কিভাবে বদলাবো
delay() এর সংখ্যা বদলে দিলেই গতি বদলে যায়। delay(2000) দিলে দুই সেকেন্ডে একবার জ্বলবে। delay(100) দিলে অনেক দ্রুত জ্বলবে নিভবে।
আমার ভাইয়া একবার জ্বলার সময় ২০০ আর নেভার সময় ৮০০ দিয়েছিল। দেখতে হার্টবিটের মতো লাগছিল! অনেক সুন্দর।
এইগুলো নিয়ে খেলা করা উচিত। এইভাবেই শেখা যায়।
তিনটা LED দিয়ে মজার জিনিস
তিনটা LED লাগালে আরো মজা। একটার পর একটা জ্বলে। দেখতে চলন্ত আলোর মতো লাগে! এইটাকে Chase Light বলে।
পিন ১১, ১২, ১৩ এ তিনটা LED লাগাতে হবে। প্রতিটায় রেজিস্টর দিতে হবে অবশ্যই। তারপর কোড লিখলেই হবে।
এইটা করলে for loop জিনিসটা শেখা হয়। পরে বড় প্রজেক্টে এইটা অনেক কাজে আসে।
সমস্যা হলে কি করবো
কোড আপলোড না হলে আগে Port চেক করো। তারপর কেবল বদলাও।
LED না জ্বললে উল্টো লাগানো কিনা দেখো। GND তার ঠিকমতো আছে কিনা দেখো। ব্রেডবোর্ডে তার ভালোমতো বসেছে কিনা দেখো।
LED আবছা জ্বললে রেজিস্টর বেশি বড় হয়ে গেছে। ২২০ ওহম ব্যবহার করতে হবে।
আর কোড কম্পাইল না হলে প্রতিটা লাইনের শেষে সেমিকোলন আছে কিনা দেখো। এইটা সবচেয়ে বেশি ভুল হয়।
পরে কি করবো
LED Blink হলো শুরু। এরপর বাটন দিয়ে LED অন অফ করা শেখা যায়। তারপর নব ঘুরিয়ে গতি বদলানো। তারপর রঙিন LED দিয়ে রঙ বদলানো। তারপর আলো মেপে স্মার্ট লাইট বানানো।
প্রতিটা কাজ আগেরটার উপর দাঁড়িয়ে। তাই এইটা শিখলে পরে আর আটকাবো না।
তাই আমার মতে সবারই এইটা দিয়ে শুরু করা উচিত!
