LED Matrix Evil Eyes

Sometime in the weeks leading up to Halloween I came across a fun blog post called “Spooky motion-sensitive Halloween eyes” which detailed the construction of a pair of Arduino controlled LED matrix animated eyes connected to a motion sensor that changed the color and demeanor of the eyes from “good” to “evil” whenever it sensed movement.

I liked the evil blinking red eyes but didn’t have a need for the motion sensor or the eye changing effect. I also didn’t have any of the Adafruit bi-color LED matrices on hand, but I did have a couple of red LED matrices from Fried Circuits, which suited my needs perfectly.

So, here’s my version of the LED matrix evil eyes. I took the original code, stripped out the code for the “good” eyes and the motion sensor and changed it to use the Fried Circuits MAX7219 display driver IC based LED matrix boards. The code is available on GitHub at github.com/dragongears/LED-Matrix-Evil-Eyes.

I used a small female header to put some space between the two eyes. I didn’t have a 5 pin header in my parts chest so I used a 6 pin header and just let the extra pin hang out. I connected the controller board with some short pieces of wire to help get it out of the way and make it less noticeable in the dark.

TODO: Break out the graphics functions into their own library.

IMG_20141114_220150

IMG_20141114_220212

IMG_20141114_220504

IMG_20141114_220512

Posted in electronic, projects | 2 Comments »

Thought Bubble for Android

Let everyone know what you are thinking with Thought Bubble. Type a message or choose one from a fully customizable list of thoughts. Then hold your phone or tablet up to your head to show what’s on your mind. The words of your message are automatically sized to fit perfectly inside a thought bubble on your phone’s screen.

  • Tap the down arrow next to your thought bubble message to save it to a list of thoughts to be used later.
  • Tap a thought message in the list to use it in your next thought bubble.
  • Long press on an item in the thought list to remove it from the list.

Screenshot_2014-05-31-11-11-04

Screenshot_2014-05-31-22-36-44 Screenshot_2014-05-31-22-36-55 Screenshot_2014-05-31-22-37-02

Thought Bubble on Google Play

Thought Bubble source code on GitHub

Posted in Android, mobile, projects | No Comments »

Spin For It for Android

My first Android app, Spin For It, is now available in the Google Play store. Spin For It is a spinning decision maker app that I originally wrote for myself to use on board game nights to determine who goes first. Since I use it all the time, Spin For It has become my “go to” app to write when I am learning to develop software for new platforms.

Spin For It is small, it’s free and it has no ads. So, download it, give it a try, and let me know what you think.

Thanks!

Screenshot from 2014-04-22 12:38:48 Screenshot from 2014-04-22 12:41:02

Spin For It on Google Play

Spin For It source code on GitHub

Posted in Android, mobile, products, projects | No Comments »

Easy Enyo Checkbox Labels

In a recent Enyo project I needed a labeled vertical group of checkboxes for setting the app’s preferences. I was hoping that I could just put a bunch of onxy.Checkbox components from Enyo’s Onxy widget library inside a Group component and use the content property of each checkbox as its label. This is the code:

Unfortunately, the results weren’t quite what I expected:

checkboxes-nocss

The content text was displayed inside the checkbox and the checkboxes were positioned horizontally instead of vertically. Happily, just a little bit of CSS solved the problem:

With the above CSS, the checkboxes were displayed just as I was expecting:

checkboxes-css

So, how does it work? An Onyx checkbox is just a DIV tag with a background image which displays its state (checked or unchecked). First, we set each checkbox to display:block so that it appears on its own line. Next we give it a width:auto so that it takes up the entire width of its containing element. To get the label text (the checkbox’s content property) out of the checkbox itself, we use padding-left to move the text to the right. to vertically center the text, we set the line-height to the height of the checkbox.

While we’re playing around with the CSS, we’ll add some margins to give some extra space between the checkboxes and the containing element.

A nice side effect is that the user can tap on the label as well as the checkbox to select it since the checkbox DIV is now the width of the containing element.

Tested in Windows on Chrome version 25, Firefox version 19 and IE 10 and on Android Chrome version 25.

Tags: , , , , , ,
Posted in mobile, projects, web | 1 Comment »

Peggy 2 Chronodot Clock

The other day I added a Chronodot to my Peggy 2, using the Evil Mad Scientist blog post Peggy 2: Adding a Chronodot as a guide. Instead of buying the 4 pin female header connectors used in the blog post, I used an 8 pin DIP socket from my parts bin that I cut in half with wire cutters and cleaned up by filing it down a bit.

I had written a clock program for Peggy a while back, but it used millis() to keep track of time, which wasn’t as accurate as I would have liked. The time also got reset whenever Peggy lost power. The Chronodot fixes both those issues. Chronodot Clock is a modified version of my original Peggy 2 clock program to read the time from the Chronodot using the Arduino-Chronodot library. It is available on GitHub and on my Peggy 2 Projects page.

Peggy 2 with Chronodot

Peggy 2 with Chronodot

Chronodot Clock

Chronodot Clock

8 Pin DIP cut in half

8 Pin DIP cut in half

8 Pin DIP soldered into Peggy's proto area

8 Pin DIP soldered into Peggy’s proto area. Ignore the round hole from a previous project that didn’t quite work out.

Tags:
Posted in electronic, projects | No Comments »

Dragongears news RSS feed