Anda di halaman 1dari 3

/* CONTROLE DE VENTILADOR

TRABALHO DE MICROCONTROLADORES
TURMA EN01S06
ALUNOS: DIEGO GANDRA - 16010795
NICHOLAS ROCHA ALMEIDA - 15265072
WESLEY FREITAS - 16187326

*/

#include <stdlib.h>

int btnMais = 4;
int btnMenos = 3;
int velocidade = 0;
int intervalo = 22;
int rotacaomin = 57;
int rotacaomax = 255;
int rotacaoatual;
int btnMaisState;
int btnMenosState;
chartempvelocidade[2];

void setup() {

pinMode(9, OUTPUT);
pinMode(btnMais, INPUT);
pinMode(btnMenos, INPUT);

void loop() {
btnMaisState = digitalRead(btnMais);
btnMenosState = digitalRead(btnMenos);

if ((velocidade >= 0 ) && (velocidade <= 10)) {


if ((btnMaisState == HIGH) && (velocidade < 10))
{
velocidade = velocidade + 1;
}

if ((btnMenosState == HIGH) && (velocidade > 0))


{
velocidade = velocidade - 1;
}

switch (velocidade) {
case 0:
//Para o ventilador
analogWrite(9, 0);
rotacaoatual = 0;
break;
case 1:
analogWrite(9, rotacaomin);
rotacaoatual = rotacaomin;
break;
case 2:
analogWrite(9, rotacaomin + (1 * intervalo));
rotacaoatual = rotacaomin + (1 * intervalo);
break;
case 3:
analogWrite(9, rotacaomin + (2 * intervalo));
rotacaoatual = rotacaomin + (2 * intervalo);
break;
case 4:
analogWrite(9, rotacaomin + (3 * intervalo));
rotacaoatual = rotacaomin + (3 * intervalo);
break;
case 5:
analogWrite(9, rotacaomin + (4 * intervalo));
rotacaoatual = rotacaomin + (4 * intervalo);
break;
case 6:
analogWrite(9, rotacaomin + (5 * intervalo));
rotacaoatual = rotacaomin + (5 * intervalo);
break;
case 7:
analogWrite(9, rotacaomin + (6 * intervalo));
rotacaoatual = rotacaomin + (6 * intervalo);
break;
case 8:
analogWrite(9, rotacaomin + (7 * intervalo));
rotacaoatual = rotacaomin + (7 * intervalo);
break;
case 9:
analogWrite(9, rotacaomax + (8 * intervalo));
rotacaoatual = rotacaomin + (8 * intervalo);
break;
case 10:
analogWrite(9, rotacaomax + (9 * intervalo));
rotacaoatual = rotacaomin + (9 * intervalo);
break;

}
}

delay(500);