Arduino Light Show #7 Debut: “Make A Wish”

My PHP script on the Light Show website ended up releasing the shows a day early so I figured why not… I’m proud to present the newest version of the Arduino Light Show Project with this holiday special! Enjoy!

A detailed build overview is coming up soon. Stay tuned!


Light Automation Revision

The old Light Timer/Automation project has been running well for the past few months. It was some time after, I played around with Attiny85 microcontrollers which have less pins. Since the project only uses two (now three) pins, I decided to do another revision of the project, swapping out the Atmega328 with an Attiny85.IMG_1243 (Custom)It started out with some prototying on a breadboard with the Uno. The potentiometer is a dimmer for the lights. One of the issues I had was that the lights were a bit too bright so I wanted an option to make them dimmer. The potentiometer allows me to do that without having to reprogram the chip, although in hindsight, I probably should have put one for the sensor sensitivity. I have to go through a few nights to see how it reacts as I wrote up new code but used the existing photoresistor.
IMG_1244 (Custom)This was the perfboard layout, though there were some mistakes and things missing that I fixed along the way.IMG_1245 (Custom)This is the old board. It feels good to strip it down even further…IMG_1247 (Custom)This is the new board. It’s a lot smaller and with a new enclosure (food container). The old one still had unwired buttons from the original light automation system with the LCD menu.IMG_1246 (Custom)When I swapped out the board for the new one, it wasn’t working properly. Sometimes it would function fine, but I’d come back to it to see it dead. After some poking around with my multimeter, I realized it was the power supply connector. It connects to the board using a 9v battery connector. This particular power supply has a bunch of other jacks which I tested and were still working fine. I decided to just chop off of the connectors which I didn’t like floating around anyway, and have this power supply dedicated to this project. I quickly soldered the supply wires to the board and it works just fine now.

Hopefully it’ll look good tonight. Thanks for reading!

The Box project, completed!

With the Box project, or temperature/humidity monitor (part 2, I guess), sitting on a breadboard for some time, I dedicated all of today of transferring it all into the final box. I’m very happy with it despite how simple it seems. I also have a new build material.

IMG_0942I started soldering things on using a plan I drew up. This is the first time I’ve actually planned out a PCB and it worked extremely well. I don’t have to think as much as I go along.
IMG_0943Base Atmega stuff in and some resistors for the LEDs and buttons… Because it was so organized this time, it seemed a lot neater.
IMG_0945Organization was really key to the success of this project. It’s probably bad, but I was kind of surprised. There were many connections that could go wrong, and one did but I caught it and it was smooth sailing on from there.

IMG_0946I love using hot glue now and I expect to use it a lot more. Most of this project is made up of thin jumper wires so I didn’t like the connection to the perfboard on its own. The hot glue added a better base.
IMG_0947It also helped a lot with soldering. I glued them into place before soldering so I didn’t have to position my helping hands to hold the wire as I solder.
IMG_0948The first test was just powering on the LCD. I was super happy! I slowly got the other parts online and it turned out to be all good.
IMG_0950The last part was getting it all into the box. I was getting worried it would end up like my Frank robot which was basically the same thing on wheels. In that project, I couldn’t get a lid on so there were just all of these wires flying out of the top. I was actually laughing trying to find a place for the RTC. I found humor in trying to shove it in for some reason. Maybe I was just really happy too.
IMG_0953That’s it! It’s powered with a backup battery I bought for my phone, but it also works with my USB wall warts and PC USB ports.

The following video shows what control I have over it now that everything’s enclosed. Enjoy!

Shelf Lighting System

After the nice result of the Desk Lighting System project, my brother wanted me to do the same for some shelves in the basement. It quickly turned into a larger project than I was anticipating. This was honestly one of the most stressful projects I’ve worked on in a while as I spent 7 hours non-stop for two days getting it up. The lights we got was a 5 meter white LED strip. I had to go back the next day for two reasons: I bought the wrong power supply (had AC output), and I researched more and saw I would need a mosfet transistor (some explanations on this later).

IMG_0738The first day was literally spent cutting the strip and soldering them back together. It took a long time because the pads on the strip are really small when you cut them so they broke off or the solder gave me a hard time by refusing to flow on the pad. Once that was done, I taped them on all of the shelves. That was all of day one.IMG_0733Day two was another frustrating mess. I got the circuit working using an Arduino Uno board. The final project would have a standalone Atmega328p circuit and a voltage regulator. Before I move on, I want to explain exactly what the Atmega chip is for since I didn’t use it in my last lighting project.

My brother requested a dimmer. To do that, I’d need to use the PWM, or Pulse Width Modulation, pin on the Atmega microcontroller. Basically PWM is adjusting the duty cycle of the output signal so it changes the intensity of the light as we see it. To get a dimmer light, the duty cycle is decreased, or the time on becomes less than the time off in one cycle.

To make things more complicated, the LED strip runs off of 12v, which cannot be supplied directly to the Atmega chip. That’s where the voltage regulator and  mosfet transistor comes in. The voltage regulator is a constant 5v regulator that is required for the microcontroller. The mosfet transistor is used in this case as a switch to open or close the ground connection of the LED strip. The positive connection of the LED strip goes to the 12v source. When a signal is sent to the mosfet [gate], the “switch” closes, turning the lights on. PWM still works as it’s basically opening and closing the switch really fast.

Now back to the pictures…IMG_0735I tried soldering it together. That failed. I don’t know if it’s a failure of connecting it properly or if it was because I had a wrong capacitor (which I discovered after, when I decided to just breadboard it).
IMG_0736So yeah, I took the easy way out on this one. My main worry is that something is going to fall off because it’s mounted sideways. I taped as many connections as I could so it should hold up. I’ll probably keep a close eye on it for the next few days to see how it works out in use… even though I don’t want to. I’m exhausted from this project.

IMG_0737The switch and dimmer potentiometer are solid in place. And yes, it’s another food container.

IMG_0732The final result.

Good riddance… I mean, it’s pretty amazing that everything came together in three days, but the stress was intense trying to get it to work. I have a fear that something will give.

On to the next one.

Desk Lighting Project: Complete!

So the Desk Lighting Project is complete! I took some video along the way so I don’t have any construction pictures. I’ll quickly run through the process though.

The first thing to do was prep the power supply, the 5V one I mentioned in my last post. That meant chopping off the plug on it, stripping the wire, then joining it to some 22-gauge wire using a butt crimp.

The next step was soldering the LEDs to resistors. Each LED color is grouped in pairs, including three pairs of white LEDs for the main area. The white LEDs were also soldered together in a string.

The last step involving soldering was setting up the DIP switch to control the different colors.  There are only four right now, but it is expandable. I just have to solder on a couple of more small wires if I wanted to add a new color. From the DIP switch, the LEDs are connected using jumper wires.

The last step was simply taping the wires and LEDs to the desk. It’s not quite as discrete as I was hoping but, in the end, it kind of looks cool. It makes me desk look less boring.

IMG_0722This is the final positioning of the DIP switch control.IMG_0725This is how the wiring of the white LED area looks. There’s a little extra wire but the tape is doing a decent job keeping it under control.IMG_0724Not quite discrete, but it’s kind of cool looking.IMG_0720I can’t seem to get a good picture. The red LEDs are not quite as bright as the rest of the LEDs on the desk but it’s still fine. If you look at the desk straight on, the LEDs look kind of silly. It looks just how I was expecting it to from where I sit at the desk, though.IMG_0716This is the best picture I could get of the view I have. While I was taping everything to the desk, I was getting disappointed because things didn’t look quite right as it was moving along. In the end, I’m really happy with it.

The Atmega chips didn’t come in today so the name tag project can’t join the rest of the LEDs just yet. Like I said, I did some video recording while building this project. I hope to sort through all that by the end of the weekend.

Mail time + Project Lineup!

I got a package today from Dipmicro. I’m going to show off the things in this small package and then go through all of the projects I’ve got planned. See if you can guess a project or two by the end of the pictures.
IMG_20140214_210811They were having a sale on Atmega328 chips so I had to pick one up. If things work out, I’d definitely get more to make more projects that can stand by themselves without the entire Arduino development board.
IMG_20140214_210907Some capacitors and an oscillator for the Atmega chip.IMG_20140214_210648The only buttons I had before were pulled from toys and things. I don’t have any left so I got some more.IMG_20140214_210701A sound module because I didn’t feel like building an amplifier for the mic I have.IMG_20140214_210715Some photoresistors…IMG_20140214_210955These parts have joined the pile of parts on my desk. This sight means I’ve got a project upcoming. In this case, I’ve got five projects!

Light Timer Modification [REVISIT]

The Light Timer project has been running fine. However, since I don’t use really any of the extra features, I’ve stripped it down to the bare minimum. I’m taking it to the real basics. The lights are not going to be on a timer anymore. Rather, they’ll use the photoresistor to sense the light level in the area and adjust the lighting accordingly.

– Real-time clock and Arduino Uno board will be stripped from the Light Timer project.

– It will run on a circuit built using the Atmega chip.

– It will now use a photo resistor for the logic in turning on and off the lights.

Light Nametag [NEW]

I plan too many projects that end up going to waste. I’d like to have projects that I leave around to showcase. That’s why I’m thinking simple for this and the next project. This project will likely be two LED-lit name tags… one for my real first name and an ASIMOWALK5 one. Simple. If the Light Timer Modification project goes well (if the standalone Atmega circuit works), I will set up the same circuit for the two nametags so I can have them doing patterns. If that doesn’t work, I’m still fine with them just being on all the time.

– Two nametags. One spelling my real first name. One spelling ASIMOWALK5. They will each be their own solid colors.

– Possibly controlled by an Atmega chip, depending on how the Light Timer Modification project goes.

Desk Light Package [NEW]

There was a time not too long ago when I wanted to turn my desk into one “big” light show programmed to music. I just want a basic lighting system now. My desk is more of a station with bookshelves and drawers. I plan on giving parts of the desk different colors. No programming here, just a simple on/off switch on the battery pack.

– Lighting package for all of the areas of my desk.

– No “brains” (controllers) behind it; Battery powered and turned on and off by a switch.

Animatronic Head [NEW]

This is the big project of this group of plans. I’m still going back and forth on the details, but basically I want to create an animatronic desk buddy…

– Head and facial features include: LED matrix eyes, LCD mouth, servos for neck (pan/tilt), 8ohm speaker for short audible feedback.

– Sensory features may include: Temperature/Humidity sensor, Real Time Clock, Light, Sound.

PLC Trainer Program [REVISIT]

The last project is to get me back to practicing my ladder logic programming. I will probably try my hand at another mixing tank program. I usually do a full write up of the scenario and layout the buttons and that sort of thing. It will be a while because this has the least priority, though I do want to make it ongoing while I work on other projects.

So that’s the plans I’ve got! I’m excited because even though the main project, the animatronic head, is somewhat ambitious, I’ve still got other smaller projects to keep me going. Stay tuned for updates!

Arduino Light Show 3: ShiftPWM Test

Planning for my new Arduino Light Show, now into its third version, has begun! 1I decided to try something new to get more RGB LEDs into the show. I followed this tutorial to set up 8 RGB LEDs.3The circuit wasn’t very hard to set up. Other than some colors being accidentally swapped, I didn’t run into any issues with it.2I think this really sets this next light show up for some really good sequences. The plan is to expand the number of RGB LEDs driven by this method to 16. This is in addition to the 70 pins available to me on the Arduino Mega, 12 of which are PWM (allows for fading and dimmed LEDs).

Here’s a quick clip of the rainbow sequence that’s included in the shiftPWM library:

I’m still working on the stage plan. I want to keep it somewhat simple but I also want it to look impressive. It’ll be a while. In the meantime, check out my previous shows.