สารบัญ:

Conexión Serial Arduino การประมวลผล (acelerómetro En Anillo): 5 ขั้นตอน
Conexión Serial Arduino การประมวลผล (acelerómetro En Anillo): 5 ขั้นตอน

วีดีโอ: Conexión Serial Arduino การประมวลผล (acelerómetro En Anillo): 5 ขั้นตอน

วีดีโอ: Conexión Serial Arduino การประมวลผล (acelerómetro En Anillo): 5 ขั้นตอน
วีดีโอ: Accelerometer Arduino Tutorial 3D Processing 2024, พฤศจิกายน
Anonim
Conexión Serial Arduino การประมวลผล (acelerómetro En Anillo)
Conexión Serial Arduino การประมวลผล (acelerómetro En Anillo)

Muchos me preguntan de como conectar la información que viene por puerto serial de Arduino การประมวลผล 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 problems เกี่ยวกับ Arduino การใช้งานกับ acelerómetro LSM 303 สำหรับตัวอย่าง, เซ็นเซอร์ที่เชื่อมต่อกับ cualquier

วัสดุ

  1. Arduino UNO
  2. LSM303 ฟลอรา (cualquier)

ขั้นตอนที่ 1: Conexiones และ Arduino

Conexiones และ Arduino
Conexiones และ Arduino
Conexiones และ Arduino
Conexiones และ Arduino
Conexiones และ Arduino
Conexiones และ Arduino
Conexiones และ Arduino
Conexiones และ Arduino

El acelerómetro LSM303 tiene 4 conexiones. SDA, SCL, vin, y gnd, Como se ve en la foto. ภาพรวม Yo ขาย un สายเคเบิล amarillo al SDA, ยกเลิกสายเคเบิล verde al SCL, uno rojo a 3V, y uno negro a GND

Conectar el sensor และ Arduino como se muestra en las fotos. ภาพรวม, รูปภาพ, สายเคเบิล el amarillo es SDA y se conecta al SDA del arduino, สายเคเบิล el verde es SCL, และ se conecta al SCL del arduino El สายเคเบิล rojo a 3.3V, y el negro a GND en el Arduino สำหรับตัวอย่างจาก conecto directo a la placa de arduino, pero pueden hacerlo a través de un breadboard.

ขั้นตอนที่ 2: 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 และ impresora 3D.

เอล modelo sencillo del anillo está acá. ปรับปรุง modificarlo allí mismo en tinkercad si hacen una cuenta. Se puede pegar con una pistola de goma caliente o พรีซิออน

ขั้นตอนที่ 3: El Código Arduino

El Código Arduino
El Código Arduino

เกี่ยวกับ Arduino เป็นสิ่งสำคัญสำหรับ puerto serial y la velocidad (en el ejemplo 9600) เริ่มต้นใช้งานและประมวลผล

Codigo en el Arduino:

#รวม

#include //libreria de Adafruit

Adafruit_LSM303 lsm; //เตรียมวัตถุมงคล

การตั้งค่าเป็นโมฆะ () {

Serial.begin(9600); //inicializa เอล acelerometro

lsm.begin();

}

วงเป็นโมฆะ () {

lsm.read();//lee la informacion 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);

ล่าช้า (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 variables, การนำเข้าบาป la velocidad de los cuadros del cuerpo principal del código de processing

คอร์ดิโก:

// สร้างโดย Tomas de Camino Beck // สำหรับเซ็นเซอร์การเคลื่อนไหวของมือ

นำเข้าการประมวลผล.ซีเรียล.*; พอร์ตอนุกรม;

float coord = ลอยใหม่[3]; //arreglo para almacenar los datos

ข้อมูลสตริง="0, 0, 0"; //string que almacena del puerto serial

ทุ่น x, y, antX, antY; //พารา ครีอา เอล ดิบูโจ

การตั้งค่าเป็นโมฆะ () {

ขนาด(600, 600);

println(Serial.list());

พอร์ต = ซีเรียลใหม่ (นี่, "/dev/ttyACM0", 9600);

port.clear();

port.bufferUntil('\n');

x = ความกว้าง/2;

y=ความสูง/2;

antX=ความกว้าง/2;

antY=ความสูง/2;

เรียบ(8);

}

โมฆะวาด () {

จังหวะน้ำหนัก(10);

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

float y = แผนที่ความสูง (coord [1], -2000, 2000, 0, ความสูง);

ถ้า (coord[2]<0) {

พื้นหลัง (255);

x = ความกว้าง/2;

y=ความสูง/2;

antX=ความกว้าง/2;

antY=ความสูง/2;

} อื่น {

เติม(0, 150);

บรรทัด (antX, antY, x, y);

antX= x;

มดY= y;

}

}

เป็นโมฆะ serialEvent (พอร์ตอนุกรม) {

data = port.readString(); //ลี เดล เปอร์โต ซีเรียล

coord = float(แยก(ข้อมูล, ', ')); //แยกจากกัน comas los datos y los almacena en el arreglo

}

ขั้นตอนที่ 5: Poner a Dibujar

ปอน อะ ดิบูจาร์
ปอน อะ ดิบูจาร์

Ahora simplemente dibujar. Al dar vuelta por completo el anillo, se borra todo lo dibujado. (อัล ดาร์ วูเอลตา)

แนะนำ: