CD74HC4067 вход/выход

Sergeyevd
Sergeyevd аватар
Offline
Зарегистрирован: 25.03.2014

Подскажите, можно ли использовать C0-C7 как вход, для подключения переменного резистора, а С8-С15 как выход  для подключения светодиода.

int s0 = 8;
int s1 = 9;
int s2 = 10;
int s3 = 11;
int SIG_pin = 0;


void setup(){
  pinMode(s0, OUTPUT); 
  pinMode(s1, OUTPUT); 
  pinMode(s2, OUTPUT); 
  pinMode(s3, OUTPUT); 

  digitalWrite(s0, LOW);
  digitalWrite(s1, LOW);
  digitalWrite(s2, LOW);
  digitalWrite(s3, LOW);

  Serial.begin(9600);
}


void loop(){
  int val = analogRead(SIG_pin);
  Serial.println(val);
delay(1000);
  }

}

Считывыю показания с пина C0

 

OlegK
OlegK аватар
Offline
Зарегистрирован: 26.11.2014

Представьте себе многопозиционный переключатель на 16 положений - 16 входов коммутируются на один выход (или, если угодно, один вход коммутируется на 16 выходов, т.к. мультиплексор двунаправленный), затем пририсуйте к нему то, что вы планируете и ответите на свой вопрос...

Sergeyevd
Sergeyevd аватар
Offline
Зарегистрирован: 25.03.2014

Понял.

Если на SIG подать +5V, то будет работать на выход.

Подскажите, как без реле сделать переключение +5V---SIG---А0

Sergeyevd
Sergeyevd аватар
Offline
Зарегистрирован: 25.03.2014

Sergeyevd
Sergeyevd аватар
Offline
Зарегистрирован: 25.03.2014

Хотя, если я питание убираю, то на выходе 0, не подходит...

А зачем нужен En?

И всё же интересно, как обойтись без реле в таком случае

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Похоже вы все перепутали. Ардуина может принимать аналоговый сигнал, но аналоговый сигнал ардуина выдавать НЕ МОЖЕТ. Выдает вместо этого сигнал PWM, но он на аналоговый.

Sergeyevd
Sergeyevd аватар
Offline
Зарегистрирован: 25.03.2014

Верно, не так нарисовал.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

И все равно С8-С15 не могут фиксировать 5В на выходе. 

Sergeyevd
Sergeyevd аватар
Offline
Зарегистрирован: 25.03.2014

Это я понял, выше об этом написал.

И всё же интересно, как обойтись без реле в таком случае

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

просто обойтись http://arduino.ru/Reference/PinMode

pinMode(A0, OUTPUT);

pinMode(A0, INPUT);  

Sergeyevd
Sergeyevd аватар
Offline
Зарегистрирован: 25.03.2014

Ну да........Спасибо. XD

Sergeyevd
Sergeyevd аватар
Offline
Зарегистрирован: 25.03.2014

Чтобы не плодить темы...

Еще один вопрос. Нужно получить несколько значений с приборной панели авто в ардуино. Удобнее всего, чтобы не тянуть кучу проводов, взять эти показания прямо с индикаторных лампочек на панени. 

Напряжение 12-15 вольт. Хватит резистора 1кОм 0,5 Вт на входе в PC817?

 

 

voldemar-composser
Offline
Зарегистрирован: 29.06.2017

Доброго времени суток! 

Хочу отметить, что один и тот же мультиплексор нельзя использовать одновременно и на вход и на выход. Для этого подключаются два мультиплексора к одной платформе (один-на вход, другой-на выход). 

Также, специально для мультиплексора есть библиотека. <CD74HC4067.h> Ее можно найти в обновлениях библиотек. 

Всем отличного настроения!

DominatorBLR
Offline
Зарегистрирован: 23.06.2016

voldemar-composser пишет:

Хочу отметить, что один и тот же мультиплексор нельзя использовать одновременно и на вход и на выход. Для этого подключаются два мультиплексора к одной платформе (один-на вход, другой-на выход). 

А что мешает переключить направление мультплексора при обращении к нужному адресу. Все равно программа не одновременно принимает все сигналы а по очереди.

erinaceto
Offline
Зарегистрирован: 28.04.2018

Схема должна быть примерно такой. Мощность резисторов значения не имеет, главное — соотношение где-то 5:7 (или небольшой запас в меньшую сторону), порядок единиц-десятков килоом.
Не понял, как картинку приделать, так что тут: https://yadi.sk/i/M3OjfZta3VYM66