part of the preparation works for Ina-city Hackerthon

Dependencies:   mbed-http

Fork of Wio_3G_example by Toyomasa Watarai

Committer:
MACRUM
Date:
Fri Aug 03 06:46:00 2018 +0000
Revision:
71:7d17edde2e03
Parent:
70:cb6d36218441
Child:
72:aa14c091f860
Remove 4-Digit display, add Grove LCD RGB backlight

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jonathan Austin 0:2757d7abb7d9 1 #include "mbed.h"
MACRUM 71:7d17edde2e03 2 #include "Grove_LCD_RGB_Backlight.h"
MACRUM 70:cb6d36218441 3
MACRUM 70:cb6d36218441 4 #define D20 (PB_4)
MACRUM 70:cb6d36218441 5 #define D19 (PB_3)
MACRUM 70:cb6d36218441 6
MACRUM 70:cb6d36218441 7 DigitalOut GrovePower(PB_10, 1);
MACRUM 70:cb6d36218441 8 DigitalOut led1(D38);
MACRUM 70:cb6d36218441 9 AnalogIn ain(A6);
MACRUM 70:cb6d36218441 10 InterruptIn btn(D20);
MACRUM 71:7d17edde2e03 11 Grove_LCD_RGB_Backlight rgbLCD(I2C_SDA, I2C_SCL);
MACRUM 70:cb6d36218441 12
MACRUM 71:7d17edde2e03 13 uint32_t button = 0;
MACRUM 70:cb6d36218441 14
MACRUM 70:cb6d36218441 15 ///
MACRUM 70:cb6d36218441 16
MACRUM 70:cb6d36218441 17 float get_temp()
MACRUM 70:cb6d36218441 18 {
MACRUM 70:cb6d36218441 19 const int B = 4275; // B value of the thermistor
MACRUM 70:cb6d36218441 20 const int R0 = 100000; // R0 = 100k
MACRUM 70:cb6d36218441 21 AnalogIn temp(A4);
MACRUM 71:7d17edde2e03 22
MACRUM 70:cb6d36218441 23 float R = 1.0f/temp.read() - 1.0f;
MACRUM 70:cb6d36218441 24 R = R0*R;
Jonathan Austin 0:2757d7abb7d9 25
MACRUM 70:cb6d36218441 26 float temperature = 1.0/(log(R/R0)/B+1/298.15)-273.15; // convert to temperature via datasheet
MACRUM 70:cb6d36218441 27 return temperature;
MACRUM 70:cb6d36218441 28 }
MACRUM 70:cb6d36218441 29 ///
MACRUM 70:cb6d36218441 30
MACRUM 70:cb6d36218441 31
MACRUM 70:cb6d36218441 32 void push()
MACRUM 70:cb6d36218441 33 {
MACRUM 71:7d17edde2e03 34 button++;
MACRUM 70:cb6d36218441 35 }
Jonathan Austin 0:2757d7abb7d9 36
Jonathan Austin 1:846c97078558 37 // main() runs in its own thread in the OS
MACRUM 70:cb6d36218441 38 int main()
MACRUM 70:cb6d36218441 39 {
MACRUM 70:cb6d36218441 40 btn.fall(push);
MACRUM 70:cb6d36218441 41
MACRUM 71:7d17edde2e03 42 rgbLCD.clear();
MACRUM 71:7d17edde2e03 43 rgbLCD.setRGB(0xff, 0x00, 0x00);
MACRUM 71:7d17edde2e03 44 rgbLCD.locate(0, 0);
MACRUM 71:7d17edde2e03 45 rgbLCD.print("Hello World!");
MACRUM 71:7d17edde2e03 46 rgbLCD.locate(0, 1);
MACRUM 71:7d17edde2e03 47 rgbLCD.print("This is a test");
MACRUM 71:7d17edde2e03 48
MACRUM 70:cb6d36218441 49 int cnt = 0;
MACRUM 70:cb6d36218441 50 printf("hello, Mbed world\n");
Jonathan Austin 0:2757d7abb7d9 51 while (true) {
MACRUM 71:7d17edde2e03 52 printf("count = %4d, button = %d, analog = %f, temp = %f\n", cnt++, button, ain.read(), get_temp());
Jonathan Austin 0:2757d7abb7d9 53 led1 = !led1;
mbed_official 22:af9dcf379926 54 wait(0.5);
Jonathan Austin 0:2757d7abb7d9 55 }
Jonathan Austin 0:2757d7abb7d9 56 }
Jonathan Austin 1:846c97078558 57