Ligar o pi framboesa e do arduino

Algumas pessoas vêem o Arduino e Raspberry Pi como placas rivais, mas este não é o caso em tudo. Se qualquer coisa, eles são complementares - a fraqueza de um é a força do outro. Aqui estão três maneiras de conectar um Arduino e um Pi Raspberry.

USB

Basta conectar o conector USB do Raspberry Pi ao conector USB do Arduino. Isso é tudo que você precisa fazer. Há uma ligeira bola curva em que Pi pode potencialmente atribuir o Arduino uma de duas portas, por isso, quando a abertura da porta série para o Arduino, utilizar o seguinte fragmento de código:

Video: Arduino + Raspberry Pi = RaspDuino

importação serialtry: Ser = serial.Serial ( `/ dev / ttyACM0`, 115,200, o tempo limite = 2), excepto: Ser = serial.Serial ( `/ dev / ttyACM1`, 115,200, o tempo limite = 2)

Isso pressupõe que você tenha configurado o código no Arduino para usar a porta serial, ao mesmo 115200 taxa de transmissão com um comando de começar:

Serial.begin (115200)

Você pode usar qualquer taxa de transmissão que os dois sistemas podem usar, mas eles têm que combinar. No lado do Pi, use ser.write () para enviar o que está nos suportes ao Arduino e volta = ser.read (1) para obter um byte de volta. Se não houve nada recebidas após o período de tempo limite definido quando abrir a porta, a chamada retorna. Você pode obter o maior número de bytes de volta a partir desta chamada como você colocar nos suportes.

Video: Webcam server con Raspberry Pi

Serial



Isso funciona em software muito parecido com USB, mas aqui você conectar os pinos GPIO no Raspberry Pi aos pinos TX e RX no Arduino. Este método pode ser útil se você tem um Arduino com mais de uma porta serial, como o Arduino Mega. O único problema é que se você estiver usando um 5V Arduino, você precisa de alguns circuitos nível movediças. Para receber um sinal de 5V para o Pi, um divisor resistivo simples será suficiente, mas em ir de 3V3 até 5V você precisa de um transistor.

Qualquer uso geral NPN transistor podem ser usados ​​aqui. Você pode se comunicar da mesma forma como o serial USB, exceto que você sempre obter a porta ttyACM0.

Para ambos os métodos de série, você está transferindo não bytes números. Se você tiver problemas com isso, talvez algum outro software de instalação mudou o funcionamento padrão do seu porta serial no lado do Pi. Se assim for, pesquisa on-line para os sintomas de seu problema específico.

Eu2C

o I2C (pronuncia-se “I quadrado C”, mas I2C muitas vezes escrito) pode ser usado para conectar os dois juntos. o I2C sistema é um arranjo mestre / escravo - apenas o mestre envia ou solicita dados. O Raspberry Pi não é muito bem adaptado para ser um I2C escravo, então você tem que fazê-lo o mestre. O barramento requer resistências pull-up, que já estão em GPIO pinos 2 e 3 sobre o Pi framboesa. Infelizmente, o 5V Arduino tem seu interna resistor pull-up habilitado se você estiver usando o I padrão2biblioteca C chamada “Wire” - porque este é puxando as linhas até 5V, poderia prejudicar a sua Pi. Então você vai ter que cortar a biblioteca fio (aquele usado para I2C) ou, ainda melhor, utilizar uma biblioteca que permite o controle das resistcias internas de pull-up como a encontrada em Github.com. A conexão é então simples. Note-se que há um exemplo de como usar o Arduino como um I2escravo C na secção de exemplos do IDE Arduino.

Video: Arduino Camera IP Wifi Control

Se você não quiser alterar o software, você terá que usar um I2C circuito de deslocação de nível.


Publicações relacionadas