Autor: Alessandra Angelo | Publicado: 2012-06-11T06:02:00-07:00

Código final:

Obs: As resistências de cada condição podem mudar de acordo com a luminosidade do ambiente.


#include &lt;LiquidCrystal.h&gt; //inclui a biblioteca LiquidCrystal

int ledBLUE = 10; //define o pino em que o led azul está ligado
int ledGREEN = 11; //define o pino em que o led verde está ligado
int ledRED = 12; //define o pino em que o led vermelho está ligado
int LDR1,LDR2,LDR3,LDR4,LDR5,LDR6; //declaração das variáveis dos LDRs
LiquidCrystal lcd(8, 13, 5, 4, 3, 2); //defini os pinos da LiquidCrystal

void setup() {
&nbsp; Serial.begin(9600);
&nbsp; lcd.begin(16, 2); //Inicializa uma tela de LCD com 16 colunas e 2 linhas
&nbsp; pinMode(ledBLUE, OUTPUT); &nbsp;//define que o pino 10 será uma saida
&nbsp; pinMode(ledGREEN, OUTPUT); &nbsp;//define que o pino 11 será uma saida
&nbsp; pinMode(ledRED, OUTPUT); &nbsp; //define que o pino 12 será uma saida
&nbsp; pinMode(9,OUTPUT); &nbsp;//define que o pino 9 será uma saída
&nbsp; pinMode(A0, INPUT); //define que o pino A0 será uma entrada
&nbsp; pinMode(A1, INPUT); //define que o pino A1 será uma entrada
&nbsp; pinMode(A2, INPUT); //define que o pino A2 será uma entrada
&nbsp; pinMode(A3, INPUT); //define que o pino A3 será uma entrada
&nbsp; pinMode(A4, INPUT); //define que o pino A4 será uma entrada
&nbsp; pinMode(A5, INPUT); //define que o pino A5 será uma entrada
&nbsp;
}

void loop() {
&nbsp; LDR1 = analogRead(A0); //lê o valor da resistência do LDR1
&nbsp; LDR2 = analogRead(A1); //lê o valor da resistência do LDR2
&nbsp; LDR3 = analogRead(A2); //lê o valor da resistência do LDR3
&nbsp; LDR4 = analogRead(A3); //lê o valor da resistência do LDR4
&nbsp; LDR5 = analogRead(A4); //lê o valor da resistência do LDR5
&nbsp; LDR6 = analogRead(A5); //lê o valor da resistência do LDR6
&nbsp;
&nbsp; //imprimi os valores das resistências dos 6 LDRs
&nbsp; Serial.print("Valor lido no LDR1:\t");
&nbsp; Serial.print(LDR1);
&nbsp; Serial.print("\tValor lido no LDR2:\t");
&nbsp; Serial.print(LDR2);
&nbsp; Serial.print("\tValor lido no LDR3:\t");
&nbsp; Serial.print(LDR3);
&nbsp; Serial.print("\tValor lido no LDR4:\t");
&nbsp; Serial.print(LDR4);
&nbsp; Serial.print("\tValor lido no LDR5:\t");
&nbsp; Serial.print(LDR5);
&nbsp; Serial.print("\tValor lido no LDR6:\t");
&nbsp; Serial.println(LDR6);
&nbsp;
&nbsp; if(LDR1&gt;=680){
&nbsp; &nbsp; digitalWrite(ledBLUE,LOW); //apaga o LED azul do RGB
&nbsp; &nbsp; digitalWrite(ledGREEN,HIGH); //acende o LED verde do RGB
&nbsp; &nbsp; digitalWrite(ledRED,LOW); //apaga o LED vermelho do RGB
&nbsp; &nbsp; lcd.setCursor(0, 0);//coluna 0 linha 0
&nbsp; &nbsp; lcd.print("Nota Musical: &nbsp; ");//imprimi na coluna zero linha zero
&nbsp; &nbsp; lcd.setCursor(0, 1);//coluna 0 linha 1
&nbsp; &nbsp; lcd.print("Do &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;");//imprimi na coluna 0 linha 1
&nbsp; &nbsp; tone(9, 261, 1000000000); //no pino 9 emite a frequência de 261 htz por 1000000000 ms
&nbsp; &nbsp;
&nbsp; }else if(LDR2&gt;=700){
&nbsp; &nbsp; digitalWrite(ledBLUE, HIGH); //acende o LED azul do RGB
&nbsp; &nbsp; digitalWrite(ledGREEN,LOW); //apaga o LED verde do RGB
&nbsp; &nbsp; digitalWrite(ledRED,LOW); //apaga o LED vermelho do RGB
&nbsp; &nbsp; lcd.setCursor(0, 0);//coluna 0 linha 0
&nbsp; &nbsp; lcd.print("Nota Musical: &nbsp; ");//imprimi na coluna zero linha zero
&nbsp; &nbsp; lcd.setCursor(0, 1);//coluna 0 linha 1
&nbsp; &nbsp; lcd.print("Re &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;");//imprimi na coluna 0 linha 1
&nbsp; &nbsp; tone(9, 293, 1000000000); //no pino 9 emite a frequência de 293 htz por 1000000000 ms
&nbsp; &nbsp;
&nbsp; }
&nbsp; else if(LDR3&gt;=900){
&nbsp; &nbsp; digitalWrite(ledBLUE, LOW); //apaga o LED azul do RGB
&nbsp; &nbsp; digitalWrite(ledGREEN,HIGH); //acende o LED verde do RGB
&nbsp; &nbsp; digitalWrite(ledRED,HIGH); //acende o LED vermelho do RGB
&nbsp; &nbsp; lcd.setCursor(0, 0);//coluna 0 linha 0
&nbsp; &nbsp; lcd.print("Nota Musical: &nbsp; ");//imprimi na coluna zero linha zero
&nbsp; &nbsp; lcd.setCursor(0, 1);//coluna 0 linha 1
&nbsp; &nbsp; lcd.print("Mi &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;");//imprimi na coluna 0 linha 1
&nbsp; &nbsp; tone(9, 329, 1000000000); //no pino 9 emite a frequência de 329 htz por 1000000000 ms
&nbsp; }
&nbsp; else if(LDR4&gt;=900){
&nbsp; &nbsp; digitalWrite(ledBLUE, LOW); //apaga o LED azul do RGB
&nbsp; &nbsp; digitalWrite(ledGREEN,LOW); //apaga o LED verde do RGB
&nbsp; &nbsp; digitalWrite(ledRED,HIGH); //acende o LED vermelho do RGB
&nbsp; &nbsp; lcd.setCursor(0, 0);//coluna 0 linha 0
&nbsp; &nbsp; lcd.print("Nota Musical: &nbsp; ");//imprimi na coluna zero linha zero
&nbsp; &nbsp; lcd.setCursor(0, 1);//coluna 0 linha 1
&nbsp; &nbsp; lcd.print("Fa &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;");//imprimi na coluna 0 linha 1
&nbsp; &nbsp; tone(9, 349, 1000000000); //no pino 9 emite a frequência de 349 htz por 1000000000 ms
&nbsp; }
&nbsp; else if(LDR5&gt;=900){
&nbsp; &nbsp; digitalWrite(ledBLUE, HIGH); //acende o LED azul do RGB
&nbsp; &nbsp; digitalWrite(ledGREEN,HIGH); //acende o LED verde do RGB
&nbsp; &nbsp; digitalWrite(ledRED,HIGH); //acende o LED vermelho do RGB
&nbsp; &nbsp; lcd.setCursor(0, 0);//coluna 0 linha 0
&nbsp; &nbsp; lcd.print("Nota Musical: &nbsp; ");//imprimi na coluna zero linha zero
&nbsp; &nbsp; lcd.setCursor(0, 1);//coluna 0 linha 1
&nbsp; &nbsp; lcd.print("Sol &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ");//imprimi na coluna 0 linha 1
&nbsp; &nbsp; tone(9, 392, 1000000000); //no pino 9 emite a frequência de 392 htz por 1000000000 ms
&nbsp; }
&nbsp; else if(LDR6&gt;=900){
&nbsp; &nbsp; digitalWrite(ledBLUE, HIGH); //acende o LED azul do RGB
&nbsp; &nbsp; digitalWrite(ledGREEN,LOW); //apaga o LED verde do RGB
&nbsp; &nbsp; digitalWrite(ledRED,HIGH); //acende o LED vermelho do RGB
&nbsp; &nbsp; lcd.setCursor(0, 0);//coluna 0 linha 0
&nbsp; &nbsp; lcd.print("Nota Musical: &nbsp; ");//imprimi na coluna zero linha zero
&nbsp; &nbsp; lcd.setCursor(0, 1);//coluna 0 linha 1
&nbsp; &nbsp; lcd.print("La &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;");//imprimi na coluna 0 linha 1
&nbsp; &nbsp; tone(9, 440, 1000000000); //no pino 9 emite a frequência de 440 htz por 1000000000 ms
&nbsp; }
&nbsp; &nbsp; else{
&nbsp; &nbsp; &nbsp;lcd.setCursor(0, 0);//coluna 0 linha 0
&nbsp; &nbsp; &nbsp;lcd.print("TecladoSensitivo");//imprimi na coluna zero linha zero
&nbsp; &nbsp; &nbsp;lcd.setCursor(0, 1);//coluna 0 linha 1
&nbsp; &nbsp; &nbsp;lcd.print("Toque uma nota! ");//imprimi na coluna 0 linha 1
&nbsp; &nbsp; &nbsp;noTone(9); //desliga o pino 9
&nbsp; &nbsp; &nbsp;digitalWrite(ledBLUE, LOW); //apaga o LED azul do RGB
&nbsp; &nbsp; &nbsp;digitalWrite(ledGREEN,LOW); //apaga o LED verde do RGB
&nbsp; &nbsp; &nbsp;digitalWrite(ledRED,LOW); //apaga o LED vermelho do RGB
&nbsp; }
}