OM13082 test program

Dependencies:   LM75B PCAL955x ST7567 mbed

Committer:
MACRUM
Date:
Fri Jul 31 02:12:18 2015 +0000
Revision:
0:456d43efed0d
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MACRUM 0:456d43efed0d 1 #include "mbed.h"
MACRUM 0:456d43efed0d 2 #include "LM75B.h"
MACRUM 0:456d43efed0d 3 #include "ST7567.h"
MACRUM 0:456d43efed0d 4 #include "PCAL9555.h"
MACRUM 0:456d43efed0d 5
MACRUM 0:456d43efed0d 6 ST7567 lcd(D11, D13, D12, D9, D10); // mosi, sclk, reset, A0, nCS
MACRUM 0:456d43efed0d 7 DigitalOut myled(LED1);
MACRUM 0:456d43efed0d 8 LM75B sensor(D14,D15, LM75B::ADDRESS_4);
MACRUM 0:456d43efed0d 9 AnalogIn pot(A3);
MACRUM 0:456d43efed0d 10 PCAL9555 gpio_exp(SDA, SCL);
MACRUM 0:456d43efed0d 11 GpioBusOut leds(gpio_exp, X1_4, X1_5, X1_6, X1_7);
MACRUM 0:456d43efed0d 12
MACRUM 0:456d43efed0d 13 static const int led_pattern[] = {
MACRUM 0:456d43efed0d 14 0xF,
MACRUM 0:456d43efed0d 15 ~(1 << 0),
MACRUM 0:456d43efed0d 16 ~(1 << 1),
MACRUM 0:456d43efed0d 17 ~(1 << 2),
MACRUM 0:456d43efed0d 18 ~(1 << 3),
MACRUM 0:456d43efed0d 19 0xF,
MACRUM 0:456d43efed0d 20 ~(1 << 3),
MACRUM 0:456d43efed0d 21 ~(1 << 2),
MACRUM 0:456d43efed0d 22 ~(1 << 1),
MACRUM 0:456d43efed0d 23 ~(1 << 0),
MACRUM 0:456d43efed0d 24 };
MACRUM 0:456d43efed0d 25
MACRUM 0:456d43efed0d 26
MACRUM 0:456d43efed0d 27 int main()
MACRUM 0:456d43efed0d 28 {
MACRUM 0:456d43efed0d 29 int count = 0;
MACRUM 0:456d43efed0d 30
MACRUM 0:456d43efed0d 31 lcd.set_contrast(0x3f);
MACRUM 0:456d43efed0d 32 lcd.cls();
MACRUM 0:456d43efed0d 33
MACRUM 0:456d43efed0d 34 lcd.locate(0, 1);
MACRUM 0:456d43efed0d 35 lcd.printf("LPC General Purpose Shield");
MACRUM 0:456d43efed0d 36 lcd.locate(0, 2 + 8);
MACRUM 0:456d43efed0d 37 lcd.printf("[OM13082] test program");
MACRUM 0:456d43efed0d 38
MACRUM 0:456d43efed0d 39 while(1) {
MACRUM 0:456d43efed0d 40
MACRUM 0:456d43efed0d 41 for (int i=0; i<10; i++) {
MACRUM 0:456d43efed0d 42 int val = (int)(pot*10);
MACRUM 0:456d43efed0d 43 lcd.fillrect(i*8, 53, (i*8)+6, 63, val/(i+1));
MACRUM 0:456d43efed0d 44 lcd.rect(i*8, 53, (i*8)+6, 63, 1);
MACRUM 0:456d43efed0d 45 }
MACRUM 0:456d43efed0d 46
MACRUM 0:456d43efed0d 47 leds.write(led_pattern[count++]);
MACRUM 0:456d43efed0d 48 if (count > 10)
MACRUM 0:456d43efed0d 49 count = 0;
MACRUM 0:456d43efed0d 50
MACRUM 0:456d43efed0d 51 lcd.locate(0, 2 + 8*3);
MACRUM 0:456d43efed0d 52 lcd.printf("Temperature = %.1f\n", sensor.temp());
MACRUM 0:456d43efed0d 53 lcd.locate(0, 2 + 8*4);
MACRUM 0:456d43efed0d 54 lcd.printf("Potentiometer = %.2f\n", (float)pot);
MACRUM 0:456d43efed0d 55 myled = 1;
MACRUM 0:456d43efed0d 56 wait(0.2);
MACRUM 0:456d43efed0d 57
MACRUM 0:456d43efed0d 58 myled = 0;
MACRUM 0:456d43efed0d 59 wait(0.2);
MACRUM 0:456d43efed0d 60 }
MACRUM 0:456d43efed0d 61 }