সুচিপত্র:

Arduino এর ভূমিকা: 15 টি ধাপ (ছবি সহ)
Arduino এর ভূমিকা: 15 টি ধাপ (ছবি সহ)

ভিডিও: Arduino এর ভূমিকা: 15 টি ধাপ (ছবি সহ)

ভিডিও: Arduino এর ভূমিকা: 15 টি ধাপ (ছবি সহ)
ভিডিও: গরুটা সাথে কি হয়েছে #shorts #wildlifebd 2024, জুলাই
Anonim
Arduino এর ভূমিকা
Arduino এর ভূমিকা

একটি Arduino একটি ওপেন সোর্স মাইক্রোকন্ট্রোলার ডেভেলপমেন্ট বোর্ড। সরল ইংরেজিতে, আপনি সেন্সর পড়তে এবং মোটর এবং লাইটের মতো জিনিসগুলি নিয়ন্ত্রণ করতে Arduino ব্যবহার করতে পারেন। এটি আপনাকে এই বোর্ডে প্রোগ্রামগুলি আপলোড করার অনুমতি দেয় যা তারপরে বাস্তব বিশ্বের জিনিসগুলির সাথে যোগাযোগ করতে পারে। এর সাহায্যে, আপনি এমন ডিভাইস তৈরি করতে পারেন যা সাড়া দেয় এবং ব্যাপকভাবে বিশ্বের কাছে প্রতিক্রিয়া জানায়।

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

মূলত, যদি এমন কিছু থাকে যা বিদ্যুৎ দ্বারা নিয়ন্ত্রিত হয়, Arduino এটির সাথে কিছু পদ্ধতিতে ইন্টারফেস করতে পারে। এবং এমনকি যদি এটি বিদ্যুৎ দ্বারা নিয়ন্ত্রিত না হয়, তবুও আপনি সম্ভবত এর সাথে ইন্টারফেস করার জন্য (মোটর এবং ইলেক্ট্রোম্যাগনেটের মতো) জিনিসগুলি ব্যবহার করতে পারেন।

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

ধাপ 1: Arduinos বিভিন্ন প্রকার

Arduinos বিভিন্ন প্রকার
Arduinos বিভিন্ন প্রকার
Arduinos বিভিন্ন প্রকার
Arduinos বিভিন্ন প্রকার
Arduinos বিভিন্ন প্রকার
Arduinos বিভিন্ন প্রকার

বিভিন্ন ধরণের Arduinos থেকে বেছে নিতে পারেন। এটি আরও সাধারণ কিছু Arduino বোর্ডের সম্মুখীন হতে পারে তার একটি সংক্ষিপ্ত বিবরণ। বর্তমানে সমর্থিত আরডুইনো বোর্ডগুলির সম্পূর্ণ তালিকার জন্য, আরডুইনো হার্ডওয়্যার পৃষ্ঠাটি দেখুন।

আরডুইনো উনো

Arduino এর সবচেয়ে সাধারণ সংস্করণ হল Arduino Uno। এই বোর্ডটি বেশিরভাগ মানুষ যখন Arduino কে উল্লেখ করে সে সম্পর্কে কথা বলছে। পরবর্তী ধাপে, এর বৈশিষ্ট্যগুলির আরও সম্পূর্ণ তালিকা রয়েছে।

Arduino NG, Diecimila, এবং Duemilanove (উত্তরাধিকার সংস্করণ)

Arduino Uno প্রোডাক্ট লাইনের উত্তরাধিকার সংস্করণগুলি NG, Diecimila এবং Duemilanove নিয়ে গঠিত। লিগ্যাসি বোর্ড সম্পর্কে লক্ষ্য করার গুরুত্বপূর্ণ বিষয় হল যে তাদের Arduino Uno- এর বিশেষ বৈশিষ্ট্য নেই। কিছু মূল পার্থক্য:

  • Diecimila এবং NG একটি ATMEGA168 চিপ ব্যবহার করে (যতটা শক্তিশালী ATMEGA328 এর বিপরীতে),
  • ডাইসিমিলা এবং এনজি উভয়েরই ইউএসবি পোর্টের পাশে একটি জাম্পার রয়েছে এবং ইউএসবি বা ব্যাটারি পাওয়ারের ম্যানুয়াল নির্বাচন প্রয়োজন।
  • Arduino NG এর প্রয়োজন যে আপনি একটি প্রোগ্রাম আপলোড করার আগে কয়েক সেকেন্ডের জন্য বোর্ডে বিশ্রাম বোতামটি ধরে রাখুন।

Arduino মেগা 2560

Arduino Mega 2560 হল Arduino পরিবারের দ্বিতীয় সর্বাধিক সম্মুখীন সংস্করণ। Arduino মেগা Arduino Uno এর গরুর মাংসের বড় ভাইয়ের মত। এটি 256 KB মেমরির (ইউনোর চেয়ে 8 গুণ বেশি) গর্ব করে। এটিতে 54 টি ইনপুট এবং আউটপুট পিন ছিল, যার মধ্যে 16 টি এনালগ পিন এবং 14 টি PWM করতে পারে। যাইহোক, যোগ করা সমস্ত কার্যকারিতা একটু বড় সার্কিট বোর্ডের খরচে আসে। এটি আপনার প্রকল্পকে আরও শক্তিশালী করে তুলতে পারে, তবে এটি আপনার প্রকল্পকে আরও বড় করে তুলবে। আরো বিস্তারিত জানার জন্য অফিসিয়াল Arduino Mega 2560 পৃষ্ঠাটি দেখুন।

আরডুইনো মেগা এডিকে

Arduino এর এই বিশেষ সংস্করণটি মূলত একটি Arduino মেগা যা বিশেষ করে অ্যান্ড্রয়েড স্মার্টফোনের সাথে ইন্টারফেস করার জন্য ডিজাইন করা হয়েছে। এটিও এখন একটি উত্তরাধিকার সংস্করণ।

আরডুইনো ইউন

Arduino Yun ATmega328 এর পরিবর্তে ATMega32U4 চিপ ব্যবহার করে। যাইহোক, যা সত্যিই এটি আলাদা করে তা হল এথেরোস এআর 9331 মাইক্রোপ্রসেসরের সংযোজন। এই অতিরিক্ত চিপ এই বোর্ডটিকে স্বাভাবিক Arduino অপারেটিং সিস্টেম ছাড়াও লিনাক্স চালানোর অনুমতি দেয়। যদি সেগুলি যথেষ্ট না হয় তবে এটিতে অনবোর্ড ওয়াইফাই ক্ষমতাও রয়েছে। অন্য কথায়, আপনি বোর্ডকে অন্য যেকোনো Arduino এর মতো কাজ করার জন্য প্রোগ্রাম করতে পারেন, কিন্তু আপনি ওয়াইফাই এর মাধ্যমে ইন্টারনেটের সাথে সংযোগ স্থাপনের জন্য বোর্ডের লিনাক্স সাইডও অ্যাক্সেস করতে পারেন। আরডুইনো-সাইড এবং লিনাক্স-সাইড সহজেই একে অপরের সাথে পিছনে যোগাযোগ করতে পারে। এটি এই বোর্ডকে অত্যন্ত শক্তিশালী এবং বহুমুখী করে তোলে। আমি এর সাথে আপনি যা করতে পারেন তার পৃষ্ঠটি সবেমাত্র আঁচড়ছি, তবে আরও জানতে, অফিসিয়াল আরডুইনো ইউন পৃষ্ঠাটি দেখুন।

আরডুইনো ন্যানো

আপনি যদি স্ট্যান্ডার্ড আরডুইনো বোর্ডের চেয়ে ছোট হতে চান, আরডুইনো ন্যানো আপনার জন্য! একটি সারফেস মাউন্ট ATmega328 চিপের উপর ভিত্তি করে, Arduino এর এই সংস্করণটি সংকুচিত করা হয়েছে একটি ছোট পদচিহ্ন যা টাইট স্পেসে ফিট করতে সক্ষম। এটি সরাসরি একটি ব্রেডবোর্ডে ertedোকানো যেতে পারে, যার সাহায্যে প্রোটোটাইপ করা সহজ হয়।

আরডুইনো লিলিপ্যাড

লিলিপ্যাডটি পরিধানযোগ্য এবং ই-টেক্সটাইল অ্যাপ্লিকেশনের জন্য ডিজাইন করা হয়েছিল। এটি ফ্যাব্রিক থেকে সেলাই করা এবং পরিবাহী থ্রেড ব্যবহার করে অন্যান্য সেলাইযোগ্য উপাদানগুলির সাথে সংযুক্ত করার উদ্দেশ্যে। এই বোর্ডের জন্য একটি বিশেষ FTDI-USB TTL সিরিয়াল প্রোগ্রামিং ক্যাবল ব্যবহার প্রয়োজন। আরো তথ্যের জন্য, Arduino LilyPad পৃষ্ঠাটি একটি শালীন সূচনা পয়েন্ট।

(মনে রাখবেন যে এই পৃষ্ঠার কিছু লিঙ্ক অ্যাফিলিয়েট লিংক। এটি আপনার জন্য আইটেমের খরচ পরিবর্তন করে না। নতুন প্রকল্প তৈরিতে আমি যা পাই তা আমি পুনরায় বিনিয়োগ করি। যদি আপনি বিকল্প সরবরাহকারীদের জন্য কোন পরামর্শ চান, দয়া করে আমাকে জানান জানি।)

ধাপ 2: Arduino Uno বৈশিষ্ট্য

Arduino Uno বৈশিষ্ট্য
Arduino Uno বৈশিষ্ট্য

কিছু লোক পুরো আরডুইনো বোর্ডকে মাইক্রোকন্ট্রোলার মনে করে, কিন্তু এটি ভুল। Arduino বোর্ড আসলে Atmel মাইক্রোকন্ট্রোলার দিয়ে প্রোগ্রামিং এবং প্রোটোটাইপিংয়ের জন্য একটি বিশেষভাবে পরিকল্পিত সার্কিট বোর্ড।

Arduino বোর্ড সম্পর্কে চমৎকার জিনিস হল যে এটি তুলনামূলকভাবে সস্তা, একটি কম্পিউটারের USB পোর্টে সরাসরি প্লাগ করে, এবং এটি সেটআপ এবং ব্যবহার করা সহজ (অন্যান্য উন্নয়ন বোর্ডের তুলনায়)।

Arduino Uno এর কিছু মূল বৈশিষ্ট্যের মধ্যে রয়েছে:

  • একটি ওপেন সোর্স ডিজাইন। এটি ওপেন সোর্স হওয়ার সুবিধা হল যে এটি ব্যবহারকারী এবং সমস্যা সমাধানের একটি বিশাল জনগোষ্ঠী রয়েছে। এটি আপনার প্রকল্পগুলিকে ডিবাগ করতে সাহায্য করার জন্য কাউকে খুঁজে পাওয়া সহজ করে তোলে।
  • একটি সহজ ইউএসবি ইন্টারফেস। বোর্ডের চিপটি সরাসরি আপনার ইউএসবি পোর্টে প্লাগ করে এবং আপনার কম্পিউটারে একটি ভার্চুয়াল সিরিয়াল পোর্ট হিসাবে নিবন্ধন করে। এটি আপনাকে এর সাথে ইন্টারফেস করতে দেয় কারণ এটি একটি সিরিয়াল ডিভাইস ছিল। এই সেটআপের সুবিধা হল যে সিরিয়াল যোগাযোগ একটি অত্যন্ত সহজ (এবং সময়-পরীক্ষিত) প্রোটোকল, এবং ইউএসবি এটিকে আধুনিক কম্পিউটারের সাথে সংযুক্ত করা সত্যিই সুবিধাজনক করে তোলে।
  • খুব সুবিধাজনক শক্তি ব্যবস্থাপনা এবং অন্তর্নির্মিত ভোল্টেজ নিয়ন্ত্রণ। আপনি 12v পর্যন্ত একটি বাহ্যিক শক্তির উৎস সংযুক্ত করতে পারেন এবং এটি 5v এবং 3.3v উভয় ক্ষেত্রে এটি নিয়ন্ত্রণ করবে। এটি কোনও বাহ্যিক শক্তি ছাড়াই সরাসরি একটি USB পোর্ট থেকে চালিত হতে পারে।
  • একটি সহজে খুঁজে পাওয়া যায়, এবং ময়লা সস্তা, মাইক্রোকন্ট্রোলার "মস্তিষ্ক।" ATmega328 চিপ Digikey তে প্রায় $ 2.88 এর জন্য বিক্রয় করে। এটিতে অসংখ্য সুন্দর হার্ডওয়্যার বৈশিষ্ট্য রয়েছে যেমন টাইমার, PWM পিন, বাহ্যিক এবং অভ্যন্তরীণ বাধা এবং একাধিক ঘুমের মোড। আরো বিস্তারিত জানার জন্য অফিসিয়াল ডেটশীট দেখুন।
  • একটি 16 মেগাহার্টজ ঘড়ি। এটি চারপাশে দ্রুততম মাইক্রোকন্ট্রোলার নয়, তবে বেশিরভাগ অ্যাপ্লিকেশনের জন্য যথেষ্ট দ্রুত।
  • আপনার কোড সংরক্ষণের জন্য 32 KB ফ্ল্যাশ মেমরি।
  • 13 ডিজিটাল পিন এবং 6 এনালগ পিন। এই পিনগুলি আপনাকে আপনার আরডুইনোতে বাহ্যিক হার্ডওয়্যার সংযুক্ত করতে দেয়। এই পিনগুলি Arduino এর কম্পিউটিং ক্ষমতাকে বাস্তব জগতে প্রসারিত করার জন্য গুরুত্বপূর্ণ। কেবলমাত্র আপনার ডিভাইস এবং সেন্সরগুলিকে সকেটে প্লাগ করুন যা এই প্রতিটি পিনের সাথে মিলে যায় এবং আপনি যেতে ভাল।
  • ইউএসবি পোর্ট বাইপাস করার জন্য এবং সরাসরি সিরিয়াল ডিভাইস হিসেবে Arduino কে ইন্টারফেস করার জন্য একটি ICSP সংযোগকারী। এই পোর্টটি আপনার চিপটি পুনরায় বুট করার জন্য প্রয়োজনীয় যদি এটি দূষিত হয় এবং আপনার কম্পিউটারের সাথে আর কথা বলতে না পারে।
  • একটি অন-বোর্ড LED ডিজিটাল পিন 13 এর সাথে সংযুক্ত যাতে দ্রুত কোড সহজে ডিবাগ করা যায়।
  • এবং শেষ, কিন্তু অন্তত নয়, চিপে প্রোগ্রামটি পুনরায় সেট করার জন্য একটি বোতাম।

সমস্ত Arduino Uno এর একটি সম্পূর্ণ র্যান্ডাউনের জন্য অফার করতে হবে, অফিসিয়াল Arduino পৃষ্ঠাটি দেখতে ভুলবেন না।

ধাপ 3: Arduino IDE

Arduino IDE
Arduino IDE

আপনি Arduino দিয়ে কিছু করা শুরু করার আগে, আপনাকে Arduino IDE (সমন্বিত উন্নয়ন পরিবেশ) ডাউনলোড এবং ইনস্টল করতে হবে। এই বিন্দু থেকে আমরা Arduino IDE কে Arduino প্রোগ্রামার হিসাবে উল্লেখ করব।

Arduino প্রোগ্রামার প্রসেসিং IDE এর উপর ভিত্তি করে তৈরি এবং C এবং C ++ প্রোগ্রামিং ভাষার ভিন্নতা ব্যবহার করে।

আপনি এই পৃষ্ঠায় Arduino প্রোগ্রামারের সাম্প্রতিক সংস্করণটি খুঁজে পেতে পারেন।

ধাপ 4: এটি প্লাগ ইন করুন

তা চলা
তা চলা

আপনার কম্পিউটারের USB পোর্টে Arduino সংযুক্ত করুন।

অনুগ্রহ করে মনে রাখবেন যে যদিও Arduino আপনার কম্পিউটারে প্লাগ করে, এটি একটি সত্যিকারের USB ডিভাইস নয়। বোর্ডের একটি বিশেষ চিপ রয়েছে যা এটি আপনার কম্পিউটারে একটি ভার্চুয়াল সিরিয়াল পোর্ট হিসাবে প্রদর্শিত হতে পারে যখন এটি একটি USB পোর্টে প্লাগ করা থাকে। এজন্যই বোর্ডটি প্লাগ ইন করা গুরুত্বপূর্ণ। যখন বোর্ডটি প্লাগ ইন করা হয় না, তখন Arduino যে ভার্চুয়াল সিরিয়াল পোর্টটি পরিচালনা করে তা উপস্থিত থাকবে না (যেহেতু এটি সম্পর্কে সমস্ত তথ্য Arduino বোর্ডে থাকে)।

এটাও জেনে রাখা ভালো যে প্রত্যেকটি Arduino এর একটি অনন্য ভার্চুয়াল সিরিয়াল পোর্ট ঠিকানা আছে। এর মানে হল যে আপনি যখনই আপনার কম্পিউটারে একটি ভিন্ন Arduino বোর্ড প্লাগ করবেন, তখন আপনাকে ব্যবহার করা সিরিয়াল পোর্টটি পুনরায় কনফিগার করতে হবে।

Arduino Uno একটি পুরুষ USB A থেকে পুরুষ USB B তারের প্রয়োজন।

ধাপ 5: সেটিংস

সেটিংস
সেটিংস
সেটিংস
সেটিংস

আপনি Arduino প্রোগ্রামারে কিছু করা শুরু করার আগে, আপনাকে অবশ্যই বোর্ড-টাইপ এবং সিরিয়াল পোর্ট সেট করতে হবে।

বোর্ড সেট করতে, নিম্নলিখিতগুলিতে যান:

সরঞ্জাম বোর্ড

আপনি যে বোর্ডটি ব্যবহার করছেন তার সংস্করণ নির্বাচন করুন। যেহেতু আমি একটি Arduino Uno প্লাগ ইন করেছি, আমি স্পষ্টভাবে "Arduino Uno" নির্বাচন করেছি।

সিরিয়াল পোর্ট সেট করতে, নিম্নলিখিতগুলিতে যান:

টুলস সিরিয়াল পোর্ট

সিরিয়াল পোর্ট নির্বাচন করুন যা দেখতে:

/dev/tty.usbmodem [এলোমেলো সংখ্যা]

ধাপ 6: একটি স্কেচ চালান

একটি স্কেচ চালান
একটি স্কেচ চালান
একটি স্কেচ চালান
একটি স্কেচ চালান
একটি স্কেচ চালান
একটি স্কেচ চালান

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

ডিজিটাল পিন 13 এর সাথে LED টি বাঁধতে এবং বন্ধ করতে, আসুন ঝলকানো উদাহরণটি লোড করি।

চোখের পলক উদাহরণ এখানে পাওয়া যাবে:

ফাইলের উদাহরণ বেসিক ব্লিঙ্ক

জ্বলন্ত উদাহরণটি মূলত আউটপুট হিসাবে পিন D13 সেট করে এবং তারপর আরডুইনো বোর্ডে পরীক্ষা LED কে প্রতি সেকেন্ডে চালু এবং বন্ধ করে।

একবার চোখের পলক উদাহরণটি খোলা হলে, এটি আপলোড বোতাম টিপে ATMEGA328 চিপে ইনস্টল করা যেতে পারে, যা ডানদিকে নির্দেশ করা তীরের মতো দেখায়।

লক্ষ্য করুন যে Arduino তে 13 পিনের সাথে সংযুক্ত সারফেস মাউন্ট স্ট্যাটাস LED ঝলকানো শুরু করবে। আপনি বিলম্বের দৈর্ঘ্য পরিবর্তন করে এবং আবার আপলোড বোতাম টিপে ঝলকানোর হার পরিবর্তন করতে পারেন।

ধাপ 7: সিরিয়াল মনিটর

সিরিয়াল মনিটর
সিরিয়াল মনিটর
সিরিয়াল মনিটর
সিরিয়াল মনিটর

সিরিয়াল মনিটর আপনার কম্পিউটারকে Arduino এর সাথে সিরিয়ালভাবে সংযুক্ত করতে দেয়। এটি গুরুত্বপূর্ণ কারণ এটি আপনার Arduino সেন্সর এবং অন্যান্য ডিভাইস থেকে প্রাপ্ত তথ্য গ্রহণ করে এবং এটি আপনার কম্পিউটারে রিয়েল-টাইমে প্রদর্শন করে। আপনার কোডটি ডিবাগ করার জন্য এবং চিপটি আসলে কোন সংখ্যার মান গ্রহণ করছে তা বোঝার জন্য এই ক্ষমতা থাকা অমূল্য।

উদাহরণস্বরূপ, A0, এবং বাইরের পিনগুলি যথাক্রমে 5v এবং মাটিতে কেন্দ্রের সুইপ (মধ্য পিন) সংযুক্ত করুন। পরবর্তীতে নিচে দেখানো স্কেচ আপলোড করুন:

ফাইলের উদাহরণ 1. বেসিক অ্যানালগ রিডসিরিয়াল

সিরিয়াল মনিটরকে যুক্ত করতে বোতামটি ক্লিক করুন যা দেখতে একটি ম্যাগনিফাইং গ্লাসের মতো। আপনি এখন সিরিয়াল মনিটরে এনালগ পিন দ্বারা পড়া সংখ্যাগুলি দেখতে পারেন। যখন আপনি গাঁট ঘুরান সংখ্যা বৃদ্ধি এবং হ্রাস হবে।

সংখ্যাগুলি 0 থেকে 1023 এর মধ্যে হবে। এর কারণ হল যে এনালগ পিন 0 এবং 5V এর মধ্যে একটি ভোল্টেজকে একটি বিচক্ষণ সংখ্যায় রূপান্তর করছে।

ধাপ 8: ডিজিটাল ইন

ডিজিটাল ইন
ডিজিটাল ইন

আরডুইনোতে দুটি ভিন্ন ধরণের ইনপুট পিন রয়েছে, সেগুলি এনালগ এবং ডিজিটাল।

শুরুতে, আসুন ডিজিটাল ইনপুট পিনগুলি দেখি।

ডিজিটাল ইনপুট পিনের কেবল দুটি সম্ভাব্য অবস্থা রয়েছে, যা চালু বা বন্ধ রয়েছে। এই দুটি চালু এবং বন্ধ রাজ্যকেও বলা হয়:

  • উচ্চ বা নিম্ন
  • 1 বা 0
  • 5V বা 0V।

এই ইনপুটটি সাধারণত সুইচ খোলা বা বন্ধ করার সময় ভোল্টেজের উপস্থিতি উপলব্ধি করতে ব্যবহৃত হয়।

ডিজিটাল ইনপুটগুলি অগণিত ডিজিটাল যোগাযোগ প্রোটোকলের ভিত্তি হিসাবেও ব্যবহার করা যেতে পারে। একটি 5V (HIGH) পালস বা 0V (LOW) পালস তৈরি করে, আপনি একটি বাইনারি সিগন্যাল তৈরি করতে পারেন, যা সমস্ত কম্পিউটিংয়ের ভিত্তি। এটি একটি PING অতিস্বনক সেন্সরের মত ডিজিটাল সেন্সরের সাথে কথা বলার জন্য, অথবা অন্যান্য ডিভাইসের সাথে যোগাযোগের জন্য উপযোগী।

ডিজিটাল ইনপুট ব্যবহার করার একটি সহজ উদাহরণের জন্য, ডিজিটাল পিন 2 থেকে 5V, একটি 10K প্রতিরোধক ** ডিজিটাল পিন 2 থেকে মাটিতে সংযুক্ত করুন এবং নিম্নলিখিত কোডটি চালান:

ফাইলের উদাহরণ 2. ডিজিটাল বোতাম

** 10K রোধকারীকে পুল-ডাউন রোধকারী বলা হয় কারণ এটি যখন সুইচটি না চাপলে ডিজিটাল পিনকে মাটিতে সংযুক্ত করে। যখন সুইচটি চাপানো হয়, সুইচের বৈদ্যুতিক সংযোগগুলি প্রতিরোধকের চেয়ে কম প্রতিরোধের থাকে এবং বিদ্যুৎ আর মাটিতে সংযুক্ত হয় না। পরিবর্তে, 5V এবং ডিজিটাল পিনের মধ্যে বিদ্যুৎ প্রবাহিত হয়। এর কারণ হল বিদ্যুৎ সর্বদা সর্বনিম্ন প্রতিরোধের পথ বেছে নেয়। এই সম্পর্কে আরও জানতে, ডিজিটাল পিন পৃষ্ঠা দেখুন।

ধাপ 9: এনালগ ইন

এনালগ ইন
এনালগ ইন

ডিজিটাল ইনপুট পিনের পাশাপাশি, আরডুইনো বেশ কয়েকটি এনালগ ইনপুট পিনেরও গর্ব করে।

এনালগ ইনপুট পিনগুলি একটি এনালগ সিগন্যাল নেয় এবং 10-বিট এনালগ-টু-ডিজিটাল (ADC) রূপান্তর করে যা 0 থেকে 1023 (4.9mV ধাপ) এর মধ্যে একটি সংখ্যায় পরিণত করে।

এই ধরনের ইনপুট প্রতিরোধী সেন্সর পড়ার জন্য ভাল। এগুলি মূলত সেন্সর যা সার্কিটের প্রতিরোধ সরবরাহ করে। তারা 0 এবং 5V এর মধ্যে বিভিন্ন ভোল্টেজ সংকেত পড়ার জন্যও ভাল। বিভিন্ন ধরণের এনালগ সার্কিটারের সাথে ইন্টারফেস করার সময় এটি কার্যকর।

যদি আপনি সিরিয়াল মনিটরের জন্য ধাপ 7 এর উদাহরণ অনুসরণ করেন, আপনি ইতিমধ্যে একটি এনালগ ইনপুট পিন ব্যবহার করার চেষ্টা করেছেন।

ধাপ 10: ডিজিটাল আউট

ডিজিটাল আউট
ডিজিটাল আউট

একটি ডিজিটাল আউট পিন উচ্চ (5v) বা নিম্ন (0v) হিসাবে সেট করা যেতে পারে। এটি আপনাকে জিনিসগুলি চালু এবং বন্ধ করতে দেয়।

জিনিসগুলি চালু এবং বন্ধ করা (এবং এলইডি জ্বলজ্বল করা) ছাড়াও, এই ধরণের আউটপুট বেশ কয়েকটি অ্যাপ্লিকেশনের জন্য সুবিধাজনক।

সবচেয়ে উল্লেখযোগ্যভাবে, এটি আপনাকে ডিজিটালভাবে যোগাযোগ করতে দেয়। দ্রুত পিন চালু এবং বন্ধ করে, আপনি বাইনারি স্টেটস (0 এবং 1) তৈরি করছেন, যা অসংখ্য অন্যান্য ইলেকট্রনিক ডিভাইস দ্বারা বাইনারি সিগন্যাল হিসেবে স্বীকৃত। এই পদ্ধতি ব্যবহার করে, আপনি বিভিন্ন প্রোটোকল ব্যবহার করে যোগাযোগ করতে পারেন।

ডিজিটাল যোগাযোগ একটি উন্নত বিষয়, কিন্তু কী করা যেতে পারে তার একটি সাধারণ ধারণা পেতে, ইন্টারফেসিং উইথ হার্ডওয়্যার পৃষ্ঠাটি দেখুন।

যদি আপনি ধাপ in -এ একটি উদাহরণ পান যাতে একটি LED জ্বলজ্বল করে, আপনি ইতিমধ্যে একটি ডিজিটাল আউটপুট পিন ব্যবহার করার চেষ্টা করেছেন।

ধাপ 11: এনালগ আউট

এনালগ আউট
এনালগ আউট

পূর্বে উল্লিখিত হিসাবে, Arduino বিশেষ ফাংশন মধ্যে নির্মিত একটি সংখ্যা আছে। এই বিশেষ ফাংশনগুলির মধ্যে একটি হল পালস প্রস্থ মডুলেশন, যা একটি Arduino একটি এনালগ-মত আউটপুট তৈরি করতে সক্ষম।

পালস প্রস্থ মডুলেশন - বা সংক্ষিপ্ত জন্য PWM - একটি এনালগ সংকেত অনুকরণ করতে দ্রুত PWM পিন উচ্চ (5V) এবং নিম্ন (0V) ঘুরিয়ে কাজ করে। উদাহরণস্বরূপ, যদি আপনি যথেষ্ট পরিমাণে একটি LED জ্বালাতে এবং বন্ধ করতে চান (প্রায় পাঁচ মিলিসেকেন্ড), এটি উজ্জ্বলতার গড় বলে মনে হবে এবং শুধুমাত্র অর্ধেক শক্তি গ্রহণ করবে বলে মনে হচ্ছে। পর্যায়ক্রমে, যদি এটি 1 মিলিসেকেন্ডের জন্য জ্বলজ্বল করে এবং তারপর 9 মিলিসেকেন্ডের জন্য বন্ধ হয়ে যায়, LED 1/10 উজ্জ্বল বলে মনে হবে এবং শুধুমাত্র 1/10 ভোল্টেজ গ্রহণ করবে।

PWM শব্দ তৈরি করা, আলোর উজ্জ্বলতা নিয়ন্ত্রণ করা এবং মোটরের গতি নিয়ন্ত্রণ সহ বেশ কয়েকটি অ্যাপ্লিকেশনের জন্য গুরুত্বপূর্ণ।

আরও গভীরভাবে ব্যাখ্যা করার জন্য, PWM পৃষ্ঠার গোপনীয়তা দেখুন।

PWM নিজে চেষ্টা করার জন্য, একটি LED এবং 220 ohm প্রতিরোধককে ডিজিটাল পিন 9 এর সাথে সংযুক্ত করুন, সিরিজ থেকে গ্রাউন্ডে। নিম্নলিখিত উদাহরণ কোড চালান:

ফাইলের উদাহরণ 3. অ্যানালগ ফেইডিং

ধাপ 12: আপনার নিজের কোড লিখুন

আপনার নিজের কোড লিখুন
আপনার নিজের কোড লিখুন

আপনার নিজের কোড লিখতে, আপনাকে কিছু প্রাথমিক প্রোগ্রামিং ভাষা সিনট্যাক্স শিখতে হবে। অন্য কথায়, আপনাকে শিখতে হবে কিভাবে প্রোগ্রামারকে বোঝার জন্য সঠিকভাবে কোড তৈরি করতে হয়। আপনি এই ধরনের ব্যাকরণ এবং যতিচিহ্ন বোঝার মত চিন্তা করতে পারেন। আপনি সঠিক ব্যাকরণ এবং যতিচিহ্ন ছাড়া একটি সম্পূর্ণ বই লিখতে পারেন, কিন্তু ইংরেজিতে থাকলেও কেউ তা বুঝতে পারবে না।

আপনার নিজের কোড লেখার সময় কিছু গুরুত্বপূর্ণ বিষয় মনে রাখতে হবে:

একটি Arduino প্রোগ্রাম একটি স্কেচ বলা হয়।

একটি Arduino স্কেচে সমস্ত কোড উপরে থেকে নীচে প্রক্রিয়া করা হয়।

Arduino স্কেচ সাধারণত পাঁচ ভাগে বিভক্ত।

  1. স্কেচটি সাধারণত একটি হেডার দিয়ে শুরু হয় যা ব্যাখ্যা করে যে স্কেচটি কী করছে এবং কে এটি লিখেছে।
  2. পরবর্তী, এটি সাধারণত বৈশ্বিক ভেরিয়েবল সংজ্ঞায়িত করে। প্রায়শই, এখানেই বিভিন্ন আরডুইনো পিনের ধ্রুবক নাম দেওয়া হয়।
  3. প্রাথমিক ভেরিয়েবল সেট করার পরে, আরডুইনো সেটআপ রুটিন শুরু করে। সেটআপ ফাংশনে, আমরা প্রয়োজনে ভেরিয়েবলের প্রাথমিক শর্তগুলি সেট করি এবং যে কোনও প্রাথমিক কোড চালাই যা আমরা কেবল একবার চালাতে চাই। এখানেই সিরিয়াল যোগাযোগ শুরু হয়, যা সিরিয়াল মনিটর চালানোর জন্য প্রয়োজন।
  4. সেটআপ ফাংশন থেকে, আমরা লুপ রুটিনে যাই। এটি স্কেচের প্রধান রুটিন। এটি কেবলমাত্র আপনার মূল কোডটিই নয়, এটি যতবার স্কেচ চলতে থাকবে ততক্ষণ এটি বারবার কার্যকর করা হবে।
  5. লুপ রুটিনের নীচে, প্রায়শই অন্যান্য ফাংশন তালিকাভুক্ত থাকে। এই ফাংশনগুলি ব্যবহারকারী-সংজ্ঞায়িত এবং সেটআপ এবং লুপ রুটিনে ডাকা হলেই সক্রিয় হয়। যখন এই ফাংশনগুলি বলা হয়, Arduino ফাংশনের সমস্ত কোড উপরে থেকে নীচে প্রক্রিয়া করে এবং তারপর স্কেচে পরবর্তী লাইনে ফিরে যায় যেখানে ফাংশনটি কল করার সময় এটি বন্ধ হয়ে যায়। ফাংশনগুলি ভাল কারণ তারা আপনাকে বার বার একই কোডের লাইনগুলি না লিখে স্ট্যান্ডার্ড রুটিন চালানোর অনুমতি দেয়। আপনি কেবল একটি ফাংশনে একাধিকবার কল করতে পারেন, এবং এটি চিপে মেমরি মুক্ত করবে কারণ ফাংশন রুটিন শুধুমাত্র একবার লেখা হয়। এটি কোড পড়া সহজ করে তোলে। কিভাবে আপনার নিজস্ব ফাংশন গঠন শিখতে, এই পৃষ্ঠাটি দেখুন।

এগুলি সবই বলেছে, স্কেচের কেবল দুটি অংশ যা বাধ্যতামূলক তা হল সেটআপ এবং লুপ রুটিন।

কোডটি অবশ্যই Arduino ভাষায় লিখতে হবে, যা মোটামুটি C- এর উপর ভিত্তি করে।

Arduino ভাষায় লিখিত প্রায় সব বিবৃতি একটি দিয়ে শেষ করতে হবে;

শর্তাবলী (যেমন বিবৃতি এবং লুপের জন্য) এর প্রয়োজন নেই;

শর্তসাপেক্ষে তাদের নিজস্ব নিয়ম আছে এবং Arduino ভাষা পৃষ্ঠায় "নিয়ন্ত্রণ কাঠামো" এর অধীনে পাওয়া যাবে

ভেরিয়েবল হচ্ছে সংখ্যার জন্য স্টোরেজ বগি। আপনি ভেরিয়েবলের মধ্যে এবং বাইরে মানগুলি পাস করতে পারেন। ভেরিয়েবলগুলি ব্যবহার করার আগে সংজ্ঞায়িত করা উচিত (কোডে বর্ণিত) এবং এটির সাথে একটি ডেটা টাইপ থাকা দরকার। কিছু প্রাথমিক ডাটা টাইপ শিখতে, ভাষা পৃষ্ঠা পর্যালোচনা করুন।

ঠিক আছে! সুতরাং আসুন আমরা বলি যে আমরা এমন কোড লিখতে চাই যা পিন A0 এর সাথে সংযুক্ত একটি ফোটোসেল পড়ে এবং পিন D9 এর সাথে সংযুক্ত একটি LED এর উজ্জ্বলতা নিয়ন্ত্রণ করতে আমরা ফোটোসেল থেকে প্রাপ্ত পড়াটি ব্যবহার করি।

প্রথমত, আমরা BareMinimum স্কেচ খুলতে চাই, যা এখানে পাওয়া যাবে:

ফাইলের উদাহরণ 1. বেসিক নূন্যতম

বেয়ার মিনিমাম স্কেচ এইরকম হওয়া উচিত:

অকার্যকর সেটআপ() {

// আপনার সেটআপ কোডটি এখানে রাখুন, একবার চালানোর জন্য:} void loop () {// আপনার প্রধান কোড এখানে রাখুন, বারবার চালানোর জন্য:} এরপরে, কোডে একটি হেডার লাগানো যাক, যাতে অন্য লোকেরা জানতে পারে যে আমরা কী তৈরি করছি, কেন, এবং কোন পদে

/*

জিনিয়াস আরডুইনো প্রোগ্রামার 2012 দ্বারা LED ডিমার পিন A9 তে একটি ফোটোসেল পড়ার উপর ভিত্তি করে পিন D9 এ একটি LED এর উজ্জ্বলতা নিয়ন্ত্রণ করে এই কোডটি পাবলিক ডোমেইনে */ অকার্যকর সেটআপ () {// আপনার সেটআপ কোডটি এখানে রাখুন, চালানোর জন্য একবার:} অকার্যকর লুপ () {// আপনার প্রধান কোডটি এখানে রাখুন, বারবার চালানোর জন্য:} একবার যে সব স্কয়ার দূরে, আসুন পিনের নাম সংজ্ঞায়িত করি, এবং ভেরিয়েবলগুলি স্থাপন করি

/*

জিনিয়াস আরডুইনো প্রোগ্রামার 2012 দ্বারা LED ডিমার পিন A9 তে একটি ফোটোসেল পড়ার উপর ভিত্তি করে পিন D9 তে একটি LED এর উজ্জ্বলতা নিয়ন্ত্রণ করে এই কোডটি পাবলিক ডোমেইনে */ // নাম এনালগ পিন 0 একটি ধ্রুব নাম const int analogInPin = A0; // নাম ডিজিটাল পিন 9 একটি ধ্রুবক নাম const int LEDPin = 9; // একটি photocell int photocell পড়ার জন্য পরিবর্তনশীল; void setup () {// আপনার সেটআপ কোড এখানে রাখুন, একবার চালানোর জন্য:} void loop () {// আপনার প্রধান কোড এখানে রাখুন, বারবার চালানোর জন্য:} এখন যে ভেরিয়েবল এবং পিন নাম সেট করা আছে, আসুন আসল কোড লিখি

/*

জিনিয়াস আরডুইনো প্রোগ্রামার 2012 দ্বারা LED ডিমার পিন A9 তে একটি ফোটোসেল পড়ার উপর ভিত্তি করে পিন D9 তে একটি LED এর উজ্জ্বলতা নিয়ন্ত্রণ করে এই কোডটি পাবলিক ডোমেইনে */ // নাম এনালগ পিন 0 একটি ধ্রুব নাম const int analogInPin = A0; // নাম ডিজিটাল পিন 9 একটি ধ্রুবক নাম const int LEDPin = 9; // একটি photocell int photocell পড়ার জন্য পরিবর্তনশীল; অকার্যকর সেটআপ () {// এখানে এখন কিছুই নেই} অকার্যকর লুপ () {// পিনে এনালগ পড়ুন এবং ফোটোসেল ভেরিয়েবল photocell = analogRead (analogInPin) এ রিডিং সেট করুন; // ফোটোসেল এনালগ রাইট (LEDPin, photocell) দ্বারা পড়া মান ব্যবহার করে LED পিন নিয়ন্ত্রণ করুন; // 1/10 সেকেন্ডের জন্য কোড থামান // 1 সেকেন্ড = 1000 বিলম্ব (100); } যদি আমরা দেখতে চাই যে এনালগ পিনটি আসলে ফোটোসেল থেকে কত নম্বর পড়ছে, তাহলে আমাদের সিরিয়াল মনিটর ব্যবহার করতে হবে। আসুন সিরিয়াল পোর্ট সক্রিয় করি এবং সেই সংখ্যাগুলিকে আউটপুট করি

/*

জিনিয়াস আরডুইনো প্রোগ্রামার 2012 দ্বারা LED ডিমার পিন A9 তে একটি ফোটোসেল পড়ার উপর ভিত্তি করে পিন D9 তে একটি LED এর উজ্জ্বলতা নিয়ন্ত্রণ করে এই কোডটি পাবলিক ডোমেইনে */ // নাম এনালগ পিন 0 একটি ধ্রুব নাম const int analogInPin = A0; // নাম ডিজিটাল পিন 9 একটি ধ্রুবক নাম const int LEDPin = 9; // একটি photocell int photocell পড়ার জন্য পরিবর্তনশীল; অকার্যকর সেটআপ () {Serial.begin (9600); } অকার্যকর লুপ () {// পিনে এনালগ পড়ুন এবং ফোটোসেল ভেরিয়েবল photocell = analogRead (analogInPin) এ রিডিং সেট করুন; // সিরিয়াল মনিটরে ফটোসেল মান মুদ্রণ করুন Serial.print ("Photocell ="); Serial.println (photocell); // ফোটোসেল এনালগ রাইট (LEDPin, photocell) দ্বারা পড়া মান ব্যবহার করে LED পিন নিয়ন্ত্রণ করুন; // 1/10 সেকেন্ডের জন্য কোড থামান // 1 সেকেন্ড = 1000 বিলম্ব (100); }কোড প্রণয়ন সম্পর্কে আরও তথ্যের জন্য, ফাউন্ডেশন পৃষ্ঠা দেখুন। যদি আপনার আরডুইনো ভাষার সাহায্যের প্রয়োজন হয়, তাহলে ভাষা পৃষ্ঠাটি আপনার জন্য জায়গা।

এছাড়াও, উদাহরণ স্কেচ পৃষ্ঠাটি কোডের সাথে গোলমাল শুরু করার জন্য একটি দুর্দান্ত জায়গা। জিনিস পরিবর্তন এবং পরীক্ষা করতে ভয় পাবেন না।

ধাপ 13: াল

াল
াল

শিল্ড হল সম্প্রসারণ অ্যাপডাপ্টার বোর্ড যা Arduino Uno এর উপরে প্লাগ ইন করে এবং এটি বিশেষ ফাংশন দেয়।

যেহেতু আরডুইনো খোলা হার্ডওয়্যার, যার প্রতি ঝোঁক আছে সে যে কোন কাজ সম্পন্ন করতে চায় তার জন্য একটি আরডুইনো shাল তৈরি করতে স্বাধীন। এই কারণে, বন্যের মধ্যে অসংখ্য সংখ্যক আরডুইনো ieldsাল রয়েছে। আপনি Arduino খেলার মাঠে Arduino ieldsালের একটি ক্রমবর্ধমান তালিকা খুঁজে পেতে পারেন। মনে রাখবেন যে সেই পৃষ্ঠায় তালিকাভুক্ত হওয়ার চেয়ে আরও বেশি existenceাল থাকবে (বরাবরের মতো, গুগল আপনার বন্ধু)।

আরডুইনো ieldsালগুলির ক্ষমতার একটি ছোট্ট ধারণা দিতে, তিনটি অফিসিয়াল আরডুইনো ieldsাল কীভাবে ব্যবহার করবেন সে সম্পর্কে এই টিউটোরিয়ালগুলি দেখুন:

  • ওয়্যারলেস এসডি শিল্ড
  • ইথারনেট শিল্ড
  • মোটর শিল্ড

ধাপ 14: একটি বহিরাগত সার্কিট নির্মাণ

একটি বহিরাগত সার্কিট নির্মাণ
একটি বহিরাগত সার্কিট নির্মাণ

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

ইলেকট্রনিক্স দিয়ে শুরু করতে, বেসিক ইলেকট্রনিক্স ইন্সট্রাকটেবল দেখুন।

ধাপ 15: অতিক্রম করা

অতি
অতি

এখান থেকে, কেবলমাত্র কিছু প্রকল্প বাকি আছে। অনলাইনে অসংখ্য অসাধারণ Arduino সম্পদ এবং টিউটোরিয়াল রয়েছে।

অফিসিয়াল Arduino পেজ এবং ফোরাম চেক করতে ভুলবেন না। এখানে তালিকাভুক্ত তথ্যগুলি অমূল্য এবং সম্পূর্ণ। এটি ডিবাগিং প্রকল্পগুলির জন্য দুর্দান্ত সম্পদ।

আপনার যদি কিছু মজাদার শিক্ষানবিশ প্রকল্পের জন্য অনুপ্রেরণার প্রয়োজন হয়, তাহলে 20 টি অবিশ্বাস্য Arduino প্রকল্পের নির্দেশিকা দেখুন।

একটি বিশাল তালিকা বা Arduino প্রকল্পের জন্য, Arduino চ্যানেল শুরু করার জন্য একটি দুর্দান্ত জায়গা।

এটাই. আপনি আপনার নিজের উপর।

শুভকামনা এবং শুভ হ্যাকিং!

ছবি
ছবি

আপনি এই দরকারী, মজা, বা বিনোদনমূলক? আমার সর্বশেষ প্রকল্পগুলি দেখতে @madeineuphoria অনুসরণ করুন।

প্রস্তাবিত: