Guitar Effector using "mbed application board".

Dependencies:   C12832 mbed

Guitar Effector using "mbed application board".

/media/uploads/vaifreak/dscn0187.jpg

/media/uploads/vaifreak/schematic_00.jpg

/media/uploads/vaifreak/schematic_01.jpg

/media/uploads/vaifreak/schematic_02.jpg

Committer:
vaifreak
Date:
Fri Sep 04 16:50:36 2015 +0000
Revision:
2:25adc1277b3e
mbed effector, version 1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vaifreak 2:25adc1277b3e 1 //=============================================================================
vaifreak 2:25adc1277b3e 2 // @author vaifreak
vaifreak 2:25adc1277b3e 3 // @brief Button/Pot utility.
vaifreak 2:25adc1277b3e 4 //=============================================================================
vaifreak 2:25adc1277b3e 5 #pragma once
vaifreak 2:25adc1277b3e 6
vaifreak 2:25adc1277b3e 7 //---------------------------------------------
vaifreak 2:25adc1277b3e 8 //
vaifreak 2:25adc1277b3e 9 //---------------------------------------------
vaifreak 2:25adc1277b3e 10 class MyButton
vaifreak 2:25adc1277b3e 11 {
vaifreak 2:25adc1277b3e 12 private:
vaifreak 2:25adc1277b3e 13 DigitalIn *d_in;
vaifreak 2:25adc1277b3e 14
vaifreak 2:25adc1277b3e 15 public:
vaifreak 2:25adc1277b3e 16 int val;
vaifreak 2:25adc1277b3e 17 int val_old;
vaifreak 2:25adc1277b3e 18 int trig_on;
vaifreak 2:25adc1277b3e 19 int trig_off;
vaifreak 2:25adc1277b3e 20
vaifreak 2:25adc1277b3e 21 MyButton( PinName pin )
vaifreak 2:25adc1277b3e 22 {
vaifreak 2:25adc1277b3e 23 d_in = new DigitalIn( pin );
vaifreak 2:25adc1277b3e 24 }
vaifreak 2:25adc1277b3e 25
vaifreak 2:25adc1277b3e 26 void Update()
vaifreak 2:25adc1277b3e 27 {
vaifreak 2:25adc1277b3e 28 val_old = val;
vaifreak 2:25adc1277b3e 29 val = d_in->read();
vaifreak 2:25adc1277b3e 30
vaifreak 2:25adc1277b3e 31 trig_on = 0;
vaifreak 2:25adc1277b3e 32 if( val_old == 0 && val == 1 ) trig_on = 1;
vaifreak 2:25adc1277b3e 33
vaifreak 2:25adc1277b3e 34 trig_off = 0;
vaifreak 2:25adc1277b3e 35 if( val_old == 1 && val == 0 ) trig_off = 1;
vaifreak 2:25adc1277b3e 36 }
vaifreak 2:25adc1277b3e 37
vaifreak 2:25adc1277b3e 38 };
vaifreak 2:25adc1277b3e 39
vaifreak 2:25adc1277b3e 40 //---------------------------------------------
vaifreak 2:25adc1277b3e 41 //
vaifreak 2:25adc1277b3e 42 //---------------------------------------------
vaifreak 2:25adc1277b3e 43 #define THRESHOLD 0.02f
vaifreak 2:25adc1277b3e 44 class MyVolume
vaifreak 2:25adc1277b3e 45 {
vaifreak 2:25adc1277b3e 46 private:
vaifreak 2:25adc1277b3e 47 AnalogIn *a_in;
vaifreak 2:25adc1277b3e 48
vaifreak 2:25adc1277b3e 49 public:
vaifreak 2:25adc1277b3e 50 float val;
vaifreak 2:25adc1277b3e 51 float val_old;
vaifreak 2:25adc1277b3e 52 bool dirtyFlag;
vaifreak 2:25adc1277b3e 53
vaifreak 2:25adc1277b3e 54 MyVolume( PinName pin )
vaifreak 2:25adc1277b3e 55 {
vaifreak 2:25adc1277b3e 56 a_in = new AnalogIn( pin );
vaifreak 2:25adc1277b3e 57 }
vaifreak 2:25adc1277b3e 58
vaifreak 2:25adc1277b3e 59 void Update()
vaifreak 2:25adc1277b3e 60 {
vaifreak 2:25adc1277b3e 61 dirtyFlag = false;
vaifreak 2:25adc1277b3e 62
vaifreak 2:25adc1277b3e 63 float v = a_in->read();
vaifreak 2:25adc1277b3e 64 if( fabsf(v - val_old) > THRESHOLD )
vaifreak 2:25adc1277b3e 65 {
vaifreak 2:25adc1277b3e 66 val_old = val;
vaifreak 2:25adc1277b3e 67 val = v;
vaifreak 2:25adc1277b3e 68 dirtyFlag = true;
vaifreak 2:25adc1277b3e 69 }
vaifreak 2:25adc1277b3e 70 }
vaifreak 2:25adc1277b3e 71
vaifreak 2:25adc1277b3e 72 };
vaifreak 2:25adc1277b3e 73