/*les9 LDR blues.
Met 5 lichtsensoren maken we een 'pentatonische toonladder' (die wordt vaker in
bluesmuziek gebruikt en kost maar vijf sensoren).
- Vijf sensoren met een draad verbonden met 5V en de andere draad met analoog 0 tot
en met 4.
- 10 kohm weerstand van analoog 0 t/m 4 naar ground.
- 8-ohm speaker met + draad naar digitale pin 8 via 100 ohm weerstand en min draad naar ground.
De sensoren worden achtereenvolgens 'uitgelezen' (sensorReading) door de instructie:
for (int thisSensor = 0; thisSensor < 5; thisSensor++).
Als de sensorwaarde kleiner is dan de threshold (de drempelwaarde, hier gesteld op 700) dan
wordt de corresponderende noot gespeeld (krijgt bij voorbeeld de derde sensor(op pin 2) weinig
licht, dan wordt de derde noot (E5) gespeeld).
Verander de drempelwaarde als het geluid niet goed aan of uit gaat.
Je merkt dat de speaker meer tonen tegelijk niet goed kan weergeven. Om dit te verbeteren zou je
meerdere speakers kunnen gebruiken. Kijk eens naar: http://arduino.cc/en/Tutorial/Tone4
>>> Om de noten te definieren moet er een tweede tabblad gemaakt worden:
Klik op de knop met het pijltje helemaal rechts, klik 'new tab' en noem de tab 'pitches.h' .
Ga naar hwc.ontwerpen en kopieer het bestand 'les 9 LDR blues pitches' en plak het in het tabblad
'pitches.h'.
De sketch van deze les is een variant van: http://arduino.cc/en/Tutorial/Tone3
*/
#include "pitches.h" // gebruik de waardes van het tablad 'pitches.h'
int threshold = 700; // De drempelwaarde is 700
int notes[] = { // De noten die gespeeld worden, corresponderend met de 5 sensoren.
NOTE_C5, NOTE_D5, NOTE_E5, NOTE_G5, NOTE_A5 };
void setup() { // Er is niets in de setup.
}
void loop() {
for (int thisSensor = 0; thisSensor < 5; thisSensor++) { // ga achtereenvolgens van sensor 0 t/m 4
int sensorReading = analogRead(thisSensor); // en lees de sensor pin(nen) uit.
if (sensorReading < threshold) { // Als de waarde van de sensor kleiner is dan de drempelwaarde,
tone(8, notes[thisSensor], 20); // speel dan de noot die hoort bij de sensor.
}
}
}