Aula de programação C – 06

6. PRÁTICA 06: ACIONAMENTO DO MOTOR COM POTENCIÔMETRO

Referencial Teórico: Arquitetura do Microcontrolador; Registradores de Função Especiais – SRF.

Objetivo: Controlar o estado de funcionamento do motor por meio de um potenciômetro e da  conversão de sinal analógico para digital.

Materiais: Utilizar potenciômetro ligado à entrada 1, motor de corrente contínua ligado à saída A e fonte de alimentação.

6.1 Arquivo Principal

#include "iniciog.h"
#include "pratica.h"

void main(){

	configura_portas();

	habilita_ponteh();

	configura_conversor();

	while(1){
		ler_sensor();

		if (sensor >= 500) {
			MTR1_CW = 1;
			MTR1_CC = 0;
		}
		if (sensor <= 500) {
			MTR1_CW = 0;
			MTR1_CC = 0;
		}
	}
}

6.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();
}