active buzzer – Kevin Gulling http://www.kevingulling.com Game Development, VR, and more Tue, 20 Dec 2016 05:29:19 +0000 en-US hourly 1 https://wordpress.org/?v=5.9.13 81085834 12 Days of Arduino Day 7 – Binary Beat Counter http://www.kevingulling.com/2016/12/1335/ http://www.kevingulling.com/2016/12/1335/#comments Mon, 19 Dec 2016 22:29:19 +0000 http://www.kevingulling.com/?p=1335 It’s day 7 of 12 Days of Arduino! On the seventh day of Arduino… We clean up the circuit for better access to controls and fill up those empty outputs on the shift register with LED’s for a true party in your pocket! Errr… Maybe that isn’t the best slogan for the Keyduino… Let’s get […]

The post 12 Days of Arduino Day 7 – Binary Beat Counter appeared first on Kevin Gulling - Game Development, VR, and more.

]]>
Keyduino day 7

It’s day 7 of 12 Days of Arduino! On the seventh day of Arduino… We clean up the circuit for better access to controls and fill up those empty outputs on the shift register with LED’s for a true party in your pocket! Errr… Maybe that isn’t the best slogan for the Keyduino… Let’s get to it!

Keyduino 0.9a

Keyduino 0.9a

Project requires
–Arduino Uno
–Active buzzer
–3x button touch switch
-220 ohm resistor
-4x 10k ohm resistor
-8x 220 ohm resistor
-Jumper wires
-Tip120
-SN74HC595
-Photoresistor
-Potentiometer
-7x LED



Beat Counter Sketch

Beat Counter Sketch


//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;
int photoresistorSensitivity = 2;
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*photoresistorSensitivity));//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*photoresistorSensitivity));//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*photoresistorSensitivity));//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); } }

There isn't much difference in the code today, in fact yesterdays sketch works just fine with this circuit, but I made some minor improvements to the code, opening up the ability to easily control the sensitivity of the photoresistor's pitch bending FX.

I hope you all enjoyed the "Keyduino". I'm probably going to tear it down for parts tomorrow and get to the next project but it shall be immortalized here and on Youtube, if there is any demand, I'll model a case for it for 3d printing, so if you are a DJ or just a hobbyist and you want the Keyduino contained in a plastic shell, let me know!

ICStation.com for an infinite supply of fun:


The post 12 Days of Arduino Day 7 – Binary Beat Counter appeared first on Kevin Gulling - Game Development, VR, and more.

]]>
http://www.kevingulling.com/2016/12/1335/feed/ 1 1335
12 Days of Arduino – Day 6 – Potentiometer Control Knob http://www.kevingulling.com/2016/12/12-days-of-arduino-day-6-potentiometer-knob-on-the-keyduino/ Sun, 18 Dec 2016 20:44:15 +0000 http://www.kevingulling.com/?p=1323 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 […]

The post 12 Days of Arduino – Day 6 – Potentiometer Control Knob appeared first on Kevin Gulling - Game Development, VR, and more.

]]>
day 6 potentiometer knob

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

Keyduino with Potentiometer Control Knob


//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:


The post 12 Days of Arduino – Day 6 – Potentiometer Control Knob appeared first on Kevin Gulling - Game Development, VR, and more.

]]>
1323
12 Days of Arduino – Day 3 – Pitch Shift and LED FX http://www.kevingulling.com/2016/12/12-days-arduino-day-3-pitch-shift-led-fx/ http://www.kevingulling.com/2016/12/12-days-arduino-day-3-pitch-shift-led-fx/#comments Thu, 15 Dec 2016 21:34:46 +0000 http://www.kevingulling.com/?p=1273 Hi and welcome back to “12 Days of Arduino”, Day 3! On the third day of Arduino Kevin gave to thee: Arduino Piano/Keyboard Pitch Shifter Sort of like a whammy bar! Makes a fantastic 8 bit horror effect! If you read from day 1 – (Arduino Morse Code Keyer) you can see the simple progression […]

The post 12 Days of Arduino – Day 3 – Pitch Shift and LED FX appeared first on Kevin Gulling - Game Development, VR, and more.

]]>
12 days of arduino day 3

Hi and welcome back to “12 Days of Arduino”, Day 3! On the third day of Arduino Kevin gave to thee:

Arduino Piano/Keyboard Pitch Shifter



Sort of like a whammy bar! Makes a fantastic 8 bit horror effect!

If you read from day 1 – (Arduino Morse Code Keyer) you can see the simple progression that lead to this point.


Project requires

–Arduino Uno
–Active buzzer
–4x button touch switch
-RGB LED
-220 ohm resistor
-4x 10k ohm resistor
-220 ohm resistor
-Jumper wires
-Ball switch

The sketch:

Pitch Shift Sketch


int switchPin1 = 2;
int switchPin2 = 4;
int switchPin3 = 7;
int switchPin4 = 8;
int tiltSwitch = 9;
int ledPin = 13;
int ledPinG = 12;
int ledPinB = 10;
int speakerPin = 11;
int lowA = 880;
int lowBb = 932;
int lowB = 988;
int C = 1046;
int D = 1175;
int E = 1319;
int F = 1396;
int G = 1567;
int A = 1760;
int B = 1976;
int wa = 25;

void setup() {
// put your setup code here, to run once:
pinMode(switchPin1, INPUT);
pinMode(switchPin2, INPUT);
pinMode(switchPin3, INPUT);
pinMode(switchPin4, INPUT);
pinMode(tiltSwitch, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(ledPinG, OUTPUT);
pinMode(ledPinB, OUTPUT);
}

void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(switchPin1) == HIGH){
digitalWrite(ledPin, HIGH);
if(digitalRead(tiltSwitch) == HIGH){
tone(speakerPin, lowA-wa);
}
else{
tone(speakerPin, lowA);
}

}
else if(digitalRead(switchPin2) == HIGH){
digitalWrite(ledPin, HIGH);
digitalWrite(ledPinG, HIGH);
if(digitalRead(tiltSwitch) == HIGH){
tone(speakerPin, lowBb-wa);
}
else{
tone(speakerPin, lowBb);
}
}
else if(digitalRead(switchPin3) == HIGH){
digitalWrite(ledPinB, HIGH);
if(digitalRead(tiltSwitch) == HIGH){
tone(speakerPin, C-wa);
}
else{
tone(speakerPin, C);
}
}
else if(digitalRead(switchPin4) == HIGH){
digitalWrite(ledPinG, HIGH);
if(digitalRead(tiltSwitch) == HIGH){
tone(speakerPin, E-wa);
}
else{
tone(speakerPin, E);
}
}
else{
digitalWrite(ledPin, LOW);
digitalWrite(ledPinG, LOW);
digitalWrite(ledPinB, LOW);
noTone(speakerPin);
}

}

I made some minor alterations along with the new additions.

A tilt switch is a simple component. A ball switch is a more specific type of tilt switch, similar to amercury switch only using a metal ball that rolls up and down the cylinder and connects to two contacts to open and close the circuit. Let’s see if I can ascii art an example 😉

╬ ╬
║0║
╚-╝
When upright, ball sits on bottom, contacts are open
╔-╗
║ ║
╬0╬
When tilted the metallic ball hits both of the contacts, closing the circuit

If that didn’t do it for you, you can find a datasheet here.

Please check out the sponsor of this series:


Day 4 →

The post 12 Days of Arduino – Day 3 – Pitch Shift and LED FX appeared first on Kevin Gulling - Game Development, VR, and more.

]]>
http://www.kevingulling.com/2016/12/12-days-arduino-day-3-pitch-shift-led-fx/feed/ 1 1273