Vermes
Advanced Member level 4
This is a project of RGB AmbiLight with four channels (areas). The driver consists of a FT232 converter, microprocessor Attiny2313 and OC drivers.
Program for microprocessor was written in C (WinAVR). It is 12 (4x3)-channel SW PWM controlled from USART. Resolution of PWM is 6 bits. Frequency of PWM is 1kHz. The microprocessor works with a 20MHz clock. Communication with the computer takes place via virtual RS232. RS speed is 128 kbps. According to the simulator ISIS7 showed about half the processor time to calculate SW of PWMs.
Program for PC was written in C# (MSV). On the base of the screen image it calculates the average for the four predetermined areas of the monitor. Program was written for a constant resolution (1680x1050).
The source of light are quite cheap RGB strips. The one disadvantage of such strips is that they have to be supplied from 12V, because the RGB diodes are connected in series.
The only problem you can face with this device, is that there is a low frequency of refresh rate of the illumination (as the screenshot image takes a lot of time, RAM and processor usage in the PC). In the case of f of 10Hz, the processor is busy in the 40-50%, which is too much, although the function of calculating colours was optimalized as much as possible (initially it was approximately 70-80% and a lot of RAM).
You can do it in two ways:
- use a DLL specially for tasks such as saving the screen (difference on Vista)
- average the results for colours to the realization of colour changes, which in turn results in AmbiLight lag relative to the image. Thus you can save the screen more seldom, which gives increase in productivity and decrease in load
Gallery:
Link to original thread (useful attachment) – MyAmbiLight RGB by NarastA - 4 kanałowy