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

Envío de datos desde Beaglebone Black a Arduino a través de UART (Parte 7/15)

Este tutorial representa la comunicación entre Beaglebone black y Arduino a través de UART. No necesitas ningún otro periférico para este tutorial. UART significa receptor y transmisor asíncrono universal. Transmite y recibe datos de forma asincrónica con otro dispositivo que también admita el protocolo UART.

Herramientas necesarias :

  • Hueso de beagle negro
  • arduino
  • Conectores hembra a hembra

Configuración del entorno de software

Instale la última versión de Python en BBB como se explica en el tutorial Cómo crear el primer programa de Python con Beaglebone Black. Instale la biblioteca adafruit python-GPIO.

Laboral

Beaglebone transmite el mensaje que se ingresa en el símbolo del sistema y Arduino recibe los datos y los muestra en el terminal serial de Arduino. Ejecute el script Python desde la terminal SSH y al mismo tiempo abra el serial Arduino en la PC. Escriba algún mensaje de terminal SSH. BBB transfiere los datos a través del UART que luego son recibidos por Arduino y mostrados en el terminal serie.

Descripción

BBB tiene cinco puertos UART en el chip, cada uno de los cuales contiene dos pines: pin RX y pin TX para recibir y transmitir, respectivamente. En este tutorial, se utiliza UART1 para comunicarse con Arduino. Aquí, el BBB actúa como transmisor y el Arduino como receptor. Conecte el pin de transmisión UART1 ( pin 24 del encabezado P9) del BBB al pin de recepción (número de pin 10 ) del Arduino. Utilicé el software UART en Arduino, así que lo conecté al pin número 10 (declaré los pines 10 y 11 como RX y TX en el programa respectivamente). Realice la conexión a tierra común entre Arduino y BBB, necesaria para la comunicación.

Abra la terminal de comando y acceda a Beaglebone black a través de SSH como se explica en Introducción a Beaglebone black. Cree un nuevo archivo usando el comando reproducir con extensión .py (es decir, led.py). Abra el archivo con cualquier editor de texto (es decir, nano, vim, etc.) y escriba el código en lenguaje Python.

Conecte el Arduino a la PC mediante el cable USB. Ábralo y escriba el código para recibir datos en lenguaje C. Para obtener ayuda, puede consultar el tutorial sobre cómo instalar y ejecutar Arduino en Linux.

Configuración de UART en BBB

Debe importar el UART al programa para usar el dispositivo I2C. Puede crear su propia biblioteca, pero llevaría más tiempo. Por lo tanto, se puede utilizar la biblioteca Ad Fruit, que proporciona todos los tipos de biblioteca Python de BBB.

importar Adafruit_BBIO.UART como UART

También importe la serie desde la biblioteca de Python. Encapsula el acceso al puerto serie.

serie de importación

Configure la UART siguiendo la función:

Configuración.UART (“UART1”)

serial.Serial (puerto = “/dev/ttyO1”, velocidad en baudios = 9600)

La primera función es la instalación y configuración de UART1. La segunda función accede al dispositivo serie con velocidad de transmisión definida. Busque el puerto del dispositivo conectado a UART en la lista a continuación y acceda a él.

Magnetômetro em interface com Beaglebone preto

Ahora puedes transmitir y recibir datos a través de UART. Puedes cerrar la puerta cuando no quieras usarla.

Configuración de Arduino

Escriba el código fuente del receptor en Arduino y cárguelo en Arduino Uno. Después de recibir los datos, se mostrarán en el terminal serie.

Ejecute el script en la terminal:

Ingrese el siguiente comando con el nombre del archivo en el símbolo del sistema:

nombre del archivo python.py

es decir, python uart.py

Código fuente del proyecto

Código fuente del proyecto

###

 // UART.C

#incluir

SoftwareSerial uart(10,11);
configuración nula { Serie.begin(9600); uart.begin(9600); } bucle vacío { si(uart.disponible > 0) { Serie.write(uart.read); } } // importar Adafruit_BBIO.UART como UART serie de importación Configuración.UART("UART1") disp = serial.Serial (puerto = "/dev/ttyO1", velocidad en baudios = 9600) disp.cerrar disp.abierto mientras que Verdadero: si disp.isOpen: imprimir "El número de serie está abierto" mensaje = raw_input("Ingrese su mensaje:n") disp.write(mensaje) disp.write("n") exit = raw_input("¿Quieres salir o no YN:") mientras ((salida! = 'Y') y (salida! = 'N') y (salida! = 'y') y (salida! = 'n')): imprimir "¡¡¡Entrada no válida!!!n" exit = raw_input("¿Quieres salir o no YN:") si (salida == 'Y') o (salida == 'y'): romper otro: imprimir "Para continuar....n" imprimir "¡¡¡Lo siento!!! No puedes comunicarte con el dispositivo" disp.cerrar

###

Diagramas de circuito

beaglebone-arduino-usando-datos-UART

Vídeo del proyecto

Conteúdo Relacionado

En cada vehículo hay una red de sensores integrada...
El controlador del motor es uno de los componentes...
ESP32-CAM es un módulo de cámara compacto que combina...
La evolución de los estándares USB ha sido fundamental...
SCHURTER anuncia una mejora de su popular serie SWZ...
Visual Communications Company (VCC) ha anunciado sus nuevos tubos...
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...
Probablemente se haya encontrado con el término " resistencia...
Probablemente tenga un aislante de soporte si ha notado...
Probablemente haya visto un aislante colocado en postes de...
Probablemente hayas visto aisladores de grillete entronizados en postes...
Probablemente hayas experimentado situaciones en las que controlar un...
Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.