/* Analog input, serial output Reads an analog input pin, prints the results to the serial monitor. The circuit: * potentiometer connected to analog pin 0. Center pin of the potentiometer goes to the analog pin. side pins of the potentiometer go to +5V and ground created over and over again by Tom Igoe and everyone who's ever used Arduino */ #include int pur = 0; int t = 0; int note = 0; int all[] = {53,51,49,47,45,43,39,37}; int a[] = {51,49}; int b[] = {49}; int c[] = {43,39,45,49}; int d[] = {47,37,49}; int e[] = {39,45,47,37,49}; int f[] = {51,45,39,49}; int off[] = {43,49}; int m = 22; void setup() { MIDI.begin(4); for(int t = 0; t < 9 ;t++){ pinMode(all[t],OUTPUT); } for(int t = 0; t < 9 ;t++){ digitalWrite(all[t],HIGH); } for(int t = 22;t < 38;t++){ pinMode(t,OUTPUT); } } void loop() { // read the analog input into a variable: digitalWrite(m,HIGH); int analogValue = analogRead(0); // print the result: // wait 10 milliseconds for the analog-to-digital converter // to settle after the last reading: if(analogValue<35){ note=1; } if(analogValue > 34 && analogValue < 40){ note=2; } if(analogValue > 39 && analogValue < 44){ note=3; } if(analogValue > 43 && analogValue < 48){ note=4; } if(analogValue > 47 && analogValue < 52){ note=5; } if(analogValue > 51 && analogValue < 55){ note=6; } if(analogValue > 54 && analogValue < 58){ note=7; } if(analogValue > 57 && analogValue < 64){ note=8; } if(analogValue > 63 && analogValue < 74){ note=9; } if(analogValue > 73 && analogValue < 80){ note=10; } if(analogValue > 79 && analogValue < 92){ note=11; } if(analogValue > 78 && analogValue < 104){ note=12; } if(analogValue > 103 && analogValue < 120){ note=13; } if(analogValue > 119 && analogValue < 130){ note=14; } if(analogValue > 129 && analogValue < 130){ note=15; } if(analogValue > 129 && analogValue < 140){ note=16; } if(analogValue > 139 && analogValue < 150){ note=17; } if(analogValue > 149 && analogValue < 170){ note=18; } if(analogValue > 169 && analogValue < 190){ note=19; } if(analogValue > 189 && analogValue < 212){ note=20; } if(analogValue > 211 && analogValue < 252){ note=21; } if(analogValue > 251 && analogValue < 290){ note=22; } if(analogValue > 389 && analogValue < 320){ note=23; } if(analogValue > 319 && analogValue < 340){ note=24; } if(analogValue > 339 && analogValue < 380){ note=25; } if(analogValue > 379 && analogValue < 450){ note=26; } if(analogValue > 449 && analogValue < 550){ note=27; } if(analogValue > 549 && analogValue < 620){ note=28; } if(analogValue > 619 && analogValue < 690){ note=29; } if(analogValue > 689 && analogValue < 780){ note=30; } if(analogValue > 779 && analogValue < 830){ note=31; } if(analogValue > 840 && analogValue < 900){ note=32; } if(analogValue > 905 && analogValue < 920){ m--; } pur=(note+32); digitalWrite(m,LOW); m++; if(m>37){ m=22; } MIDI.sendNoteOn(pur,127,1); // Send a Note (pitch 42, velo 127 on channel 1) delay((analogRead(5)*2)); // Wait for a second MIDI.sendNoteOff(pur,0,1); }