The “Mood-By-Time” LED-Lamp is a project I worked on with a designer from Cologne.
The challange was to have a stylish looking Mood-Lamp that changes its color during the day. The user should be able to specify exactly at what time during the day which colors should be illuminated. The entire system was supposed to be based on Arduino, so I developed a shield to allow for this.
It consists of:
- LCD panel for user interaction
- rotary encoder for user input
- RTC to keep time
- PCA9685 LED driver by NXP
- MOSFETs as amplifiers
There are 6 channels (two times RGB) and the System is able to drive about 2 amps per channel. The user interacts with a menu on the screen to adjust the settings.
This was my final thesis (Diplomarbeit) and at the same time a development for one of our clients (who shall remain unnamed) when I was working at Inreal (www.inreal-tech.com)
Basically it is an Inertial Measurement Unit, which according to Wikipedia is
“…an electronic device that measures and reports on a craft’s velocity, orientation, and gravitational forces, using a combination of accelerometers and gyroscopes, sometimes also magnetometers.”
That is actually a pretty accurate description. The IMU consists of:
- a microcontroller; AT90USB162 from Atmel
- a magnetometer; HMC5883L from Honeywell
- a gyro/accelerometer combo; MPU6000 by Invensense
The Microcontroller gathers data from the sensors at 200Hz and fuses them into Quaternions. A mathematically elegant way of describing orientations in a three dimensional space.
It is connected to the PC via USB and generates two HID-Class Interfaces. One being used to send raw sensor and quaternion data, the other simulating a computer mouse.
Through the mouse interface the courser can be moved by pointing the IMU at the screen, essentially creating an air-mouse.
The main design-aspect of this project was the size. It was meant to be as small as possible.
The final PCB measures 22 x 17 mm. This PCB is now being mass produced and sold as a consumer item. Which means passing FCC and CE regulations was also part of the development.
Breath and EKG Sensor
This Project was part of my “Studienarbeit” during my studies of electrical engineering. It consists of a MSP430 from Texas Instruments and an analog front end which I designed. A belt with 4 electrodes is worn by the user around the upper body. Two of the electrodes inject a high frequency (30kHz) sinus current into the thorax. The impedance of the lung tissue varies depending on the amount of air that is in the lung. This produces a varying voltage drop on the other two electrodes, which corresponds to the breathing pattern.
The same electrodes can be used at the same time to gather an EKG since the frequencies don’t overlap.
The Analog front end consists of:
- filter to turn a square wave into a sinus
- constant current source
- measurement amplifier
- some analog filters
- active rectifier
These parts are constructed out of five operational amplifiers. One of the main development issues was to make the entire system very power efficient, as the sensor is meant to be worn several days.
The result allows the microcontroller to read and log breathing and EKG patterns over an extended period of time.
This is one of my first projects back from 2006. It’s a RGB-LED Controller which allows you to control RGB LEDs trough your PC. There are two versions of it. One has the LEDs right on the PCB, the other has MOSFETs and allows you to connect multiple LEDs or LED-strips. The Data is sent from the PC to an ATMega8 via RS-232 and the µC generates the PWM for the LEDs. I built this at a time when Arduino was not really known, which is why I made my own PCB and wrote the entire code myself in AVR-Studio. It was one of my first projects and gave me a nice start into the world of microcontrollers.
There is actually a website from back then with a more detailed description. http://www.ledcontroller.de.vu/