Frances Tsenn / Mbed 2 deprecated ECE4180PianoTutorial

Dependencies:   mbed 4DGL-uLCD-SE MCP23S17

Committer:
ftsenn
Date:
Mon Nov 20 19:19:02 2017 +0000
Revision:
1:d182179e7c1b
Parent:
0:5d8ef6969179
Child:
2:2ccb5a604e77
Buses to detect button (piano key) presses.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ftsenn 0:5d8ef6969179 1 #include "mbed.h"
ftsenn 0:5d8ef6969179 2
ftsenn 1:d182179e7c1b 3 BusIn rKeys(p16, p17, p18, p19, p20);
ftsenn 1:d182179e7c1b 4 BusIn cKeys(p28, p27, p26, p25, p24, p23, p22, p21);
ftsenn 0:5d8ef6969179 5
ftsenn 0:5d8ef6969179 6 int main() {
ftsenn 1:d182179e7c1b 7 rKeys.mode(PullUp);
ftsenn 1:d182179e7c1b 8 cKeys.mode(PullUp);
ftsenn 1:d182179e7c1b 9
ftsenn 1:d182179e7c1b 10 int rNeeded = 0x0F;
ftsenn 1:d182179e7c1b 11 //options: 0001 1110 (0x1E), 0001 1101 (0x1D), 0001 1011 (0x1B), 0001 0111 (0x17), 0000 1111 (0x0F)
ftsenn 1:d182179e7c1b 12
ftsenn 1:d182179e7c1b 13 int cNeeded = 0xFE;
ftsenn 1:d182179e7c1b 14 //options: 1111 1110 (0xFE), 1111 1101 (0xFD), 1111 1011 (0xFB), 1111 0111 (0xF7),
ftsenn 1:d182179e7c1b 15 // 1110 1111 (0xEF), 1101 1111 (0xDF), 1011 1111 (0xBF), 0111 1111 (0x7F)
ftsenn 1:d182179e7c1b 16
ftsenn 0:5d8ef6969179 17 while(1) {
ftsenn 1:d182179e7c1b 18 //check if it's the correct key
ftsenn 1:d182179e7c1b 19 if ((rKeys == rNeeded) & (cKeys == cNeeded)) {
ftsenn 1:d182179e7c1b 20 //get next note
ftsenn 1:d182179e7c1b 21
ftsenn 1:d182179e7c1b 22 //modify uLCD
ftsenn 1:d182179e7c1b 23
ftsenn 1:d182179e7c1b 24 //turn on correct LED
ftsenn 1:d182179e7c1b 25 }
ftsenn 0:5d8ef6969179 26 }
ftsenn 0:5d8ef6969179 27 }