一些傳統的電子設備是通過改變電位器的電阻來實現調整,比如燈的亮度、電機的轉速等。如果想對這種設備進行智能改造但不大幅度改變設備內部的電器結構,我們需要電位器的電阻可通過單片機或微機進行控制,數字電位器就是這類設備。
“我也是在項目中有這方面需求,又不想深入研究設備的內部構造(設備比較貴),發現竟然有數字電位器這樣的好用的東西”
X9C104簡介
項目需求最大電阻為100千歐,故這里使用的是常用的x9c104數字電位器芯片,該型號的芯片滑動阻值為40歐~100千歐,100階,每階1010歐。其他阻值型號如下表。

芯片管腳介紹
芯片有8個管腳,有效管腳7個,分布位置如下圖,功能如下表。


芯片使用
本芯片是通過INC、U/D、CS三個輸入端口的高/低電平和上升/下降沿組合實現滑動電位器Vw端的滑動。

程序(Arduino版本)
/*
* 函數 :set_X9c104
* num :滑動階數,1010歐姆
* ud :方向,1表示上滑,0表示下滑
* save :是否保存,1表示保存,0表示不保存
*/
void set_X9c104(int num,int ud,int save)
{
digitalWrite(CS_pin,LOW); //片選使能
delayMicroseconds(10);
if(ud==1) //滑動方向選擇
{
digitalWrite(UD_pin,HIGH);
}
else
{
digitalWrite(UD_pin,LOW);
}
delayMicroseconds(100);
for(;num>0;num--) //開始向設定方向移動num階
{
digitalWrite(INC_pin,HIGH);
delayMicroseconds(100);
digitalWrite(INC_pin,LOW);
delayMicroseconds(100);
}
delayMicroseconds(100);
if(save==1) //是否保存選擇
{
digitalWrite(INC_pin,HIGH);
delayMicroseconds(100);
}
digitalWrite(CS_pin,HIGH);
delay(20);
}
此外,值得一提的是,這個芯片壞片比較多,買了3片,壞了2片,也是悲劇。
