Você está na página 1de 9

Digital Metro + Controle da

Temperatura do ambiente

Microcontroladores

O que o sistema faz?


O sistema Digital Metro simula a funo de um Metrnomo,
instrumento que permite ao intrprete ou ouvinte organizar o
ritmo de uma msica.
Utilizado por musicistas, possui escalas de tempo que
mostrada de forma audiovisual e pode ser analgico ou
digital.
O Sistema proposto inclui conceito de controle de
temperatura sobre a teoria de uma relao entre ritmo da
msica e aumento/ ou no, da temperatura corporal do
msico e/ ou ouvintes.

Queremos demonstrar com esta experincia como um


Microcontrolador funciona utilizando a linguagem C, para simular
qualquer corpao de tempo pr-programado atravs do programa
Digital Micro, imitando a funo do Metromono. Somente componentes
da placa foram utilizados na simulao: os capacitores da placa para
representar o sinal sonoro, LEDs para o sinal visual e o atuador sobre
a temperatura atravs do cooler (controlador).

esquerda exemplo de um metrnomo analgico e direita de


um digital)

Como ele funciona?


A Experincia com o Digital Metro foi realizada utilizando uma placa
eletrnica do fabricante BBX Eletronics que utiliza um Microcontrolador
PIC 40 pinos, cabo de alimentao de energia e cabo de dados USB.
Para criar o programa foi utilizado o software Mikro C Pro for PIC e o
compilador Usb Pic Prog.

(Microprocessador PIC 40 pinos)

(Placa da BBX )

Botoes da Placa

Rels e LEDs da Placa

Cooler da Placa

// Variveis
unsigned short Nivel = 255;
void main()
{
ADCON1 = 0x0F;
TRISB = 0b00000111;
PORTB = 0X00;
PWM1_Init(5000);
PWM1_Start();

// Nenhum conversor A/D ser utilizado


// Define bit0, bit1 e bit2 do Registro B como INPUT
// Zera bits do Registro B configurados como OUTPUT
// Inicializa mdulo PWM com 5Khz
// Start PWM

while(1)
{
// Monitoramento dos Botes
if(PORTB.RB0==0)
// Verifica se BTN0 foi pressionado
{
Nivel = 0;
delay_ms(100);
}
if(PORTB.RB1==0)
{
Nivel = 1;
delay_ms(100);
}
if(PORTB.RB2==0)
{
Nivel = 2;
delay_ms(100);
}

// Definio do Ritmo
switch (Nivel)
{
case 0:
{
PORTB.RB4 = 1;
PORTB.RB5 = 0;
delay_ms(500);
PORTB.RB4 = 0;
PORTB.RB5 = 1;
delay_ms(500);
PWM1_Set_Duty(50);
break;
}
case 1:
{
PORTB.RB4 = 1;
PORTB.RB5 = 0;
delay_ms(250);
PORTB.RB4 = 0;
PORTB.RB5 = 1;
delay_ms(250);
PWM1_Set_Duty(80);
break;
}

case 2:
{
PORTB.RB4 = 1;
PORTB.RB5 = 0;
delay_ms(125);
PORTB.RB4 = 0;
PORTB.RB5 = 1;
delay_ms(125);
PWM1_Set_Duty(255);
break;

}
default:
{
PORTB.RB4 = 0;
PORTB.RB5 = 0;
break;
}
}
}
}

Concluso
O trabalho apresentado uma continuao do apresentado
anteriormente no 1 Bimestre, aperfeioando: antes o ritmo definido
era mantido somente atravs do pressionamento contnuo do boto,
agora, com apenas um click, o comando mantido indefinidamente
at ser pressionado outro boto ou se placa for desligada.
A proposta do trabalho implementao de um comando de controle,
que nesse caso, o da temperatura.
Para aperfeioar o trabalho falta criar um comando de atuador que
gere calor, e um outro comando para ler esse calor e acionar direto
automaticamente o controle, de acordo a cada um dos trs ritmos prprogramados.

Você também pode gostar