ویژگی های ماژول پتانسیومتر دیجیتال 100 کیلو اهمی X9C104
ماژول پتانسیومتر دیجیتال 100 کیلو اهمی X9C104 یک مقاومت متغیر است که مقدار مقاومت آن را میتوان به صورت دیجیتالی به کمک یک میکروکنتلر تنظیم کرد. این ماژول دارای 3 پایه خروجی (RH، RW و RL) بوده که این 3 پایه را میتوان جایگزین 3 پایه پتانسیومترهای فیزیکی نمود. این ماژول دارای 99 جز مقاومتی است و مقاومت نهایی ماژول توسط یک پروتکل ارتباطی 3-سیمه کنترل میشود.
معرفی پایه ها (Pinout) ماژول پتانسیومتر دیجیتال 100 کیلو اهمی X9C104
ماژول پتانسیومتر دیجیتال 100 کیلو اهمی X9C104 دارای 10 پایه به شرح زیر است.
5 پایه در سمت چپ ماژول:
- VCC: تغذیه ماژول –5 ولت
- GND: زمین
- INC: دستور تغییر مقاومت قطعه
- U/D: تنظیم کمتر یا بیشتر شدن مقاومت
- CS: فعال شدن قطعه برای تنظیم مقاومت
5 پایه در سمت راست ماژول:
- VCC: تغذیه ماژول –5 ولت
- RH: حد بالای مقاومت (100کیلو اهم)
- RW: مقاومت تنظیم شده
- RH: حد پایین مقاومت (0 اهم)
- GND: زمین
نکته
3 پایه RH، RW و RL را میتوان به عنوان خروجیهای ماژول جایگزین 3 پایه پتانسیومترهای فیزیکی نمود.
پین اوت (Pinout) این ماژول را میتوانید در تصویر زیر مشاهده کنید.
لوازمی که به آن احتیاج دارید
قطعات مورد نیاز
نرم افزارهای مورد نیاز
راه اندازی ماژول پتانسیومتر دیجیتال 100 کیلو اهمی X9C104
گام اول: سیم بندی
مطابق مدار زیر، ماژول را به آردوینو وصل کنید.
گام دوم: نصب کتابخانه
کتابخانه DigiPotX9Cxxx را از اینجا دانلود کنید. سپس به قسمت Include Library رفته و کتابخانه را نصب کنید.
گام سوم: کد
کد زیر را روی برد آردوینو آپلود کنید. پس از آپلود کد، پنجره Serial Plotter را باز کنید.
/*
Modified on Dec 12, 2020
Modified by MehranMaleki from Arduino Examples
https://electropeak.com/learn/
*/
/*
* For this example, connect your X9C104 (or the like) as follows:
* 1 - INC - Arduino pin 2
* 2 - U/D - Arduino pin 3
* 3 - RH - 5V
* 4 - VSS - GND
* 5 - RW - Output: Arduino pin A0 for analogRead
* 6 - RL - GND
* 7 - CS - Arduino pin 4
* 8 - VCC - 5V
*/
#include <DigiPotX9Cxxx.h>
DigiPot pot(2,3,4);
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("Starting");
float voltage;
for (int i=0; i<100; i++) {
pot.increase(1);
voltage = 5.0 * analogRead(A0) / 1024;
Serial.println(voltage);
delay(20);
}
for (int i=0; i<100; i++) {
pot.decrease(1);
voltage = 5.0 * analogRead(A0) / 1024;
Serial.println(voltage);
delay(20);
}
}
در کد بالا، ابتدا پایههای شماره 2، 3 و 4 آردوینو به ترتیب به پایههای INC، U/D و CS از ماژول مرتبط شدهاند. سپس مقدار ولتاژ خروجی متغیر ماژول ابتدا زیاد شده و سپس کم میشود. مقدار ولتاژ خروجی تنظیم شده توسط پایه A0 آردوینو خوانده و در پنجره Serial Plotter نمایش داده میشود.
خروجی کد به شکل زیر است.