Paso 3: El código
Parte tres
El código de
Nota: Este código se compone de 6 "si las declaraciones más" que a cada nota individual al sonido cuando su fotorresistencia correspondiente alcanza un valor que es inferior al umbral fijado. El código toma una lectura de la luz ambiental durante cinco segundos cuando es primera vez, que a su vez, define su propio umbral. PIN D3 (primera nota) sonará cuando el instrumento está listo para ser jugado.
COPIAR CÓDIGO Y SUBIR A ARDUINO:
/*
*/
configuración de pines analógicos (fotorresistencia)
const int photofor1 = A0;
const int photofor2 = A1;
const int photofor3 = A2;
const int photofor4 = A3;
const int photofor5 = A4;
const int photofor6 = A5;
configuración de pines digitales (recibe el sonido desde el chip 555)
int Sonido1 = 3;
Sonido2 int = 5;
sound3 int = 6;
sound4 int = 9;
int sound5 = 10;
sound6 int = 11;
creación de un bucle de valores del conjunto sensor
int sensorPin [6] = {A0, A1, A2, A3, A4, A5}; perno que los sensores están conectados a
int sensorValue = 0;
int sensorMin [] = {1023,1023,1023,1023,1023,1023};
int sensorMax [] = {0,0,0,0,0,0};
void setup() {}
pinMode (Sonido1, salida);
pinMode (Sonido2, salida);
pinMode (sound3, salida);
pinMode (sound4, salida);
pinMode (sound5, salida);
pinMode (sound6, salida);
digitalWrite(sound1,LOW);
digitalWrite(sound2,LOW);
digitalWrite(sound3,LOW);
digitalWrite(sound4,LOW);
digitalWrite(sound5,LOW);
digitalWrite(sound6,LOW);
Serial.Begin(9600);
Calibrar durante los primeros cinco segundos
mientras (millis() < 5000) {}
para (int i = 0; i < = 5; i ++)
{
sensorValue = analogRead(sensorPin[i]);
Registre el valor máximo del sensor (para todos)
Si (sensorValue > {sensorMax[i])}
sensorMax [i] = sensorValue;
}
Registre el valor de la sonda de mínima (para todos)
Si (sensorValue < sensorMin[i]) {}
sensorMin [i] = sensorValue;
}
}
}
Imprime todos los números de cada fotorresistencia (alta y baja)
Serial.Print("\n\n");
para (int i = 0; i < = 5; i ++)
{
Serial.Print(sensorMin[i]);
Serial.Print('\t');
}
Serial.Print('\n');
para (int i = 0; i < = 5; i ++)
{
Serial.Print(sensorMax[i]);
Serial.Print('\t');
}
Serial.Print("\n\n");
Con calibración automática
se vuelve una nota sobre cuándo está listo para jugar
digitalWrite (Sonido1, HIGH);
Delay(500);
}
void loop() {}
int analogValue1 = analogRead(photofor1);
Delay(1);
int analogValue2 = analogRead(photofor2);
Delay(1);
int analogValue3 = analogRead(photofor3);
Delay(1);
int analogValue4 = analogRead(photofor4);
Delay(1);
int analogValue5 = analogRead(photofor5);
Delay(1);
int analogValue6 = analogRead(photofor6);
Delay(1);
Nota 1
Si (analogValue1 < (sensorMin [0] - 50)) {}
digitalWrite (Sonido1, HIGH);
}
Else {}
digitalWrite(sound1,LOW);
}
Nota 2
Si (analogValue2 < (sensorMin [1] - 50)) {}
Serial.println ("cuenta 2");
digitalWrite (Sonido2, HIGH);
}
Else {}
digitalWrite(sound2,LOW);
}
Nota 3
Si (analogValue3 < (sensorMin [2] - 50)) {}
digitalWrite (sound3, HIGH);
}
Else {}
digitalWrite(sound3,LOW);
}
Nota 4
Si (analogValue4 < (sensorMin [3] - 50)) {}
digitalWrite (sound4, HIGH);
}
Else {}
digitalWrite(sound4,LOW);
}
Nota 5
Si (analogValue5 < (sensorMin [4] - 50)) {}
digitalWrite (sound5, HIGH);
}
Else {}
digitalWrite(sound5,LOW);
}
Nota 6
Si (analogValue6 < (sensorMin [5] - 50)) {}
digitalWrite (sound6, HIGH);
}
Else {}
digitalWrite(sound6,LOW);
}
}