Project Goals of my Raspberry pi project

First project goal: have some fun with a raspberry pi :-) And explore the possibilities of Raspberry PI.

After I bought my first raspberry, i wanted to do something useful with it, but doable. It wouldn't be realistic to create a first project that is so complex that it would take ages to complete (if ever completed). I wanted to create something practical also. I would be a bit waste of time to create the most useless machine

After some thinking i selected "The Ultimate Alarm Clock" as my first project..

The project goals of this project are:
  • Must be based on Raspberry Pi (of course !)
  • Alarm clock must be user friendly, stable
  • I never want to set the correct time; it must synchronize the time using DCF or NTP
  • Wake me up, in a gentile way: volume and light must come up slowly
  • I like to see the next wakeup-time without touching any button
  • I have kids that love to fiddle with stuff: the volume of a alarm must be fixed (no alarm that goes off while the volume is at 0)
  • I want to be able to create alarm schedules just for the working days.
  • Must be able to attach two display units to the same Raspberry
  • RDS information is nice
  • And why not: Get alarm schedule from Google Calendar. Get traffic information from the web (to see if you need to get up early ...)

Technical details:
  • Use, if available, IC's that do all the compex stuff. Use the Raspberry to control all the IC -> Use I2C to drive these IC's
  • Drive a high power RGB led using PWM (Up to 1A per LED)
  • Use FM IC with as little external components as possible (Si4735)
  • Use a amplifier that has I2C interface for volume control
  • Use a RTC (DS1307) as a backup clock.
  • Use a light sensor to dim the background light of the display.
  • Use a buffered I2C bus; so that 2 units can be some meters apart.
  • Use touch buttons to control the device; these are easier to assemble in the final alarm clock (Using MPR121 as IC)
  • Software written in C++11, using STL as much as possible. No char* allowed !

No comments:

Post a Comment