Week 10 Group — Buzzer Code Reference¶
Arduino Sketch: Light-Triggered Buzzer¶
Written by Dorian for the Seeed XIAO RP2040.
Behavior:
- Light sensor reads below 500 → plays C5, turns LED on
- Light sensor reads above 500 → plays C4, turns LED off
- Sensor reading and state are printed to the serial monitor
The sensor, LED, and speaker are each on separate pins, so they do not affect each other’s power readings.
int buzzPin = 1;
int led = 4;
int too_dark = 500;
int stop = 500;
int sensorPin = A0;
int sensorValue;
int button = 3;
// Octave 3
float C_3 = 130.81;
float Csharp3 = 138.59;
float D_3 = 146.83;
float Dsharp3 = 155.56;
float E_3 = 164.81;
float F_3 = 174.61;
float Fsharp3 = 185.00;
float G_3 = 196.00;
float Gsharp3 = 207.65;
float A_3 = 220.00;
float Asharp3 = 233.08;
float B_3 = 246.94;
// Octave 4 (Middle C)
float C_4 = 261.63;
float Csharp4 = 277.18;
float D_4 = 293.66;
float Dsharp4 = 311.13;
float E_4 = 329.63;
float F_4 = 349.23;
float Fsharp4 = 369.99;
float G_4 = 392.00;
float Gsharp4 = 415.30;
float A_4 = 440.00;
float Asharp4 = 466.16;
float B_4 = 493.88;
// Octave 5
float C_5 = 523.25;
float Csharp5 = 554.37;
float D_5 = 587.33;
float Dsharp5 = 622.25;
float E_5 = 659.26;
float F_5 = 698.46;
float Fsharp5 = 739.99;
float G_5 = 783.99;
float Gsharp5 = 830.61;
float A_5 = 880.00;
float Asharp5 = 932.33;
float B_5 = 987.77;
int eighthNote = 167; // ms
int quarterNote = 334; // ms
int halfNote = 668; // ms
int wholeNote = 1336; // ms
void setup() {
pinMode(buzzPin, OUTPUT);
pinMode(led, OUTPUT);
Serial.begin(9600);
pinMode(sensorPin, INPUT);
}
void loop() {
sensorValue = analogRead(sensorPin);
sensorValue = map(sensorValue, 0, 1024, 1024, 0);
Serial.println(sensorValue);
if (sensorValue > too_dark) {
digitalWrite(led, HIGH);
Serial.println("Light on.");
digitalWrite(buzzPin, HIGH);
tone(buzzPin, C_5, quarterNote);
delay(quarterNote);
} else {
digitalWrite(led, LOW);
Serial.println("Light off.");
digitalWrite(buzzPin, LOW);
tone(buzzPin, C_4, quarterNote);
delay(quarterNote);
}
}
Note Frequency Reference¶
All note frequencies are defined as floats in the sketch, covering octaves 3–5. These are included so the sketch can be extended into a melody if needed.
| Note | Octave 3 (Hz) | Octave 4 (Hz) | Octave 5 (Hz) |
|---|---|---|---|
| C | 130.81 | 261.63 | 523.25 |
| C# | 138.59 | 277.18 | 554.37 |
| D | 146.83 | 293.66 | 587.33 |
| D# | 155.56 | 311.13 | 622.25 |
| E | 164.81 | 329.63 | 659.26 |
| F | 174.61 | 349.23 | 698.46 |
| F# | 185.00 | 369.99 | 739.99 |
| G | 196.00 | 392.00 | 783.99 |
| G# | 207.65 | 415.30 | 830.61 |
| A | 220.00 | 440.00 | 880.00 |
| A# | 233.08 | 466.16 | 932.33 |
| B | 246.94 | 493.88 | 987.77 |
| Duration | Milliseconds |
|---|---|
| Eighth note | 167ms |
| Quarter note | 334ms |
| Half note | 668ms |
| Whole note | 1336ms |
Last update:
April 3, 2026