Comment

FFT Spectrum Annalysis

I have finally found some time to get the spectrum analysis working on the LED matrix.  As you can see in the picture I am using the breadboard which I have my playback control circuit on to provide the audio signal to the arduino.  This is then processed using the FFT Library and finally displayed on the matrix.  At the minute I can only use one color and I am not happy with the refresh rate so there is still some work to be done.  Eventually I hope to have a red dot for the top of each column which will detach itself if the column drops suddenly and fall at a steady rate.


Comment

Comment

Project Progressions

I have finally finished coding for the internet temperature sensor.  It features a navigational system and will broadcast the temperature every set period.  As an additional function it will also send a notification if the temperature drops below a set point. The device will transmit to Android or IOS and this setting can also be changed in the menu. Tomorrow it is going down to Dorset to be setup and have its first test run.


I have also done some work regarding the playback control and IR remote.  Having the two separate functions is good, but now I have managed to combine them so the remote controls the playback directly.  This is done using a relay which acts in place of the push to make switch.  The arduino used for receiving the IR commands also controls this.  I also have a LM317T voltage regulator so I can use the 18V PSU for the speakers to also power the microcontroller and apparel.


Comment

Comment

Temparature sensor

Just adapted an old PSU in prder to power the wireless temparature sensor.  I have finished the initial programming and am now testing it out before it is installed in our holiday house.  Another feature I added was I that it saves settings to eeprom so even if it is powerd off, the settings will remain the same.  This could be usefull in the case of a power cut.

Comment

Comment

Audio control

Had a couple of good ideas yesterday, firstly to control the track playing and have a pause and play button through the function pin on the 3.5mm jack.  This works in very much the same way as a headset with buttons.  Then due to this idea, I decided I may as well try and hack the old ir remote from the speaker dock.  This was very easy, after downloading the ir library for arduino, and attaching an ir sensor I was able to record the codes for each button press and write a simple piece of code to print the button on the serial monitor.  Then I started looking
round for a 3.5mm cable through which I could breakout the function pin.  Surprisingly I found one with an old nokia brick phone, after dissmanteling the button and mic I soldered on a SIL and started messing round with it.  At first I had no luck with the function button which literally grounded the function pin throuh a switch.  However then I realised the mic would offer some resistanve normally, so I measured the resistanc of my HTC headphones.  It measured 800 ohms so I set up a variable resistor in its place.  Succes! I can now control the track and play pause on any compatible device.  Next stage is to buy a digital potentiometer to allow me to control the volume and the remote will be fully functional.

Comment

Comment

Audio splitter

while tinkering around with and old phone line splitter, I realized that actually I could use the small circuit in my speaker project.  It is basically a small transformer which creates a separate circuit which has the same logic level however physically is not actually connected.  I plan to use this on the audio in channel to stop any interference between the arduino and audio amplifier.


Comment

Comment

Bose speaker project

After having completed the assembly of the anplifier from spark fun, I hooked the speakers up, attached the aux in and finnally powered it up with the old 18v supply.  However I just got a throbbing from the speakers.  I guessed the supply wasnt supplying enough current so I hooked it up to a laptop power supply, 3A more powerfull and it worked.  However there are still a few problems to be solved, furstly there is an annoying echoing in the playback which I think is due to the humming noise which is made when no music is played (and when music is played but it cant be heard).  After doing some research I have come to the conclusion that the problem is again caused by the power supply, this time the fluctuations in the voltage.  Although the board already has a 1000uf smoothing capacitor, a forum user said that they had added a 10000uf capacitor and the problem was solved.  Also if the volume is turned up to high the speakers just start throbbing violently, not so good.  Again down to the power supply I think.  Until I've solved these problems I will probably just mess arpund with the spektrum annalysis using an aux input from my pc.

Comment

Comment

Diodes

The diodes have arrived so I have been able to finish breadboarding the bi colour led matrixs and they are both now working :)

Comment

Comment

Docking station project

Replaced the ipod dock witha piece of froated acrylic that I cut on the scroll saw at school.  In the picture it is lit up blue by a small piece of RGB striplight inside which cycles the colous spektrum.

Comment

Comment

Bi Colour LED Matrix

Managed to get the bi colour led matrix's working using 2xMAX2719 ICs which are driver chips for led matrix's / seven segment displays.  However to get both colours working I have had to use an arduino library called LedControl which allows the powering down of individual ICs on the I2C 'circuit'.  By alternating which colour IC is powered on, two different colours can be achieved on one matrix.  I have had an issue with the chips interfering on the common rail, so I have used diodes to prevent current being sunc by the other chip instead of the LEDs; however I only had 13 so could not do all the channels.  Consequently in the picture below only half the display is lit:


The code below is very basic and a bit 'clumsy' at the minute, but in the end I hope to make it display some frequency analysis for the bose speaker project:

#include "LedControl.h"              

#define RED 1                      
#define GREEN 0                      

LedControl lc=LedControl(12,11,10,2);

void setup() {
  lc.shutdown(RED,false);
  lc.shutdown(GREEN,true);
  lc.setIntensity(GREEN,15);          
  lc.setIntensity(RED,15);            
}

void loop() {
  lc.shutdown(RED,false);

    lc.setLed(RED,7,1,true);
    lc.setLed(RED,7,3,true);
    lc.setLed(RED,6,0,true);
    lc.setLed(RED,6,2,true);
    lc.setLed(RED,5,1,true);
    lc.setLed(RED,5,3,true);
    lc.setLed(RED,4,0,true);
    lc.setLed(RED,4,2,true);
    lc.setLed(RED,3,1,true);
    lc.setLed(RED,3,3,true);
    lc.setLed(RED,2,0,true);
    lc.setLed(RED,2,2,true);
    lc.setLed(RED,1,1,true);
    lc.setLed(RED,1,3,true);
    lc.setLed(RED,0,0,true);
    lc.setLed(RED,0,2,true);
 
  lc.shutdown(RED,true);
  lc.shutdown(GREEN,false);

    lc.setLed(GREEN,0,0,true);
    lc.setLed(GREEN,0,2,true);
    lc.setLed(GREEN,1,1,true);
    lc.setLed(GREEN,1,3,true);
    lc.setLed(GREEN,2,0,true);
    lc.setLed(GREEN,2,2,true);
    lc.setLed(GREEN,3,1,true);
    lc.setLed(GREEN,3,3,true);
    lc.setLed(GREEN,4,0,true);
    lc.setLed(GREEN,4,2,true);
    lc.setLed(GREEN,5,1,true);
    lc.setLed(GREEN,5,3,true);
    lc.setLed(GREEN,6,0,true);
    lc.setLed(GREEN,6,2,true);
    lc.setLed(GREEN,7,1,true);
    lc.setLed(GREEN,7,3,true);
       
  lc.shutdown(GREEN,true);
}

Comment

Comment

RGB LED Cube

The transfer to a more permanent state is going well, all the wiring is done and I have been able to program the stand alone arduino.  Although after adding the tlc5940s a short circuit seems to have developed which needs finding; then I can  fire it up and see if it works; cant wait!

Comment

Comment

RGB Cube

Just added the 4 p-channel MOSFETS which are used to power each layer of the cube, so far everything is working well.

Comment

Comment

RGB Cube

Just finished day one of transferring the cube from breadboard to a more permanent tri board from maplin.

Comment

Comment

RGB LED Cube

After spending the while evening programming I have finnally made some progress.  I now have control of all the LEDs individually as demonstrated in the picture, but now I have a new problem.  I can run 1 slice of the cube (16 LEDs) on half brigtness but on full brightness or with more slices the program freezes.  I have come to the conclusion the power surge cant disipate through the thin prototyping wires so the next stage will be to put it on some copper clad board and try again.

Comment

Comment

Led Matrix

Started prototyping for the visual aspect of the spektrum annalyser on my bose speajer adaption project, just got to code it now.  This setup has 2 8x8 bi colour led matrix and is driven by 3 74hc595 shift registers as well as 2 uln2803 transistor arrays and 8 MOSFETs which is a bit over the top but i dont have any standard transistors.

Comment

Comment

Temperature Sensor Progress

Made good progress with the thermometer project.  Firstly I added 2 panel mount push buttons instead of the bodge job that was on the last version.  Also I have added a breakout for the display brightness potentiometer, to allow me to easily change it depending on the different power supply voltages( this is the small gold dot you can see in the picture below and right).  Finally I mounted the temperature sensor, slightly away from the box so any heat given of from the boards/ leds wouldn't have a massive effect on the temperature.  A big problem I have been facing is pin conflictions between the shields and my buttons etc. This is mainly down to the poor documentation by sainsmart, meaning everything is guesswork which is never good.  After having found a suitable pin for everything I have started work on the program and so far everything is going well.



Connected up sending push notifications to Prowl, a growl server for push notifications on apple products.


Comment

Comment

Internet Temperature Sensor

Had a breakthrough with this project, rather than use DDNS which I would have to pay for from DynDNS I have found a better solution.  The Avviso library for arduino (http://avvisoapp.com/) manages the sending of notifications to either prowl for Iphone or notify my android for Android.  Using the sample code it works fine, had to pay £3.50 for a premium account but oh well.


  I have now added the temperature sensor in and used the One Wire library to interface between it, code can be found here http://www.hobbytronics.co.uk/ds18b20-arduino, it is a DS18B20 digital Temparature sensor.  After fixing a problem with the code were float variables could not be sent out, I finalized this code:

void loop() {
  if (counterValue > 0) {
    if (DEBUG) Serial.println(counterValue);
    counterValue--;
    delay(300);
  } else if (counterValue == 0) {
    counterValue--;
    if (DEBUG) Serial.print("Sending push notification...");
    sensors.requestTemperatures(); 
    char buf[100];
    dtostrf(sensors.getTempCByIndex(0), 6, 2,buf);

Serial.println(buf);
    int returnCode = Avviso.push("The temparature is... (Degrees C)",buf, 0);
    if (returnCode == 200) {
      if (DEBUG) Serial.println("OK.");      
    } else {
      if (DEBUG) Serial.print("Error. Server returned: ");      
      if (DEBUG) Serial.print(returnCode);      
    }
  }  
}

The conversion from float to char is done through the command dtostrf(), a random command I found on the arduino forum.  Here is the first notification I recieved, telling me it is 17.19 Degrees Celsius:


Now I just need to finish the final program so the LCD screen will work and then it will be ready for action.

Comment

Comment

Circuit design for my lego clock

Just finished the circuit design for my Lego clock, it features 4 ICs, an Arduin uno chip, uln2803 transistor array, operation amplifier and a PICAXE 14m2.  The Arduino controllers the main aspects of the clock, for example the servos which change the digits, the I2C communication with the RTC module, the remote control and the feedback from the LDRs.  Then the PICAXE 14M2 drives the RGB strip-light on command from the arduino uno chip.  The op-amp converts the analogue signal from the LDRs to a digital output for the arduino to handle as it doesn't have enough analog pins.  Finally the ULN2803 is used to power the strip light from the 12V in as well as switch on and off the background LED's and servos whilst the clock is not changing.  Definitely my most complex circuit board yet.

Comment