Comunicazione GPIO-UART-to-Arduino


12

Ho provato senza fortuna a far parlare il Raspberry Pi con un Arduino. Sto usando un convertitore da 3,3 V a 5 V per scambiare tensioni. Ho inserito un LED sul pin UART TX e sembra che stia invertendo i dati. Se questo è vero, di quale circuito ho bisogno per farlo comunicare con Arduino?

Sto usando un convertitore di livello logico Cool Components . È un transistor da 3,3 V a 5 V e un resistore da 5 V a 3,3 V.

Risposte:



3

Puoi anche utilizzare un singolo MOSFET di miglioramento a n canali per ciascun pin se ne hai alcuni in giro. Vedere i dispositivi Raspberry Pi e I2C post di diversa tensione o pagina 43 nelle specifiche del bus I²C . Dato che hai solo bisogno di due pin, questo potrebbe fare al caso tuo.


Ho usato questo approccio collegando il mio Pi al mio Arduino. Questo post sul blog contiene foto di una breadboard e un diagramma molto chiaro se non sei molto sicuro: fritz-hut.com/connecting-an-arduino-and-raspberry-pi
Stefan Mohr

2

Sto usando un CD4050 per fare la conversione di livello da 5 V a 3,3 V e anche come buffer per proteggere il mio Raspberry Pi. L'Arduino dovrebbe vedere 3.3 V come un massimo logico, quindi non dovresti aver bisogno di convertire da 3,3 V a 5 V (sto corretto qui, secondo la pagina web di Arduino qualsiasi tensione superiore a 3 V è considerata logica alta).

Ho messo insieme un breve esempio dell'uso di CD4050, Raspberry Pi GPIO UART e Arduino qui: http://www.andremiller.net/content/raspberry-pi-and-arduino-via-gpio-uart

Tutti i commenti sono benvenuti, funziona, ma avrei potuto sbagliare :)


1

In realtà ho riscontrato lo stesso problema e l'ho risolto eseguendo un barebone atmega328 con un bootloader Arduino a 3,3 volt, ma a 8 MHz. Gli 8 Mhz possono causare problemi se si hanno requisiti di temporizzazione rigidi. Io stesso sto solo pensando di usare Arduino per generare PWM per una striscia led rgb, quindi va bene se la frequenza del pwm è la metà della norma. I miei test preliminari finora hanno indicato che Arduino può ricevere il messaggio bene.


1

Esiste una soluzione semplice che è possibile rimuovere qualsiasi fonte di alimentazione esterna di Arduino e collegare il pin GPIO di Raspberry Pi da 1 a 5 v pin di Arduino utilizzando il cavo jumper in modo che l'alimentazione principale di Arduino sia 3,3 v e tutti i suoi pin avranno 3,3 v anziché 5 v. Ora puoi collegare direttamente i pin Uart di Pi e Arduino. Ha funzionato per me.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.