Цифровые контакты считывают 1 при настройке с помощью internal_pullup
Я работаю с Arduino DUE. Хочу настроить несколько цифровых выводов как входы. Когда микроконтроллер устанавливает эти 4 вывода, DUE должен активироваться. Это что-то вроде вывода DATAREADY в SPI, с которого данные будут отправляться ведомому устройству только при установке вывода в состояние 1.
Согласно техническому описанию, внешний микроконтроллер установит состояние вывода из 0 в 1. Я попробовал эту программу для экспериментов с влиянием цифровых выводов,
int RDY = 52;
void setup() {
Serial.begin(9600);
pinMode(RDY,INPUT_PULLUP);
pinMode(50,INPUT);
digitalWrite(RDY,HIGH);
}
void loop() {
digitalRead(RDY);
digitalRead(50);
digitalRead(11);
digitalRead(12);
Serial.println(digitalRead(RDY));
Serial.println(digitalRead(50));
Serial.println(digitalRead(11));
Serial.println(digitalRead(12));
delay(100);
}
Полученные результаты: 1, 1, 0, 0, как и ожидалось. Я не могу найти правильный способ обнаружения изменения состояния контакта (с 0 на 1). Чтобы обнаружить изменения, я подключал/отключал выходной контакт 5 В DUE к соответствующим цифровым контактам. Результаты не менялись при подключении и отключении провода 5 В к любому контакту.
Есть ли какой-либо способ обнаружить изменение состояния контакта, как в режиме INPUT в Arduino DUE? В большинстве примеров речь идет о переключателях, но в моем случае мне нужен пин в качестве входа.
Спасибо
@kaya, 👍0
1 ответ
Лучший ответ:
Нет никакой разницы между переключателем и «штырьком» для входа. Все они либо ВЫСОКОГО, либо НИЗКОГО уровня. Подключаем его к ВЫСОКОМУ уровню с помощью подтягивающего резистора, а затем пробуем подать ВЫСОКИЙ уровень +5 В (Внимание: Due — устройство на 3,3 В, а не на 5 В!).
Вы никогда не подаете на него НИЗКИЙ сигнал (не подключаете вход к GND), так как же он может вообще считывать НИЗКИЙ уровень?
- Как контролировать состояние 50 цифровых входов
- Сброс USB на Arduino не работает из-за 5 В на цифровых контактах
- Какой тип источника питания представляет собой 5-вольтовый контакт Arduino Due и каков его ток?
- Arduino Due Цифровые входы без ответа
- NodeMCU - Vin контакт как выход 5V?
- Использовать все контакты как цифровые входы/выходы
- Что представляют собой AREF, IOREF и немаркированный контакт рядом с IOREF на Uno R3?
- Что такое ICSP pin (разъём)?