Оглавление:

Conexión Serial Arduino A Processing (acelerómetro En Anillo): 5 шагов
Conexión Serial Arduino A Processing (acelerómetro En Anillo): 5 шагов

Видео: Conexión Serial Arduino A Processing (acelerómetro En Anillo): 5 шагов

Видео: Conexión Serial Arduino A Processing (acelerómetro En Anillo): 5 шагов
Видео: Amazing arduino project 2024, Ноябрь
Anonim
Conexión Serial Arduino a Processing (acelerómetro En Anillo)
Conexión Serial Arduino a Processing (acelerómetro En Anillo)

Очень важно, чтобы вы сообщали информацию о том, что происходит через последовательный порт Arduino с обработкой. Acá les muestro la manera en que yo lo resuelvo, no es la única, pero es bastante efectiva, ya que en Processing, la recpción de datos ocurre como un evento, lo queigna que no hay issuesas de sincronización con Arduino. Используйте датчик LSM 303 для работы с датчиком.

Materiales

  1. Arduino UNO
  2. LSM303 Flora (cualquier)

Шаг 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. 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. 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. Кабель - 3,3 В, черный - GND на Arduino. En este ejemplo lo conecto directo a la placa de arduino, pero pueden hacerlo a través de un macroboard.

Шаг 2: Эль Анилло

Эль Анилло
Эль Анилло
Эль Анилло
Эль Анилло

Для того, чтобы выполнить программу обработки данных, выполните перемещение по движению человека, находящемуся в процессе обработки. 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.

Шаг 3: El Código Arduino

Эль Кодиго Ардуино
Эль Кодиго Ардуино

En el código de Arduino es важно абрир эль-пуэрто серийный y la velocidad (en el ejemplo 9600) debe ser igual en el código de processing.

Código en el Arduino:

#включают

#include // libreria de Adafruit

Adafruit_LSM303 lsm; // подготовить объект

void setup () {

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

lsm.begin ();

}

void loop () {

lsm.read (); // информация о датчике

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

задержка (50);

}

Шаг 4: Обработка Código En

Обработка, la estrategia es escrivir un evento para el puerto serail, de esa manera cada vez que entra infromación, обработка en el fondo lo almacena en переменных, sin importar la velocidad de los cuadros del cuerpo Principal del código de processing.

Кодиго:

// создано Томасом де Камино Беком // для датчика движения руки

import processing.serial. *; Последовательный порт;

float Coord = новый float [3]; // arreglo para almacenar los datos

Строковые данные = "0, 0, 0"; // строка que almacena del puerto serial

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

void setup () {

размер (600, 600);

println (Serial.list ());

порт = новый последовательный (это, "/ dev / ttyACM0", 9600);

port.clear ();

port.bufferUntil ('\ п');

х = ширина / 2;

у = высота / 2;

antX = ширина / 2;

antY = высота / 2;

гладкая (8);

}

void draw () {

strokeWeight (10);

float x = width-map (координата [0], -2000, 2000, 0, ширина);

float y = карта высот (координаты [1], -2000, 2000, 0, высота);

if (Coord [2] <0) {

фон (255);

х = ширина / 2;

у = высота / 2;

antX = ширина / 2;

antY = высота / 2;

} еще {

заполнить (0, 150);

линия (antX, antY, x, y);

antX = x;

antY = y;

}

}

void serialEvent (последовательный порт) {

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

координаты = float (split (data, ',')); // разделить пор комас лос данных и лос альмасена ан эль аррегло

}

Шаг 5: обдумайте дибуджар

Понер Дибухар
Понер Дибухар

Ahora simplemente dibujar. Аль дар вуэльта пор полностью эль анильо, се борра тодо ло дибуджадо.

Рекомендуемые: