টাইাইলোর নির্দিষ্ট প্রশ্নের উত্তর দিতে:
analogRead(5)
এবং digitalRead(5)
দুটি পৃথক স্থান থেকে পড়া হবে। প্রাক্তনটি এনালগ চ্যানেল থেকে পড়বে 5
বা A5
দ্বিতীয়টি পিন 5 থেকে পড়বে যা একটি ডিজিটাল পিন হিসাবে ঘটে । হ্যাঁ, আপনি যদি একটি এনালগ পিনটি পড়তে চান তবে আপনার digitalRead
ব্যবহার করা উচিত A5
।
কেন?
analogRead
অভ্যন্তরীণভাবে একটি চ্যানেল নম্বর প্রয়োজন তবে এটি আপনাকে এটির একটি পিন নম্বরও দেবে। আপনি যদি এটি একটি পিন নম্বর দেন তবে এটি এটির সাথে সম্পর্কিত চ্যানেল নম্বরে রূপান্তর করবে। যতদূর আমি বলতে পারি যে analogRead
কেবলমাত্র একটি ফাংশন যা অভ্যন্তরীণভাবে চ্যানেল নম্বর ব্যবহার করে, কেবলমাত্র একটি চ্যানেল নম্বরকে অনুমতি দেয় এবং এই অনাবন্ধিত পিন-টু-চ্যানেল রূপান্তর সহ একমাত্র ফাংশন। এটি বুঝতে কয়েকটি উদাহরণ দিয়ে শুরু করা যাক।
আপনি যদি analogRead
প্রথম অ্যানালগ পিন ব্যবহার করতে চান তবে আপনি চ্যানেল নম্বর ব্যবহার A0
করতে পারেন analogRead(0)
বা analogRead(A0)
কোনটি পিন নম্বর ব্যবহার করে তা করতে পারেন । আপনি যদি পিন নম্বর বৈকল্পিক ব্যবহার করতে চান তবে পিন নম্বরটিকে তার যথাযথ চ্যানেল সংখ্যায় analogRead
রূপান্তর করবে ।A0
0
আপনি ব্যবহার করতে চান তাহলে digitalWrite
প্রথম এনালগ পিন উপর A0
আপনি পারেন শুধুমাত্র না digitalWrite(A0, x)
। digitalWrite
অভ্যন্তরীণভাবে অ্যানালগ চ্যানেল ব্যবহার করে না এবং আপনাকে এটি একটি চ্যানেল নম্বর পাস করতে দেয় না। ওয়েল, এটা করব দিন আপনি কিন্তু আপনি ভুল PIN নির্বাচন করব। একই digitalRead
এবং এমনকি প্রযোজ্য analogWrite
।
পিন-টু-চ্যানেল রূপান্তরগুলি analogRead
কী করবে? এই ফাংশনের জন্য উত্সটি পাওয়া যাবে hardware/arduino/avr/cores/arduino/wiring_analog.c
আপনি দেখতে পাবেন এটি বোর্ড প্রকারের উপর ভিত্তি করে কিছু সাধারণ বিয়োগফল করে। A0
/ A1
/ A2
/ ইত্যাদি। ধ্রুবকগুলি অ্যানালগ চ্যানেলের পিন নম্বর উপস্থাপন করে এবং এনালগ ইনপুটগুলি উল্লেখ করার জন্য আপনার যে কোনও জায়গায় ব্যবহার করা যেতে পারে। সেই কারণে তারা আপনার আরডুইনো কোডে ব্যবহারের সেরা বিকল্প কারণ এটি খুব স্পষ্ট। যে আপনি বিভিন্ন ফাংশন ব্যবহার করার পরেও একই শারীরিক বন্দর ব্যবহার করছেন। এই ধ্রুবকের সংজ্ঞাগুলি আপনার বোর্ডের উপর নির্ভর করে।
উদাহরণস্বরূপ, আরডুইনো ইউনো-এর জন্য অ্যানালগ পিন সংজ্ঞা কোডটি এখানে hardware/arduino/avr/variants/standard/pins_arduino.h
static const uint8_t A0 = 14;
static const uint8_t A1 = 15;
static const uint8_t A2 = 16;
static const uint8_t A3 = 17;
static const uint8_t A4 = 18;
static const uint8_t A5 = 19;
static const uint8_t A6 = 20;
static const uint8_t A7 = 21;
তুলনার জন্য এখানে আরডুইনো মেগার জন্য অ্যানালগ পিন সংজ্ঞা কোডটি রয়েছে:
static const uint8_t A0 = 54;
static const uint8_t A1 = 55;
static const uint8_t A2 = 56;
[...]
static const uint8_t A13 = 67;
static const uint8_t A14 = 68;
static const uint8_t A15 = 69;
এনালগ পিনের উপর আরও EE আলোচনা: আমি কি আমার প্রকল্পটির জন্য ডিজিটাল হিসাবে আরডুইনোতে এনালগ পিনগুলি ব্যবহার করতে পারি?