Welcome back to day 6 of 12 Days of Arduino! 12 pointless Arduino projects from me to you! The word of the day today is Potentiometer. I use a potentiometer from keyestudios to control the length of delay between bits shifting through the register! Magnificent!
Project requires
–Arduino Uno
–Active buzzer
–3x button touch switch
-220 ohm resistor
-4x 10k ohm resistor
-2x 220 ohm resistor
-Jumper wires
-Tip120
-SN74HC595
-Photoresistor
-Potentiometer
-RGB LED
//Pin connected to ST_CP of 74HC595
int latchPin = 8;
//Pin connected to SH_CP of 74HC595
int clockPin = 12;
////Pin connected to DS of 74HC595
int dataPin = 11;
int number = 1;
int speakerPin = 6;
//Buttons
int button1Pin = 2;
int button2Pin = 3;
int button3Pin = 4;
int photoresistorPin = A0;
int sensorValue = 0;
void setup() {
Serial.begin(9600);
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(speakerPin, OUTPUT);
pinMode(button1Pin, INPUT);
pinMode(button2Pin, INPUT);
pinMode(button3Pin, INPUT);
}
void loop() {
int potentiometerValue;
potentiometerValue = analogRead(1);
if(potentiometerValue < 10){
potentiometerValue = 10;
}
if(digitalRead(button1Pin) == HIGH){
sensorValue = analogRead(photoresistorPin);
tone(speakerPin, 790 +(sensorValue*2));//A5
digitalWrite(latchPin, LOW);
// shift out the bits:
shiftOut(dataPin, clockPin, MSBFIRST, number);
digitalWrite(latchPin, HIGH);
delay(potentiometerValue);
number++;
}
else if(digitalRead(button2Pin) == HIGH){
sensorValue = analogRead(photoresistorPin);
tone(speakerPin, 1750 +(sensorValue*2));//A6
digitalWrite(latchPin, LOW);
// shift out the bits:
shiftOut(dataPin, clockPin, MSBFIRST, number);
digitalWrite(latchPin, HIGH);
delay(potentiometerValue);
number++;
}
else if(digitalRead(button3Pin) == HIGH){
sensorValue = analogRead(photoresistorPin);
tone(speakerPin, 3510+(sensorValue*2));//A7
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, number);
digitalWrite(latchPin, HIGH);
delay(potentiometerValue);
number++;
}
else{
number = 0;
digitalWrite(latchPin, LOW);
// shift out the bits:
shiftOut(dataPin, clockPin, MSBFIRST, number);
digitalWrite(latchPin, HIGH);
delay(10);
}
}
I have to admit I was having a little bit of fun playing this... I might just have to add a 1/4" jack so we can amplify this guy 👍👍
ICStation.com the best source for electric components on the cheap: