Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- This sketch allows you to control the Instrument by sending keyboard charachters like c d e f g a b C
- the last one is a CAPITAL C,
- so you you can play by using "Serial monitor" in arduino
- */
- char val,valASCII; // Data received from the serial port
- void setup() {
- for (int i = 2; i <= 9; i = i+1) {
- pinMode(i, OUTPUT); // Set pin as OUTPUT
- }
- Serial.begin(9600); // Start serial communication at 9600 bps
- }
- void loop() {
- while(Serial.available()) { // If data is available to read,
- valASCII = Serial.read(); // read it and store it in val
- switch (valASCII)
- {
- case 'c':
- val |= 0x01;
- // bitWrite(val, 0,1); // set bit 0
- // val |= 0b00000001;
- break;
- case 'd':
- val |= 0x01<<1;
- // bitWrite(val, 1,1); // set bit 1
- // val |= 0b00000010;
- break;
- case 'e':
- val |= 0x01<<2;
- break;
- case 'f':
- val |= 0x01<<3;
- break;
- case 'g':
- val |= 0x01<<4;
- break;
- case 'a':
- val |= 0x01<<5;
- break;
- case 'b':
- val |= 0x01<<6;
- break;
- case 'C': // capital C
- val |= 0x01<<7;
- break;
- default:
- break;
- }
- }
- if(val>0){
- for (int i = 0; i <= 7; i = i+1) {
- if(bitRead(val, i)){
- digitalWrite(i+2, HIGH);
- bitWrite(val, i,0); // clear the bit we just played
- }
- }
- }
- delay(20);
- for (int i = 0; i <= 7; i = i+1) {
- digitalWrite(i+2, LOW);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement