INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Meer inligting kan verkry word deur die inligting oor die reeks van die Arduino -reeks te verwerk. Ons kan ook 'n volledige herkenning gee, maar dit is ook 'n basiese effek, maar ook 'n verwerking, wat die gegewens van 'n gebeurtenis kan herken, maar dat daar geen probleme met die sincronización met Arduino kan wees nie. Gebruik 'n versneller LSM 303 vir 'n uitgestrekte, maar ook 'n bedieningssensor.
Materiale
- Arduino UNO
- LSM303 Flora (cualquier)
Stap 1: Conexiones En Arduino
El acelerómetro LSM303 tiene 4 conexiones. SDA, SCL, vin, y gnd, Como se ve en la foto. U kan ook 'n SDA -kabel, 'n SCL -kabel of 'n 3V -kabel of 'n GND -kabel gebruik.
Maak 'n sensor vir al ons foto's en foto's moontlik. Básicamente, en la foto, el cable amarillo es SDA y se conecta al SDA del arduino, el cable verde es SCL, y se conecta al SCL del arduino. Die kabel is 3,3V, die GND en die Arduino. En este ejemplo lo conecto directo a la placa de arduino, pero pueden hacerlo a través of un breadboard.
Stap 2: El Anillo
Vir die verwerking van programme kan ons ook 'n reisbeweging vir die laan doen. Metemos el acelerómetro dentro de un anillo impreso en impresora 3D.
Die model van die anonieme está acá. Ons kan 'n volledige verskaffing van 'n tinkercad en 'n enkele koekie gee. U kan dit ook met 'n pistool vir 'n goeie toestand voorskryf.
Stap 3: El Código Arduino
Die belangrikste funksie van die produksie is die belangrikste van al die portefeuljes in die wêreld (en 9600).
Wysigings in el Arduino:
#insluit
#include // libreria de Adafruit
Adafruit_LSM303 lsm; // prepara el objeto
ongeldige opstelling () {
Serial.begin (9600); // inicializa el acelerometro
lsm.begin ();
}
leemte -lus () {
lsm.read (); // meer inligting oor die sensor
// manda la lectura 'n reeks
Serial.print ((int) lsm.accelData.x);
Serial.print (",");
Serial.print ((int) lsm.accelData.y);
Serial.print (",");
Serial.println ((int) lsm.accelData.z);
vertraging (50);
}
Stap 4: Verwerking
By die verwerking, kan die estrategia es escrivir un evento para el puerto serail, die 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 principal del verwerking.
Wysiging:
// geskep deur Tomas de Camino Beck // vir handbewegingsensor
invoerverwerking.reeks.*; Seriële hawe;
float coord = nuwe float [3]; // arreglo para almacenar los datos
Stringdata = "0, 0, 0"; // string que almacena del puerto serial
float x, y, antX, antY; // para crear el dibujo
ongeldige opstelling () {
grootte (600, 600);
println (Serial.list ());
poort = nuwe reeks (hierdie, "/dev/ttyACM0", 9600);
port.clear ();
port.bufferUntil ('\ n');
x = breedte/2;
y = hoogte/2;
antX = breedte/2;
antY = hoogte/2;
glad (8);
}
nietige trekking () {
beroertegewig (10);
float x = width -map (koord [0], -2000, 2000, 0, breedte);
float y = hoogtekaart (koord [1], -2000, 2000, 0, hoogte);
as (koord [2] <0) {
agtergrond (255);
x = breedte/2;
y = hoogte/2;
antX = breedte/2;
antY = hoogte/2;
} anders {
vul (0, 150);
lyn (antX, antY, x, y);
antX = x;
antY = y;
}
}
ongeldig serialEvent (seriële poort) {
data = port.readString (); // lee del puerto serial
coord = float (split (data, ',')); // separa por comas los datos y los almacena en el arreglo
}
Stap 5: Skep 'n Dibujar
Ahora simplemente dibujar. Al dar vuelta por completo el anillo, se borra todo lo dibujado.