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.
Conteúdo
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.