01.jpg 02.jpg 03.jpg 04.jpg 05.jpg 07.jpg 06.jpg

Baby Night Light with Thermometer and Clock

Share:

baby lcd small iconMotivation and overview

Baby Night Light with Thermometer and Clock is a cute project to place near your baby's bed. It's main features are:

The screen is a clone of a Nokia 3310 LCD and the whole unit is controlled with a single push button:

It is powered by two AA batteries because it consumes very little current (approx. 800uA).

Schematic

The circuit is composed of the power supply (5V and 3.3V), a PIC 16F88 microcontroller, a LM35 temperature sensor, a Nokia 3310 LCD with white backlight and a push button to control the software.

It gets its power from two AA batteries. The batteries' voltage cannot be considered stable because it varies from 2V, with old batteries, up to 3.3V with new batteries, so the input voltage goes to a MAX619 charge pump IC that provides stable 5V at its output.

Because the LCD cannot be powered directly from 5V, both  PIC and LCD run at 3.3V provided by a LDO regulator that gets its input from the MAX619's output. Two good LDO regulators are L4931CZ33 and LM2936-3.3. They provide 3.3V and have very low quiescent current (no more than 400uA when idle) so they are ideal for applications powered by batteries.

Temperature is measured with the LM35 analog sensor, connected to the 5V rail. The backlight of the LCD is also connected to the 5V rail to correctly illuminate the white LEDs.

 baby lcd schematic

PCB

The PCB contains only through-hole components. The red trace on the top layer is to be replaced with a jump-wire. The LCD connects to both LCD1 and LCD2 headers but only LCD1 is electrically connected to the microcontroller. LCD2 is provided to increase the mechanical strength of the LCD connection. The picture on the right shows the LCD2 populated with 3 pins.

baby lcd pcb   baby lcd pcb picture

   

Software

Overview

The night light software has four states, all controllable with the pushbutton:

The first 3 states are considered running states, unlike the last state which is considered to be a setup state.

Running states change between themselves automatically without user intervention:

State diagram

software state diagram

 

Button control

Manually switching between running states is done with a short click and works in a circular fashion (1, 2, 3, 1, 2, ...). A long click will switch to Set the clock state, except when in Sleeping state. You have to turn lights on to set the clock!

When setting the clock, a clock icon replaces Neko and a small underline is drawn below the time unit being set (hour or minute). Short clicks will increment the hour or minute and a long clicks will switch between hour, minute and finally Lights ON state.

CPU control

In Lights ON and Minimum Light states the CPU is always running to generate the soft PWM and animate the screen every 200ms.

In Sleeping state, the CPU sleeps and wakes up every second to increment the clock (seconds) and update the animations on screen.

More I/O details
Power considerations

In the Lights ON state, the maximum current consumed by this circuit is 20mA and this value will gradually decrease to 5mA after 10 minutes when the light fades to the minimum brightness.

In the Minimum Light state the current consumed is around 5mA and will remain in this value for 3 minutes.

In Sleeping state only 800uA are necessary because the CPU is sleeping and the light is OFF.

Pictures and Videos

prototypr pic 3

Lights ON, fader running, brightness will be zero after 10 minutes

prototype pic 1  prototype pic 2

Close-ups of screen with lights ON on the left and the PCB without the screen on the right.

production unit 01

And another picture of a PCB with self adhesive paper showing the component placement.

 

Demonstration video

 

Downloads

References

  1. Webneko website - source of the neko images (if you like my project, please support the webneko project)
  2. LM35CZ datasheet
  3. PIC 16F88 datasheet
  4. MAX619 datasheet
  5. LM2936-3.3 datasheet
  6. BC557 datasheet
  7. BC547 datasheet

 

 

Published on Saturday 2015/05/30, last modified on Thursday 2015/10/29