Você está na página 1de 3

FACULDADE DE ENGENHARIA

DEPARTAMENTO DE ENGENHARIA ELECTROTÉCNICA (DEEL)

ENGENHARIA ELECTRÓNICA (Pós-Laboral)

ELETRÓNICA DIGITAL

Tema: CONTROLO DE VELOCIDADE DO MOTOR

Discente: Docente:
Penicela, Jeremias Luciano Doutor Eng.º J. Doho

Maputo, Setembro de 2021


CONTROLO DE VELOCIDADE DO MOTOR

Exercício: Variar a velocidade do motor de acordo com a contagem que é ajusatada com as
teclas botão PULLUP e botão PULLDOWN. Em caso de teclas silmultâneas bUp tem
primazia. Contagem máxima 10(máxima velocidade no sentido horário). Contagem nula
motor parado. Usar PWM para modular a velocidade através da variação da tensão nos
extremos dum motor DC.

Mostrar a velocidade absoluta ou relativa no LCD ou no serial monitor.

Resolução
Programação feita no Arduino
#include<LiquidCrystal.h>
LiquidCrystal lcd(2,3,4,5,6,7); //serve para criar parametros do lcd (Rs,
Enable,D4,D5,D6,D7)
int orario=11;
int antiorario=12;
int pwmo=10;
int pwma=9;

void setup() {
// put your setup code here, to run once:
lcd.begin(16,2); //Incializa a interface do ecra do lcd
pinMode(orario, INPUT);
pinMode(antiorario,INPUT_PULLUP);
pinMode(pwmo, OUTPUT);
pinMode(pwma, OUTPUT);
}

void loop() {

Penicela, Jeremias Luciano UEM 2021 Pág.1


CONTROLO DE VELOCIDADE DO MOTOR

// put your main code here, to run repeatedly:

if(digitalRead(orario)==1){
lcd.setCursor(0,0);
lcd.print("Motor girando");
delay(10);
lcd.setCursor(0,1);
lcd.print("Sentido_horario" );
digitalWrite(pwma,HIGH);
}
else{digitalWrite(pwma,LOW);}

if(digitalRead(antiorario)==0){
lcd.setCursor(0,0);
lcd.print("Motor girando");
delay(10);
lcd.setCursor(0,1);
lcd.print("Sentido_anti_horario" );
digitalWrite(pwmo,HIGH);
}
else{digitalWrite(pwmo,LOW);}

No anexo seguinte pode-se ver o circuito respectivo a simulação da variação da


velocidade do motor feito no proteus.

Penicela, Jeremias Luciano UEM 2021 Pág.2

Você também pode gostar