Генерировать сигнал 5 В постоянного тока, когда входной сигнал внешнего датчика меняется с высокого на низкий.
Я новичок в ардуино. У меня есть проект, в котором мне нужно, чтобы Arduino генерировала сигнал +5 В постоянного тока в ответ на изменение of статуса (высокий/5 В постоянного тока для low/ground) от внешнего источника.
Внешний источник представляет собой автономный набор приемника/передатчика, который выдает +5 В постоянного тока, когда передатчик находится вне диапазона, и заземление, когда передатчик находится в пределах диапазона.
Цель состоит в том, чтобы выход Arduino +5 В постоянного тока (вызывающий серию событий) только тогда, когда TX находится в пределах диапазона RX (напряжение сигнала равно GRND вместо +5 В постоянного тока). Серия событий управляется с помощью автономного контроллера событий, который инициируется сигналом +5 В постоянного тока, любезно предоставленным Arduino.
У меня уже есть набор RX/TX, который выдает +5 В постоянного тока, когда TX отсутствует, и ЗАЗЕМЛЯЕТ, когда TX находится в пределах досягаемости. У меня также есть контроллер событий. Мне нужно только решение arduino.
У меня есть Arduino UNO, но я открыт для других вариантов, если это необходимо.
Решение: дайте мне +5 В постоянного тока, когда напряжение сигнала (от приемника) низкое (земля).
Если бы кто-нибудь мог указать мне правильное направление, я был бы очень признателен. Это мой первый проект на Arduino, поэтому мне есть чему поучиться.
С уважением
@Randy Anglin, 👍1
2 ответа
Это буквально самая простая программа для Arduino. Я не могу поверить, что вы не смогли найти пример, когда один контакт становится ВЫСОКИМ, когда другой становится НИЗКИМ.
void setup(){
pinMode(yourInputPin, INPUT_PULLUP);
pinMode(yourOutputPin, OUTPUT);
}
void loop(){
if(digitalRead(yourInputPin) == LOW){
digitalWrite(youOutputPin, HIGH);
}
else {
digitalWrite(yourOutputPin, LOW);
}
}
Все, что вам нужно сделать, это указать соответствующие номера контактов.
Зачем тратить Arduino на такую жалкую работу? Вот схема, состоящая всего из 3 компонентов, которая делает то, что вам нужно:
По сути, это вентиль НЕ (вы можете использовать настоящий вентиль НЕ, например, 74HC04, если хотите), где выход противоположен входу. Вы даже можете удалить R2, если хотите - это просто предотвращает плавание входа, когда нет обнаруженного действительного сигнала.
Эта форма вентиля называется RTL — резисторно-транзисторная логика и является одним из самых простых логических вентилей.
- Существуют ли библиотеки сглаживания сигналов для Arduino?
- Чтение из Serial
- Как узнать сопротивление внутреннего подтягивающего резистора?
- Как подключить трехконтактный переключатель включения-выключения для считывания входных данных?
- Индустриализация Arduino - 24V io? (Электроника)
- Подключить генератор функций к Arduino
- Измерить время между 2 входами
- Как избежать электромагнитных помех на входе ESP32