Índice:

Metrônomo baseado em microcontrolador: 5 etapas
Metrônomo baseado em microcontrolador: 5 etapas

Vídeo: Metrônomo baseado em microcontrolador: 5 etapas

Vídeo: Metrônomo baseado em microcontrolador: 5 etapas
Vídeo: Fabricação de Protótipos de PCB -MGNews 063 2024, Novembro
Anonim
Image
Image

Um metrônomo é um dispositivo de tempo usado por músicos para controlar as batidas das canções e desenvolver um senso de tempo entre os iniciantes que estão aprendendo um novo instrumento. Ajuda a manter um senso de ritmo que é crucial na música.

Este metrônomo construído aqui pode ser usado para definir o número de batidas por compasso e as batidas por minuto. Uma vez que esses dados de configuração são inseridos, ele emite um bipe de acordo com os dados acompanhados de iluminação apropriada usando LEDs. Os dados de configuração são exibidos em uma tela LCD.

Etapa 1: Componentes necessários:

·

  • Microcontrolador Atmega8A
  • · Visor LCD 16 * 2
  • · Piezo Buzzer
  • · LEDs (verde, vermelho)
  • · Resistores (220e, 330e, 1k, 5,6k)
  • · Botões de pressão (2 * anti-bloqueio, 1 * bloqueio)
  • · Bateria de célula tipo moeda 3V CR2032 (* 2)
  • Suporte para bateria tipo moeda (* 2)
  • · Conector Relimate de 6 pinos (polarizado)

Etapa 2: Fazendo o circuito

Faça as conexões do circuito como mostrado na imagem em um veroboard e solde as conexões corretamente

Etapa 3: Recursos do metrônomo

A interface do metrônomo é ocupada principalmente pela tela LCD. Acima está o microcontrolador 8A colocado centralmente com os LEDs e a campainha à direita. Os três interruptores e o conector Relimate são colocados na parte superior.

Todo o projeto é alimentado por duas baterias de célula tipo moeda (em série @ 6V 220mAh) com um tempo de execução estimado de 20 dias a 1 mês (não continuamente). Portanto, é moderadamente eficiente em termos de energia e tem um requisito de corrente de 3 - 5 mA.

O interruptor de travamento automático é colocado na extremidade esquerda e é o botão LIGA / DESLIGA. O botão do meio é o botão de configuração e o botão à direita é usado para alterar os valores de bpm e batidas (por compasso).

Quando o botão ON / OFF é pressionado, o LCD liga e exibe o valor das batidas por compasso. Ele aguarda 3 segundos para que o usuário altere o valor, após o qual assume o valor resultante como sua entrada. Este valor varia entre 1/4, 2/4, 3/4, 4/4.

Em seguida, ele exibe os batimentos por minuto (bpm) e novamente espera por 3 segundos para que o usuário altere o valor após o qual define o valor específico. Este tempo de espera de 3 segundos é calibrado depois que o usuário altera um valor. Os valores de bpm podem variar de 30 a 240. Pressionar o botão Configurar durante a configuração de bpm redefine seu valor para 30 bpm, o que é útil para reduzir a quantidade de cliques no botão. Os valores de bpm são múltiplos de 5.

Após a configuração, a luz de fundo do LCD desliga para economizar bateria. O Buzzer emite um bipe a cada batida e os LEDs piscam um de cada vez, alternadamente a cada batida. Para alterar os valores, o botão Configuração é pressionado. Ao fazer isso, a luz de fundo do LCD acende e o prompt de batida aparece como mencionado antes, com o mesmo procedimento posteriormente.

O microcontrolador Atmega8A consiste em 500 bytes de EEPROM, o que significa que todos os valores de batidas e bpm inseridos permanecem armazenados mesmo após o metrônomo ser desligado. Portanto, ligá-lo novamente faz com que ele seja retomado com os mesmos dados inseridos antes.

O conector Relimate é na verdade um cabeçalho SPI que pode ser usado para duas finalidades. Ele pode ser usado para reprogramar o microcontrolador Atmega8A para atualizar seu firmware e adicionar novos recursos ao metrônomo. Em segundo lugar, uma fonte de alimentação externa também pode ser usada para alimentar o metrônomo para usuários hardcore. Mas esta fonte de alimentação não deve ser maior que 5,5 volts e substitui a chave liga / desliga. Por razões de segurança, esta chave DEVE estar desligada para que a alimentação externa não entre em curto com as baterias embutidas.

Etapa 4: Descrição

Este projeto é feito usando o microcontrolador Atmel Atmega8A que é programado usando o IDE Arduino através de um Arduino Uno / Mega / Nano usado como um programador ISP.

Este microcontrolador é uma versão com menos recursos do Atmel Atmega328p que é usado extensivamente no Arduino Uno. O Atmega8A é composto por 8Kb de memória programável com 1Kb de RAM. É um microcontrolador de 8 bits rodando na mesma frequência que o 328p, ou seja, 16Mhz.

Neste projeto, como o consumo de corrente é um aspecto importante, a frequência do clock foi reduzida e o oscilador interno de 1 Mhz é usado. Isso reduz muito a necessidade de corrente para cerca de 3,5 mA @ 3,3 V e 5 mA @ 4,5 V.

O Arduino IDE não tem a facilidade de programar este microcontrolador. Portanto, um pacote (plugin) “Minicore” foi instalado para rodar o 8A com seu oscilador interno usando um bootloader Optiboot. Percebeu-se que a necessidade de energia do projeto aumentava com o aumento da tensão. Portanto, para uma utilização ideal de energia, o microcontrolador foi configurado para funcionar a 1 MHz com uma única bateria de moeda de 3 V consumindo apenas 3,5 mA. Mas foi observado que o lcd não estava funcionando corretamente com uma tensão tão baixa. Portanto, a decisão de usar duas baterias tipo moeda em série foi aplicada para aumentar a tensão para 6V. Mas isso significava que o consumo de corrente aumentou para 15mA, o que era uma grande desvantagem, pois a vida útil da bateria ficaria muito fraca. Também excedeu o limite de tensão de segurança de 5,5 V do microcontrolador 8A.

Portanto, um resistor de 330 ohms foi conectado em série com a fonte de alimentação de 6 V para eliminar este problema. O resistor basicamente causa uma queda de tensão em si mesmo para diminuir o nível de tensão em 5,5 V para operar o microcontrolador com segurança. Além disso, o valor de 330 foi escolhido levando em consideração vários fatores:

  • · O objetivo era operar o 8A na tensão mais baixa possível para economizar energia.
  • · Foi observado que o LCD parou de funcionar abaixo de 3,2 V embora o microcontrolador ainda funcionasse
  • · Este valor de 330 garante que as quedas de tensão nos extremos sejam exatamente precisas para fazer uso total das baterias tipo moeda.
  • · Quando as células tipo moeda estavam em seu pico, a voltagem estava em torno de 6,3 V, com o 8A recebendo uma voltagem efetiva de 4,6 - 4,7 V (@ 5mA). E quando as baterias estavam quase secas, a voltagem estava em torno de 4 V com o 8A e o LCD recebendo voltagem suficiente, ou seja, 3,2 V para funcionar corretamente. (@ 3,5mA)
  • · Abaixo do nível de 4v das baterias, elas eram efetivamente inúteis, sem nenhum poder sobrando para alimentar nada. A queda de tensão no resistor varia o tempo todo, uma vez que o consumo de corrente do microcontrolador 8A e do LCD reduz com a redução da tensão, o que essencialmente ajuda a aumentar a vida útil da bateria.

O LCD 16 * 2 foi programado usando a biblioteca LiquidCrystal integrada do Arduino IDE. Ele utiliza 6 pinos de dados do microcontrolador 8A. Além disso, seu brilho e contraste foram controlados usando dois pinos de dados. Isso foi feito de modo a não usar um componente extra, por exemplo, um potenciômetro. Em vez disso, a função PWM do pino de dados D9 foi usada para ajustar o contraste da tela. Além disso, a luz de fundo do LCD precisava ser desligada quando não era necessária, então isso não teria sido possível sem o uso de um pino de dados para ligá-la. Um resistor de 220 ohms foi usado para limitar a corrente através do LED de retroiluminação.

O Buzzer e os LEDs também foram conectados aos pinos de dados do 8A (um para cada). Um resistor de 5,6 k ohm foi usado para limitar a corrente através do LED vermelho, enquanto um resistor de 1 k ohm foi usado para o verde. Os valores do resistor foram escolhidos ao adquirir um ponto ideal entre o brilho e o consumo de corrente.

O botão ON / OFF não está conectado a um pino de dados e é simplesmente uma chave que muda o projeto. Um de seus terminais se conecta ao resistor de 330 ohms enquanto o outro se conecta aos pinos Vcc do lcd e do 8A. Os outros dois botões são conectados a pinos de dados que são puxados internamente para fornecer tensão por meio do software. Isso é necessário para o funcionamento dos interruptores.

Além disso, o pino de dados, ao qual o botão Configuração se conecta, é um pino de interrupção de hardware. Sua rotina de serviço de interrupção (ISR) é ativada no IDE do Arduino. O que isso significa é que sempre que o usuário deseja executar o menu de configuração, o 8A suspende sua operação atual de funcionar como um metrônomo e executa o ISR que basicamente ativa o menu de configuração. Caso contrário, o usuário não conseguirá acessar o menu Configuração.

A opção EEPROM mencionada antes garante que os dados inseridos permaneçam armazenados mesmo após o desligamento da placa. E o cabeçalho SPI é composto por 6 pinos - Vcc, Gnd, MOSI, MISO, SCK, RST. Isso faz parte do protocolo SPI e, conforme mencionado antes, um programador de ISP pode ser usado para programar o 8A novamente para adicionar novos recursos ou qualquer outra coisa. O pino Vcc é isolado do terminal positivo da bateria e, portanto, o metrônomo oferece a opção de usar uma fonte de alimentação externa, tendo em mente as restrições mencionadas antes.

Todo o projeto foi construído em um Veroboard soldando os componentes individuais e as conexões apropriadas de acordo com o diagrama de circuito.

Recomendado: