Daftar Isi:

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

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

Video: Conexión Serial Arduino a Processing (acelerómetro En Anillo): 5 Langkah
Video: Amazing arduino project 2024, Juli
Anonim
Pemrosesan Arduino Serial Conexión (acelerómetro En Anillo)
Pemrosesan Arduino Serial Conexión (acelerómetro En Anillo)

Banyak hal yang bisa saya lakukan untuk menghubungkannya dengan informasi dari serial ke 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. Memanfaatkan kecepatan LSM 303 para el ejemplo, pero puede ser con cual sensor lebih tenang.

bahan

  1. Arduino UNO
  2. LSM303 Flora (cualquier)

Langkah 1: Conexiones Di Arduino

Conexion dan Arduino
Conexion dan Arduino
Conexion dan Arduino
Conexion dan Arduino
Conexion dan Arduino
Conexion dan Arduino
Conexion dan Arduino
Conexion dan Arduino

El acelerómetro LSM303 tiene 4 conexiones. SDA, SCL, vin, y gnd, Como se ve en la foto. Anda menjual kabel amarillo al SDA, kabel verde al SCL, uno rojo a 3V, y uno negro a GND.

Conectar el sensor al Arduino como se muestra en las fotos. Basicamente, 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. Kabel el 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.

Langkah 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 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 presión.

Langkah 3: El Codigo Arduino

El Codigo Arduino
El Codigo 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.

Kode di dalam Arduino:

#termasuk

#include //libreria de Adafruit

Adafruit_LSM303 lsm; //persiapan el objeto

batalkan pengaturan() {

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

lsm.mulai();

}

lingkaran kosong() {

lsm.read();//lee la informasi del sensor

//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);

penundaan(50);

}

Langkah 4: Pemrosesan Código En

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 variable, sin importar la velocidad de los cuadros del cuerpo principal del código de processing.

Kodigo:

// dibuat oleh Tomas de Camino Beck//untuk sensor gerakan tangan

import processing.serial.*; Port serial;

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

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

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

batalkan pengaturan() {

ukuran (600, 600);

println(Serial.daftar());

port = Serial baru(ini, "/dev/ttyACM0", 9600);

port.clear();

port.bufferSampai('\n');

x = lebar/2;

y=tinggi/2;

antX=lebar/2;

antY=tinggi/2;

halus (8);

}

batal menggambar() {

strokeBerat(10);

float x = lebar-peta(koord[0], -2000, 2000, 0, lebar);

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

if (koordinat [2]<0) {

latar belakang (255);

x = lebar/2;

y=tinggi/2;

antX=lebar/2;

antY=tinggi/2;

} lain {

isi(0, 150);

baris(antX, antY, x, y);

semutX= x;

antY= y;

}

}

void serialEvent(Port serial) {

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

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

}

Langkah 5: Poner Dibujar

Poner a Dibujar
Poner a Dibujar

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

Direkomendasikan: