int LDR1,LDR2,LDR3,LDR4,LDR5,LDR6,LDR7;float VLDR1,VLDR2,VLDR3,VLDR4,VLDR5,VLDR6,VLDR7; void setup(){DDRD = DDRD | B11011100;Serial.begin(9600);pinMode(A0, INPUT);pinMode(A1, INPUT);pinMode(A2, INPUT);pinMode(A3, INPUT);pinMode(A4, INPUT);pinMode(A5, INPUT);pinMode(5, INPUT);pinMode(13,OUTPUT);digitalWrite(13, HIGH);pinMode(12,OUTPUT);digitalWrite(12, HIGH); pinMode(11,OUTPUT);digitalWrite(11, HIGH);pinMode(10,OUTPUT);digitalWrite(10, HIGH); pinMode(9,OUTPUT);digitalWrite(9, HIGH); pinMode(7,OUTPUT);digitalWrite(7, HIGH);pinMode(6,OUTPUT);digitalWrite(6, HIGH); } void loop(){LDR1 = analogRead(A0);VLDR1=LDR1*5.0000000/1024;Serial.println(VLDR1);while(VLDR1>=4.0){ LDR1 = analogRead(A0); VLDR1=LDR1*5.0000000/1024; Serial.println(VLDR1); tone(8,262);}if(VLDR1<4.0){ noTone(8);}LDR2 = analogRead(A1);VLDR2=LDR2*5.0000000/1024;while(VLDR2>=4.0){ LDR2 = analogRead(A1); VLDR2=LDR2*5.0000000/1024; tone(8,294);}if(VLDR2<4.0){ noTone(8);}LDR3 = analogRead(A2);VLDR3=LDR3*5.0000000/1024;while(VLDR3>=4.0){ LDR3 = analogRead(A2); VLDR3=LDR3*5.0000000/1024; tone(8,329);}if(VLDR3<4.0){ noTone(8);}LDR4 = analogRead(A3);VLDR4=LDR4*5.0000000/1024;while(VLDR4>=4.0){ LDR4 = analogRead(A3); VLDR4=LDR4*5.0000000/1024; tone(8,349);}if(VLDR4<4.0){ noTone(8);}LDR5 = analogRead(A4);VLDR5=LDR5*5.0000000/1024;while(VLDR5>=4.0){ LDR5 = analogRead(A4); VLDR5=LDR5*5.0000000/1024; tone(8,392);}if(VLDR5<4.0){ noTone(8);}LDR6 = analogRead(A5);VLDR6=LDR6*5.0000000/1024;while(VLDR6>=4.0){ LDR6 = analogRead(A5); VLDR6=LDR6*5.0000000/1024; tone(8,440);}if(VLDR6<4.0){ noTone(8);}} Projeto Hit The Light Integrantes:Augusto Cesar Pupo VieiraCassia de Souza CorreaDenilson Gianeiz JuniorFilipe Ricado Reis Sbragio Materiais e Softwares:CeramicaLEDs coloridosFios de cobreFita adesivaResistores de 1k OhmsAdaptador para saida de somMolasArduino UNOInterface Java no computadorSoftware arduino-1.0.1 Software NetBeans IDE 7.1.2 Projeto:Para a criacao das primeiras teclas de um piano (Do, Re, Mi, Fa, Sol, La e Si) usamos como material base argila. As teclas de argila foram entao modeladas e queimadas para se tornarem ceramica. Com as teclas feitas, anexamos um circuito com um resistor, um LED, uma chave e uma mola fora do circuito na parte de baixo de cada tecla. Ao ser apertada, a chave se conecta com um botao feito de cobre, assim fechando o circuito. Quando o Arduino registra a entrada de voltagem acima de 4 volts, ele comeca o comando tone e acende o LED. O tone envia a saida de som da frequencia com que o som sera tocado. A frequencia de cada nota foram definidas de modo com que as teclas possam ser claramente distinguidas. As teclas foram adicionadas a base, feita de papelao com revestimento de papel contact. Para o piano tocar as notas de um arquivo de texto, foi criado uma interface Java no computador pelo NetBeans IDE 7.1.2 para as notas. O codigo cria um arquivo de texto que guarda a nota e o tempo em que esta foi pressionada. O Arduino entao consegue ler este arquivo de texto e reproduzir no piano as teclas pressionadas acendendo os LEDs, enviando suas frequencias e duracao de execucao da nota para a saida de som. import java.io.*;import java.util.*; public class File_IO{ private Scanner keyboard = new Scanner(System.in); Scanner fileIn; PrintWriter fileOut; public File_IO(){ } public void openInputFile(){ boolean correctFileQ, tryAgainQ = false; do { correctFileQ = false; System.out.println("Please enter the name of the input file."); System.out.println("For example, testscores.txt: "); try{ fileIn = new Scanner(new FileInputStream(keyboard.nextLine())); correctFileQ = true; } catch (FileNotFoundException e){ System.out.println("File not found. Check file name and file path."); System.out.println("Would you like to try another file? (y/n)"); if( !tryAgainQ ){ System.out.println("\\nTERMINATING the program!!!\\n"); System.exit(0); } } } while( !correctFileQ && tryAgainQ ); } public boolean hasInputLine(){ return fileIn.hasNextLine(); } public String readInputLine(){ return fileIn.nextLine(); } public void closeInputFile(){ fileIn.close(); } public void openOutputFile(String arquivo){ boolean correctFileQ, tryAgainQ = false; do{ correctFileQ = false; try{ fileOut = new PrintWriter(new FileOutputStream(arquivo+".txt")); correctFileQ = true; } catch (FileNotFoundException e){ System.out.println("Error opening the file. Check file name and file path."); System.out.println("Would you like to try another file? (y/n)"); tryAgainQ = ( keyboard.nextLine().toLowerCase().charAt(0) == 'y' ); if( !tryAgainQ ){ System.out.println("\nTERMINATING the program!!!\n"); System.exit(0); } } } while( !correctFileQ && tryAgainQ