Home Image

 

Week 13 - Interface and Application Programming

 

This week's project involves the creation of an application that interfaces with an

input or output device. I decided to make a test for my final project. Therefore,

this week's project involves making a charlieplexed LED array and creating a software

to manipulate it. The software will create an array of dots. When the mouse

hovers over a dot the corresponding LED will light up.

 

Charlieplexed LED Array

First, I designed and 7x6 LED Array following this schematic.

schematic

 

LED Array cut

 

led 7x6

 

However because the size of our PCB boards is relatively small I decided that the

LED's are too close to each other so I removed a row in the new design.

 

New LED Array 5x6

 

my led array

 

This array was pretty successful. I stuffed it and run some simple code to check if

it is working. It seems like everything was working the way it should except from the

LEDs that were in the diagonal of the array (1.1,2.2...). I was trying to debug it

for a long time but unfortunately I haven't found the problem yet.

 

led array

 

Then, I made the connection with Processing. I uploaded the standard firmata on the

board and used the Arduino library in processing. The instructions for this procedure

can be found here: http://playground.arduino.cc/Interfacing/Processing

 

There were two steps I had to follow then. First, display the array, which when the

mouse pointer hovers over a circle it grows larger. Secondly, I had to establish the

connection of the interface with the Arduino. The Arduino library for Processing allows

the user to use almost the same commands as the ones used in Arduino to read and

write values on the board.

 

At the beginning, the charlieplexing would not work and I would get weird combinations

of LEDs. However, the array was functional, because I had it tested with the Arduino code.

I could see with the multimeter that the values I would get from the Arduino were not

correct even thought the code was right. After many attempts of debugging, I tried using

other pins that the ones I was using until then(1-6). It turns out that this was the

problem. I used pins 7-13 and the code worked fine.

 

Final Result

 

led array gif