Comunicação GPIO-UART-para-Arduino

12

Eu tenho tentado, sem sorte, fazer o Raspberry Pi falar com um Arduino. Estou usando um conversor de 3,3 V a 5 V para trocar tensões. Coloquei um LED no pino UART TX e parece que estava invertendo os dados. Se isso for verdade, de que circuito eu preciso para que ele se comunique com o Arduino?

Estou usando um conversor de nível lógico de componentes legais . É um transistor para 3,3 V a 5 V e resistor para 5 V a 3,3 V.

Setithing
fonte

Respostas:

3

Você também pode usar um único MOSFET de aprimoramento de n canais para cada pino, se houver alguns deles por perto. Consulte a publicação dos dispositivos Raspberry Pi e I2C de voltagem diferente ou a página 43 na especificação do barramento I²C . Como você só precisa de dois pinos, isso pode ser suficiente.

teraquendya
fonte
Eu usei essa abordagem conectando meu Pi ao meu Arduino. Este post tem fotos de uma placa de ensaio e um diagrama muito claro se você não super confiante: fritz-hut.com/connecting-an-arduino-and-raspberry-pi
Stefan Mohr
2

Estou usando um CD4050 para fazer a conversão de nível de 5V para 3.3V e também para atuar como um buffer para proteger meu Raspberry Pi. O Arduino deve considerar 3.3V como um ponto alto lógico, portanto, você não precisa converter de 3.3V para 5V (permaneço corrigido aqui, de acordo com a página do Arduino, qualquer voltagem acima de 3V é considerada alta como ponto alto).

Eu montei um exemplo rápido do uso do CD4050, Raspberry Pi GPIO UART e Arduino aqui: http://www.andremiller.net/content/raspberry-pi-and-arduino-via-gpio-uart

Quaisquer comentários são bem-vindos, está funcionando, mas eu posso ter feito errado :)

Andre Miller
fonte
1

Na verdade, já deparei com o mesmo problema e o resolvi executando um barmone atmega328 com um carregador de inicialização Arduino a 3,3 volts, mas a 8 MHz. Os 8 MHz podem causar um problema se você tiver requisitos de tempo rigorosos. Eu, só estou pensando em usar o Arduino para gerar PWM para uma faixa de led rgb, então tudo bem se a frequência do pwm for metade da normal. Até agora, meus testes preliminares indicaram que o Arduino pode receber a mensagem muito bem.

Gus Reiter
fonte
1

Existe uma solução simples que você pode remover qualquer fonte de energia externa do Arduino e conectar o pino GPIO do Raspberry Pi 1 a 5v do Arduino usando fio de jumper para que a energia principal do Arduino seja 3,3v e todos os seus pinos tenham 3,3v em vez de 5v. Agora você pode conectar diretamente os pinos Uart do Pi e do Arduino. Trabalhou para mim.

Tirath Singh
fonte