Craig Evans
/
1620_App_Board_LCD
LCD demo
Fork of 1620_App_Board_LDR by
main.cpp@2:1c669cb14c5b, 2017-02-28 (annotated)
- Committer:
- eencae
- Date:
- Tue Feb 28 20:20:49 2017 +0000
- Revision:
- 2:1c669cb14c5b
- Parent:
- 1:b5c4ca3bf074
- Child:
- 3:ce5582846693
Initial commit.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
eencae | 0:99902f3f1508 | 1 | /* ELEC1620 Application Board Example |
eencae | 0:99902f3f1508 | 2 | |
eencae | 2:1c669cb14c5b | 3 | LDR |
eencae | 0:99902f3f1508 | 4 | |
eencae | 0:99902f3f1508 | 5 | (c) Dr Craig A. Evans, University of Leeds, Feb 2017 |
eencae | 0:99902f3f1508 | 6 | |
eencae | 0:99902f3f1508 | 7 | */ |
eencae | 0:99902f3f1508 | 8 | |
eencae | 0:99902f3f1508 | 9 | #include "mbed.h" |
eencae | 0:99902f3f1508 | 10 | #include "N5110.h" |
eencae | 0:99902f3f1508 | 11 | |
eencae | 0:99902f3f1508 | 12 | // JP1 on board must be in 2-3 position |
eencae | 0:99902f3f1508 | 13 | N5110 lcd(p8,p9,p10,p11,p13,p21); |
eencae | 0:99902f3f1508 | 14 | |
eencae | 2:1c669cb14c5b | 15 | // LDR connected to ADC pin |
eencae | 2:1c669cb14c5b | 16 | AnalogIn ldr(p15); |
eencae | 0:99902f3f1508 | 17 | |
eencae | 0:99902f3f1508 | 18 | int main() { |
eencae | 0:99902f3f1508 | 19 | |
eencae | 0:99902f3f1508 | 20 | lcd.init(); // need to initialise the LCD |
eencae | 0:99902f3f1508 | 21 | |
eencae | 0:99902f3f1508 | 22 | while(1) { |
eencae | 0:99902f3f1508 | 23 | |
eencae | 2:1c669cb14c5b | 24 | // clear the display at the start of every new frame |
eencae | 2:1c669cb14c5b | 25 | lcd.clear(); |
eencae | 0:99902f3f1508 | 26 | |
eencae | 2:1c669cb14c5b | 27 | // lcd is 84 pixels wide x 48 pixels high |
eencae | 2:1c669cb14c5b | 28 | |
eencae | 2:1c669cb14c5b | 29 | // x, y, width, height, outline |
eencae | 2:1c669cb14c5b | 30 | lcd.drawRect(12,20,60,8,0); |
eencae | 0:99902f3f1508 | 31 | |
eencae | 2:1c669cb14c5b | 32 | float value = ldr.read(); // read in the LDR value in range 0.0 to 1.0 |
eencae | 2:1c669cb14c5b | 33 | |
eencae | 2:1c669cb14c5b | 34 | int width = int(value*60.0f); // convert to an int in the range 0.0 to 60.0 |
eencae | 2:1c669cb14c5b | 35 | |
eencae | 2:1c669cb14c5b | 36 | // draw a bar of the correct width |
eencae | 2:1c669cb14c5b | 37 | lcd.drawRect(12,20,width,8,1); // the 1 makes a black rectangle |
eencae | 2:1c669cb14c5b | 38 | |
eencae | 0:99902f3f1508 | 39 | // update the LCD |
eencae | 0:99902f3f1508 | 40 | lcd.refresh(); |
eencae | 0:99902f3f1508 | 41 | // small delay between readings |
eencae | 2:1c669cb14c5b | 42 | wait(0.2); |
eencae | 0:99902f3f1508 | 43 | |
eencae | 0:99902f3f1508 | 44 | } |
eencae | 0:99902f3f1508 | 45 | } |
eencae | 1:b5c4ca3bf074 | 46 | |
eencae | 1:b5c4ca3bf074 | 47 |