সুচিপত্র:

হালকা সেন্সর (ফটোরিসিস্টার) টিঙ্কারকাডে আরডুইনো দিয়ে: 5 টি ধাপ (ছবি সহ)
হালকা সেন্সর (ফটোরিসিস্টার) টিঙ্কারকাডে আরডুইনো দিয়ে: 5 টি ধাপ (ছবি সহ)

ভিডিও: হালকা সেন্সর (ফটোরিসিস্টার) টিঙ্কারকাডে আরডুইনো দিয়ে: 5 টি ধাপ (ছবি সহ)

ভিডিও: হালকা সেন্সর (ফটোরিসিস্টার) টিঙ্কারকাডে আরডুইনো দিয়ে: 5 টি ধাপ (ছবি সহ)
ভিডিও: মানুষ দেখলে বাতি জ্বলবে।মানুষ চলে গেলে বাল্ব অফ হয়ে যাবে।motion sensor light. 2024, জুলাই
Anonim
Tinkercad মধ্যে Arduino সঙ্গে হালকা সেন্সর (Photoresistor)
Tinkercad মধ্যে Arduino সঙ্গে হালকা সেন্সর (Photoresistor)

Tinkercad প্রকল্প

Arduino এর এনালগ ইনপুট ব্যবহার করে একটি আলোক সংবেদনশীল ধরনের ভেরিয়েবল রোধক কিভাবে পড়তে হয় তা শিখি। এটিকে এলডিআর (হালকা-নির্ভর প্রতিরোধক) বলা হয়।

এখন পর্যন্ত আপনি ইতিমধ্যে Arduino এর এনালগ আউটপুট দিয়ে LEDs নিয়ন্ত্রণ করতে শিখেছেন, এবং একটি potentiometer পড়তে, যা অন্য ধরনের পরিবর্তনশীল প্রতিরোধক, তাই আমরা এই পাঠে সেই দক্ষতাগুলি তৈরি করব। মনে রাখবেন Arduino এর এনালগ ইনপুট (A0-A6 চিহ্নিত পিনগুলি) ধীরে ধীরে পরিবর্তিত বৈদ্যুতিক সংকেত সনাক্ত করতে পারে এবং সেই সংকেতকে 0 থেকে 1023 এর মধ্যে একটি সংখ্যায় অনুবাদ করে।

ছবি
ছবি

স্টার্ট সিমুলেশন এ ক্লিক করে ফটোরিসিস্টারে ক্লিক করুন (মাঝখানে স্কুইগলি লাইনের সাথে বাদামী ডিম্বাকৃতি) ক্লিক করে ওয়ার্কপ্লেনে এম্বেড করা নমুনা সার্কিটটি এক্সপ্লোর করুন, তারপর সিমুলেটেড লাইট ইনপুট সামঞ্জস্য করতে ব্রাইটনেস স্লাইডারটি টেনে আনুন।

এই পাঠে, আপনি নমুনার পাশে এই সিমুলেটেড সার্কিটটি তৈরি করবেন। Circuitচ্ছিকভাবে শারীরিক সার্কিট তৈরি করতে, আপনার Arduino Uno বোর্ড, USB তারের, ঝালহীন রুটিবোর্ড, একটি LED, প্রতিরোধক (220 ohm এবং 4.7k ohm), photoresistor, এবং breadboard তারগুলি সংগ্রহ করুন।

আপনি কার্যত Tinkercad সার্কিট ব্যবহার করে অনুসরণ করতে পারেন। আপনি টিঙ্কারক্যাডের মধ্যে থেকে এই পাঠটি দেখতে পারেন (বিনামূল্যে লগইন প্রয়োজন)! স্যাম্পল সার্কিট এক্সপ্লোর করুন এবং এর ঠিক পাশেই আপনার নিজের তৈরি করুন। Tinkercad সার্কিট একটি বিনামূল্যে ব্রাউজার-ভিত্তিক প্রোগ্রাম যা আপনাকে সার্কিট তৈরি এবং অনুকরণ করতে দেয়। এটি শেখার, শেখানোর এবং প্রোটোটাইপিংয়ের জন্য নিখুঁত।

ধাপ 1: সার্কিট তৈরি করুন

সার্কিট তৈরি করুন
সার্কিট তৈরি করুন
সার্কিট তৈরি করুন
সার্কিট তৈরি করুন

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

অনুসরণ করার জন্য, একটি নতুন টিঙ্কারক্যাড সার্কিট উইন্ডো লোড করুন এবং নমুনার পাশে এই সার্কিটের নিজস্ব সংস্করণ তৈরি করুন।

Tinkercad সার্কিট কর্মক্ষেত্রে Arduino এর সাথে সংযুক্ত ফোটোরিসিস্টার, LED, প্রতিরোধক এবং তারগুলি সনাক্ত করুন।

একটি Arduino Uno এবং ব্রেডবোর্ডকে টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো করুন।

তারের তৈরি করতে ক্লিক করে যথাক্রমে ব্রেডবোর্ড শক্তি (+) এবং স্থল (-) রেলগুলি Arduino 5V এবং স্থল (GND) এর সাথে সংযুক্ত করুন।

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

LED কে দুটি ভিন্ন ব্রেডবোর্ড সারিতে প্লাগ করুন যাতে ক্যাথোড (নেগেটিভ, খাটো লেগ) একটি রোধকের এক পায়ে সংযুক্ত হয় (100-1K ohms থেকে যেকোনো জায়গায় ঠিক আছে)। প্রতিরোধক উভয় দিকের দিকে যেতে পারে কারণ প্রতিরোধকগুলি পোলারাইজড হয় না, LEDs এর বিপরীতে, যা অবশ্যই কাজ করার জন্য একটি নির্দিষ্ট উপায়ে সংযুক্ত থাকতে হবে।

অন্যান্য প্রতিরোধক পা মাটিতে সংযুক্ত করুন।

আরডুইনো পিন 9 এ LED অ্যানোড (ইতিবাচক, দীর্ঘ পা) আপ করুন।

কম্পোনেন্টস প্যানেল থেকে আপনার ব্রেডবোর্ডে একটি ফটোরিসিস্টর টেনে আনুন, যাতে এর পা দুটি ভিন্ন সারিতে প্লাগ হয়।

একটি ফোটোরিসিস্টার লেগকে পাওয়ারের সাথে সংযুক্ত করতে একটি তার তৈরি করতে ক্লিক করুন।

অন্য পাটি Arduino এনালগ পিন A0 এর সাথে সংযুক্ত করুন।

A0 এর সাথে সংযুক্ত ফোটোরিসিস্টার লেগকে মাটির সাথে সংযুক্ত করতে কম্পোনেন্টস প্যানেল থেকে একটি রোধক টেনে আনুন এবং এর মান 4.7k ohms এ সামঞ্জস্য করুন।

ধাপ 2: ব্লক সহ কোড

ব্লক সহ কোড
ব্লক সহ কোড

ফটোরিসিস্টরের অবস্থা শুনতে কোড ব্লক এডিটর ব্যবহার করি, তারপর সেন্সর কতটা আলো দেখে তার উপর ভিত্তি করে একটি আপেক্ষিক উজ্জ্বলতার জন্য একটি LED সেট করুন। আপনি বিবর্ণ LED পাঠে LED এনালগ আউটপুটের স্মৃতি রিফ্রেশ করতে পারেন।

কোড এডিটর খুলতে "কোড" বোতামে ক্লিক করুন। ধূসর নোটেশন ব্লকগুলি হল আপনার কোডের জন্য আপনি কী করতে চান তা নোট করার জন্য মন্তব্য, কিন্তু এই পাঠ্যটি প্রোগ্রামের অংশ হিসাবে কার্যকর করা হয় না।

কোড এডিটরে ভেরিয়েবল ক্যাটাগরিতে ক্লিক করুন।

ফটোরিসিস্টরের প্রতিরোধের মান সংরক্ষণ করতে, "সেন্সরভ্যালু" নামে একটি পরিবর্তনশীল তৈরি করুন।

একটি "সেট" ব্লক টেনে আনুন। আমরা ভেরিয়েবলে আমাদের ফটোরিসিস্টরের অবস্থা সংরক্ষণ করব

সেন্সর মান

ইনপুট বিভাগে ক্লিক করুন এবং একটি "এনালগ রিড পিন" ব্লক টেনে আনুন এবং "টু" শব্দের পরে এটিকে "সেট" ব্লকে রাখুন

যেহেতু আমাদের potentiometer পিন A0 তে Arduino এর সাথে সংযুক্ত, তাই ড্রপডাউনটি A0 তে পরিবর্তন করুন।

আউটপুট বিভাগে ক্লিক করুন এবং "মুদ্রণ থেকে সিরিয়াল মনিটর" ব্লকটি টেনে আনুন।

ভেরিয়েবল ক্যাটাগরিতে নেভিগেট করুন এবং আপনার ভেরিয়েবল সেন্সরভ্যালুকে "মুদ্রণ থেকে সিরিয়াল মনিটর" ব্লকে টেনে আনুন এবং নিশ্চিত করুন যে ড্রপডাউনটি একটি নতুন লাইন দিয়ে মুদ্রণের জন্য সেট করা আছে। Allyচ্ছিকভাবে সিমুলেশন শুরু করুন এবং সেন্সর সামঞ্জস্য করার সময় রিডিং আসছে এবং পরিবর্তন হচ্ছে তা যাচাই করতে সিরিয়াল মনিটর খুলুন। এনালগ ইনপুট মান 0-1023 পর্যন্ত।

যেহেতু আমরা LED তে 0 (অফ) এবং 255 (পূর্ণ উজ্জ্বলতা) এর মধ্যে একটি সংখ্যা লিখতে চাই, তাই আমরা আমাদের জন্য কিছু ক্রস-গুণ করার জন্য "মানচিত্র" ব্লক ব্যবহার করব। গণিত বিভাগে যান এবং একটি "মানচিত্র" ব্লক টেনে আনুন।

প্রথম স্লটে, একটি সেন্সর ভ্যালু ভেরিয়েবল ব্লকে টেনে আনুন, তারপরে 0 থেকে 255 এর পরিসর সেট করুন।

আউটপুট বিভাগে ফিরে, একটি এনালগ "সেট পিন" ব্লক টানুন, যা ডিফল্টরূপে বলে "সেট পিন 3 থেকে 0." পিন 9 সেট করতে এটি সামঞ্জস্য করুন।

PWM ব্যবহার করে LED পিনে অ্যাডজাস্টেড নম্বর লিখতে "সেট পিন" ব্লকের "টু" ফিল্ডে আগে তৈরি করা ম্যাপ ব্লকটি টেনে আনুন।

কন্ট্রোল ক্যাটাগরিতে ক্লিক করুন এবং একটি ওয়েট ব্লক টেনে আনুন, এবং.1 সেকেন্ডের জন্য প্রোগ্রামটি বিলম্ব করার জন্য এটি সামঞ্জস্য করুন।

ধাপ 3: ফটোরিসিস্টার Arduino কোড ব্যাখ্যা

যখন কোড এডিটরটি খোলা থাকে, আপনি বাম দিকের ড্রপডাউন মেনুতে ক্লিক করতে পারেন এবং কোড ব্লক দ্বারা উৎপন্ন Arduino কোড প্রকাশ করতে "ব্লক + টেক্সট" নির্বাচন করতে পারেন। আমরা আরও বিস্তারিতভাবে কোডটি অন্বেষণ করার সাথে সাথে অনুসরণ করুন।

int sensorValue = 0;

পূর্বে

সেটআপ ()

আমরা potentiometer থেকে পড়া বর্তমান মান সংরক্ষণ করার জন্য একটি পরিবর্তনশীল তৈরি। একে বলে

int

কারণ এটি একটি পূর্ণসংখ্যা, অথবা কোনো পূর্ণ সংখ্যা।

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

{পিনমোড (A0, INPUT); পিনমোড (9, আউটপুট); Serial.begin (9600); }

সেটআপের ভিতরে, পিনগুলি ব্যবহার করে কনফিগার করা হয়

পিনমোড ()

ফাংশন পিন A0 একটি ইনপুট হিসাবে কনফিগার করা হয়েছে, তাই আমরা potentiometer এর বৈদ্যুতিক অবস্থা "শুনতে" পারি। LED নিয়ন্ত্রণ করার জন্য পিন 9 একটি আউটপুট হিসেবে কনফিগার করা হয়েছে। বার্তা পাঠাতে সক্ষম হওয়ার জন্য, আরডুইনো একটি নতুন সিরিয়াল যোগাযোগ চ্যানেল খোলে

Serial.begin ()

যা একটি বড রেট আর্গুমেন্ট নেয় (কি গতিতে যোগাযোগ করতে হবে), এই ক্ষেত্রে 9600 বিট প্রতি সেকেন্ড।

অকার্যকর লুপ ()

{// সেন্সর থেকে মান পড়ুন sensorValue = analogRead (A0); // সেন্সর পড়া মুদ্রণ করুন যাতে আপনি তার পরিসীমা জানতে পারেন Serial.println (sensorValue);

স্ল্যাশের একটি সেট পরে কিছু

//

একটি মন্তব্য, যা লোকেদের সহজ ভাষায় বুঝতে সাহায্য করে যে প্রোগ্রামটি কী করতে চাচ্ছে, কিন্তু আপনার Arduino যে প্রোগ্রামে চলে তা অন্তর্ভুক্ত নয়। প্রধান লুপে, একটি ফাংশন বলা হয়

analogRead ();

পিন A0 এর অবস্থা পরীক্ষা করে (যা 0-1023 থেকে একটি সম্পূর্ণ সংখ্যা হবে), এবং ভেরিয়েবলে সেই মান সঞ্চয় করে

সেন্সর মান

// LED এর জন্য একটি পরিসরে সেন্সর পড়ার মানচিত্র

analogWrite (9, মানচিত্র (sensorValue, 0, 1023, 0, 255)); বিলম্ব (100); // 100 মিলিসেকেন্ডের জন্য অপেক্ষা করুন}

পরের মন্তব্যটির পরের লাইনটি একবারে অনেক কিছু করছে। মনে রাখবেন

analogWrite ()

দুটি আর্গুমেন্ট লাগে, পিন নম্বর (আমাদের ক্ষেত্রে 9), এবং লেখার মান, যা 0 থেকে 255 এর মধ্যে হওয়া উচিত।

মানচিত্র ()

পাঁচটি যুক্তি লাগে: মূল্যায়ন করার জন্য সংখ্যা (সদা পরিবর্তনশীল সেন্সর ভেরিয়েবল), প্রত্যাশিত সর্বনিম্ন এবং প্রত্যাশিত সর্বোচ্চ এবং কাঙ্ক্ষিত ন্যূনতম এবং সর্বোচ্চ। তাহলে

মানচিত্র ()

আমাদের ক্ষেত্রে ফাংশন হচ্ছে ইনকামিং সেন্সরভ্যালু মূল্যায়ন করা, এবং 0-1023 থেকে 0-255 পর্যন্ত আউটপুট স্কেল করার জন্য কিছু ক্রস গুণ করা। ফলাফলটি দ্বিতীয় যুক্তিতে ফিরে আসে

analogWrite ();

পিন 9 এর সাথে সংযুক্ত LED এর উজ্জ্বলতা সেট করা।

ধাপ 4: একটি শারীরিক Arduino সার্কিট তৈরি করুন (alচ্ছিক)

একটি শারীরিক Arduino সার্কিট তৈরি করুন (alচ্ছিক)
একটি শারীরিক Arduino সার্কিট তৈরি করুন (alচ্ছিক)

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

টিঙ্কারক্যাড সার্কিটগুলিতে এখানে দেখানো সংযোগগুলির সাথে মিল করার জন্য উপাদান এবং তারের মধ্যে প্লাগিং করে Arduino Uno সার্কিটটি ওয়্যার আপ করুন। আপনার শারীরিক Arduino Uno বোর্ডের সাথে কাজ করার জন্য আরও গভীরভাবে হাঁটার জন্য, বিনামূল্যে Instructables Arduino ক্লাসটি দেখুন।

Tinkercad Circuits কোড উইন্ডো থেকে কোডটি কপি করে আপনার Arduino সফটওয়্যারে একটি খালি স্কেচে পেস্ট করুন, অথবা ডাউনলোড বাটনে ক্লিক করুন (নিম্নমুখী তীর) এবং খুলুন

Arduino ব্যবহার করে ফলস্বরূপ ফাইলটি আপনি Arduino সফ্টওয়্যারে ফাইল -> উদাহরণ -> 03. এনালগ -> AnalogInOutSerial- এ নেভিগেট করেও খুঁজে পেতে পারেন।

আপনার ইউএসবি কেবল প্লাগ ইন করুন এবং সফটওয়্যারের টুলস মেনুতে আপনার বোর্ড এবং পোর্ট নির্বাচন করুন।

কোডটি আপলোড করুন এবং সেন্সরকে আলো পাওয়ার থেকে কভার করতে আপনার হাত ব্যবহার করুন, এবং/অথবা আপনার সেন্সরে একটি আলো জ্বালান!

আপনার সেন্সরের মান পর্যবেক্ষণ করতে সিরিয়াল মনিটর খুলুন। এটি সম্ভবত আপনার বাস্তব অবস্থার উপর নির্ভর করে বাস্তব বিশ্বের মানগুলি 0 বা 1023 পর্যন্ত সমস্ত পথ প্রসারিত করবে না। LED তে সর্বাধিক উজ্জ্বলতা প্রকাশের পরিসর পেতে আপনার পর্যবেক্ষণকৃত সর্বনিম্ন এবং সর্বাধিক পর্যবেক্ষণ করা 0-1023 পরিসীমাটি নির্দ্বিধায় সামঞ্জস্য করুন।

ধাপ 5: পরবর্তী, চেষ্টা করুন …

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

আপনি কি অন্য ধরনের আউটপুটের জন্য LED কে অদলবদল করতে পারেন, যেমন একটি সার্ভো মোটর, এবং একটি সেন্সরের বর্তমান আলোর স্তরকে একটি গেজ বরাবর একটি নির্দিষ্ট অবস্থান হিসাবে প্রতিফলিত করার জন্য কিছু কোড তৈরি করতে পারেন?

আল্ট্রাসোনিক দূরত্ব সেন্সর বা পোটেন্টিওমিটারের মতো অন্যান্য এনালগ ইনপুটগুলির জন্য আপনার ফটোরিসিস্টরকে অদলবদল করার চেষ্টা করুন।

সিরিয়াল মনিটর ব্যবহার করে কম্পিউটারের মাধ্যমে আপনার Arduino এর ডিজিটাল এবং এনালগ ইনপুটগুলি কীভাবে পর্যবেক্ষণ করা যায় সে সম্পর্কে আরও জানুন।

প্রস্তাবিত: