Можно ли подключать CS пин к аналоговому пину

Могут ли возникнуть проблемы если для CS пина использовать аналоговый пин(кроме А6,А7) на ардуино нано?

Если пин сконфигурирован “на выход” как цифровой - проблем быть не должно. Но без схемы это вилами по воде.


Подключаю 2 штуки X9C104 к ардуино.

Тот цифровой потенциометр у которого CS подключен к А2 изменяет сопротивление нормально, а у другого сопротивление не изменяется почему-то. Изменяется, но только если повезёт и то держится в пределах 56кОм и 62кОм.
Может ли это быть из-за того, что я подключал CS к аналоговому пину?

Код:

#include <DigiPotX9Cxxx.h>
DigiPot potLeft(5,6, A2);//inc u/d cs
DigiPot potRight(5,6, A3);

void setup() {
  Serial.begin(9600);
}

int val = 0;
void loop() {
  if(Serial.available()) val = Serial.parseInt();
  potLeft.set(val);
  potRight.set(val);
}

Использую библиотеку: https://github.com/minhaj6/DigiPotX9Cxxx

Ну так проверьте это. Добавьте в setup строчку:pinMode(17, OUTPUT)
Если не поможет, то ещё digitalWrite(17, HIGH);

не надо, библеотЭка все сама делает.

DigiPot::DigiPot(uint8_t incPin, uint8_t udPin, uint8_t csPin) {
  _incPin = incPin;
  _udPin = udPin;
  _csPin = csPin;  
  _currentValue = DIGIPOT_UNKNOWN;

  pinMode(_incPin, OUTPUT);
  pinMode(_udPin, OUTPUT);
  pinMode(_csPin, OUTPUT);
  digitalWrite(_csPin, HIGH);

}

если их местами махнуть (ну по сути CS), что нибудь меняется?

1 лайк

Попробовал, ничего не изменилось

все контакты на X9C104 обзвонил мультиметром между собой попарно(INC c INC, U/D c U/D) - пищат. Так же провода с X9C104 до ардуино проверил - подключены правильно.

Нельзя. Это только аналоговые входы АЦП. Как цифровые они не работают.

че с тобой? может не внимательно прочитал?

ну значит надо смотреть, что там на A3 происходит
осцил, тестер, на худой конец светодиод с резистором есть?

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

1 лайк

А6 и А7 это только ВХОДЫ.

дед???

1 лайк

да, я тоже читаю падианали.

Посмотрел пайку еще раз. Пин INC плохо припаян был. Спасибо

На мой взгляд, этот вопрос прямое следствие той “странной” терминологии, которую ввели разработчики Ардуино.
На самом деле все пины Ардуино - цифровые (А6 и А7 - исключения), прост некоторые из них имеют альтернативные функции, как то UART, PWM или ADC.

2 лайка