Índice:
Vídeo: Braço de desenho controlado por som - Projeto da escola Arduino: 4 etapas (com imagens)
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Esta é a primeira vez que trabalho com o Arduino, e estou trabalhando com algo assim, desculpe se cometi algum erro! Tive essa ideia quando pensei nos meus hobbies, que são desenho e música. Então tentei combinar os dois nisso! Um braço que se desenha que é afetado pelo som.
Etapa 1: Etapa 1: Materiais
- Arduino Uno
- breadboard
- Detector de som (Sparkfun sen-12642)
- 2 (mini) Servo's
- Gravatas / laços zip
- Um pouco de madeira e papel
- algo com que você possa desenhar / escrever
Etapa 2: Etapa 2: configuração
Primeiro liguei o Servo e depois o detector de som. O detector de som Sparkfun sen-12642 tem 3 saídas, usei apenas a saída "envelope".
Servo 1 = pino ~ 9
Servo 2 = pino ~ 10
Detector de som = pino A0
As linhas vermelhas (5v) são conectadas ao lado positivo na placa de ensaio e as linhas pretas (terra) são conectadas ao lado negativo.
Etapa 3: Etapa 3: não eletrônicos
Certifique-se de que os servos estão estáveis e no lugar certo. Usei gravatas para firmá-los. Depois disso, usei amarras para amarrar as partes superiores (substituíveis) do servo aos braços de madeira. Depois disso, você pode conectar as peças do braço de madeira ao servo. Conecte todos os fios ao Arduino e à placa de ensaio.
Depois disso, soldei os fios ao detector de som.
Etapa 4: Etapa 4: Código
Não estou nem perto de ser bom em programação, mas dei o meu melhor e a internet ajudou muito:)
#include Servo myservo1; Servo myservo2; int pos = 0; int PIN_ANALOG_IN = A0;
void setup () {Serial.begin (9600);
// Exibir status
Serial.println ("Inicializado"); myservo1.attach (9); myservo2.attach (10); }
void loop ()
{valor int;
// Verifique a entrada do envelope
valor = analogRead (PIN_ANALOG_IN);
// O valor do envelope afeta o servo
Serial.println (valor); if (valor 5) && (valor 10) && (valor 20) && (valor 30) && (valor 60)) {myservo1.write (random (0, 90)); myservo2.write (random (0, 90)); }
atraso (180);
}