Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Mul on palju eelnevaid kommentaare selle teabe kohta, mis on saadaval Arduino ja töötlemise seeriast. 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 dataos ocurre como un evento, lo que signa que no hay problems de sincronización con Arduino. Kasutage acelerómetro LSM 303 parameetrit, pero puede ser con cualquier sensor.
Materjalid
- Arduino UNO
- LSM303 Flora (cualquier)
Samm: Conexiones En Arduino
El acelerómetro LSM303 tiene 4 conexiones. SDA, SCL, vin, y gnd, Como se ve en la foto. Müügil on SDA -kaabel, SCL -kaabel, 3V ja kolmekordne kaabel ning GND.
Conectar and sensor al Arduino como se muestra en las fotos. Básicamente, en la foto, el cable amarillo es SDA and see conecta al SDA del arduino, el cable verde es SCL, and see conecta al SCL del arduino. Elektriline kaabel 3,3 V, GND ja Arduino. En este ejemplo lo conecto directo a la placa de arduino, pero pueden hacerlo a través de un breadboard.
2. samm: El Anillo
Paraku hacer un program de dibujo en processing, donde a través del movimiento de la mano se pueda dibujar. Kiirendusmeetod, mis võimaldab teil 3D -d kuvada ja kuvada.
El modelo sencillo del anillo está acá. Pueden modificarlo allí mismo en tinkercad si hacen una cuenta. Vaadake pegar con una pistola de goma caliente või a presión.
3. samm: 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 ja el Arduino:
#kaasake
#include // libreria de Adafruit
Adafruit_LSM303 lsm; // preparaat el objeto
tühine seadistus () {
Seriaalne algus (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);
viivitus (50);
}
4. etapp: Código En töötlemine
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.
Código:
// loodud Tomas de Camino Beck // käeliigutuse anduri jaoks
impordi töötlemine.seriaalne.*; Jadaport;
float coord = uus float [3]; // arreglo para almacenar los datos
Stringiandmed = "0, 0, 0"; // string que almacena del puerto serial
ujuk x, y, antX, antY; // para crear el dibujo
tühine seadistus () {
suurus (600, 600);
println (Serial.list ());
port = uus jada (see, "/dev/ttyACM0", 9600);
port.clear ();
port.bufferUntil ('\ n');
x = laius/2;
y = kõrgus/2;
antX = laius/2;
antY = kõrgus/2;
sile (8);
}
tühine viik () {
löökKaal (10);
ujuk x = laius -kaart (kord [0], -2000, 2000, 0, laius);
ujuk y = kõrgus -kaart (kord [1], -2000, 2000, 0, kõrgus);
kui (kord [2] <0) {
taust (255);
x = laius/2;
y = kõrgus/2;
antX = laius/2;
antY = kõrgus/2;
} muud {
täitke (0, 150);
joon (antX, antY, x, y);
antX = x;
antY = y;
}
}
void serialEvent (jadaport) {
andmed = port.readString (); // lee del puerto serial
coord = ujuk (split (andmed, ',')); // separa por comas los datos y los almacena en el arreglo
}
Samm 5: Poner Dibujar
Ahora simplemente dibujar. Al dar vuelta on täielik el anillo, se borra todo lo dibujado.