Arduino theremin problem.

SI followed the procedure on this website http://shallowsky.com/arduino/class/theremin.html

However nothing happens when it's plugged into power. This is my first project so sorry if it is an easy question.

I copied and pasted the code an uploaded into the arduino uno.

Here is the image

Ok, you need to take a few steps back. I am absolutely sure that something happened. Did the LED come on? Did your computer make the USB-connect noise? It is literally impossible that nothing happened.

Does the Arduino work with absolutely nothing plugged in? Can you upload the Blink sketch and see it blinking?

Those F***ing diagrams are very difficult to read. You may need to check your connections five times.

The arduino lights flashed when it came on when i connected the usb however the led did nothing and did not blink.

// What digital pin is the speaker on?
// (The other speaker wire should connect to Gnd.)
int SPEAKER = 8;

// which analog pin is the light sensor on?
int LIGHTSENSOR = 0;

// Typical photocell values for daytime
// with window and 1k resistor:
// min 15, max 100.
#define MIN_SIGNAL 15 /* 100 /
#define MAX_SIGNAL 100 /
1024 */

// What frequencies should we allow (in Hertz)?
// Typical human hearing is 20 Hz to 20,000 Hz,
// but our piezo buzzers can't reproduce such a wide range.
// 100 to 10k or so is usually okay.
#define MIN_FREQ 100
#define MAX_FREQ 8000

// How many samples should we read from the sensor each time?
// The sensor is noisy, so there will be a lot of spurious readings.
#define NUM_SAMPLES 15

// To monitor the output from the sensor (so you can calibrate MAX_SIGNAL
// and MIN_SIGNAL), uncomment SERIAL_DEBUG:
//#define SERIAL_DEBUG 1

void setup()
{
pinMode(SPEAKER, OUTPUT);

#ifdef SERIAL_DEBUG
Serial.begin(9600);
#endif
}

void loop()
{
// Set the frequency according to the light value read off analog pin 0.

// Average 5 reads
int lightsensor = 0;
for (int i=1; i < NUM_SAMPLES; ++i)
lightsensor += analogRead(LIGHTSENSOR);
lightsensor /= NUM_SAMPLES;

unsigned int freq = map(lightsensor,
MIN_SIGNAL, MAX_SIGNAL,
MIN_FREQ, MAX_FREQ);

tone(SPEAKER, freq);

#ifdef SERIAL_DEBUG
Serial.print("Read ");
Serial.print(lightsensor);
Serial.print(" -> ");
Serial.println(freq);
delay(500);
#endif
}
The theremin code

/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.

Most Arduinos have an on-board LED you can control. On the Uno and
Leonardo, it is attached to digital pin 13. If you're unsure what
pin the on-board LED is connected to on your Arduino model, check
the documentation at http://www.arduino.cc

This example code is in the public domain.

modified 8 May 2014
by Scott Fitzgerald
*/

// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}

LED blink code

Hi,
Speaker is pin8, your and the original diagram are using pin 10.

Move wire from 10 to 8.
or change
int SPEAKER = 8;
to
int SPEAKER = 10;

Hope it fixes the problem... Tom.. :slight_smile:

Hi,
Also
Can you please post a copy of your sketch, using code tags?
They are made with the </> icon in the reply Menu.
See section 7 http://forum.arduino.cc/index.php/topic,148850.0.html

Tom... :slight_smile: