Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@1:7401cb4ec3f3, 2011-11-07 (annotated)
- Committer:
- Nurbol
- Date:
- Mon Nov 07 16:42:27 2011 +0000
- Revision:
- 1:7401cb4ec3f3
- Parent:
- 0:6e7bc9e7034a
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Nurbol | 0:6e7bc9e7034a | 1 | #include "mbed.h" |
| Nurbol | 0:6e7bc9e7034a | 2 | #include "MCP23017.h" |
| Nurbol | 0:6e7bc9e7034a | 3 | #include "WattBob_TextLCD.h" |
| Nurbol | 0:6e7bc9e7034a | 4 | |
| Nurbol | 0:6e7bc9e7034a | 5 | #define BACK_LIGHT_ON(INTERFACE) INTERFACE->write_bit(1,BL_BIT) |
| Nurbol | 0:6e7bc9e7034a | 6 | #define BACK_LIGHT_OFF(INTERFACE) INTERFACE->write_bit(0,BL_BIT) |
| Nurbol | 0:6e7bc9e7034a | 7 | |
| Nurbol | 0:6e7bc9e7034a | 8 | |
| Nurbol | 0:6e7bc9e7034a | 9 | |
| Nurbol | 1:7401cb4ec3f3 | 10 | AnalogIn sensor1(p15); |
| Nurbol | 1:7401cb4ec3f3 | 11 | AnalogIn sensor2(p16); |
| Nurbol | 1:7401cb4ec3f3 | 12 | AnalogOut valueLED1(p18); |
| Nurbol | 1:7401cb4ec3f3 | 13 | DigitalOut valueLED2(p25); |
| Nurbol | 1:7401cb4ec3f3 | 14 | DigitalOut led1(LED1); |
| Nurbol | 1:7401cb4ec3f3 | 15 | DigitalOut led2(LED2); |
| Nurbol | 1:7401cb4ec3f3 | 16 | DigitalOut clk(p26); |
| Nurbol | 1:7401cb4ec3f3 | 17 | |
| Nurbol | 1:7401cb4ec3f3 | 18 | |
| Nurbol | 0:6e7bc9e7034a | 19 | |
| Nurbol | 0:6e7bc9e7034a | 20 | MCP23017 *par_port; // pointer to 16-bit parallel I/O object |
| Nurbol | 0:6e7bc9e7034a | 21 | WattBob_TextLCD *lcd; // pointer to 2*16 chacater LCD object |
| Nurbol | 0:6e7bc9e7034a | 22 | |
| Nurbol | 1:7401cb4ec3f3 | 23 | |
| Nurbol | 1:7401cb4ec3f3 | 24 | |
| Nurbol | 0:6e7bc9e7034a | 25 | int main() { |
| Nurbol | 0:6e7bc9e7034a | 26 | |
| Nurbol | 1:7401cb4ec3f3 | 27 | valueLED1=0; |
| Nurbol | 1:7401cb4ec3f3 | 28 | valueLED2=0; |
| Nurbol | 1:7401cb4ec3f3 | 29 | clk=0; |
| Nurbol | 0:6e7bc9e7034a | 30 | par_port = new MCP23017(p9, p10, 0x40); // initialise 16-bit I/O chip |
| Nurbol | 0:6e7bc9e7034a | 31 | lcd = new WattBob_TextLCD(par_port); // initialise 2*26 char display |
| Nurbol | 0:6e7bc9e7034a | 32 | |
| Nurbol | 0:6e7bc9e7034a | 33 | par_port->write_bit(1,BL_BIT); |
| Nurbol | 1:7401cb4ec3f3 | 34 | |
| Nurbol | 1:7401cb4ec3f3 | 35 | |
| Nurbol | 1:7401cb4ec3f3 | 36 | |
| Nurbol | 1:7401cb4ec3f3 | 37 | |
| Nurbol | 0:6e7bc9e7034a | 38 | while(1) { |
| Nurbol | 1:7401cb4ec3f3 | 39 | clk = !clk; |
| Nurbol | 1:7401cb4ec3f3 | 40 | wait(0.01); |
| Nurbol | 1:7401cb4ec3f3 | 41 | |
| Nurbol | 1:7401cb4ec3f3 | 42 | sensor1.read(); |
| Nurbol | 1:7401cb4ec3f3 | 43 | sensor2.read(); |
| Nurbol | 0:6e7bc9e7034a | 44 | |
| Nurbol | 1:7401cb4ec3f3 | 45 | if(sensor1 > 0.5) { |
| Nurbol | 1:7401cb4ec3f3 | 46 | led1 = 1; |
| Nurbol | 1:7401cb4ec3f3 | 47 | valueLED1 = 1; |
| Nurbol | 1:7401cb4ec3f3 | 48 | } |
| Nurbol | 1:7401cb4ec3f3 | 49 | else if(sensor1 < 0.5){ |
| Nurbol | 1:7401cb4ec3f3 | 50 | led1 = 0; |
| Nurbol | 1:7401cb4ec3f3 | 51 | valueLED1 = 0; |
| Nurbol | 1:7401cb4ec3f3 | 52 | } |
| Nurbol | 1:7401cb4ec3f3 | 53 | |
| Nurbol | 1:7401cb4ec3f3 | 54 | |
| Nurbol | 1:7401cb4ec3f3 | 55 | if(sensor2 > 0.5) { |
| Nurbol | 1:7401cb4ec3f3 | 56 | led2 = 1; |
| Nurbol | 1:7401cb4ec3f3 | 57 | valueLED2 = 1; |
| Nurbol | 0:6e7bc9e7034a | 58 | } |
| Nurbol | 0:6e7bc9e7034a | 59 | else{ |
| Nurbol | 1:7401cb4ec3f3 | 60 | led2 = 0; |
| Nurbol | 1:7401cb4ec3f3 | 61 | valueLED2 = 0; |
| Nurbol | 0:6e7bc9e7034a | 62 | } |
| Nurbol | 1:7401cb4ec3f3 | 63 | lcd->printf("%f\n",sensor2.read()); |
| Nurbol | 0:6e7bc9e7034a | 64 | } |
| Nurbol | 0:6e7bc9e7034a | 65 | } |
| Nurbol | 0:6e7bc9e7034a | 66 |