Доброго времени суток. Подскажите в чём проблема. Имеется цифровой потенциометр и код к нему. В мониторе порта всё отображается , как с потециометром, так и без него. Или потенциометр неисправный или я чего то не дотумкал.
C++:
#include <SPI.h> // инклюдим библиотеку для аппаратного SPI
#define CS 10 // нога чипслекет
byte val = 0;
void setup() {
Serial.begin(115200);
SPI.begin();
pinMode (CS, OUTPUT);
}
void loop() {
float voltage = (analogRead(A0) * 5.0)/ 1024.0; // читаем напряжение на входе А0
Serial.print("voltage = " ); // отправляем данные о напряжении в монитор порта
Serial.print(voltage);
Serial.print(" val = "); // значение которое пишем в потенциометр
Serial.print(val, BIN); // бинарное
Serial.print(" / ");
Serial.println(val, DEC); // десятичное
val++; // прибавляем к переменной 1
MCP4xxxxWrite(val); // пишем значение переменной в потенциометр
delay(50); // ждем до следующего раза
}
void MCP4xxxxWrite(byte val) { // отправляет в потенциометр значение ползунка
digitalWrite(CS, LOW); // включаем прием данных микросхемой
SPI.transfer(0b0010001); // отправляем первый байт в регистр конфигурации
SPI.transfer(val); // отправляем второй байт в "регистр ползунка"
digitalWrite(CS, HIGH);
// выключаем прием данных микросхемой
}


