Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Daug kas man iš anksto pateikiama, kai pateikiama informacija apie tai, kas yra „Arduino a Processing“serija. 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 problem de sincronización con Arduino. Naudokite „LSM 303“ir „acelerómetro“modelį, skirtą įprastam jutikliui.
Materiales
- Arduino UNO
- LSM303 Flora (cualquier)
1 žingsnis: „Conexiones En Arduino“
El acelerómetro LSM303 tiene 4 conexiones. SDA, SCL, vin, y gnd, Como se ve en la foto. Turite SDA kabelinį kabelį, SCL kabelį, 3 V maitinimo kabelį ir GND.
„Conectar el sensor“, esantis „Arduino como se muestra en las fotos“. Básicamente, en la foto, el cable amarillo es SDA and see conacta al SDA del arduino, el cable verde es SCL, and see conecta al SCL del arduino. 3,3 V laidas, GND ir Arduino. Išsiaiškinkite tiesioginį ryšį su pladu de arduino, bet perkelkite hacerlo ir traving de unboard.
2 žingsnis: El Anillo
Parodykite „hacer“programą, skirtą apdorojimui, diegdami trajektoriją ir judindami de la mano se pueda dibujar. Metodai, padedantys išgauti dantų impulsą ir atspausdinti 3D.
El modelio 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 žingsnis: „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 ir el Arduino:
#įtraukti
#include // libreria de Adafruit
Adafruit_LSM303 lsm; // preparatas el objeto
void setup () {
Serial.begin (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);
vėlavimas (50);
}
4 žingsnis: „Código En“apdorojimas
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.
Kodis:
// sukūrė Tomas de Camino Beck // rankos judesio jutikliui
importo apdorojimas.serijinis.*; Nuoseklusis prievadas;
plūdė coord = nauja plūdė [3]; // arreglo para almacenar los datos
Eilutės duomenys = "0, 0, 0"; // string que almacena del puerto serial
plūdė x, y, antX, antY; // para crear el dibujo
void setup () {
dydis (600, 600);
println (Serial.list ());
prievadas = naujas serijinis (tai, "/dev/ttyACM0", 9600);
port.clear ();
port.bufferUntil ('\ n');
x = plotis/2;
y = aukštis/2;
antX = plotis/2;
antY = aukštis/2;
lygus (8);
}
void draw () {
smūgisSvoris (10);
plūdė x = pločio žemėlapis (koordinatė [0], -2000, 2000, 0, plotis);
plūdė y = aukščio žemėlapis (koordas [1], -2000, 2000, 0, aukštis);
jei (koordinacija [2] <0) {
fonas (255);
x = plotis/2;
y = aukštis/2;
antX = plotis/2;
antY = aukštis/2;
} Kitas {
užpildyti (0, 150);
linija (antX, antY, x, y);
antX = x;
antY = y;
}
}
void serialEvent (nuoseklusis prievadas) {
duomenys = port.readString (); // lee del puerto serial
coord = plūdė (padalinti (duomenys, ',')); // separa por comas los datos y los almacena en el arreglo
}
5 žingsnis: surinkite „Dibujar“
Ahora simplemente dibujar. Al dar vuelta por complete el anillo, se borra todo lo dibujado.