8. PRÁTICA 08: CONTROLE DE MOTOR COM POTENCIÔMETRO E BOTÃO
Referencial Teórico: Operadores de atribuição; Laço While; Funções de atraso; Funções.
Objetivo: Controlar o estado de funcionamento e a rotação de um motor por meio de um botão e um potenciômetro.
Materiais: Utilizar botão presente na placa, potenciômetro ligado à entrada 1, motor de corrente contínua ligado à saída A e fonte de alimentação.
8.1 Arquivo Principal
#include "iniciog.h"
#include "pratica.h"
void main(){
configura_portas();
habilita_ponteh();
configura_conversor();
while(1){
ler_sensor();
MTR1_CW = 1;
MTR1_CC = 0;
espere_por(sensor);
MTR1_CW = 0;
MTR1_CC = 0;
espere_por(sensor);
if (botao == 1) MTR1_EN = 1;
if (botao == 0) MTR1_EN = 0;
}
}
8.2 Arquivo Secundário
// acrescentar ao iniciog.h ou arquivo pratica.h
void habilita_ponteh(){
MOTOR_AB_EN = 1;
MTR1_EN = 1;
MTR2_EN = 1;
}
void configura_conversor(){
OpenADC(ADC_FOSC_8
&ADC_RIGHT_JUST
&ADC_4_TAD,
ADC_CH0
&ADC_INT_OFF
&ADC_VREFPLUS_VDD
&ADC_VREFMINUS_VSS,
ADC_1ANA);
}
unsigned long sensor;
void ler_sensor(){
SetChanADC(ADC_CH0);
ConvertADC();
while(BusyADC());
sensor = ReadADC();
}