![](/media/cache/profiles/9bd5ee6fe55aaeb673025dbcb8f939c1.50x50_q85.jpg)
OM13082 test program
Dependencies: LM75B PCAL955x ST7567 mbed
main.cpp@0:456d43efed0d, 2015-07-31 (annotated)
- Committer:
- MACRUM
- Date:
- Fri Jul 31 02:12:18 2015 +0000
- Revision:
- 0:456d43efed0d
Initial commit
Who changed what in which revision?
User | Revision | Line number | New 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 | } |