Sadržaj:

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

Video: Conexión Serial Arduino a Processing (acelerómetro En Anillo): 5 koraka

Video: Conexión Serial Arduino a Processing (acelerómetro En Anillo): 5 koraka
Video: Amazing arduino project 2024, Novembar
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 informationció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 datas ocurre como un evento, lo que means que no hay problemsmas de sincronización con Arduino. Upotrijebite LSM 303 parametar za korištenje, senzor s kualkuelnim senzorom.

Materiales

  1. Arduino UNO
  2. LSM303 Flora (cualquier)

Korak 1: Conexiones En Arduino

Conexiones En Arduino
Conexiones En Arduino
Conexiones En Arduino
Conexiones En Arduino
Conexiones En Arduino
Conexiones En Arduino
Conexiones En Arduino
Conexiones En Arduino

El acelerómetro LSM303 tiene 4 conexiones. SDA, SCL, vin, y gnd, Como se ve en la foto. Vi prodajete kabl amarillo na SDA, kabl na SCL, unosite 3V, a crni GND.

Priključite senzor na Arduino jer možete vidjeti fotografije i fotografije. Básicamente, en la foto, el cable amarillo es SDA and se povezuje sa SDA del arduino, el cable vede es SCL, y conecta al SCL del arduino. Kabel za napajanje 3.3V, crni za GND i el Arduino. En este ejemplo lo conecto directo a la placa de arduino, pero pueden hacerlo a traveés de un breadboard.

Korak 2: El Anillo

El Anillo
El Anillo
El Anillo
El Anillo

Para poder hacer un program debujo en processing, donde a través del movimiento de la mano se pueda dibujar. Metemos el acelerómetro dentro de un 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 presion.

Korak 3: El Código Arduino

El Código Arduino
El Código Arduino

En el código de Arduino je važan za purilo serijski serijal y velocidad (en ejemplo 9600) debe ser igual en el código de processing.

Código en el Arduino:

#include

#include // libreria de Adafruit

Adafruit_LSM303 lsm; // priprema el objeto

void setup () {

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

lsm.begin ();

}

void loop () {{100} {101}

lsm.read (); // informacije o senzoru

// manda la lectura a serial

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

Serial.print (",");

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

Serial.print (",");

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

kašnjenje (50);

}

Korak 4: Código En obrada

En processing, 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.

Código:

// kreirao Tomas de Camino Beck // za senzor pokreta ruke

import processing.serial.*; Serijski port;

float koord = novi float [3]; // arreglo para almacenar los datos

Niz podataka = "0, 0, 0"; // string que almacena del puerto serial

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

void setup () {

veličina (600, 600);

println (Serial.list ());

port = novi serijski (ovaj, "/dev/ttyACM0", 9600);

port.clear ();

port.bufferUntil ('\ n');

x = širina/2;

y = visina/2;

antX = širina/2;

antY = visina/2;

glatka (8);

}

void draw () {

strokeWeight (10);

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

float y = visinska karta (koord [1], -2000, 2000, 0, visina);

if (koord [2] <0) {

pozadina (255);

x = širina/2;

y = visina/2;

antX = širina/2;

antY = visina/2;

} else {

fill (0, 150);

linija (antX, antY, x, y);

antX = x;

antY = y;

}

}

void serialEvent (serijski port) {

data = port.readString (); // lee del puerto serijski

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

}

Korak 5: Poner a Dibujar

Poner a Dibujar
Poner a Dibujar

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

Preporučuje se: