Aplicación #7.- Servo Motor con potenciómetro

Transcripción

Aplicación #7.- Servo Motor con potenciómetro
Aplicación #7.- Servo Motor con potenciómetro
La función de esta aplicación es: Mover el servo motor proporcionalmente al angulo que se
mueva el potenciómetro.
Nota: La salida de control del servo se encuentran en PC1 y la entrada del potenciómetro es PA0.
Material utilizado:
*Potenciómetro
*Micro servo tower pro
librerías Activadas:
*ADC
Programa en MikroC:
unsigned int i=0,x=0;
void Interrupt(){
if (TMR0IF_bit){
TMR0IF_bit = 0;
LATC.F1=1;
for (i=0;i=x;i++){
delay_us(10);
}
LATC.F1=0;
TMR0H = 0x73;
TMR0L = 0x60;
}
}
void main() {
TRISA.b0 = 1;
ADCON1 = 0B00001110;
TRISC.F1 = 0;
LATC.F1=0;
T0CON
= 0x88;
TMR0H
= 0x73;
TMR0L
= 0x60;
GIE_bit
= 1;
TMR0IE_bit = 1;
//La bandera de TMR0 fue activada?
//Limpia la bandera
//Carga nuevamente el valor que define el
//tiempo de cada interruppción 19.4ms
// PA0 se define como entrada analogica
// Voltaje de referencia para la conversión A/D es VCC
//Configura puerto C1 como salida.
//Configuración del TMR0
//Valores de TMR0 para hacer una
//interrupción cada 20ms
//Activa las interrupciones Globales
//Activa la interrupción por TMR0
while(1){
x = ((ADC_Read(0)*1.661)+600)/10; //operación para calcular el ancho del tren de pulsos
delay_ms(1);
//enviados al servo
}
}

Documentos relacionados