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 } }