Komunikasi GPIO-UART-ke-Arduino

12

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.

Setithing
sumber

Jawaban:

3

Anda juga dapat menggunakan MOSFET perangkat tambahan n-saluran tunggal untuk setiap pin jika Anda memiliki beberapa di antaranya. Lihat pos Raspberry Pi dan perangkat I2C dengan voltase berbeda , atau halaman 43 dalam spesifikasi bus I²C . Karena Anda hanya membutuhkan dua pin, ini mungkin cukup membantu Anda.

teraquendya
sumber
Saya menggunakan pendekatan ini untuk menghubungkan Pi saya ke Arduino saya. Posting blog ini memiliki foto papan tempat memotong roti dan diagram yang sangat jelas jika Anda tidak terlalu percaya diri: fritz-hut.com/connecting-an-arduino-and-raspberry-pi
Stefan Mohr
2

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 :)

Andre Miller
sumber
1

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.

Gus Reiter
sumber
1

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.

Tirath Singh
sumber