Computacao Embarcada
Explore os Arquivos »
O objetivo do projeto é reproduzir músicas monofônicas, que são aquelas que só possuem uma única nota tocada por vez. Todas as músicas foram obtidas em um repositório apontado pelos professores, cujo link está mais abaixo. O projeto toca 4 músicas diferentes, e você pode circular entre elas clicando nos botões do OLED, além de tocar a música, pausar e parar. O projeto também consta com leds que piscam de acordo com a frequência de cada nota e uma barra de progresso de cada música.
Para criar o dispositivo embarcado utilizou-se o microcontrolador ATSAME70Q21, um ARM Cortex M7.
Foi utilizado o OLED1 Xplained Pro, para permitir a comunicação com o usuário através da tela e dos três botões embutidos na extensão. Um buzzer também foi utilizado para a reprodução das notas musicais.
Para montar a placa, deve-se encaixar o OLED1 nos pinos EXT1 da placa Atmel:
E para conectar o buzzer devemos conectá-lo aos seguintos pinos da placa:
Para reproduzir as músicas monofônicas com o buzzer, foi necessário implementar uma função que controla a frequência das vibrações e considere também o tempo de duração de cada nota.
O código foi estruturado da seguinte forma:
- main.c : arquivo principal do projeto
- GoT.h, Mario.h, Mii.h, StarWars.h : músicas e suas variáveis específicas
- funcoes.h : funções de reprodução musical, como o tone, que "toca" cada nota dependendo da frequência, e a play, que toca a música inteira
- structs.h : possui todos os structs utilizados no código, tanto os das músicas individualmente quanto da coletânea delas
- notas_freq : defines das frequências de cada nota
- defines : defines dos periféricos utilizados
Video de Demonstração no Youtube
Eiki Luis Yamashiro: GitHub, eikily@al.insper.edu.br
Beatriz Muniz: GitHub, beatrizmcs@al.insper.edu.br
Repositórios das músicas: https://github.com/robsoncouto/arduino-songs/