Published for Bernard
Dependencies: DebounceIn USBDevice mbed
main.cpp
- Committer:
- figlax
- Date:
- 2014-09-18
- Revision:
- 5:3b729656a1ff
- Parent:
- 4:d591b4a00e37
- Child:
- 6:1ff2b519fcc4
File content as of revision 5:3b729656a1ff:
#include "mbed.h" #include "DebounceIn.h" //must import cookbook debounce library into project DigitalOut myled(LED3); DigitalOut myled2(LED1); DigitalOut myled3(LED2); Serial pc(USBTX, USBRX); // tx, rx DigitalIn button(D2); DigitalIn button2(D3); DigitalIn button3(D4); DigitalIn button4(D5); DigitalIn button5(D12); DigitalIn button6(D7); DigitalIn button7(D8); DigitalIn button8(D9); DebounceIn toggle(D10); DebounceIn enter(D11); int main() { //initiate button modes to use internal pull up resistor button.mode(PullUp); button2.mode(PullUp); button3.mode(PullUp); button4.mode(PullUp); button5.mode(PullUp); button6.mode(PullUp); button7.mode(PullUp); button8.mode(PullUp); toggle.mode(PullUp); enter.mode(PullUp); wait(0.001); //initiate counters and other variables int enter_old=1; int enter_new; int toggle_old=1; int toggle_new; int button_counter=0; int button2_counter=0; int button3_counter=0; int button4_counter=0; int button5_counter=0; int button6_counter=0; int button7_counter=0; int button8_counter=0; int l=3; int l2=3; int l3=3; int l4=3; int l5=3; int l6=4; int l7=4; int l8=4; char* s[26] = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}; myled=1; myled3=1; myled2=0; wait(0.4); myled2=1; wait(0.4); myled2=0; wait(0.4); myled2=1; wait(0.4); myled2=0; wait(0.4); myled2=1; wait(0.4); myled=0; wait(0.4); myled=1; while(1) { enter_new = enter.read(); if((enter_new==0) && (enter_old==1)) { myled3= 0; wait(0.2); myled3= 1; if (button.read()==0) { pc.printf("%s", s[button_counter]); button_counter=0; } if (button2.read()==0) { button2_counter= button2_counter + l; pc.printf("%s", s[button2_counter]); button2_counter=0; } if (button3.read()==0) { button3_counter= button3_counter + l + l2; pc.printf("%s", s[button3_counter]); button3_counter=0; } if (button4.read()==0) { button4_counter= button4_counter + l + l2 + l3; pc.printf("%s", s[button4_counter]); button4_counter=0; } if (button5.read()==0) { button5_counter= button5_counter + l + l2 + l3 + l4; pc.printf("%s", s[button5_counter]); button5_counter=0; } if (button6.read()==0) { button6_counter= button6_counter + l + l2 + l3 + l4 + l5; pc.printf("%s", s[button6_counter]); button6_counter=0; } if (button7.read()==0) { button7_counter= button7_counter + l + l2 + l3 + l4 + l5 +l6; pc.printf("%s", s[button7_counter]); button7_counter=0; } if (button8.read()==0) { button8_counter= button8_counter + l + l2 + l3 + l4 + l5 +l6 + l7; pc.printf("%s", s[button8_counter]); button8_counter=0; } } enter_old= enter_new; toggle_new = toggle.read(); if ((toggle_new==0) && (toggle_old==1)) { myled= 0; wait(0.2); myled= 1; if (button.read()==0) { button_counter= button_counter + 1; button2_counter=0; button3_counter=0; button4_counter=0; button5_counter=0; button6_counter=0; button7_counter=0; button8_counter=0; if (button_counter==(l)) { button_counter=0; } } if (button2.read()==0) { button_counter= 0; button2_counter= button2_counter + 1; button3_counter=0; button4_counter=0; button5_counter=0; button6_counter=0; button7_counter=0; button8_counter=0; if (button2_counter==(l2)) { button2_counter=0; } } if (button3.read()==0) { button_counter= 0; button2_counter=0; button3_counter= button3_counter + 1; button4_counter=0; button5_counter=0; button6_counter=0; button7_counter=0; button8_counter=0; if (button3_counter==(l3)) { button3_counter=0; } } if (button4.read()==0) { button_counter= 0; button2_counter=0; button3_counter=0; button4_counter= button4_counter + 1; button5_counter=0; button6_counter=0; button7_counter=0; button8_counter=0; if (button4_counter==(l4)) { button4_counter=0; } } if (button5.read()==0) { button_counter= 0; button2_counter=0; button3_counter=0; button4_counter=0; button5_counter= button5_counter + 1; button6_counter=0; button7_counter=0; button8_counter=0; if (button5_counter==(l5)) { button5_counter=0; } } if (button6.read()==0) { button_counter= 0; button2_counter=0; button3_counter=0; button4_counter=0; button5_counter=0; button6_counter= button6_counter + 1; button7_counter=0; button8_counter=0; if (button6_counter==(l6)) { button6_counter=0; } } if (button7.read()==0) { button_counter= 0; button2_counter=0; button3_counter=0; button4_counter=0; button5_counter=0; button6_counter=0; button7_counter= button7_counter + 1; button8_counter=0; if (button7_counter==(l7)) { button7_counter=0; } } if (button8.read()==0) { button_counter= 0; button2_counter=0; button3_counter=0; button4_counter=0; button5_counter=0; button6_counter=0; button7_counter=0; button8_counter=button8_counter + 1; if (button8_counter==(l8)) { button8_counter=0; } } } toggle_old= toggle_new; } }