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.

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.


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


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.


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.