A digitális potméter hagyományos ellenállás osztó potméterként viselkedik az áramkörben, a középső lábán analóg feszültségszintet ad, de mikroprocesszorral vezérelhető, pl Arduinoval.
Táplálása (VCC): 3-5V
Panel színe: kék vagy zöld.
Tüskesor: 5+3-as apa tüskesorral érkezik, mely forrasztható.
9C103S Digital Potentiometer Module for Arduino
Description:
Size:23*38mm
Module Voltage: DC6-15V;
Operating Current: less than 5mA;
Transmitting Power: less than 2mA
Output Signal: TTL trigger repeated, high and low. High output 5V, low level 0V;
Detection Angle: 180 degrees (hemispherical);
Detection Range: 3-8m,the default setting is 7m
Work Delay: 2S-120S,the default setting is 20S
Feature:
Supply voltage: 3V-5V
Chip: X9C103S
PCB board size: 2.7 * 1.3CM
10K span potentiometer.
Potentiometer center tap between 0-10k slide in total 100 (potentiometer wiper typical impedance 40 ohms)
VL and VH digital potentiometer sliding rheostat port corresponding to the low-end and high-end, allowing the input voltage range -5V to + 5V.
Mintakód:#define UD 2 // выходы к которым подключен модуль
#define INC 3
#define CS 4
void up(){ // поднимает ползунок в верх на 1 ступень
digitalWrite(UD, HIGH); // на U/D подаем единицу
digitalWrite(INC, HIGH); // и на INC тоже
digitalWrite(CS, LOW); // включаем микросхему
delayMicroseconds(1); // ждем
digitalWrite(INC, LOW); // дергаем вход INC
delayMicroseconds(1);
digitalWrite(INC, HIGH);
delayMicroseconds(1);
///digitalWrite(INC, LOW); // в этом случаи положение ползунка записано не будет
digitalWrite(CS, HIGH); // выключаем микросхему и записываем положение в EEPROM
}
void down(){ // опускаем ползунок в верх на 1 ступень
digitalWrite(UD, LOW);
digitalWrite(INC, HIGH);
digitalWrite(CS, LOW);
delayMicroseconds(1);
digitalWrite(INC, LOW);
delayMicroseconds(1);
digitalWrite(INC, HIGH);
delayMicroseconds(1);
digitalWrite(CS, HIGH);
}
void setup() {
Serial.begin(9600);
pinMode(INC, OUTPUT);
pinMode(UD, OUTPUT);
pinMode(CS, OUTPUT);
digitalWrite(CS, HIGH); // выключаем микросхему
}
void loop() {
if (Serial.available()) { // проверяем пришло ли что в Serial
if (Serial.read() == '0'){ // если пришел 0
down(); // опускаем ползунок
Serial.print("-1");
}
else { // иначе поднимаем
up();
Serial.print("+1");
}
}
}