Published for Bernard
Dependencies: DebounceIn USBDevice mbed
Diff: main.cpp
- Revision:
- 5:3b729656a1ff
- Parent:
- 4:d591b4a00e37
- Child:
- 6:1ff2b519fcc4
--- a/main.cpp Wed Sep 17 08:48:39 2014 +0000 +++ b/main.cpp Thu Sep 18 08:15:14 2014 +0000 @@ -3,14 +3,22 @@ //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(D10); -DebounceIn toggle(D8); -DebounceIn enter(D7); +DigitalIn button5(D12); +DigitalIn button6(D7); +DigitalIn button7(D8); +DigitalIn button8(D9); +DebounceIn toggle(D10); +DebounceIn enter(D11); int main() { @@ -20,6 +28,9 @@ button3.mode(PullUp); button4.mode(PullUp); button5.mode(PullUp); + button6.mode(PullUp); + button7.mode(PullUp); + button8.mode(PullUp); toggle.mode(PullUp); enter.mode(PullUp); @@ -36,36 +47,88 @@ 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) { - if (button_counter==0){ - pc.printf("a"); - button_counter=0; - } - if (button_counter==1){ - pc.printf("b"); - button_counter=0; - } + pc.printf("%s", s[button_counter]); + button_counter=0; } if (button2.read()==0) { - pc.printf("b"); + button2_counter= button2_counter + l; + pc.printf("%s", s[button2_counter]); + button2_counter=0; } if (button3.read()==0) { - pc.printf("c"); + button3_counter= button3_counter + l + l2; + pc.printf("%s", s[button3_counter]); + button3_counter=0; } if (button4.read()==0) { - pc.printf("d"); + button4_counter= button4_counter + l + l2 + l3; + pc.printf("%s", s[button4_counter]); + button4_counter=0; } if (button5.read()==0) { - pc.printf("e"); + 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; @@ -73,12 +136,23 @@ 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; @@ -86,6 +160,12 @@ 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; @@ -93,6 +173,12 @@ 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; @@ -100,6 +186,12 @@ 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; @@ -107,8 +199,52 @@ 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;