|
Каталог
|
Цифровой потенциометр служит для регулирования сопротивления с цепях постоянного и переменного тока и, как правило, служит заменой обычным потенциометрам. Цифровой потенциометр состоит из логической цифровой части и блока из 100 резисторов, которые коммутируются сотней полевых транзисторов с изолированными затворами. Использование полевых транзисторов позволяет использовать потенциометр для изменения сопротивления в составе звуковых схем и источников питания. Установленное значение выходного сопротивления запоминается во внутренней энергонезависимой памяти и может храниться в ней не менее 100 лет. Характеристики:
Ссылки: Пример скетча:
#define UD 2
#define INC 3
#define CS 4
// поднимает ползунок в верх на 1 шаг
void up()
{
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
}
// опускаем ползунок в верх на 1 шаг
void down()
{
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");
}
}
}
|




