int photosensorPin = 0;
int piezoPin = 9;
int val = 0;
void setup() {
pinMode(piezoPin, OUTPUT);
}
void loop() {
digitalWrite(piezoPin, LOW);
val = analogRead(photosensorPin);
val = val/2;
for( int i=0; i<500; i++ ) { // play it for 50 cycles
digitalWrite(piezoPin, HIGH);
delayMicroseconds(val);
digitalWrite(piezoPin, LOW);
delayMicroseconds(val);
}
}
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.
Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.
Python for Microcontrollers — Python on Microcontrollers Newsletter: CircuitPython Day Friday, Python Still #1 and much more! #CircuitPython @micropython @ThePSF @Raspberry_Pi
Cool little project. I just bought a photoresistor but didn’t know what to do with it. I’ll try this soon!
Also: how did you do the breadboard/Arduino diagram? From scratch or is there a template that can be used with other software?
check out fritzing.org – that’s how we make the diagrams.
It looks like the source code was accidentally mutilated.
fixed – we were adding some new formatting.
The “for” Loop needs to be updated with “piezoPin” instead of “speakerPin” in the digitalWrite elements.