Arduino и MCP4231 поправьте скетч

Cho1s
Offline
Зарегистрирован: 26.07.2017

Добрый день! помогите со скетчем управления 2-х канального цифрового потенциометра.

Требуется - нажать кнопку, а мср выдаст напряжение. отпустил кнопку напряжение пропало...

подскажите что я делаю не так

Спасибо!

#include <SPI.h>

const byte POT = B00010000;

int csPin=10;
int wheelPin=A5;
int val = 0;

void setup(){
  pinMode(csPin, OUTPUT);
  pinMode(wheelPin, INPUT);
  SPI.begin();
}
void loop(){
  val = digitalRead(wheelPin);
  if (val == HIGH){
    digitalWrite(csPin, LOW);
    SPI.transfer(POT); 
    SPI.transfer(50); // значение сопротивления.
    //digitalWrite(csPin, HIGH);
  }
  else{
    digitalWrite(csPin, HIGH);
  }
}

 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016
#include <SPI.h>
const byte POT = B00010000;
const  byte CS_pin  =/*пин CS*/10;
const  byte Btn_pin =/*пин кнопки*/A5;
bool Btn, Btn_old;
void setup() {
  SPI.begin();
  pinMode(Btn_pin, INPUT);
  Btn_old = digitalRead(Btn_pin);
  pinMode(CS_pin, OUTPUT);
}
void loop() {
  Btn = digitalRead(Btn_pin);
  if (Btn && !Btn_old) {
    Btn_old = 1;
    digitalWrite(CS_pin, 0);
    SPI.transfer(POT);
    SPI.transfer(50); // значение сопротивления.
  }
  else if (!Btn && Btn_old) {
    Btn_old = 0;
    digitalWrite(CS_pin, 1);
  }
}
/*Скетч использует 1116 байт (3%) памяти устройства. Всего доступно 32256 байт.
  Глобальные переменные используют 12 байт (0%) динамической памяти, оставляя 2036 байт для локальных переменных. Максимум: 2048 байт.
*/
Cho1s
Offline
Зарегистрирован: 26.07.2017

Спасибо огромное!!!

но почемуто после отпускания кнопки изначальное сопротивление не возвращается (