Introduction: ET & LED Heart

This is a simple Arduino based project that you can do to get started with the Arduino Uno. All of the parts are available and easy to acquire. This is a good project if you like E.T., blinky lights, and the Arduino.

Step 1: Gather Materials

The first step is to gather materials. The electronic components were purchased at Adafruit.com.

Robe - Purchased from Target

Fading Heart - 16x24 red LED Matrix panel purchased from adafruit.com (ID:555)

Controller - Arduino Uno R3 purchased from adafruit.com (ID: 50)

Power Adapter - 9 VDC 1000mA regulated switching power adapter (ID:63)

E.T. - The E.T. figure is life-size NECA stunt puppet. You can still get these online.

Step 2: Assembly

Adafruit has excellent instructions on hooking this all up and obtaining the Arduino library. To summarize, you connect the 16x24 LED matrix to the Arduino using the included ribbon cable. The ribbon cable just plugs into the LED matrix via a 2x5 pin IDC female connector. The other end of the ribbon cable has a 2x5 pin IDC female connector. Just connect the Arduino to the ribbon cable connector via male to male jumper wires.

That's it for the wiring!

Once the matrix is wired to the Arduino, The assembly has an Arduino on one end and the matrix on the other with a ribbon cable connecting the two boards. I just had the assembly laying over the E.T. shoulder with the matrix located on the front to represent a heart. The outline of each LED can be seen through the robe so to soften the look, I just placed a few sheets of paper towel over the LED matrix.

Step 3: Arduino Code

The following code is used int he Arduino.

//Code library and examples can be found at ADAFRUIT.com

//This program draws a heart on a 16x24 Red Led Matrix Panel (Adafruit part number 555)

#include "HT1632.h"

#define DATA 2

#define WR 3

#define CS 4

#define CS2 5

// use this line for single matrix

HT1632LEDMatrix matrix = HT1632LEDMatrix(DATA, WR, CS);

// use this line for two matrices!

//HT1632LEDMatrix matrix = HT1632LEDMatrix(DATA, WR, CS, CS2);

void setup() {

Serial.begin(9600);

matrix.begin(HT1632_COMMON_16NMOS);

// matrix.fillScreen();

matrix.clearScreen();

delay(500);

// Start the heart with a filled in circle matrix is 24 wide x 16 tall w,h,r,color

matrix.fillCircle(12, 7, 7, 1);

matrix.writeScreen();

// Draw the lower portion of the heart!

matrix.drawPixel(5, 4, 1);

matrix.drawPixel(5, 11, 1);

matrix.drawPixel(4, 5, 1);

matrix.drawPixel(4, 6, 1);

matrix.drawPixel(4, 7, 1);

matrix.drawPixel(4, 8, 1);

matrix.drawPixel(4, 9, 1);

matrix.drawPixel(4, 10, 1);

matrix.drawPixel(3, 6, 1);

matrix.drawPixel(3, 7, 1);

matrix.drawPixel(3, 8, 1);

matrix.drawPixel(3, 9, 1);

matrix.drawPixel(2, 7, 1);

matrix.drawPixel(2, 8, 1);

matrix.drawPixel(15, 0, 1);

matrix.drawPixel(15, 15, 1);

matrix.drawPixel(19, 5, 0);

matrix.drawPixel(19, 6, 0);

matrix.drawPixel(19, 7, 0);

matrix.drawPixel(19, 8, 0);

matrix.drawPixel(19, 9, 0);

matrix.drawPixel(19, 10, 0);

matrix.drawPixel(18, 6, 0);

matrix.drawPixel(18, 7, 0);

matrix.drawPixel(18, 8, 0);

matrix.drawPixel(18, 9, 0);

matrix.drawPixel(17, 7, 0);

matrix.drawPixel(17, 8, 0);

matrix.writeScreen();

}

void loop() {

// Fade the Heart brightness down

for (int8_t i=20; i>=0; i--) {

matrix.setBrightness(i);

delay(60);

}

// Wait 1 second with heart faded down

delay (1000);

// Fade the Heart brightness up

for (uint8_t i=0; i<21; i++) {

matrix.setBrightness(i);

delay(60);

}

}

Enchanted Objects

Participated in the
Enchanted Objects