Tabla de contenido:
Video: Brazo de dibujo controlado por sonido - Proyecto escolar Arduino: 4 pasos (con imágenes)
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Esta es la primera vez que trabajo con Arduino, y trabajando con algo como esto, ¡lo siento si cometí algún error! Se me ocurrió esta idea cuando pensé en mis pasatiempos, que son el dibujo y la música. ¡Así que intenté combinar los dos en esto! Un brazo que se dibuja a sí mismo y que se ve afectado por el sonido.
Paso 1: Paso 1: Materiales
- Arduino Uno
- Tablero de pruebas
- Detector de sonido (Sparkfun sen-12642)
- 2 (mini) servos
- Corbatas / bridas
- Un poco de madera y papel.
- algo con lo que puedas dibujar / escribir
Paso 2: Paso 2: Configuración
Primero conecté el Servo y luego el detector de sonido. El detector de sonido Sparkfun sen-12642 tiene 3 salidas, solo usé la salida "envolvente".
Servo 1 = pin ~ 9
Servo 2 = pin ~ 10
Detector de sonido = pin A0
Las líneas rojas (5v) están conectadas al lado positivo en el tablero, y las líneas negras (tierra) están conectadas al lado negativo.
Paso 3: Paso 3: No electrónicos
Asegúrese de que los servos estén estables y en el lugar correcto. Usé corbatas para sujetarlos. Después de eso, usé bridas para atar las partes superiores (reemplazables) del servo a los brazos de madera. Después de eso, puede conectar las partes del brazo de madera a los servos. Conecte todos los cables al Arduino y a la placa de pruebas.
Después de eso, soldé los cables al detector de sonido.
Paso 4: Paso 4: Código
No estoy de ninguna manera cerca de ser bueno codificando, pero hice todo lo posible e Internet ayudó mucho:)
#include Servo myservo1; Servo myservo2; int pos = 0; int PIN_ANALOG_IN = A0;
configuración vacía () {Serial.begin (9600);
// Estado de visualización
Serial.println ("Inicializado"); myservo1.attach (9); myservo2.attach (10); }
bucle vacío ()
{valor int;
// Verifica la entrada del sobre
valor = analogRead (PIN_ANALOG_IN);
// El valor de la envolvente afecta al servo
Serial.println (valor); if (valor 5) && (valor 10) && (valor 20) && (valor 30) && (valor 60)) {myservo1.write (random (0, 90)); myservo2.write (aleatorio (0, 90)); }
retraso (180);
}