خواندن پتانسیومتر با آردوینو و analogRead
خواندن پتانسیومتر با آردوینو یک تمرین مناسب برای فهم ورودی آنالوگ است. برخلاف دکمه که معمولاً دو حالت دارد، پتانسیومتر ولتاژی بین دو سر خود میسازد و پایهٔ وسط مقدار متغیر را در اختیار ورودی میگذارد.
سیمکشی پتانسیومتر به A0
از یک پتانسیومتر خطی حدود ۱۰ کیلواهم و برد Arduino Uno استفاده کنید. یکی از پایههای کناری را به ۵V، پایهٔ کناری دیگر را به GND و پایهٔ وسط را به A0 وصل کنید. اگر جهت پایههای کناری را جابهجا کنید، فقط جهت افزایش عدد هنگام چرخاندن برعکس میشود. اتصال ولتاژ بالاتر از محدودهٔ مجاز برد به A0 ممکن است به آن آسیب بزند. پیش از روشن کردن، مسیرها را مطابق آموزش بردبورد بررسی کنید.
کد خواندن پتانسیومتر با آردوینو
const byte potPin = A0;
void setup() {
Serial.begin(9600);
}
void loop() {
int value = analogRead(potPin);
Serial.println(value);
delay(100);
}
برنامه را بارگذاری و Serial Monitor را روی ۹۶۰۰ baud تنظیم کنید. در Uno کلاسیک با مبدل آنالوگ به دیجیتال ۱۰ بیتی، مقدار معمولاً از نزدیک ۰ تا ۱۰۲۳ تغییر میکند. نزدیک ۰ یعنی ولتاژ نزدیک زمین و نزدیک ۱۰۲۳ یعنی ولتاژ نزدیک مرجع پیشفرض، که در Uno معمولاً ولتاژ تغذیهٔ برد است. این عدد اندازهگیری دقیق ولتاژ نیست مگر مرجع واقعی و خطاها را هم حساب کنید؛ برای تخمین ولتاژ میتوان value×5.0÷1023 را در تغذیهٔ واقعاً ۵ ولتی به کار برد.
رفع خطا و تمرین بعدی
اگر عدد ثابت مانده، اتصال پایهٔ وسط به A0 و مشترک بودن زمین را بررسی کنید. اگر عدد بیدلیل میپرد، اتصال شل یا ورودی شناور ممکن است علت باشد. تفاوت این ورودی را با خواندن دکمهٔ دیجیتال مقایسه کنید. سپس مقدار پتانسیومتر را در درس کنترل روشنایی LED با PWM به خروجی تبدیل کنید. مستندات رسمی analogRead مشخصات بردهای دیگر را نیز توضیح میدهد.