جدول المحتويات:

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)

الكثير لي preguntan de como conectar la información que viene por puerto series 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 datos ocurre como un evento، lo que lessa que no hay problemas de sincronización con Arduino. Utilizo un acelerómetro LSM 303 para el ejemplo ، مستشعر pero puede ser con cualquier.

المواد

  1. اردوينو UNO
  2. LSM303 فلورا (كوالكيير)

الخطوة 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.

كونكتار جهاز استشعار اردوينو كومو حد ذاته للصور. 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 cable 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.

الخطوة 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 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

El Código Arduino
El Código Arduino

En el código de Arduino هو المهم abrir el puerto series y la velocidad (en el ejemplo 9600) debe ser igual en el código de Processing.

Código en el Arduino:

#يشمل

# تضمين // libreria de Adafruit

Adafruit_LSM303 lsm ؛ // اعداد الاوبجيتو

الإعداد باطل() {

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

lsm.begin () ،

}

حلقة فارغة() {

lsm.read () ؛ // lee la informacion del sensor

// ماندا لاكتورا مسلسل

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

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، main del código de Processing.

كوديغو:

// تم إنشاؤه بواسطة Tomas de Camino Beck // لمستشعر حركة اليد

معالجة الاستيراد. تسلسلي. * ؛ منفذ تسلسلي؛

تعويم تنسيق = عوامة جديدة [3] ؛ // arreglo para almacenar los datos

بيانات السلسلة = "0 ، 0 ، 0" ؛ // string que almacena del puerto المسلسل

تعويم x ، y ، antX ، antY ؛ // para crear el dibujo

الإعداد باطل() {

الحجم (600 ، 600) ؛

println (Serial.list ()) ؛

المنفذ = مسلسل جديد (هذا ، "/ dev / ttyACM0" ، 9600) ؛

port.clear () ؛

port.bufferUntil ('n') ،

س = العرض / 2 ؛

ص = الارتفاع / 2 ؛

antX = العرض / 2 ؛

أنتي = ارتفاع / 2 ؛

ناعم (8) ؛

}

رسم باطل () {

الوزن (10) ؛

تعويم س = عرض خريطة (تنسيق [0] ، -2000 ، 2000 ، 0 ، عرض) ؛

تعويم y = خريطة الارتفاع (تنسيق [1] ، -2000 ، 2000 ، 0 ، ارتفاع) ؛

إذا (تنسيق [2] <0) {

الخلفية (255) ؛

س = العرض / 2 ؛

ص = الارتفاع / 2 ؛

antX = العرض / 2 ؛

أنتي = ارتفاع / 2 ؛

} آخر {

ملء (0 ، 150) ؛

خط (antX ، antY ، x ، y) ؛

أنتيكس = س ؛

أنتي = ص ؛

}

}

serialEvent باطل (المنفذ التسلسلي) {

البيانات = port.readString () ، // لي ديل بويرتو المسلسل

تنسيق = تعويم (تقسيم (بيانات ، '،')) ؛ //epara por comas los datos y los almacena en el arreglo

}

الخطوة 5: Poner a Dibujar

Poner a Dibujar
Poner a Dibujar

Ahora simplemente dibujar. Al Dar vuelta por Completeo el anillo، se borra todo lo dibujado.

موصى به: