Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Paljon minulle on kerrottu etukäteen, miten tiedot ovat saatavilla Arduinon sarjassa sarjassa 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 signa que no hay problems de sincronización con Arduino. LSM 303 -laitteen käyttö- ja lisävarusteena saatava elektroniikka, joka on varustettu puhekellon anturilla.
Materiaalit
- Arduino UNO
- LSM303 Flora (cualquier)
Vaihe 1: Conexiones En Arduino
El acelerómetro LSM303 tiene 4 conexiones. SDA, SCL, vin, y gnd, Como se ve en la photo. Johdit kaapelin amarillo al SDA: een, kaapeliverkkoon ja SCL: ään, 3 V: n jännitteeseen ja GND: hen.
Conectar el sensor on Arduino como se muestra en las fotos. Básicamente, en la foto, el cable amarillo es SDA ja se on liitetty SDA del arduinoon, el cable verde es SCL, ja se on liitetty SCL del arduinoon. Kaapeli on 3,3 V, ja se on GND ja el Arduino. En este ejemplo lo conecto directo a la placa de arduino, pero pueden hacerlo a través de un breadboard.
Vaihe 2: El Anillo
Palaa alkuun hacer un program de dibujo en processing, donde a través del movimiento de la mano se pueda dibujar. Metallit, jotka on kehitetty hammastekniikalla ja näytöllä 3D -muodossa.
El modelo sencillo del anillo está acá. Pueden modificarlo allí mismo en tinkercad si hacen una cuenta. Katso pugar pegar con una pistola de goma caliente tai a presión.
Vaihe 3: El Código Arduino
En el código de Arduino es importate 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:
#sisältää
#include // libreria de Adafruit
Adafruit_LSM303 lsm; // valmistelu el objeto
void setup () {
Sarja.alku (9600); // inicializa el acelerometro
lsm.begin ();
}
void loop () {
lsm.read (); // lee la informacion del 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);
viive (50);
}
Vaihe 4: Código En -käsittely
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 código de processing.
Código:
// luonut Tomas de Camino Beck // käsien liikeanturille
tuonti käsittely. sarja.*; Sarjaportti;
float coord = uusi float [3]; // arreglo para almacenar los datos
Merkkijonotiedot = "0, 0, 0"; // merkkijono que almacena del puerto serial
kellua x, y, antX, antY; // para crear el dibujo
void setup () {
koko (600, 600);
println (Serial.list ());
portti = uusi sarja (tämä, "/dev/ttyACM0", 9600);
port.clear ();
port.bufferUntil ('\ n');
x = leveys/2;
y = korkeus/2;
antX = leveys/2;
antY = korkeus/2;
sileä (8);
}
void draw () {
iskuPaino (10);
float x = leveyskartta (koordinaatti [0], -2000, 2000, 0, leveys);
float y = korkeuskartta (koordinaatti [1], -2000, 2000, 0, korkeus);
jos (koordinaatti [2] <0) {
tausta (255);
x = leveys/2;
y = korkeus/2;
antX = leveys/2;
antY = korkeus/2;
} muuta {
täyttö (0, 150);
viiva (antX, antY, x, y);
antX = x;
antY = y;
}
}
void serialEvent (sarjaportti) {
data = port.readString (); // lee del puerto -sarja
coord = kelluva (split (data, ',')); // erillään comas los datos y los almacena en el arreglo
}
Vaihe 5: Poner Dibujar
Ahora simplemente dibujar. Al dar vuelta on täydellinen el anillo, se borra todo lo dibujado.