Indholdsfortegnelse:

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

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

Video: Conexión Serial Arduino a Processing (acelerómetro En Anillo): 5 trin
Video: Распаковка Arduino: комплект самобалансирующегося робота ELEGOO Tumbler 2024, November
Anonim
Conexión Serial Arduino a Processing (acelerómetro En Anillo)
Conexión Serial Arduino a Processing (acelerómetro En Anillo)

Jeg kan forvente, at informationen kan videregives til seriel i 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 significanta que no hay problemsas sincronización con Arduino. Brug af en accelerator LSM 303 til en ejemplo, men kan bruges til at kende en sensor.

Materialer

  1. Arduino UNO
  2. LSM303 Flora (cualquier)

Trin 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 sammenhænge. 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, and uno negro a GND.

Tilslut sensoren til Arduino, som kan bruges til at fotografere. Básicamente, en la foto, el cable amarillo es SDA y se conecta al SDA del arduino, el cable verde es SCL, y se conecta al SCL del arduino. El -kablet er 3,3V, og det er en GND og en Arduino. En este ejemplo lo conecto directo a la placa de arduino, men kan også hacerlo a través de un breadboard.

Trin 2: El Anillo

El Anillo
El Anillo
El Anillo
El Anillo

For 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 un anillo impreso and 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.

Trin 3: El Código Arduino

El Código Arduino
El Código Arduino

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

Código en el Arduino:

#omfatte

#include // libreria de Adafruit

Adafruit_LSM303 lsm; // prepara el objeto

ugyldig opsætning () {

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

lsm.begin ();

}

void loop () {

lsm.read (); // læs mere information om sensoren

// manda la lectura en føljeton

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

Serial.print (",");

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

Serial.print (",");

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

forsinkelse (50);

}

Trin 4: Behandling

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

Kodning:

// skabt af Tomas de Camino Beck // til håndbevægelsessensor

import behandling. serie.*; Serie Port;

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

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

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

ugyldig opsætning () {

størrelse (600, 600);

println (Serial.list ());

port = ny Seriel (denne, "/dev/ttyACM0", 9600);

port.clear ();

port.bufferUntil ('\ n');

x = bredde/2;

y = højde/2;

antX = bredde/2;

antY = højde/2;

glat (8);

}

ugyldig tegning () {

strokeWeight (10);

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

float y = højde -kort (koord [1], -2000, 2000, 0, højde);

hvis (coord [2] <0) {

baggrund (255);

x = bredde/2;

y = højde/2;

antX = bredde/2;

antY = højde/2;

} andet {

fyld (0, 150);

linje (antX, antY, x, y);

antX = x;

antY = y;

}

}

void serialEvent (seriel port) {

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

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

}

Trin 5: Poner en Dibujar

Poner en Dibujar
Poner en Dibujar

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

Anbefalede: