|(18 intermediate revisions by 4 users not shown)|
|−|by Alex Drane, Peter Ngo |+|
|−|This page details project work done while working on the 8x8 Bicolor LED Pixel Matrix from Adafruit found here: [ https: //www.adafruit.com/products/902 | Store Link] |+|
|−|=Current Status= |+|
|−|The device still remains nonfunctional. Communication using I2C has been established and the device responds. The bottom row of the display is able to come on dimly when conditions outlined in the Making "Something Happen section. |+|
| || |
Means of Making " Something" Visible= |+|
|−|While we cannot currently turn on an individual pixel we were able to establish that the device was responding to I2C input. Directions: |+|
|−|i2cset 3 0x70 0x21 |+|
|−|i2cset 3 0x70 0x81 |+|
|−|i2cset 3 0x70 0xA1 |+|
|−|The bottom row should be visible, barely. What you have done is turn on the devices oscillator, turn on the LED screen, and set it to INT active low control. No other combination currently makes the device do anything. Brightness control does not effect the row. We did show that we were turning the oscillator on and off by using: | |
|−|<pre> | |
|−|i2cset 3 0x70 0x20 | |
|−|</pre> | |
|−|To turn off the row. Currently I have no explanation for why it does not work. | |
| || |
|−|I am able to program the 0x00-0x0f memory address range with values that I can read back and that should control the LED matrix when the |+|
|−|i2cset 3 0x70 0xA0 |+|
|−|Command is used. This does nothing. Brightness was checked at 0xEF and 0xE0 to make sure that brightness was not being misunderstood. This has no effect. |+|
to the address
the matrix the
is used ..
| || |
|−|Setting the display to blinking (0x83, 0x85) also did nothing. |+|
| || |
|−|Code provided by Adafruit was for the Adrino board and using it as a guide I established that it should be possible to control the screen manually. I acquired the data sheet for the HT16k33 and that was how I was able to experiment as I did above. |+|
| || |
[Category: ECE497]] |+|
Latest revision as of 19:09, 14 November 2012
Code: 1, should have called ioctl directly
git/Compiles with make: 2
Total: 8-1(late) = 7
Comments: It works, but it isn't pretty.
Embedded Linux Class by Mark A. Yoder
Page by Alex Drane, Peter Ngo
This page details project work done while working on the 8x8 Bicolor LED Pixel Matrix from Adafruit found here: Store Link
This device responds to standard I2C write and Read commands on the 3rd I2C Device at 0x70 device address.
IMPORTANT!!! When soldering the led matrix to the controller make sure that it is placed correctly. If it is not, then the device will still communicate but the LED Matrix will not turn on.
The device relies on the 5V source on the board and to insure functionality an I2C voltage
level converter is used to boost the 3.3V I2C voltage to 5V. The voltage
level converter is hooked up according to the photo. Starting from the top left of the device: SCL 5V, 5V Rail, Reset(Pulled up to 3.3V), SCL 3.3V In. Bottom Left: SDA 5V, Ground, 3.3V, SDA 3.3V.
The LED Matrix is wired from left to right: 5V, Ground, SDA, SCL.
The tenth pin from the Right on row 1 of the P9 IO Rail on the Beagle (Count from the 5V Line in) is the SCL pin and the pin on row 2 is the SDA pin. Starting from the right on P9 top row is: Ground, 3.3V, Skip, 5V.
The wiring instructions are hard to follow. Which header on the bone are you using? P9?
The code is hosted on github here: 8x8 Led Grid Basic Code
You should have called iotcl directly rather than using i2cset
This is a very simple code implementation that is only to verify that the matrix works. For a further implementation of the 8x8 Matrix see the Mini Project 4 project here: Node.js Advanced Implementation