Я безуспешно пытался заставить Raspberry Pi разговаривать с Arduino. Я использую преобразователь 3,3 В в 5 В для переключения напряжения. Я поставил светодиод на вывод UART TX, и похоже, что он инвертировал данные. Если это правда, какая схема мне нужна, чтобы установить связь с Arduino?
Я использую Cool Components Logic Level Converter . Это транзистор от 3,3 до 5 В и резистор от 5 до 3,3 В.
Я использую CD4050 для преобразования уровня с 5 В на 3,3 В, а также в качестве буфера для защиты моего Raspberry Pi. Arduino должен видеть 3,3 В как логический максимум, поэтому вам не нужно преобразовывать напряжение от 3,3 В до 5 В (здесь я исправляюсь, согласно веб-странице Arduino, любое напряжение свыше 3 В считается логически высоким).
Я собрал краткий пример использования CD4050, Raspberry Pi GPIO UART и Arduino здесь: http://www.andremiller.net/content/raspberry-pi-and-arduino-via-gpio-uart
Любые комментарии приветствуются, это работает, но я мог сделать это неправильно :)
источник
Я на самом деле столкнулся с той же проблемой и решил ее, запустив barebones atmega328 с загрузчиком Arduino при напряжении 3,3 В, но на частоте 8 МГц. 8 МГц может вызвать проблемы, если у вас есть строгие временные требования. Я сам только планирую использовать Arduino для генерации ШИМ для светодиодной полосы RGB, так что все в порядке, если частота ШИМ равна половине нормальной. Мои предварительные испытания пока показали, что Arduino может получить сообщение просто отлично.
источник
Существует одно простое решение: вы можете удалить любой внешний источник питания Arduino и подключить вывод GPIO Raspberry Pi от 1 до 5 В к Arduino, используя перемычку таким образом, что основное питание Arduino будет равно 3,3 В, а все его контакты будут иметь 3,3 В вместо 5 В. Теперь вы можете напрямую соединить выводы Uart от Pi и Arduino. Работал на меня.
источник