mbed LPC1114FN28 Data logger

1) Summary

This is a redesign version. Original version is below link.

Modification points are;
1) Change hardware construction way from bread board style to soldering on PCB
2) Stand alone operation -> separation mbed debug mode and operation mode
3) Energy save mode -> use wake up function from sleep mode (LPC1114 runs with around 20mA/Operation and around 2mA/Sleep)
4) Show all data on screen -> use 20 characters x 4 line LCD

2) Picture


3) Hardware Circuit


4) Software function

4-1) Wake up function

I'm using following liblary.
Thanks Mr. Erik Olieman.
In the beginning, I could NOT use the library because LPC1114 needs some additional effort both software and hardware configuration.
Below comments are only for LPC1114.
(1) Please use dp24(P0_1), PwmOut as default setting. I have tried another pin, dp2(P0_9) but I couldn't success. If you assign default dp24, you don't need any declaration and others procedure.
(2) Define external interrupt pin for trigger to wake up. I use dp25(P0_2) because it is easy to connect both pin dp24 and dp25.
(3) Hardware configuration -> connect dp24 and dp25
(4) Software point of view, you can see a sample program.

A sample program using WakeUp library

#include "mbed.h"
#include "WakeUp.h"
#include "WakeInterruptIn.h"

// Important!!: connect dp24 and dp25
WakeInterruptIn event(dp25);    // wake-up from deepsleep mode by this interrupt
DigitalOut  myled(dp14);        // LED for Debug

int main() {
    while (true) {
        myled = 1;
        myled = 0;
        WakeUp::set(2);         // Wait with sleep
        wait(0.001);            // looks important for works well

5) Software

Import programLPC1114_data_logger

Data logger: Sensors -> Barometer & temperature (BMP180), Humidity & temp. (RHT03), Sunshine (Cds): Display -> 20 chracters x 4 lines: Strage -> EEPROM (AT24C1024): Special functions -> Enter sleep mode to save current, reading the logging data via serial line

Please log in to post comments.