Envio de dados do Beaglebone Black para Arduino por meio de UART (Parte 7/15)

Envio de dados do Beaglebone Black para Arduino por meio de UART (Parte 7/15)

Este tutorial representa a comunicação entre o Beaglebone black e o Arduino através do UART. Você não precisa de nenhum outro periférico para este tutorial. UART significa receptor e transmissor assíncrono universal. Ele transmite e recebe dados de forma assíncrona com outro dispositivo que também suporta o protocolo UART.

Ferramentas necessárias:

  • Beaglebone preto
  • Arduíno
  • Conectores fêmea para fêmea

Configuração do ambiente de software

Instale a versão mais recente do python no BBB conforme explicado no tutorial Como fazer o primeiro programa python com Beaglebone Black. Instale a biblioteca adafruit python-GPIO.

Trabalhando

Beaglebone transmite a mensagem que é inserida no prompt de comando e o Arduino recebe os dados e os exibe no terminal serial do Arduino. Execute o script python do terminal SSH e ao mesmo tempo abra o serial do Arduino no PC. Escreva alguma mensagem do terminal SSH. BBB transfere os dados através do UART que são então recebidos pelo Arduino e exibidos no terminal serial.

Descrição

BBB tem no chip cinco portas UART, cada uma contendo dois pinos: pino RX e pino TX para receber e transmitir, respectivamente. Neste tutorial, o UART1 é usado para comunicação com o Arduino. Aqui, o BBB atua como transmissor e o Arduino como receptor. Conecte o pino de transmissão UART1 (24º pino do cabeçalho P9) do BBB para o pino de recebimento (pino número 10º) do Arduino. Usei o software UART no Arduino, por isso o conectei ao pino número 10º (declarei 10º e 11º pin como RX e TX no programa respectivamente). Faça a conexão de aterramento comum entre o Arduino e o BBB, necessária para a comunicação.

Abra o terminal de comando e acesse o Beaglebone black através do SSH conforme explicado em começando com Beaglebone preto. Crie um novo arquivo usando tocar comando com .py extensão (ou seja, led.py). Abra o arquivo com qualquer editor de texto (ou seja, nano, vim etc.) e escreva um código em linguagem python.

Conecte o Arduino ao PC através do cabo USB. Abra-o e escreva um código para receber dados em linguagem C. Para obter ajuda, você pode consulte o tutorial como instalar e executar o Arduino no Linux.

Configuração UART no BBB

Você precisa importar o UART no programa para usar o dispositivo I2C. Você pode criar sua própria biblioteca, mas isso consumiria mais tempo. Portanto, pode ser usada a biblioteca Ad Fruit, que fornece todos os tipos de biblioteca python do BBB.

importar Adafruit_BBIO.UART como UART

Importe também o serial da biblioteca python. Ele encapsula o acesso à porta serial.

importar série

Configure o UART seguindo a função:

UART.setup (“UART1”)

serial.Serial (porta = “/dev/ttyO1”, taxa de transmissão=9600)

A primeira função é instalação e configuração do UART1. A segunda função acessa o dispositivo serial com taxa de transmissão definida. Encontre a porta do dispositivo conectada ao UART na lista abaixo e acesse-a.

Magnetômetro em interface com Beaglebone preto

Agora você pode transmitir e receber dados através do UART. Você pode fechar a porta quando não quiser usá-la.

Configuração do Arduino

Escreva um código-fonte receptor no Arduino e carregue-o no Arduino Uno. Após o recebimento dos dados, eles serão exibidos no terminal serial.

Execute o script no terminal:

Digite o seguinte comando com o nome do arquivo no prompt de comando:

nome do arquivo python.py

ou seja, python uart.py

Código fonte do projeto

 

Código fonte do projeto

###

// UART.C

#incluir

SoftwareSerial uart(10,11);
configuração nula { Serial.begin(9600); uart.begin(9600); } loop vazio { if(uart.disponível > 0) { Serial.write(uart.read ); } } // importar Adafruit_BBIO.UART como UART importar série UART.setup("UART1") disp = serial.Serial (porta = "/dev/ttyO1", taxa de transmissão = 9600) disp.close disp.open enquanto Verdadeiro: se disp.isOpen : imprima "Serial está aberto" mensagem = raw_input("Digite sua mensagem:n") disp.write(mensagem) disp.write("n") exit = raw_input("Você deseja sair ou não YN:") while ((saída! = 'Y') e (saída! = 'N') e (saída! = 'y') e (saída! = 'n')): imprima "Entrada inválida !!! n" exit = raw_input("Você deseja sair ou não YN:") if (saída == 'Y') ou (saída == 'y'): quebrar outro: print "Para continuar....n" print "Desculpe!!! Você não consegue se comunicar com o dispositivo" disp.close

###

Diagramas de circuito

dados do beaglebone-arduino-usando-UART

Vídeo do projeto

Conteúdo Relacionado

Uma rede de sensores é incorporada em todos os...
O controlador do motor é um dos componentes mais...
ESP32-CAM é um módulo de câmera compacto que combina...
A evolução dos padrões USB foi fundamental para moldar...
A SCHURTER anuncia um aprimoramento para sua conhecida série...
A Sealevel Systems anuncia o lançamento da Interface Serial...
A STMicroelectronics introduziu Diodos retificadores Schottky de trincheira de...
Determinar uma localização precisa é necessário em várias indústrias...
O novo VIPerGaN50 da STMicroelectronics simplifica a construção de...
A Samsung Electronics, fornecedora de tecnologia de memória avançada,...
O mercado embarcado tem uma necessidade de soluções de...
Você provavelmente já se deparou com o termo 'arrastar'...
Você provavelmente tem um Isolador de suporte Se você...
Você provavelmente já viu permanecer um isolante sente-se em...
Você provavelmente já viu Isoladores de manilha entronizados em...
Você provavelmente já passou por situações em que o...
Torna al blog

Lascia un commento

Si prega di notare che, prima di essere pubblicati, i commenti devono essere approvati.