Satura rādītājs:

Conexión Serial Arduino a Processing (acelerómetro En Anillo): 5 soļi
Conexión Serial Arduino a Processing (acelerómetro En Anillo): 5 soļi

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

Video: Conexión Serial Arduino a Processing (acelerómetro En Anillo): 5 soļi
Video: Amazing arduino project 2024, Jūlijs
Anonim
Conexión Serial Arduino a Processing (acelerómetro En Anillo)
Conexión Serial Arduino a Processing (acelerómetro En Anillo)

Daudz kas man bija paredzēts, lai uzzinātu, kāda ir informācija par que viene por puerto seriālu no 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 data not ocurre como un evento, lo que signa que no hay problems de sincronización con Arduino. Izmantot un acelerómetro LSM 303 para e eemplo, pero puede ser con cualquier sensor.

Materiāli

  1. Arduino UNO
  2. LSM303 Flora (cualquier)

1. darbība: Conexiones En Arduino

Koneksions un Arduino
Koneksions un Arduino
Koneksions un Arduino
Koneksions un Arduino
Koneksions un Arduino
Koneksions un Arduino
Koneksions un Arduino
Koneksions un Arduino

El acelerómetro LSM303 tiene 4 conexiones. SDA, SCL, vin, y gnd, Como se ve en la foto. Jūs esat pārdevis kabeli, izmantojot SDA, un kabeli, kas aprīkots ar SCL, ja nav 3V, bet nav GND.

Conectar el sensors ar Arduino como se muestra en las fotos. Básicamente, en la foto, el cable amarillo es SDA y see conecta al SDA del arduino, el cable verde es SCL, and see conecta al SCL del arduino. Elektrokabeli ar 3,3 V spriegumu, kā arī GND un Arduino. No šī brīža jūs varat sazināties ar plaino de arduino, bet jūs varat sazināties ar maizes dēli.

2. solis: El Anillo

El Anillo
El Anillo
El Anillo
El Anillo

Para poder hacer un programma de dibujo en processing, donde a través del movimiento de la mano se pueda dibujar. Metodes, kas paredzētas acelerometro zobārstniecībai un analoģiskai impresijai un 3D attēlam.

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. darbība: El Código Arduino

El Código Arduino
El Código 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.

Código en el Arduino:

#iekļaut

#iekļaut // libreria de Adafruit

Adafruit_LSM303 lsm; // preparat el objeto

void setup () {

Sērijas sākums (9600); // inicializa el acelerometro

lsm.begin ();

}

void loop () {

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

kavēšanās (50);

}

4. solis: Código En apstrāde

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 princip del del código de processing.

Código:

// izveidoja Tomas de Camino Beck // roku kustības sensoram

importa apstrāde.sērija.*; Sērijas ports;

pludiņš coord = jauns pludiņš [3]; // arreglo para almacenar los datos

Virknes dati = "0, 0, 0"; // string que almacena del puerto serial

pludiņš x, y, antX, antY; // para crear el dibujo

void setup () {

izmērs (600, 600);

println (Serial.list ());

ports = jauns seriāls (šis, "/dev/ttyACM0", 9600);

port.clear ();

port.bufferUntil ('\ n');

x = platums/2;

y = augstums/2;

antX = platums/2;

antY = augstums/2;

gluda (8);

}

void draw () {

gājiensSvars (10);

pludiņš x = platuma karte (koordināta [0], -2000, 2000, 0, platums);

pludiņš y = augstuma karte (koordināta [1], -2000, 2000, 0, augstums);

ja (saskaņot [2] <0) {

fons (255);

x = platums/2;

y = augstums/2;

antX = platums/2;

antY = augstums/2;

} vēl {

aizpildīt (0, 150);

līnija (antX, antY, x, y);

antX = x;

antY = y;

}

}

void serialEvent (sērijas ports) {

dati = ports.readString (); // lee del puerto serial

coord = pludiņš (sadalīt (dati, ',')); // separa por comas los datos y los almacena en el arreglo

}

5. solis: Poner Dibujar

Poners un Dibujars
Poners un Dibujars

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

Ieteicams: