Отправка последовательных данных с пользовательским напряжением с использованием ШИМ
У Raspberry Pi логический уровень 3,3 В, а у Arduino — логический уровень 5 В. Не рекомендуется подключать Arduino TX к Pi RX:
Pi — 3,3 В, а Arduino — 5 В. Соедините их, и вы сможете создать волшебный голубой дым
Мне было интересно, можно ли без чипа преобразователя логического уровня, такого как CD4050, использовать функции ШИМ Arduino плюс фильтр нижних частот для эффективного создания сигналов TX 3,3 В, которые были бы безопасны для приема Pi RX. ?
У меня есть Arduino Uno с ATMega8 в соответствии со схемой. Кажется, можно изменить частоту выводов ШИМ до 32 кГц. Я предполагаю, что можно использовать ШИМ с фильтром нижних частот для получения 3,3 В, а поскольку он работает на частоте 32 кГц, этой частоты будет более чем достаточно для поддержки скорости 9600 бод. Это верно? Мне трудно искать «Arduino отправляет серийный номер с использованием ШИМ». Для библиотеки SoftwareSerial требуются любые контакты цифрового ввода-вывода, так что похоже, что она не позволяет использовать контакты PWM? Я также читал, что библиотека SoftwareSerial может использовать контакты аналогового ввода для вывода, т.е. TX?
@AJP, 👍-1
Обсуждение2 ответа
Простой делитель напряжения между Arduino TX и Pi RX должен работать для защиты Pi.
Благодаря комментарию Джурай, кажется, что высокого уровня 3,3 В Pi будет достаточно для срабатывания Arduino, и его не нужно будет повышать. до 5 В.
Я предполагаю, что можно изменить значение напряжения, которое производит ШИМ
Это невозможно. ШИМ не может выводить аналоговое напряжение. Вместо этого он быстро переключается между 5 В и 0 В.
Спасибо за ответ Эдгар. Можно поставить на него конденсатор для сглаживания примерно до 3,3 В?, @AJP
Резистор, включенный последовательно, а затем конденсатор на землю. Но это было бы не проще, чем делитель напряжения с двумя резисторами., @Edgar Bonet
Истинный. Интересно, почему люди предлагают более сложный способ использования преобразователя логического уровня., @AJP
- Установите частоту ШИМ на 25 кГц.
- Какова частота PWM-выхода на Arduino
- AT-команда не отвечает на последовательный монитор
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Как устранить шум от вентилятора 12 В с ШИМ-управлением на низкой скорости
- Генерация частоты ШИМ выше 125 кГц с помощью Arduino Uno
- Увеличить разрядность PWM
- Как вывести истинное аналоговое напряжение на выходной контакт
Почему отрицательный голос?, @AJP