সুচিপত্র:

Conexión সিরিয়াল Arduino একটি প্রসেসিং (acelerómetro En Anillo): 5 ধাপ
Conexión সিরিয়াল Arduino একটি প্রসেসিং (acelerómetro En Anillo): 5 ধাপ

ভিডিও: Conexión সিরিয়াল Arduino একটি প্রসেসিং (acelerómetro En Anillo): 5 ধাপ

ভিডিও: Conexión সিরিয়াল Arduino একটি প্রসেসিং (acelerómetro En Anillo): 5 ধাপ
ভিডিও: SW BUILD 1: DIY RF Power Measurement based on AD8318 Sensor, Arduino Nano and WS2812 LED (EP21) 2024, জুলাই
Anonim
Conexión সিরিয়াল Arduino একটি প্রসেসিং (acelerómetro En Anillo)
Conexión সিরিয়াল Arduino একটি প্রসেসিং (acelerómetro En Anillo)

Muchos me preguntan de como conectar la información que viene por puerto serial 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 queifica que no hay problems de sincronización con Arduino। Utilizo un acelerómetro LSM 303 para el ejemplo, pero puede ser con cualquier sensor।

উপকরণ

  1. আরডুইনো ইউএনও
  2. LSM303 উদ্ভিদ (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

এল acelerómetro LSM303 tiene 4 conexiones। SDA, SCL, vin, y gnd, Como se ve en la foto। Yo soldé un ক্যাবল 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। এল ক্যাবল রোজো 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: এল আনিলো

এল আনিলো
এল আনিলো
এল আনিলো
এল আনিলো

Para poder hacer un programma 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: এল ক্যাডিগো আরডুইনো

এল ক্যাডিগো আরডুইনো
এল ক্যাডিগো আরডুইনো

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।

Cigodigo en el Arduino:

#অন্তর্ভুক্ত

#অন্তর্ভুক্ত // libreria de Adafruit

Adafruit_LSM303 lsm; // prepara el objeto

অকার্যকর সেটআপ() {

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

lsm.begin ();

}

অকার্যকর লুপ () {

lsm.read (); // লি লা ইনফরমেশন ডেল সেন্সর

// মান্দা লা লেকচুরা একটি সিরিয়াল

সিরিয়াল.প্রিন্ট ((int) lsm.accelData.x);

সিরিয়াল.প্রিন্ট (",");

সিরিয়াল.প্রিন্ট ((int) lsm.accelData.y);

সিরিয়াল.প্রিন্ট (",");

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

বিলম্ব (50);

}

ধাপ 4: Código En প্রসেসিং

En প্রসেসিং, লা এস্ট্রেটিজিয়া 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 প্রধান del código de processing।

ক্যাডিগো:

// টমাস ডি ক্যামিনো বেকের তৈরি // হাত চলাচল সেন্সরের জন্য

আমদানি প্রক্রিয়াকরণ সিরিয়াল।*; সিরিয়াল পোর্ট;

float coord = নতুন float [3]; // arreglo para almacenar los datos

স্ট্রিং ডেটা = "0, 0, 0"; // string que almacena del puerto serial

ফ্লোট x, y, antX, antY; // para crear el dibujo

অকার্যকর সেটআপ() {

আকার (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);

ভাসা y = উচ্চতা -মানচিত্র (স্থানাঙ্ক [1], -2000, 2000, 0, উচ্চতা);

যদি (সমন্বয় [2] <0) {

পটভূমি (255);

x = প্রস্থ/2;

y = উচ্চতা/2;

antX = প্রস্থ/2;

antY = উচ্চতা/2;

} অন্য {

পূরণ করুন (0, 150);

লাইন (antX, antY, x, y);

antX = x;

antY = y;

}

}

void serialEvent (সিরিয়াল পোর্ট) {

ডেটা = port.readString (); // লি দেল পুয়ের্তো সিরিয়াল

coord = float (বিভক্ত (data, ',')); // পৃথক por comas লস datos y লস almacena এন এল arreglo

}

ধাপ 5: Poner a Dibujar

Poner a Dibujar
Poner a Dibujar

আহোরা সাদামাটা ডিবুজার। আল দার ভুয়েলতা পোর কমপ্লটো এল অ্যানিলো, সে বোররা টোডো লো দিবুজাদো।

প্রস্তাবিত: