LDR

Dependencies:   N5110 mbed

Fork of 1620_App_Board_Temperature_Sensor by Craig Evans

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?

UserRevisionLine numberNew 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