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
Postar um comentário