Toongenerator op basis van lichtinval

Standaard

Een Arduino Uno starterskit kwam vandaag met de post aan. Een vrij kleine doos met een Arduino Uno bord en diverse componenten. Mijn eerste ervaring met Arduino valt best mee. Gezien het feit dat ik sinds mijn secundair onderwijs (1996) niets meer met elektronica heb gedaan, maar toch veel ervaring als programmeur heb opgedaan sindsdien, is het bouwen van elektronische circuits terug snel opgestart.

Als bewijs hiervan heb ik op zeer korte tijd een toongenerator op basis van lichtinval gemaakt. Startende met een lichtafhankelijke weerstand (LDR), een piezo speaker, een Arduino Uno en een paar weerstanden.

We geven alvast de Arduino code van dit project vrij:

/*
  Light Depending Music Box

  Loops and plays notes
  When light changes the pitch shifts

  created 2011

  The circuit:
  - Piezo speaker
  - 2x 100 Ohm resistor
  - 1x LDR

*/

void setup() {
  // Serial read spead 9600 baud
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(A0);
  // eighth note = 1000/8
  int noteDuration = 1000/8;
  // set tone on digital pin 8
  tone(8,sensorValue,noteDuration);
  // to distinguish the notes, set a minimum time between them.
  // the note's duration + 30% seems to work well:
  int pauseBetweenNotes = noteDuration * 1.30;
  delay(pauseBetweenNotes);
  // stop the tone playing:
  noTone(8);
}
Advertenties

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s