Índice:

Máquina de ruído Arduino: 4 etapas
Máquina de ruído Arduino: 4 etapas

Vídeo: Máquina de ruído Arduino: 4 etapas

Vídeo: Máquina de ruído Arduino: 4 etapas
Vídeo: ENTRADAS ANALÓGICOS COM MENOS RUÍDO | Curso de Arduino #287 2024, Novembro
Anonim
Arduino Noise Machine
Arduino Noise Machine
Arduino Noise Machine
Arduino Noise Machine
Arduino Noise Machine
Arduino Noise Machine

Encontrei um minúsculo alto-falante enquanto derrubava um velho P. C. para reciclagem e pensei em como seria usar a função Arduino Tone (). Comecei com um potenciômetro de 10Ω para controlar o tom e comecei a fazer algum barulho. A função Tone () usa um padrão de pulso simples. Ele liga e desliga o som em diferentes frequências em um padrão de onda quadrada. Eu tinha outros dois potenciômetros espalhados, então eu os adicionei e usei para controlar a duração do tom. Um para controlar a duração do tom e outro para controlar o espaço silencioso entre os tons. Ele está basicamente usando outro padrão de onda quadrada, mas em uma frequência muito mais baixa. Você pode obter uma boa variedade de ruído com este circuito. Também funciona bem com uma campainha piezoelétrica, mas não tem a resposta de graves de um alto-falante.

Etapa 1: Peças de que você precisará

Arduino Uno

Placa de ensaio e fios de jumper

1 alto-falante pequeno ou campainha piezoelétrica

1 botão de pressão

3 potenciômetros de 10Ω

1 resistor de 22Ω

1 resistor de 10kΩ

Etapa 2: construir o circuito

Construa o Circuito
Construa o Circuito

Conecte a placa de ensaio ao pino do Arduino 5V e ao GND. Coloque a chave do botão de pressão na extremidade direita ou esquerda da placa de ensaio e conecte-a a 5 V e aterramento usando o resistor de 10kΩ. Conecte um fio do circuito da chave ao pino 2 em seu Arduino.

No outro lado da placa de ensaio, configure o circuito do alto-falante / piezo para 5v e aterre usando o resistor de 220Ω. Este resistor controla a corrente, controlando assim o volume; você pode tentar resistores diferentes aqui para volume maior ou menor.

Organize seus potenciômetros no centro da placa de ensaio, dando espaço suficiente para mexer nos botões. Cada potenciômetro precisará ser conectado a 5V e aterrado e os pinos centrais em cada um conectado aos pinos analógicos A0, A1 e A2

Etapa 3: O Código

Um potenciômetro ou potenciômetro é um resistor variável que, quando conectado a um Arduino, retornará um valor entre 0 e 1023. Usaremos a função map () para alterar esses valores para atender às nossas próprias necessidades. A função map () leva cinco argumentos e, em nosso caso, precisamos mapear novamente o intervalo entre 220 e 2200 para produzir um som audível razoável.

A função é semelhante a esta:

mapa (pote, 0, 1023, 220, 2200);

Você pode brincar com os dois últimos valores para tons de frequência mais alta e mais baixa, mas tome cuidado para não incomodar seu cão.

Noise_Machine.ino

/ * Máquina de ruído usando três potenciômetros conectados a entradas analógicas
e um piezo ou alto-falante pequeno. Um botão liga o ruído, os potenciômetros
controlar o tom usando a função Tom do Arduino () e dois atrasos
valores que controlam a duração de cada tom e a duração entre
cada tom. Os potenciômetros fornecem valores analógicos que são alterados
usando a função map () em intervalos maiores ou menores para se adequar ao seu
gostos musicais.
Este código é de domínio público.
Matt Thomas 2019-05-04
*/
constint buttonPin = 2; // Botão do pino 2
alto-falante constint = 9; // Alto-falante ou piezo no pino 9
int buttonState = 0; // Variáveis para o botão
int potZero; // e potenciômetros
int potOne;
int potTwo;
voidsetup () {
pinMode (9, SAÍDA); // Pino de saída do alto-falante / piezo
}
voidloop () {
buttonState = digitalRead (buttonPin); // Leia o estado do botão de pressão
potZero = analogRead (A0); // Variáveis para ler os valores analógicos
potOne = analogRead (A1);
potTwo = analogRead (A2);
int htz = map (potZero, 0, 1023, 0, 8800); // Mapeie as leituras analógicas em
int alto = mapa (potOne, 0, 1023, 0, 100); // novos intervalos de números e criar
int low = map (potTwo, 0, 1023, 0, 100); // novas variáveis
if (buttonState == HIGH) {// Se o botão for pressionado …
tom (alto-falante, htz); // Som ligado
atraso (alto); // Comprimento do tom
noTone (alto-falante); // Som desligado
atraso (baixo); // Tempo até o próximo tom
} outro {
noTone (alto-falante); // Sem tom se o botão for liberado
}
}

veja rawNoise_Machine.ino hospedado com ❤ por GitHub

Etapa 4: Fim

Então isso é tudo que há para fazer. Brinque com os valores no código, adicione mais potes / botões e veja o que mais você pode controlar. Avise-me se cometi algum erro e espero que goste da música.

Recomendado: