মূল বিষয়বস্তুতে যান
Back to Projects
BeginnerArduino Uno R3
15 minutes build

Light theremin

An instrument you play by waving your hand over a light sensor.

Interactive Simulation

Light thereminarduino-uno
Open in Lab
UNOATmega328P: The 8-bit AVR microcontroller that runs your sketch (16 MHz, 32 KB flash, 2 KB RAM).ATmega328PUSB-B: USB connection for uploading sketches and for the Serial Monitor. Also powers the board (5 V).DC jack: Barrel jack for 7–12 V from a battery pack or adapter (centre positive).ATmega16U2: Converts USB to serial for uploads and Serial.print().RESET: Restarts your sketch from the beginning (setup() runs again).L (D13): Built-in LED connected to pin 13 (LED_BUILTIN).ON: Power indicator.5 V regulator: Turns 7–12 V from VIN/jack into a steady 5 V.16 MHz: Clock source: the microcontroller runs 16 million cycles per second.ICSP: In-circuit programming header (SPI). Used to burn a bootloader; not needed for normal uploads.300 lx10 kΩ

Required Components Checklist

Assembly Steps

1

Sensor divider

LDR from 5V to A0, 10 kΩ from A0 to GND.

2

Map to pitch

Convert the reading to 120–1500 Hz and play it with tone().

Arduino Sketch

const int SENSOR = A0;
const int BUZZER = 8;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int light = analogRead(SENSOR);
  int pitch = map(light, 100, 1000, 120, 1500);
  pitch = constrain(pitch, 120, 1500);
  tone(BUZZER, pitch, 40);
  Serial.println(pitch);
  delay(50);
}

Challenges & Extensions

Ready to take this project further? Try these challenges:

  • •Snap the pitch to musical notes (a scale array).
  • •Add a button that mutes the sound.
  • •Calibrate the range during the first 5 seconds.