Arduino + 16 keypad Matrix 4×4 module and DO, RE, MI scale sounds

matrix_module_sound

Arduino Code:

#include <Keypad.h>

int speakerPin = 12; // speaker connected to digital pin 12

const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns

char keys[ROWS][COLS] = {
{‘a’,’b’,’c’,’d’},
{‘e’,’f’,’g’,’h’},
{‘i’,’j’,’k’,’l’},
{‘m’,’n’,’o’,’p’}
};
byte rowPins[ROWS] = {2, 3, 4, 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6, 7, 8, 9}; //connect to the column pinouts of the keypad

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){

Serial.begin (9600);

pinMode(speakerPin, OUTPUT); // sets the speakerPin to be an output

}

void loop(){
char key = keypad.getKey();

if (key != NO_KEY){
Serial.println(key);

if (key==’a’){ beep(speakerPin,2093,100);}
if (key==’b’){ beep(speakerPin,2349,100);}
if (key==’c’){ beep(speakerPin,2637,100);}
if (key==’d’){ beep(speakerPin,2793,100);}
if (key==’e’){ beep(speakerPin,3136,100);}
if (key==’f’){ beep(speakerPin,3520,100);}
if (key==’g’){ beep(speakerPin,3951,100);}
if (key==’h’){ beep(speakerPin,4186,100);}
if (key==’i’){ beep(speakerPin,2093,100);}
if (key==’j’){ beep(speakerPin,2349,100);}
if (key==’k’){ beep(speakerPin,2637,100);}
if (key==’l’){ beep(speakerPin,2793,100);}
if (key==’m’){ beep(speakerPin,3136,100);}
if (key==’n’){ beep(speakerPin,3520,100);}
if (key==’o’){ beep(speakerPin,3951,100);}
if (key==’p’){ beep(speakerPin,4186,100);}
}
}

void beep (unsigned char speakerPin, int frequencyInHertz, long timeInMilliseconds){ // the sound producing function
int x;
long delayAmount = (long)(1000000/frequencyInHertz);
long loopTime = (long)((timeInMilliseconds*1000)/(delayAmount*2));
for (x=0;x<loopTime;x++)
{
digitalWrite(speakerPin,HIGH);
delayMicroseconds(delayAmount);
digitalWrite(speakerPin,LOW);
delayMicroseconds(delayAmount);
}
}

Advertisements

Arduino + Leds Knight Rider Effect

20150915_220640

Arduino Code:

/*
Knight Rider Effect Improved

Knight rider display on 6 LEDs
*/

void setup() {
// set up pins 2 to 8 as outputs
for (int i = 2; i < 7; i++) {
pinMode(i, OUTPUT);
}
}

// function to switch all LEDs off
void allLEDsOff(void)
{
for (int i = 2; i < 7; i++) {
digitalWrite(i, LOW);
}
}

void loop() {
// move on LED to the right
for (int i = 2; i < 6; i++) {
allLEDsOff();
digitalWrite(i, HIGH);
delay(50);
}
// move on LED to the left
for (int i = 6; i > 2; i–) {
allLEDsOff();
digitalWrite(i, HIGH);
delay(50);
}

// move on LED to the right
for (int i = 2; i < 6; i++) {
allLEDsOff();
digitalWrite(i, HIGH);
delay(50);
}
// move on LED to the left
for (int i = 6; i > 2; i–) {
allLEDsOff();
digitalWrite(i, HIGH);
delay(50);
}

allLEDsOff();
delay(250);

}

Arduino + Joystick

joystick

Arduino Code:

int xPin = A1;
int yPin = A0;
int buttonPin = 2;

int xPos = 0;
int yPos = 0;
int button = 0;

void setup() {
Serial.begin(9600);

pinMode(xPin, INPUT);
pinMode(yPin, INPUT);

pinMode(buttonPin, INPUT_PULLUP);

}

void loop() {
xPos = analogRead(xPin);
yPos = analogRead(yPin);
button = digitalRead(buttonPin);

Serial.print(“X: “);
Serial.print(xPos);
Serial.print(” | Y: “);
Serial.print(yPos);
Serial.print(” | Button: “);
Serial.println(button);

delay(50);

}