Arduino Frambuesa Pi lograr un control por pyFirmata

Autor: Rishabh Jain
compilación Tony

Frambuesa Pi control de Arduino

Aunque los términos de su aplicación y estructura, Frambuesa Pi y Arduino son dos equipos diferentes, pero se considera que son dos compitiendo plataforma de hardware libre. Ambos tienen una comunidad muy fuerte y apoyo. Hoy vamos a hacer algunos cambios, y le mostrará cómo usarlos. Si tiene tanto bordo pi Arduino y frambuesa, entonces este artículo le mostrará cómo utilizar la frambuesa pi y Python control de Arduino .

Vamos a utilizar PyFirmata firmware envía comandos a Arduino mediante script en Python Frambuesa Pi. PyFirmata esencialmente, las construcciones de programa de Python paquete de biblioteca, que pueden ser montados en Arduino para permitir la comunicación serie entre el pitón y la secuencia de comandos Arduino en cualquier ordenador. El paquete python puede acceder a cualquiera de los pines en la Arduino. Así pues, aquí vamos a utilizar el programa PI pitón frambuesa que se ejecuta en el Arduino.

Por lo tanto, en este tutorial, vamos a utilizar la biblioteca, y utilizarlo para controlar el desarrollo Arduino Arduino Pi de la frambuesa .

reclamación

  • Raspbian sistema operativo instalado Frambuesa Pi
  • Arduino Uno o cualquier otra tarjeta de desarrollo Arduino
  • Arduino USB Line
  • LED

En este tutorial, voy a conectar con Frambuesa Pi utilizando un monitor externo a través del cable HDMI. Si no hay un monitor, puede utilizar el cliente SSH (como masilla) o un servidor VNC es conectado a frambuesa pi o un ordenador portátil.

Frambuesa Pi PyFirmata montado en uso en Arduino

Para cargar el firmware PyFirmata Arduino, hay que instalar Arduino IDE en el Raspberry Pi. La instalación de acuerdo con los siguientes pasos:

  • * Paso 1: Conectar a Internet ** Frambuesa Pi. Terminal y abierto escriba el comando siguiente y, a continuación, pulse Intro
sudo apt-get -y install arduino python-serial mercurial

Espere unos minutos, tomará algún tiempo. Este comando instalará Arduino IDE en su Frambuesa Pi.

  • ** Paso 2: ** Ahora, vamos a utilizar el archivo de instalación pyFirmata github se especifica:
git clone  https://github.com/tino/pyFirmata

A continuación, ejecute el siguiente comando:

cd pyFirmata 
sudo python setup.py install
  • Paso 3: Hemos instalado todos los archivos y configuraciones necesarias.

Ahora, con el cable USB Arduino Frambuesa Pi Juntas y conectada, a continuación, escriba en el IDE de Arduino Arduino inicia ventana de terminal.

Inicio Arduino

  • ** Paso 4: - ** y el comando lsusb tipo para comprobar si la conexión con Arduino Frambuesa Pi.

En el IDE de Arduino, vaya a Herramientas, a continuación, seleccione la tabla y puerto serie.

  • Paso 5 **: ** haciendo clic en Archivo -> Ejemplo -> Firmware -> firmware estándar, y luego haga clic en el botón de carga para cargar el firmware en el Arduino PyFirmata, como se muestra a continuación.

carga del firmware

Tenemos pyFirmata firmware de la tarjeta Arduino instalado correctamente. Ahora, podemos utilizar el control Frambuesa Pi Arduino.

Para demostrarlo, vamos a hacer LED parpadeante en el Arduino y calificado por la escritura de código Python en Raspberry Pi.

código Descripción

Para la sección de codificación, debe leer la documentación pyFirmata para comprender mejor, vamos a utilizar el código de función pyFirmata.

Abra su editor de texto favorito en su Frambuesa Pi, y luego importar la biblioteca pyFirmata.

import pyfirmata

Arduino se define en la clavija para conectar el LED

led_pin = 9

Ahora, tenemos que utilizar pyfirmata.Arduino () la función de conexión a bordo de escritura Arduino nombre de puerto serie , a continuación, crear una instancia de la asignación del puerto por la variable bordo.

board = pyfirmata.Arduino("/dev/ttyACM0")
print "Code is running”

En el bucle while, utilizando board.digital []. Write () la función LED PIN es alta y baja, utilizando board.pass_time función para proporcionar retardo.

while True:
    board.digital[led_pin].write(0)
    board.pass_time(1)        
    board.digital[led_pin].write(1)
    board.pass_time(1)

Nuestro código está listo para guardar el archivo en el código por la extensión .py.

Abrir un terminal de comandos, y el tipo blink.py Python para ejecutar el código placa Arduino. Asegúrese de utilizar un cable USB está conectado con el desarrollo de juntas de las placas Arduino Frambuesa Pi.

Ahora se puede ver el LED parpadea Arduino bordo.

PyFirmata calificó mediante el LED en el Arduino

Ahora, vamos a escribir el código para el gradiente de LED para que esté más familiarizado con la función pyFirmata. Este código es el mismo que con un simple código. Debe utilizar dos bucles, uno para aumentar el brillo y el otro para el menor brillo.

En este código, definimos los pasadores de diferentes maneras, tales como LED = board.get_pin ( 'd :. 9: P') , en el que d representa los pines digitales. Se trata de una biblioteca funcional pyFirmata, parte del código de la siguiente manera:

led = board.get_pin('d:9:p')            
while True:
# increase
    for i in range(0, 10):
        brightness = brightness + 0.1
        print "Setting brightness to %s" % brightness
        led.write(brightness)
        board.pass_time(delay)

Ahora puede agregar más sensores en el sistema, intenta utilizar los scripts pi y Python frambuesa para construirlas.

fenómeno

Coloque el código completo:

#Python code for LED blink:
import pyfirmata
led_pin = 9
board = pyfirmata.Arduino("/dev/ttyACM0")

while True:
    board.digital[led_pin].write(0)
    board.pass_time(1)
    board.digital[led_pin].write(1)
    board.pass_time(1)

#Python code for Fading LED:
import time
import pyfirmata

delay = 0.3
brightness = 0
board = pyfirmata.Arduino("/dev/ttyACM0")
led = board.get_pin('d:9:p')    
        
while True:
# increase
    for i in range(0, 10):
        brightness = brightness + 0.1
        print "Setting brightness to %s" % brightness
        led.write(brightness)
        board.pass_time(delay)

# decrease
    for i in range(0, 10):
        print "Setting brightness to %s" % brightness
        led.write(brightness) 
        brightness = brightness - 0.1     
        board.pass_time(delay)

Enfoque en número público de micro-canales: TonyCode
el grupo de intercambio de aprendizaje de Arduino: 868 283 450

Más, celebro la atención del número público. Barra el micro-canal para seguir el código Fanger Wei:
Micro código de búsqueda de canales añadió número público: TonyCode

Publicado 63 artículos originales · ganado elogios 250 · Vistas de 230.000 +

Supongo que te gusta

Origin blog.csdn.net/TonyIOT/article/details/103108413
Recomendado
Clasificación