Raspberry Pi e Arduino são as duas placas de código aberto mais populares na comunidade de eletrônicos. Eles não são populares apenas entre os engenheiros eletrônicos, mas também entre estudantes e entusiastas, por causa de sua facilidade e simplicidade. Até mesmo algumas pessoas começaram a gostar de eletrônicos por causa do Raspberry Pi e do Arduino. Essas placas têm grandes poderes, e pode-se construir um projeto muito complicado e de alta fidelidade em poucos passos simples e pouca programação.
Nós criamos vários projetos e tutoriais Arduino, desde os mais simples aos mais complicados. Também criamos uma série de tutoriais do Raspberry Pi, onde qualquer pessoa pode começar a aprender do 'zero'. Esta é uma pequena contribuição para a Comunidade Eletrônica da nossa parte e este portal tem se mostrado um Grande Recurso de Aprendizagem para Eletrônica. Então, hoje estamos trazendo essas duas grandes placas juntas pela interface do Arduino com o Raspberry Pi.
Neste tutorial, estabeleceremos uma comunicação serial entre o Raspberry Pi e o Arduino Uno. O PI tem apenas 26 pinos GPIO e nenhum canal ADC, então quando fazemos projetos como uma impressora 3D, o PI não pode fazer todas as interações sozinho. Portanto, precisamos de mais pinos de saída e funções adicionais, para adicionar mais funções ao PI, estabelecemos uma comunicação entre PI e UNO. Com isso podemos usar todas as funções do UNO como se fossem funções do PI.
Arduino é uma grande plataforma para desenvolvimento de projetos, tendo muitas placas como Arduino Uno, Arduino Pro mini, Arduino Due etc. Elas são placas baseadas em controlador ATMEGA projetadas para Engenheiros Eletrônicos e Hobbyists. Embora existam muitas placas na plataforma Arduino, o Arduino Uno tem muitos agradecimentos, por sua facilidade de fazer projetos. O ambiente de desenvolvimento de programa baseado em Arduino é uma maneira fácil de escrever o programa quando comparado a outros.
Componentes necessários:
Aqui, estamos usando Raspberry Pi 2 Model B com Raspbian Jessie OS e Arduino Uno. Todos os requisitos básicos de hardware e software, em relação ao Raspberry Pi, foram discutidos anteriormente, você pode procurá-los na introdução do Raspberry Pi, exceto o que precisamos:
- Pinos de conexão
- Resistor 220Ω ou 1KΩ (2 peças)
- CONDUZIU
- Botão
Explicação do circuito:
Conforme mostrado no diagrama de circuito acima, conectaremos o UNO à porta PI USB usando o cabo USB. Existem quatro portas USB para PI; você pode conectá-lo a qualquer um deles. Um botão é conectado para inicializar a comunicação serial e LED (pisca) para indicar que os dados estão sendo enviados.
Explicação de trabalho e programação:
Parte Arduino Uno:
Primeiro vamos programar o UNO, Conecte o UNO ao PC primeiro e, em seguida, escreva o programa (consulte a seção Código abaixo) no software Arduino IDE e carregue o programa no UNO. Em seguida, desconecte o UNO do PC. Conecte o UNO ao PI após a programação e conecte um LED e um botão ao UNO, conforme mostrado no diagrama de circuito.
Agora o programa aqui inicializa a Comunicação Serial da UNO. Quando pressionamos o botão anexado ao UNO, o UNO envia alguns caracteres para o PI serialmente através da porta USB. O LED conectado ao PI pisca para indicar os caracteres que estão sendo enviados.
Parte Raspberry Pi:
Depois disso, temos que escrever um programa para PI (seção Check Code abaixo), para receber esses dados sendo enviados pelo UNO. Para isso, precisamos entender alguns comandos declarados abaixo.
Vamos importar arquivo serial da biblioteca, esta função nos permite enviar ou receber dados serialmente ou pela porta USB.
import serial
Agora, precisamos indicar a porta do dispositivo e a taxa de bits do PI para receber os dados do UNO sem erros. O comando abaixo afirma que estamos habilitando a comunicação serial de 9600 bits por segundo na porta ACM0.
ser = serial.Serial ('/ dev / ttyACM0', 9600)
Para descobrir a porta à qual o UNO está conectado, vá até o terminal do PI e entre
ls / dev / tty *
Você terá a lista de todos os dispositivos conectados no PI. Agora conecte o Arduino Uno ao Raspberry Pi com o cabo USB e digite o comando novamente. Você pode identificar facilmente a porta conectada ao UNO na lista exibida.
O comando abaixo é usado como um loop permanente, com este comando as instruções dentro deste loop serão executadas continuamente.
Enquanto 1:
Após receber os dados em série estaremos exibindo os caracteres na tela do PI.
imprimir (ser.readline ())
Assim, após o botão, anexado ao UNO, ser pressionado, veremos os caracteres sendo impressos na tela do PI. Portanto, estabelecemos um handshake de comunicação básico entre o Raspberry Pi e o Arduino.