Cómo hacer un botón virtual con el arduino

Usted aprenderá cómo hacer un botón en pantalla en el procesamiento que afecta a un LED física en su Arduino. Esto es un gran dibujo para empezar a trabajar con las interacciones entre los ordenadores y el mundo real, y entre un Arduino y Processing.

Necesitas:

  • Un Arduino Uno

  • un LED

Video: Arduino: Cómo encender un led con un pulsador | TechKrowd

La configuración es sencilla para esta introducción a Arduino y Processing, que sólo requiere un solo LED.

Inserte la pata larga de la LED en pin 13 y la pata corta en GND. Si usted no tiene un LED, puede simplemente monitorizar el LED bordo marcado L.

Cómo configurar el código de Arduino

Después de su circuito está montado, se necesita el software adecuado para utilizarlo. En el menú Arduino, seleccione Archivo → Ejemplos → → 04.Communication PhysicalPixel para encontrar el boceto.

Video: Como Tener Botones Virtuales Home en Android muy facil

Este bosquejo contiene tanto el código de Arduino y el código de procesamiento relevante para el boceto al trabajo (que también tiene una variación en máximo 5). El código debajo del código de Arduino está comentado para evitar interferir con el código de Arduino.

En las versiones anteriores de Arduino, los archivos de dibujo terminaron con .pde, que es el sufijo Processing. Esto causó confusión, por lo que ahora es el sufijo Arduino .ino. Diferentes sufijos que sea posible tener el boceto Arduino y el boceto de procesamiento en el mismo lugar.

/ * Ejemplo Pixélan física de la utilización de la placa Arduino para recibir datos del thecomputer. En este caso, las placas Arduino se enciende un LED whenit recibe el carácter `H`, y se apaga el LED cuando itreceives el carácter `.Los datos L`puede enviarse desde el monitor serie de Arduino, o anotherprogram como el procesamiento (véase el código más adelante), flash (a través de una serie-NetProxy), PD, o circuito Max / MSP.The: * LED conectado a pin digital 13 a groundcreated 2006by David A. Mellismodified 30 de Ago 2011by Tom Igoe y Scott FitzgeraldThis código de ejemplo está en el público domain.http: //arduino.cc/en/Tutorial/PhysicalPixel*/const int ledPin = 13- // el pasador de que el LED está unido aint incomingByte- // una variable para leer los datos en serie entrantes configuración intovoid () {// inicializar la comunicación en serie: Serial.begin (9600) - // inicializar el pin LED como salida: pinMode (ledPin, SALIDA) -} void loop ( ) {// ver si hay datos en serie de entrada: si (Serial.available () gt; 0) {// leer el byte más antigua en la memoria intermedia de serie: incomingByte = Serial.read() - // si es mayúscula (ASCII 72), encienda el LED:Si (IncomingByte == `MARIDO`) {DigitalWrite (ledPin, ALTO) -} // si se trata de una L (ASCII 76) apagar el LED:Si (IncomingByte == `L`) {DigitalWrite (ledPin, LOW) -}}}

Ahora ve a través de los pasos para subir su boceto.

Video: Tutorial Como Activar un Motor DC con un Pulsador en Arduino

Con el Arduino configurado para recibir un mensaje de procesamiento, es necesario configurar el boceto de procesamiento para enviar un mensaje de señal en el mismo puerto serie a su Arduino.

Cómo configurar el código de procesamiento

Este código está disponible dentro de la etiqueta de comentario de varias líneas (/ * * /) En la parte inferior del boceto Arduino PhysicalPixel. Copiar el código dentro de las marcas de comentario, pegarlo en un nuevo boceto de procesamiento, y guardarlo con un nombre apropiado, como por ejemplo PhysicalPixel.

Video: Arduino 02: Condicionales "if" & botones

 // // encima del ratón serie muestra cómo enviar datos a la placa Arduino E / S, con el fin de // encender una luz si el ratón está sobre un cuadrado y apagarlo // si se crea not.// el ratón 2003-4 // basado en ejemplos de Casey Reas y Hernando Barragan // modificada 30 de Ago 2011 // by Tom Igoe // Este código de ejemplo está en el dominio público.importar processing.serial *. -flotador boxX-flotador boxY-int boxSize = 20-booleano mouseOverBox = falso-puerto serie de huecos de configuración () {tamaño(200, 200) -boxX = anchura/2.0-boxY = alturaLista /2.0-rectMode(RADIUS)-// todos los puertos serie disponibles en la salida pane.// Usted tendrá que elegir el puerto que la placa Arduino está conectado a // de esta lista. El primer puerto en la lista es // puerto # 0 y el tercer puerto en la lista es el puerto # 2.println(De serie.lista()) - // Abrir el puerto que la placa Arduino está conectado a (en este caso 0 #) // Asegúrese de abrir el puerto a la misma velocidad Arduino está utilizando el puerto (9600 bps) = nuevo De serie(esta, De serie.lista() [0], 9600) -} void draw () {background (0) - // Comprueba si el cursor se encuentra sobre la cajaSi (mouseX gt; Boxx-boxSize && mouseX lt; Boxx + boxSize &&pardusco gt; BOXY-boxSize && pardusco lt; BOXY + boxSize) {mouseOverBox = cierto-// dibujar una línea alrededor de la caja y cambiar su color:carrera(255) -llenar(153) - // enviar una `H` para indicar ratón está sobre la plaza: port.write (`MARIDO`) -} else {// devolver la caja a su estado inactivo:carrera(153) -llenar(153) - // enviar una `L` para apagar el LED: port.write (`L`) -mouseOverBox = falso-} // Dibujar el cuadrorect(Boxx, cuadrado, boxSize, boxSize) -}

Haga clic en el botón Ejecutar para ejecutar el boceto de procesamiento, y aparece un applet. El applet muestra un fondo negro con un cuadrado gris en el medio, lo que representa el botón virtual. Si mueve el puntero del ratón sobre el cuadrado gris (o píxeles), se puede ver que sus bordes se vuelven blancas.

Si a continuación, mira a su Arduino, se ve que cada vez que el ratón pasa sobre el cuadrado gris, el LED se ilumina en su tablero, que le da una representación física de su píxel.

Si el LED no se enciende, compruebe el cableado:

  • Asegúrese de que está utilizando el número PIN correcto.

  • Asegúrese de que las patas del LED son la forma correcta alrededor.

  • Compruebe que el código de Arduino subido correctamente y que el código de procesamiento no tiene errores. Tenga en cuenta que no se puede cargar mientras que el boceto de procesamiento se comunica con la placa Arduino, por lo que necesita para detener el boceto antes de subir.

Artículos Relacionados