Fotorezistor si speaker – functia tone()
Task: Utilizarea comenzii tone() pentru ca sunetele scoase de un difuzor sa urmeze semnalelor primite de la un fotorezistor. Sunetele emise de difuzor vor fi in functie de gradul de iluminare si culoarea cu care este iluminat fotorezistorul.
Echipament necesar:
Continut teoretic:
Fotorezistorul (LDR – Light Dependent Rezistor) este un rezistor a carui rezistenta se modifica sub influenta luminii.
Setup:
Conectati un terminal al difuzorului la pinul digital 9 prin intermediul unui rezistor de 100 ohm, iar celalalt terminal la GND.
Inseriati fotorezistorul cu un rezistor de 4,7 k ohm si legati-le intre borna de 5V de pe Arduino si GND. Punctul de legatura dintre fotorezistor si rezistor legati-l la pinul analog A0.
Sketch :
void setup() {
// initializam conumicatia seriala :
Serial.begin(9600);
}
void loop() {
// se citesc valorile transmise de senzor:
int sensorReading = analogRead(A0);
// se afiseaza citirile de pe senzor pentru a afla //intervalul de lucru
Serial.println(sensorReading);
// utilizam functia map() pentru a transforma intervalul de //valori primite de la senzor in frecvente pe care sa le //trimitem catre difuzor; in acest caz:
//Intervalul 400 - 1000 de la fotorezistor
//Este transformat in intervalul 120 - 1500Hz, transmis la //difuzor
int thisPitch = map(sensorReading, 400, 1000, 120, 1500);
// se trimite semnalul catre difuzor:
tone(9, thisPitch, 10);
delay(1); //o pauza foarte mica intre citiri, pentru //stabilitate
}
Dostları ilə paylaş: |