Paso 3: Configurar la secuencia de comandos de Python
En este paso podrá configurar el script de python cuyo trabajo es:
- Interfaz con el Arduino
- Analizar los valores de aceleración cruda
- Sintetizar notas basadas en datos
Prefacio
Aquí que voy explicando paso por paso cómo fue escrita la secuencia de comandos de Python, pero si desea el código final para ver si su sistema de trabajo usted puede conseguirlo aquí: https://github.com/aehernandez/Accordion-Master/bl...
Esta parte del instructable debe realizarse en su computadora de escritorio en cualquier distribución de Linux. Debe tener python 2.7 ya está en marcha. Otras dependencias cubrirá más abajo. Si usted está tan inclinado también también es posible ejecutar este programa en un Raspberry Pi (de hecho el código de Arduino puede todos ser portado a la Pi, que sería un buen mini-proyecto futuro: D). No cubrir en este tutorial, pero si explorar esa avenida no dude en contactarme para ayuda.
En cualquier directorio cree un archivo (con cualquier nombre). Por ejemplo he utilizado en mi directorio home: accordian_comm.py
Interfaz con el Arduino
Dos dependencias se requiere interfaz con Python en arduino: sys y serial.
import sys import serial # Search for the open serial ports, the first one found is assumed to belong to the Arduino board for i in range(256): try: ser = serial.Serial("/dev/ttyUSB{}".format(i) , 9600) print "Found first open serial port: USB{}".format(i) limit = i; break except serial.SerialException and OSError: if i == 255: print "fatal error: no open port found\nMake sure your Arduino board is connected" sys.exit() pass
En el código anterior buscamos el sistema actual de puertos abiertos de la velocidad en baudios 9600. Un supuesto fatal es que el primero abierto, es de hecho la placa Arduino. Aunque no es la manera correcta de hacer las cosas, para la mayoría de configuraciones será correcta. "/ dev/ttyUSB *" es donde se asignan los dispositivos USB a en el sistema operativo Linux.
Lo que es importante aquí es la variable de "ser" que es un objeto de puerto Serial a nuestro Arduino. Mirar la documentación de pySerial vemos que esto nos da acceso a funciones tales como lectura, escritura y isAvailable. Estos son los métodos que usaremos para interfaz con el arduino para realizar comunicación en serie.
Analizar los datos de Arduino
Una discusión en el análisis de los datos en Python para venir. Por favor, consulte el código en github por ahora!
Gracias por leerme!