segunda-feira, 20 de fevereiro de 2012

Arduino tone e map

Aula dia 28/02/2012
Esquema elétrico de como montar um sistema com 3 LEDs e com um LDR.
Os LEDs acendem sequencialmente de acordo com a luminosidade no LDR.
O arduino reproduz diferentes sons de acordo com a distância do LDR.
Abaixo o código utilizado para programar esse experimento no arduino:
  
int LDR;
int som;
void setup(){ 
       pinMode(A0, INPUT);
       Serial.begin(9600); 
       pinMode(13, OUTPUT);
       pinMode(12, OUTPUT); 
       pinMode(11, OUTPUT); 
       pinMode(9,OUTPUT); 
void loop(){ 
       LDR = analogRead(A0); 
       Serial.print("Valor lido no LDR:\t");
       Serial.println(LDR); 
       delay(250); 
       if (LDR<85){
              noTone(9);
              digitalWrite(13, HIGH);
              digitalWrite(12, HIGH); 
              digitalWrite(11, HIGH);
       }
       if (LDR>=85 && LDR<=100){
              digitalWrite(13, LOW); 
              digitalWrite(11, HIGH); 
              digitalWrite(12, HIGH); 
              som = map(LDR, 80.0, 180.0, 264, 264);
              tone(9, som, 10000);
       }           
       if(LDR>100 && LDR<115){
              digitalWrite(13, LOW); 
              digitalWrite(12, LOW); 
              digitalWrite(11, HIGH); 
              som = map(LDR, 80.0, 180.0, 297, 297); 
              tone(9, som, 10000);
       }
       if(LDR>=115){
              digitalWrite(13, LOW); 
              digitalWrite(12, LOW);
              digitalWrite(11, LOW); 
              som = map(LDR, 80.0, 180.0, 352, 352); 
              tone(9, som, 10000);
       }     
}
  
Link do youtube: http://youtu.be/Bzhf0WvJqps
  
   

segunda-feira, 6 de fevereiro de 2012

Arduino blink, digital e analógica

Aula dia 13/02/2012
Esquema elétrico de como montar um sistema com 3 LEDs e com um LDR.
Os LEDs acendem sequencialmente de acordo com a luminosidade no LDR.
Abaixo o código usado para programar esse experimento no arduino:
  
int LDR;
void setup(){ 
       pinMode(A0, INPUT);
       Serial.begin(9600); 
       pinMode(13, OUTPUT);
       pinMode(12, OUTPUT); 
       pinMode(11, OUTPUT); 
void loop(){ 
       LDR = analogRead(A0); 
       Serial.print("Valor lido no LDR:\t");
       Serial.println(LDR); 
       delay(250); 
       if ( LDR<260){
              digitalWrite(13, LOW);
              digitalWrite(12, LOW);
              digitalWrite(11, LOW);
       }
       if (LDR>=260 && LDR<=300){
              digitalWrite(13, HIGH);
              digitalWrite(12, LOW); 
              digitalWrite(11, LOW);
       }     
       if(LDR>300 && LDR<500){
              digitalWrite(13, HIGH); 
              digitalWrite(12, HIGH);
              digitalWrite(11, LOW);
       }
       if(LDR>=500){
              digitalWrite(13, HIGH);
              digitalWrite(12, HIGH);
              digitalWrite(11, HIGH);
       }     
}
   
Link do youtube: http://youtu.be/57hRmEXrHiw