06 de novembro de 2017

Player em Arduino com ajuste de velocidade

Neste primeiro projeto vamos aprender a montar um player que executa a música Dó Ré Mi utilizando o Arduino.

As peças necessárias são:

  • Arduino Uno ou similar
  • 1 Potenciômetro 100k ohm (ou LDR similar)
  • Buzzer (ou Piezo elétrico)
  • 1 Resistor 220 ohm

O Circuito pode ser visto abaixo ou no link:

E por fim temos o código com comentários para facilitar o entendimento:

// Definição das notas
#define NOTE_C4  262
#define NOTE_D4  294
#define NOTE_E4  330
#define NOTE_F4  349
#define NOTE_G4  392

// Variáveis de configuração da porta do Arduino e total de notas da música
int speaker     = 7;
int total_notes = 32;

// Array com as notas da música
int song[] = {
  NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4, 0, NOTE_F4, NOTE_F4, 0,
  NOTE_C4, NOTE_D4, NOTE_C4, NOTE_D4, 0, NOTE_D4, NOTE_D4, 0,
  NOTE_C4, NOTE_G4, NOTE_F4, NOTE_E4, 0, NOTE_E4, NOTE_E4, 0,
  NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4, 0, NOTE_F4, NOTE_F4, 0
};

void setup() {
  // Função não utilizada neste projeto
}

void loop() {
  // Loop para percorrer todas as notas da música
  for (int i = 0; i < total_notes; i++) {
    // Verifica a velocidade da música de acordo com a leitura do potenciômetro
    // e divide por 4 para ajustar o tempo de uma forma mais conveniente.
    int song_speed = analogRead(A0) / 4;

    // Limita a velocidade da música
    if (song_speed <= 100) { song_speed = 100; }
    
    // Executa a nota
    tone(speaker, song[i], song_speed);
    delay(song_speed);
  }
}

Este é um projeto simples, que não envolve muitos componentes e de fácil montagem, embora tenha um resultado muito interessante.

É possível tocar outras músicas bastando apenas alterar o array com as notas, mas é claro que para isso será necessário algum conhecimento musical.

Espero que sejá útil em seus estudos com o Arduino.

Um abraço e até a próxima.

Visualizações: 2.895



Eletrônica

23 de novembro de 2017

Controle de Matriz de LED com Joystick

Projeto Arduino de controle de Matriz de LED 8X8 utilizando um Joystick.

12 de novembro de 2017

LEDs sequenciais em Arduino

Projeto Arduino de LEDs sequenciais.

Sérgio Toledo | Full-Stack Web Developer | LinkedIn | GitHub | YouTube

Todos os direitos reservados ©