Work on the Lightive reactive lighting system. Origionally started as my university level 3 project.
By louis|2016-11-05T11:17:47+00:00February 20th, 2011|Lightive Project|
As i was designing the menu system it quickly became clear that all of the strings required for display would need quite a bit of program memory which simply was not available. Storing these in program memory as variables also meant they were loaded to the ATMEGA328's 2k of ram which will already be managing an array (no pun intended :p) of other variables. This was also a good time to begin considering where settings would be [...]
By louis|2015-01-13T23:46:13+00:00February 19th, 2011|Lightive Project|
The Issue When initially turned on the driver would happily receive commands and act on them. If the device transmitting the commands was interrupted then restarted it would cause the driver to freeze. The issue was reliably replicated. The Cause Using an array of serial messages to debug the code it was apparent the issue was the driver getting stuck in a loop governed by a "millis" function. The millis functions are part of the radio library for the Alpha modules [...]
By louis|2016-11-05T11:17:47+00:00February 17th, 2011|Lightive Project|
There is an issue with the previously shown fade mathematics which only appear on the Arduino. What seemed strange at first soon became clear. Micro-controllers are inherently more comfortable performing integer mathematics over floating point. After analysing the results of the equations which were output to the computer via serial, the issue became clear. Rounding error of floating point arithmetic. The reason behind this rounding error is a cumulative error build up by recalculating repeatedly with an already error vulnerable result. [...]
By louis|2015-01-13T23:40:23+00:00February 17th, 2011|Lightive Project|
A C++ program was written to aid the design of code to be used to calculate and then implement fades on the driver unit. The program reads in all of the values which would be sent over a standard radio packet. This is | BAR | RED Val| GREEN Val | BLUE Val | Fade Time | . It then collects some information which the system will already know, this is the current values of the selected [...]
By louis|2015-01-13T23:40:53+00:00January 3rd, 2011|Lightive Project|
Introduction By this point much experience and understanding had been gained in the use of libraries and their ability to simplify what is going on in the main program. It was decided that a library will be written to support the lighting system as a whole. This will cut down on code repetition and allow for quicker implementation of new features and tweaks. Code written to date has been modified and transferred to the library. The Library [...]
By louis|2016-11-05T11:17:47+00:00December 22nd, 2010|Lightive Project|
Introduction The LCD display in question is based on the very popular HD44780 controller. The Arduino platform has plenty of support for this controller and a library for its use is included with the Arduino IDE. The LCD will be driven in its 4-bit operation mode which requires the least pins. The 4-bit mode works by sending one nibble (4-bits) at a time to construct the entire byte. The display also has a character rom which simplifies [...]
By louis|2016-11-05T11:17:47+00:00December 14th, 2010|Lightive Project|
Introduction SPI Bus SPI stand for Serial Peripheral Interface. The important details learned are as follows: Slave Select (SS) Serial clock (SCLK) master input / slave output (MISO) master output / slave input (MOSI) When it properly implemented there is 4 wires required. Although both of these components have been tested successfully, they have only been done so individually. The ATMEGA328 microprocessor used has one dedicated Serial Peripheral Interface (SPI) Bus. A design feature of SPI allows [...]
By louis|2016-11-05T11:17:47+00:00November 20th, 2010|Lightive Project|
Background After getting the wireless modules working at close proximity it was time to move them away to test range. At the moment prototyping is being completed using two of these: (Reference: http://www.emartee.com/product/41797/Arduino-Duemilanove-2009-ATmega328) The Arduino Duemilanove is a prototype board which provides the microcontroller everything it needs to be both run and programmed. This makes prototyping with these boards very easy. As can be seen in the photo above the board can [...]
By louis|2016-11-05T11:17:47+00:00November 14th, 2010|Lightive Project|
Experiment Aim The aim here is to Setup two wireless modules and use the RF12_Demo application provided with the JeeLabs library to drive the modules. Special attention will be paid to the robustness of the signal at range. A secondary aim is to gain an understanding into how the library is driving the modules and begin to think about how I will implement them. Predicted Outcome The specifications on the module say that they can reach a maximum [...]
By louis|2016-11-05T11:17:47+00:00November 11th, 2010|Lightive Project|
Introduction Texas Instruments describe the TLC5940 with the following paragraph: The TLC5940 is a 16-channel, constant-current sink LED driver. Each channel has an individually adjustable 4096-step grayscale PWM brightness control and a 64-step, constant-current sink (dot correction). The dot correction adjusts the brightness variations between LED channels and other LED drivers. The dot correction data is stored in an integrated EEPROM. Both grayscale control and dot correction are accessible via a serial interface. A single external resistor [...]
By louis|2016-11-05T11:17:47+00:00November 4th, 2010|Lightive Project|
Introduction In order to get the alpha modules fitting onto a bread board they had to be mounted to some kind of intermediary board which presented their pins at a standard pitch. Using some solid wire and a strip board (proto board) I created a mount for them. Layout on Protoboard: […]
By louis|2016-11-05T11:17:47+00:00November 3rd, 2010|Lightive Project|
Introduction Before beginning to look into driving the ALPHA Transceiver from scratch via the Arduino I thought it wise to browse around for some advice and sample code on implementation. Two particular sites stood out, the first being a library which was designed for use with Atmel AVR Controllers (what the arduino is based on). The second was almost exactly what I was looking for, an arduino ready library by Jee Labs. Jee Labs Jee labs is a weblog maintained by Jean-Claude Wippler, an [...]
By louis|2016-11-05T11:17:48+00:00November 3rd, 2010|Lightive Project|
The ALPHA RF Transceiver Module 433MHz ALPHA RF Transceiver Module 433MHz SMT Introduction These were found whilst looking into potential ways of implementing wireless communications. They don’t offer the most straight forward way of communicating between the micro-controllers for the system but have an impressive amount of functionality for their price. These were purchased from RS at £3.90 per unit. (http://uk.rs-online.com/web/search/searchBrowseAction.html?method=getProduct&R=6666757) Specs: Transmit range up to 300m Data Rate up to 115Kbps Programmable output power Operating Voltage 2.2 to 5.4V (TX [...]
By louis|2016-11-05T11:17:48+00:00October 27th, 2010|Lightive Project|
Introduction In order to get a feel for current “exotic” lighting solutions I decided to place an order for one of these kit’s on ebay: “5M 500cm SMD 5050 RGB 150 LED Strip + IR Remote” The name gives no suggestion as to what it was primarily designed for. Link I purchased a 5M kit as I thought the RGB LED strip was something I would use in my system. The Advert stated the following Superbright 5050 [...]
By louis|2016-11-05T11:17:48+00:00October 27th, 2010|Lightive Project|
To design and implement a reactive lighting systems to facilitate a feasibility study into the use of such a system. Reactive elements are to initially include temperature, ambient light, motion, and time of day. The system will also provide a manual mode that will allow for full control by the user.
Loading the next set of posts...