A simple touch sensor that sends a message to computer when it notices touch. I'm using a simple voltage divider with 10k resistor and body impedance.

Dependencies:   mbed

main.cpp

Committer:
tanssisatu
Date:
2014-01-30
Revision:
2:30d2ced09088
Parent:
1:7ed7d128d225
Child:
3:71bc9b90ff65

File content as of revision 2:30d2ced09088:

//Almighty Vekotin v.1.0

#include "mbed.h"
#include "USBMIDI.h"
#define A_key (0x1c)

DigitalOut led(LED1);

DigitalIn  key[9] = {p22, p23, p24, p25, p26, p27, p28, p29, p30};       //inputit
int input = 0;
int i,j,k;

Serial pc(USBTX, USBRX);

USBMIDI midi;
 
int main() {
    while (1){
        
       /* for (i=0; i<9; i++) {            
            input = key[i].read();
        }
        
        switch (input) {
            case 0:
                    pc.printf("Note 0 ON\n\r");
                    wait(0.25);
                    pc.printf("Note 0 OFF\n\r");
                    wait(0.25);
                
            case 1:
                input = key[1].read();
                
                    pc.printf("Note 1 ON\n\r");
                    wait(0.25);
                    pc.printf("Note 1 OFF\n\r");
                    wait(0.25);     
        } */

    
        for (i=0; i<9; i++) {
            input = key[i].read();
            if (!input) {                                     //MIDIT
                midi.write(MIDIMessage::NoteOn(48+i));
                //wait(0.25);
                for(j=0; j<9; j++) {
                    input = key[j].read();
                    if (!input) {
                        midi.write(MIDIMessage::NoteOn(48+j));
                        //wait(0.25);
                        for(k=0; k<9; k++) {
                            input = key[k].read();
                            if (!input) {
                                midi.write(MIDIMessage::NoteOn(48+k));
                                //wait(0.25);
                            }
                        }
                    }
                }
            }
            midi.write(MIDIMessage::NoteOff(48+i));
            midi.write(MIDIMessage::NoteOff(48+j));
            midi.write(MIDIMessage::NoteOff(48+k));
            
            wait(0.25);
            
        } 
            /* pc.printf("Digital input %d", i);               //terminal viesti
            pc.printf(": %d\n\r", key[i].read());*/
        

        /* pc.printf("\n\r");
        wait(1); */
    }
}