Tabla de contenido:

Conexión de Processing y Arduino y haga un controlador GUI de 7 segmentos y servo: 4 pasos
Conexión de Processing y Arduino y haga un controlador GUI de 7 segmentos y servo: 4 pasos

Video: Conexión de Processing y Arduino y haga un controlador GUI de 7 segmentos y servo: 4 pasos

Video: Conexión de Processing y Arduino y haga un controlador GUI de 7 segmentos y servo: 4 pasos
Video: 🆕 Como ACCIONAR un SERVOMOTOR con DOS PULSADORES utilizando un ARDUINO | Mover SERVO con BOTONES. 2024, Noviembre
Anonim
Conectando Processing y Arduino y Make 7 Segment y Servo GUI Controller
Conectando Processing y Arduino y Make 7 Segment y Servo GUI Controller

Para algunos proyectos que hizo, debe usar Arduino, ya que proporciona una plataforma de creación de prototipos fácil, pero mostrar gráficos en el monitor en serie de Arduino puede llevar bastante tiempo e incluso es difícil de hacer. Puede mostrar gráficos en el monitor serie Arduino, pero los gráficos no son lo único que necesita mostrar. Todos los objetos interactivos como controles deslizantes, botones, programas con salida 2D, 3D, PDF o SVG y también puede crear animaciones fácilmente. El modo de programación predeterminado para el procesamiento es Java, pero puede cambiarlo a Android, p5.js, REPL, CoffeeScript y JavaScript. Sin embargo, en este Instructable usaremos el modo de programación Java.

Todo el contenido y el código también están disponibles en mi github aquí.

Paso 1: uso de Processing.serial

Código de procesamiento

Las dos primeras líneas de código serán

procesamiento de importación.serie. *; Serial myPort;

Aquí en la primera línea estamos importando la biblioteca - procesando y en la segunda línea estamos creando un objeto de la clase Serial llamado myPort, puedes nombrarlo como quieras siguiendo las reglas de nombrar un identificador.

En el procesamiento, tenemos void setup () y void draw () donde void es el tipo de retorno de la función, también puede cambiarlo a int setup () e int draw () u otro tipo de datos que desee, pero deberá devolver un valor que tiene el mismo tipo de datos que el tipo de datos que usa antes de las funciones.

en setup () escribimos las declaraciones que necesitamos ejecutar una vez, mientras que en draw () escribimos las declaraciones que necesitamos ejecutar varias veces. Las dos líneas de código mencionadas anteriormente deben escribirse sobre void setup () porque necesitan tener acceso global.

En la configuración void () inicializaremos el objeto myPort.

configuración vacía () {

tamaño (800, 800);

myPort = new Serial (esto, "COM18", 9600);

}

El tamaño de la línea (800, 800); define el tamaño de la pantalla que es de 800 píxeles por 800 píxeles.

La palabra clave new en la segunda línea se usa para reservar espacio para el objeto en la memoria, el argumento this es una variable de referencia que se refiere al objeto actual. El argumento COM18 es el puerto de Arduino conectado, lo necesitamos ya que transportaremos los datos a través de la interfaz en serie. El número 18 puede ser diferente en su caso, puede encontrarlo en Herramientas> Puerto en el IDE de Arduino y 9600 es la velocidad en baudios que puede cambiar tanto en Arduino como en Procesamiento.

Paso 2: comprender la clase serial

El constructor de Serial

Serie (padre, nombre de puerto, velocidad en baudios, paridad, bits de datos, bits de parada)

Argumentos:

padre: normalmente usa "esto"

baudRate (int): 9600 es el valor predeterminado

portName (String): nombre del puerto (COM1 es el predeterminado)

parity (char): 'N' para ninguno, 'E' para par, 'O' para impar, 'M' para marca, 'S' para espacio ('N' es el valor predeterminado)

dataBits (int): 8 es el valor predeterminado

stopBits (flotante): 1.0, 1.5 o 2.0 (1.0 es el valor predeterminado)

Métodos importantes:

  1. myPort.available (): devuelve el número de bytes disponibles.
  2. myPort.clear (): vacía el búfer y elimina todos los datos almacenados allí.
  3. myPort.read (): devuelve un número entre 0 y 255 para el siguiente byte que está esperando en el búfer.
  4. myPort.readString (): devuelve todos los datos del búfer como una cadena o nulo si no hay nada disponible.
  5. myPort.write ("prueba"): escribe bytes, caracteres, entradas, bytes , cadenas en el puerto serie.
  6. myPort.stop () - Stps la comunicación de datos en el puerto.

Paso 3: Clase de serie Arduino

No es necesario importar la clase serial en Arduino antes de usarla.

En Arduino hay 2 funciones llamadas setup () y loop (), la configuración se ejecuta solo una vez, pero el ciclo se ejecuta varias veces. En setup () necesitamos escribir, use el método begin () para iniciar la comunicación en serie. En Arduino, a diferencia del procesamiento, no necesitamos mencionar el puerto como los argumentos del método begin () ya que ya especificamos el puerto mientras cargamos el boceto en Arduino.

Entonces, la configuración () se verá así:

configuración vacía () {

Serial.begin (9600); // iniciar la comunicación en serie

}

9600 aquí especifica la velocidad en baudios que también habíamos mencionado en el archivo de procesamiento. Para una comunicación adecuada, ambas velocidades en baudios deben ser iguales o puede que vea la salida en serie como algo sin sentido.

Ahora veamos la parte de loop (). Esta parte del código se ejecuta varias veces. Si queremos leer algunos datos por el puerto usaremos el método Serial.read (). Esta función devuelve nulo si no hay datos disponibles, por lo que llamaremos a este método solo cuando tengamos algunos datos disponibles en la secuencia serial.

Para verificar si hay algunos datos disponibles, usaremos el método Serial.available (). Si devuelve un valor mayor que 0, hay algunos datos disponibles.

Entonces, la parte loop () se verá así:

bucle vacío () {

if (Serial.available ()> 0) {// si algunos datos están disponibles en el puerto serie

char estado = Serial.read (); // lee el valor

// declaraciones if o cambiar mayúsculas y minúsculas

}

}

Ahora podemos usar if ladder o si hay muchos resultados posibles, también podemos usar switch case para el estado variable.

Paso 4: Construya un controlador de segmento GUI de 7

Construya un controlador de segmento GUI de 7
Construya un controlador de segmento GUI de 7
Construya un controlador de segmento GUI de 7
Construya un controlador de segmento GUI de 7
Construya un controlador de segmento GUI de 7
Construya un controlador de segmento GUI de 7

Los archivos se adjuntan aquí. Nota: Para procesar, también necesitará instalar la biblioteca de control p5 que he usado para crear botones interactivos GUI.

Números de pin

7 segmentos (en orden alfabético) consulte la imagen

a - pin digital 2

b - pin digital 3

c - pin digital 4

d - pin digital 5

e - pin digital 6

f - pin digital 7

g - pin digital 8

dp - pin digital 9

Todo el contenido y el código también están disponibles en mi github aquí.

Recomendado: