Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Shumë paralajmëroj për lidhjen e informacionit në viene në portualin serial të 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, për marrjen e të dhënave nga këto ngjarje, si dhe nuk ka probleme për sinkronizimin me Arduino. Përdorni një acelerómetro LSM 303 për shembull, mund të përdorni një sensor të përshtatshëm.
Materialet
- Arduino UNO
- LSM303 Flora (cualquier)
Hapi 1: Conexiones En Arduino
El acelerómetro LSM303 tiene 4 lloje. SDA, SCL, vin, y gnd, Como se ve en la foto. Ju mund të përdorni një kabllo amarillo al SDA, një kabllo të vërtetë në SCL, një rrymë 3V, dhe një negociatë GND.
Conectar el sensor al Arduino komo se muestra en las fotot. Básicamente, en la foto, kabllo amarillo është SDA dhe lidhet me SDA dhe arduino, ose kabllo verdhë është SCL, dhe lidhë SCL del arduino. Një kabllo tjetër do të përdorë një 3.3V, dhe një GND në një Arduino. Për më tepër, ju mund të drejtoheni në një planë de arduino, por mund të përdorni një ushqim të ngushtë.
Hapi 2: El Anillo
Për të gjithë programin e shkollimit të përpunimit, bëni një lëvizje të lëvizshme të një 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.
Hapi 3: El Código Arduino
En el código de Arduino është e rëndësishme të shkurtohet në serial y la velocidad (në el ejemplo 9600) të bëhet në mënyrë ideale në el código të përpunimit.
Código en el Arduino:
#përfshi
#include // libreria de Adafruit
Adafruit_LSM303 lsm; // prepara el objeto
void setup () {
Serial.filloj (9600); // inicializa el acelerometro
lsm.filloj ();
}
lak void () {
lsm.read (); // lee la informacion 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);
vonesë (50);
}
Hapi 4: Përpunimi i Código En
Gjatë përpunimit, për një vlerësim të veçantë të një ngjarje paraprake për të zbuluar informacionin, përpunimin e të gjitha llojeve të variablave, përpunimin e të gjitha llojeve të tyre në variablat, për importimin e shpejtë të proceseve të tjera.
Código:
// krijuar nga Tomas de Camino Beck // për sensorin e lëvizjes së duarve
përpunimi i importit.serial.*; Port serial;
noton coord = noton i ri [3]; // arreglo para almacenar los datos
Të dhënat e vargut = "0, 0, 0"; // string que almacena del puerto serial
noton x, y, antX, antY; // para crear el dibujo
void setup () {
madhësia (600, 600);
println (Serial.list ());
port = Serial i ri (kjo, "/dev/ttyACM0", 9600);
port.qartë ();
port.bufferUntil ('\ n');
x = gjerësia/2;
y = lartësia/2;
antX = gjerësia/2;
antY = lartësia/2;
e lëmuar (8);
}
tërheqje e pavlefshme () {
goditje Pesha (10);
noton x = gjerësia -harta (bashkë [0], -2000, 2000, 0, gjerësi);
noton y = lartësia -harta (bashkë [1], -2000, 2000, 0, lartësi);
nëse (koordinata [2] <0) {
sfond (255);
x = gjerësia/2;
y = lartësia/2;
antX = gjerësia/2;
antY = lartësia/2;
} tjetër {
mbush (0, 150);
linjë (antX, antY, x, y);
antX = x;
antY = y;
}
}
void serialEvent (Porta Seriale) {
të dhëna = port.readString (); // lee del puerto serial
koordinat = noton (ndarë (të dhëna, ',')); // separa por comas los datos y los almacena en el arreglo
}
Hapi 5: Poneroni një Dibujar
Ahora simplemente dibujar. Al dar vuelta por completeo el anillo, se borra todo lo dibujado.