Arduino

Jaar 3 - Module 3 - Les 6: light theremin

VANDAAG GAAN WE...

  • leren wat een piezo is en hoe je deze gebruikt
     

  • een sensor calibreren

Piezo

  • Vibreert als het een electrisch signaal krijgt
     

  • Vibratie zorgt voor een bepaalde toon
     

  • De frequentie van het electrische signaal bepaalt de hoogte van de toon
     

  • Gebruik de tone() functie
     

  • tone(<pin>,<pitch>,<duration>)

frequentie en toonhoogte

combinatie met lichtsensor

kalibratie

licht

0 - 5 V

ADC

0-1023

int sensorVal = AnalogRead(A0)

0-1023

pitch = ??

40 - 5000

tone(8, pitch)

40 - 5000

kalibratie

void setup() {
 pinMode(ledPin, OUTPUT);
 digitalWrite(ledPin, HIGH)

 while (millis() < 5000) {
 	sensorValue = analogRead(A0);
 	if (sensorValue > sensorHigh) {
 		sensorHigh = sensorValue;
 	}
    
 	if (sensorValue < sensorLow) {
 		sensorLow = sensorValue;
 	}
 }
 
 digitalWrite(ledPin, LOW);
}
  • bepaald de sensorHigh en sensorLow values

kalibratie

  • Bepaal de sensorHigh en sensorLow values
     

  • Gebruik deze waarde om de juiste frequency (pitch) te bepalen

int pitch = map(sensorValue,sensorLow,sensorHigh, 50, 4000);
tone(8,pitch,20);

Online

  • Programmeren == online zoeken
     

  • Ga steeds meer zelf op zoek naar de juiste code
     

  • Github, Stackoverflow, Arduino forum

opdrachten

  • Opdracht 1 t/m 5 verplicht
     
  • Extra opdrachten 6 t/m 8
Made with Slides.com