Saya telah berusaha tanpa keberuntungan untuk membuat Raspberry Pi berbicara dengan seorang Arduino. Saya menggunakan konverter 3,3 V-ke-5 V untuk bertukar tegangan. Saya memang memasang LED pada pin TX UART, dan sepertinya itu membalik data. Jika ini benar, sirkuit apa yang saya perlukan untuk berkomunikasi dengan Arduino?
Saya menggunakan Cool Components Logic Level Converter . Ini adalah transistor untuk 3,3 V hingga 5 V dan resistor untuk 5 V hingga 3,3 V.
Saya menggunakan CD4050 untuk melakukan konversi level dari 5V ke 3.3V dan juga bertindak sebagai penyangga untuk melindungi Raspberry Pi saya. Arduino akan melihat 3.3V sebagai logis tinggi, sehingga Anda tidak perlu mengkonversi dari 3.3V ke 5V (saya berdiri dikoreksi di sini, menurut halaman web Arduino, tegangan lebih dari 3V dianggap logis tinggi).
Saya mengumpulkan contoh cepat menggunakan CD4050, Raspberry Pi GPIO UART dan Arduino di sini: http://www.andremiller.net/content/raspberry-pi-and-arduino-via-gpio-uart
Setiap komentar dipersilahkan, ini berfungsi, tetapi saya mungkin telah salah melakukannya :)
sumber
Saya sebenarnya telah mengalami masalah yang sama dan menyelesaikannya dengan menjalankan barebones atmega328 dengan bootloader Arduino pada 3,3 volt, tetapi pada 8 MHz. 8 Mhz dapat menyebabkan masalah jika Anda memiliki persyaratan waktu yang ketat. Saya, saya sendiri hanya berencana menggunakan Arduino untuk menghasilkan PWM untuk strip led rgb, jadi tidak apa-apa jika frekuensi PWM setengah dari normal. Pengujian pendahuluan saya sejauh ini menunjukkan bahwa Arduino dapat menerima pesan dengan baik.
sumber
Ada satu solusi sederhana Anda dapat menghapus sumber daya eksternal Arduino dan menghubungkan pin GPIO Raspberry Pi 1 sampai 5v pin Arduino menggunakan jumper wire sehingga kekuatan utama Arduino adalah 3.3V dan semua pinnya akan memiliki 3.3V bukan 5V. Sekarang Anda dapat langsung menghubungkan pin Uart dari Pi dan Arduino. Bekerja untukku.
sumber