Table des matières:

Conexión Serial Arduino a Processing (acelerómetro En Anillo): 5 Étapes
Conexión Serial Arduino a Processing (acelerómetro En Anillo): 5 Étapes

Vidéo: Conexión Serial Arduino a Processing (acelerómetro En Anillo): 5 Étapes

Vidéo: Conexión Serial Arduino a Processing (acelerómetro En Anillo): 5 Étapes
Vidéo: Amazing arduino project 2024, Juillet
Anonim
Conexión Serial Arduino a Processing (acelerómetro En Anillo)
Conexión Serial Arduino a Processing (acelerómetro En Anillo)

Muchos me preguntan de como conectar la información que viene por puerto serial de Arduino a Processing. Acá les muestro la manera en que yo lo resuelvo, no es la única, pero es bastante efectiva, ya que en Processing, la recepción de datos ocurre como un evento, lo que significa que no hay problemas de sincronización con Arduino. Utilizo un acelerómetro LSM 303 pour el ejemplo, pero puede ser con cualquier sensor.

Matériaux

  1. Arduino UNO
  2. LSM303 Flore (cualquier)

Étape 1: Connexions En Arduino

Connexions En Arduino
Connexions En Arduino
Connexions En Arduino
Connexions En Arduino
Connexions En Arduino
Connexions En Arduino
Connexions En Arduino
Connexions En Arduino

El acelerómetro LSM303 tiene 4 connexions. SDA, SCL, vin, y gnd, Como se ve en la foto. Yo soldé un cable amarillo al SDA, un cable verde al SCL, uno rojo a 3V, y uno negro a GND.

Conectar el sensor al Arduino como se muestra en las fotos. Fondamentalement, sur la photo, el cable amarillo es SDA et se conecta al SDA del arduino, el cable verde es SCL, y se conecta al SCL del arduino. El cable rojo a 3.3V, y el negro a GND en el Arduino. En este ejemplo lo conecto directo a la placa de arduino, pero pueden hacerlo a través de un breadboard.

Étape 2: El Anillo

El Anillo
El Anillo
El Anillo
El Anillo

Para poder hacer un programa de dibujo en processing, donde a través del movimiento de la mano se pueda dibujar. Metemos el acelerómetro dentro de anillo impreso en impresora 3D.

El modelo sencillo del anillo está acá. Pueden modificarlo allí mismo en tinkercad si hacen una cuenta. Se puede pegar con una pistola de goma caliente o a presión.

Étape 3: El Código Arduino

El Código Arduino
El Código Arduino

En el código de Arduino es important abrir el puerto serial y la velocidad (en el ejemplo 9600) debe ser igual en el código de processing.

Code en el Arduino:

#comprendre

#include //libreria de Adafruit

Adafruit_LSM303 lsm; //préparer l'objet

void setup() {

Serial.begin(9600); //inicializa el acelerometro

lsm.begin();

}

boucle vide() {

lsm.read();//lee les informations du capteur

//manda la lectura une série

Serial.print((int)lsm.accelData.x);

Serial.print(", ");

Serial.print((int)lsm.accelData.y);

Serial.print(", ");

Serial.println((int)lsm.accelData.z);

retard (50);

}

Étape 4: Código En Traitement

En traitant, la estrategia es escrivir un evento para el puerto serail, de esa manera cada vez que entra infromación, processing en el fondo lo almacena en variables, sin importar la velocidad de los cuadros del cuerpo principal del código de processing.

Code:

// créé par Tomas de Camino Beck//pour le capteur de mouvement de la main

import processing.serial.*; Port série;

float coord = new float[3]; //arreglo para almacenar los datos

Données de chaîne="0, 0, 0"; //chaîne que almacena del puerto serial

flottant x, y, antX, antY; //para crear el dibujo

void setup() {

taille (600, 600);

println(Serial.list());

port = new Serial(this, "/dev/ttyACM0", 9600);

port.clear();

port.bufferUntil('\n');

x = largeur/2;

y=hauteur/2;

antX=largeur/2;

antY=hauteur/2;

lisse(8);

}

tirage nul () {

poids du trait(10);

float x = width-map(coord[0], -2000, 2000, 0, width);

float y = height-map(coord[1], -2000, 2000, 0, height);

si (coord[2]<0) {

arrière-plan (255);

x = largeur/2;

y=hauteur/2;

antX=largeur/2;

antY=hauteur/2;

} autre {

remplir (0, 150);

ligne(antX, antY, x, y);

antX= x;

antY= y;

}

}

void serialEvent (port série) {

données = port.readString(); //lee del puerto série

coord = float(split(data, ', ')); //separa por comas los datos y los almacena en el arreglo

}

Étape 5: Poner un Dibujar

Poner a Dibujar
Poner a Dibujar

Ahora simplemente dibujar. Al dar vuelta por completo el anillo, se borra todo lo dibujado.

Conseillé: