Projeto Arduíno #5

Projeto Arduíno #5: Medindo intensidade de motor com LEDs

Materiais: 
-LEDs: verde, amarelo e vermelho;
-buzzer(opcional);
-potenciômetro 10k;
-motor DC;
-TIP 122 ou 120;
-resistores 220Ohms;
-diodo 1N4007;
-fonte externa, para alimentação do motor! 

Diagrama: 


Código:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//Projeto com arduíno: Coruja do Arduíno... 
//pino analógico onde o potenciômetro está conectado.
int const potenciometro = 0; 
 
//pino digital onde o TIP122 está conectado.
int const transistor = 9;    
 
//pinos digitais
int const ledVerde  = 8;    //led verde 
int const ledAmarelo  = 10;  //led amarelo 
int const ledVermelho  = 11; //led vermelho 
int const buzzer = 6;    //buzzer 
 
//armazenará o valor lido no potenciômetro.
int valPotenciometro = 0;    
 
void setup() {
 
  //definindo o pino digital 9 como de saída.
  pinMode(transistor, OUTPUT); 
  //definindo pinos dos leds e buzzer como de saída
  pinMode(ledVerde, OUTPUT);    
  pinMode(ledAmarelo, OUTPUT);  
  pinMode(ledVermelho, OUTPUT);
  pinMode(buzzer, OUTPUT);

}
 
void loop() {  
   
  //lendo o valor do potenciômetro (0 até 1023) e 
  //dividindo por 4 para obter um valor entre 0 e 255
  //que são valores adequados para a base do TIP122.
  valPotenciometro = analogRead(potenciometro) / 4;
   
  //atribuindo o valor lido no potenciômetro a 
  //base do TIP122.  
  analogWrite(transistor, valPotenciometro); 
   
  //acendendo e pagando leds conforme posição do 
  //potenciômetro
  controlarLeds();  
}  
 
void controlarLeds() {    

  if(valPotenciometro >= 235){
    tone(buzzer,1000);
    delay(500);
    noTone(buzzer);
    delay(500);
  }else{
    noTone(buzzer);
  }
  
  if (valPotenciometro >= 60) {
    digitalWrite(ledVerde,HIGH);
  } else {
    digitalWrite(ledVerde,LOW);
  } 

  if (valPotenciometro >= 110) {
    digitalWrite(ledAmarelo,HIGH);
  } else {
    digitalWrite(ledAmarelo,LOW);
  }  
   
  if (valPotenciometro >= 230) {
    digitalWrite(ledVermelho,HIGH);
  } else {
    digitalWrite(ledVermelho,LOW);
  }
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Comentários

Postagens mais visitadas deste blog

Projeto Arduíno #1

Efeito Blink(alternado) com CIs 555 e 74HC04(NOT)