Como fazer um instrumento com o arduino

Video: Como fazer POV (Persistence of Vision) com Arduino - Parte 1

O Arduino permite ir além de tocar um som - você criar seu próprio instrumento, semelhante ao Theremin. o Theremin, nomeado após seu inventor Léon Theremin, foi um dos primeiros instrumentos eletrônicos, desenvolvido na década de 1920. Ele trabalhou por detectar o campo eletromagnético de mãos do jogador para mudar sinais: um lado para o volume e outro para campo.

Video: Como Fazer uma Bobina de Tesla que Toca Músicas com Arduino e FlyBack Explicado Fácil

O esboço PitchFollower

Neste esboço, você descobrir como fazer um Theremin orçamento usando um piezo como um sensor de luz para controlar o jogo.

Você precisa:

  • Um Arduino Uno

  • A placa de ensaio

  • A piezo

  • Um sensor de luz

  • A 47k ohm resistor

  • fios salto

Este circuito tem duas metades separadas, o piezo e o circuito sensor de luz. O piezoeléctrico é ligado como no esboço toneMelody, com um fio de pino digital de 8 e o outro para GND.

O sensor de luz é ligado à entrada analógica 0 sobre um lado e sobre o outro- 5V o resistor 4.7K está ligado entre analógico 0 e moído.

Completar o circuito, e abrir o desenho, escolha Arquivo → Exemplos → 02.Digital → tonePitchFollower.

/ * Afastamento followerPlays um arremesso que muda de acordo com uma inputcircuit analógico mudando: * altifalante de 8 ohm no pino digital de 8 * fotoresistor em analógica de 0 a 5V * 4.7K resistor em analógica de 0 a 21 de janeiro groundcreated 2010modified 09 de abril 2012by Tom IgoeThis exemplo código está no domain.http público: setup //arduino.cc/en/Tutorial/Tone2*/void () {// inicializa comunicação serial (para depuração somente): Serial.begin (9600) -} void loop () { // lê o sensor:int sensorReading = analogRead(A0) - // imprimir a leitura do sensor para que você saiba a sua gamaSerial.println(SensorReading) - // mapear o campo para o intervalo do análogo input.// alterar os números de entrada mínima e máxima abaixo // dependendo da faixa de doação do seu sensor:int thisPitch = mapa(SensorReading, 400, 1000, 100, 1000) - // jogar o campo:tom(8, thisPitch, 10) -demora(1) - // atraso na entre leituras para a estabilidade}

Depois de ter encontrado o desenho, pressione o botão Compilar para verificar o código. Quaisquer erros de sintaxe virar a caixa de mensagem vermelho quando eles são descobertos, e você vê uma mensagem de erro informando que está errado.



Se o esboço compila corretamente, clique em Upload para fazer o upload do esboço para sua placa. Quando isso for feito upload, você deve ter um sensor de luz que vai mudar o tom de sua campainha. Se você não ouvir qualquer alteração, certifique-se que você ligar uma lâmpada de mesa em mais de sua placa de ensaio. Isso ajudará a aumentar a diferença quando você cobrir o sensor de luz com a mão.

Se nada acontecer, você deve verificar sua fiação:

  • Certifique-se de que você está usando o número PIN correto para as entradas e saídas.

    Video: Tutorial - Como fazer um painel de carro para ETS 2

  • Verifique se o seu piezo está ligado da maneira correta. Símbolos podem ser escondidos na parte de baixo, se eles não são visíveis.

  • Verifique as conexões na placa de ensaio. Se os fios de salto ou componentes não são conectados usando as linhas corretas na placa de ensaio, eles não irão funcionar.

A repartição esboço PitchFollower

Este esboço converte directamente as leituras do sensor de luz a uma frequência em vez de exigir uma tabela de pesquisa. Isso significa que você pode deslizar entre as notas, bem como escolhê-los individualmente.

Na configuração, a porta serial é aberta para que você possa monitorar as leituras dos sensores como eles vêm.

void setup () {// inicializa comunicação serial (para depuração somente): Serial.begin (9600) -}

No ciclo principal, o sensor de luz é lido do pino analógico 0. Esta leitura também é encaminhado para o monitor de série.

vazio loop () {// lê o sensor:int sensorReading = analogRead(A0) - // imprimir a leitura do sensor para que você saiba a sua gamaSerial.println(SensorReading) -

Para converter o alcance do sensor para a faixa de freqüências que o sinal sonoro pode cobrir, você usa o mapa função.

Video: Como Fazer um Braço Robótico com Servos Prático! Muito Fácil

 // mapear o campo para o intervalo do análogo input.// alterar os números de entrada mínima e máxima abaixo // dependendo da faixa de doação do seu sensor:int thisPitch = mapa(SensorReading, 400, 1000, 100, 1000) -

A função de tom, então emite o bilhete com o valor do sensor mapeados e uma muito curta duração de 10 milissegundos. Esta duração serve para fazer o som audível, mas a duração real será determinado por quanto tempo você segurar a sua mão sobre o sensor, como descrito anteriormente.

 // jogar o campo:tom(8, thisPitch, 10) -

Finalmente, uma pequena atraso ocorre no final do ciclo para melhorar a estabilidade para as leituras.

 demora(1) - // atraso na entre leituras para a estabilidade}

Com esta configuração, você pode rapidamente fazer um controlador fácil e talvez até mesmo formar uma banda Theremin viajando com seus amigos.


Publicações relacionadas