09. GYAKORLAT Beeper
Feladat Készítsen hardvert és írjon szoftvert egy beeper-re amelyik az A0 lábacskára vezetett feszültség függvényében változtatja a csipogási frekvenciáját. Az A0 lábacskára vezetett feszültség egy foto-ellenállás-nak köszönhetően változik, melynek ellenállása a beérkezett fényintenzitástól függ.
Felhasznált alkatrészek Beeper Foto-ellenállás
Hardver
Szoftver void setup() { // initialize serial communications (for debugging only): Serial.begin(9600); } void loop() { // read the sensor: int sensorReading = analogRead(A0); // print the sensor reading so you know its range Serial.println(sensorReading); // map the analog input range (in this case, 400 - 1000 from the photoresistor) // to the output pitch range (120 - 1500Hz) // change the minimum and maximum input numbers below // depending on the range your sensor's giving: int thisPitch = map(sensorReading, 400, 1000, 120, 1500); // play the pitch: tone(9, thisPitch, 10); delay(1); // delay in between reads for stability
Programkód elemzése void setup() { Serial.begin(9600); // soros kommunikacio inicializalasa } void loop() { int sensorReading = analogRead(A0); // szenzor ertekenek leolvasasa // (foto-ellenallas) Serial.println(sensorReading); // a leolvasott ertek kiirasa a // soros monitorra // bemeneti intervallum lekepezese (400-1000 a foto-ellenallastol) // a kimeneti intervallumra, frekvencia (120Hz-1500Hz) int thisPitch = map(sensorReading, 400, 1000, 120, 1500); tone(9, thisPitch, 10); // hang reprodukalasa delay(1); // keses 1ms // a stabilitas miatt
Az elkészített projekt
Önálló feladat Kísérletezzen a berendezéssel a hardver és a szoftver módosításával. Változtassa a foto-ellenállással sorba kapcsolt ellenállás értékét és figyelje hogy történik-e valamilyen változás. Változtassa meg a programot (map függvény) és figyelje, hogy történik-e valamilyen változás.