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!

 

Advertisements

#NoPrototypeChallenge

That might as well be the name of my “Wastebin Project” category. I haven’t done a Wastebin Project in a while so I’m shaking off the dust on this blog category today. This category is for those small random projects that only last for a day. They usually happen without proper thoughtful prototyping. It’s just about getting the creative juices flowing, experimenting, and having fun thinking on the fly.

Anyways, today I wanted to try something I’ve been meaning to do for a while, and that is try to create the smallest mobile robot I can. I also wanted to challenge myself to see what I could come up with in an hour.

I’ve done a couple of mobile robots before. My first robot was “Frank” who won the hearts of many. My second robot, “Greg”, was what I liked to call the Mobile Billboard because it was a rectangular bot with an LCD strapped to it. With my PCB designs that I’ve been posting about for the past little while, I can get a mobile robot to get into an even smaller form. Spoiler: It doesn’t work out, but seeing what doesn’t work along the way was interesting to me.IMG_20140924_154601This was it at the end of the project. If things did work out, I’d swap out the jumper wires for shorter soldered wires to neaten things up. What really was the final nail in the coffin was a wire between the 9v battery holder and my AMS1117 Voltage Regulator Board broke. But that was just one nail, among a few others.

The big thing I learned was that the servo library doesn’t work with the Attiny85 microcontroller because the servo library relies on 16-bit timers while the Attiny85 has 8-bit timers. I’ll have to look into it, but upon some light research it looks like it’s possible. After I realized that, I swapped out my Attiny85 Breakout Board with my Atmega328p Breakout Board. I got the servos rolling, but there was no control or logic behind it.

I wanted to try using a photoresistor instead of the ultrasonic sensor to be the eyes of the bot. I didn’t test the photoresistor so I couldn’t calibrate it. I was just guessing values but none of them worked so I don’t even know if the photoresistor was working at all. I still have the circuit so I can play around with it.

IMG_20140924_155017I kept the chassis because I want to try this again. This is how I always make my chassis but it’s a lot smaller compared to my previous robots.
IMG_20140924_155031This is the photo resistor circuit, as well as the power supply outputs (the headers) for the servos. I’ll play around with the photoresistor and maybe this could be back again in round two.

Thanks for reading! I’m still working out plans for my next project. It should be a light show… Stay tuned!

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!

Introducing “Greg” the robot!

IMG_20131109_100649

First thing I want to cover is the name. I started naming my projects since my first conventional Arduino robot, Frank. When I did that, I also named the light show project at that time Helga. Since there was a gap between F and H, I decided to fill it with Greg. I’ll continue the naming tradition probably with my newest light show when it gets its Christmas update. It’s not much of an importance but it brings a nice personality aspect to it. People seem to enjoy it. I thought of reusing the Frank name and declaring it Frank 2.0 but I didn’t go with it because, if I did, I would want the original cardboard smile which I threw out. Alternatively, I like calling Greg the Roving Billboard project.

As I talked about in my last post, I discovered a cheap electronics parts supplier in the province (most of my parts come from out of the province, closest was Quebec). I decided to pick up an LCD display along with the new LEDs that will be going into the light show update. With the LCD here, a short list of goals was created.

IMG_20131108_100918The goals were simple. Obviously I wanted to incorporate the LCD display somewhere on the robot. I also wanted a cleaner and more compact design compared to Frank. I’d also have to adjust to not being able to pan the ultrasonic sensor (the eyes) because the servo was recycled into the new light show. Let’s see how I did.

The original idea was to have the LCD sit on the top so that you could read what it was saying without having to bend down to his level to read off of the side. It’s still fine though because the sides would be plain and boring otherwise. This was a compromise, which leads me to the next goal.

With the jumper wires all being 20cm long, it took up a lot more room that I was expecting. I was going to seal the top with the LCD on it when I was finished wiring up but it didn’t work out. The compact design is aided by mounting the Arduino on its side. It also made sense to do this to help balance it with the LCD on the other side.

IMG_20131109_101025It was difficult working in such a small space. There is a breadboard buried at the very bottom for distributing the power and for the current-limiting resistors for the LEDs. I also had to make a clearance for the programming cable. Once the cable is removed, I can push the wall back up which doesn’t look all that bad.

IMG_20131109_101042I was struggling to get things into place so I ended up having to open up the side with the LCD. I found that a rubber band worked nicely to keep the wall up once the wiring was complete. I didn’t want to tape it in case I had to go back in.

Finally, the lack of the servo for the ultrasonic sensor was no issue. It just always turns in the same direction every time it encounters an obstacle and tries again.

This project worked out as a success in my view.

The first test was hilarious. I quickly found out that it was top heavy and unbalanced. I didn’t catch it falling over on video (because I was too busy laughing at it) but you get the idea of what the troubles were from this short clip:

IMG_20131109_101122To fix the problem, I added these paper bumpers alongside the castor wheel. Also, I found that mounting the 9v battery outside on the back using the rubber band helped the balance of it.

I want to take this project further by strapping a couple sensors on it and have it read out information on the LCD… but the wiring may prevent me from doing that. We’ll see. Thanks for reading, and stay tuned for the Christmas/2013 light show update!

This post was brought to you by…

If you live in the Greater Toronto Area and are looking for basic electronics components, have a look at Dipmicro. It’s harder to get a hold on such cheap parts in Canada since we don’t have as many options as the States. Standard shipping is just a few bucks and the package took four business days to reach me. I already have things in my cart again. I’m glad this first try worked out well.

Aside from a couple of mini breadboards, here’s the short list of things I got. I picked up this blue LCD display for my next generation of Frank the robot. I’m still trying to work out the form because I’m trying to make it as simple and compact as possible. Of course, I’ll post some updates on that when they’re ready.IMG_20131107_151546

I picked up an organizer from the dollar store for my LEDs, especially with my incoming clear green and white LEDs from Dipmicro. I’ve been playing around with the LCD so much that I still haven’t tried them out. Along with the new robot, the light show project will be getting some new features in time for Christmas. Again, I’ll be updating this blog with the details a little later on.IMG_20131107_190400

And finally, we have these wires. I ordered two sets of 40 female to male jumper wires. These are the same things I was (and still am) waiting for from China. I’m still working on resolving that situation… I want those $2 back before I go back and purchase more from these guys!IMG_20131107_190436So yeah, I’ve got a couple of projects to cap off the year. Stay tuned!

Saying farewell to another project/friend, Frank

Everyone fell in love with Frank because of his cute smile and, well, the fact that he had a “normal” name. With my proposal for a new project (coming soon), I needed some parts on a $0 budget. As a result, both of my running Arduino projects have been taken apart to reallocate the parts to this new project. While the new project won’t be using each and every part from Frank, it will be one of the largest projects I’ve ever done if it all works out.

Here are all of the parts I used to make Frank:

frankpartsThanks for following this project. It was fun doing a conventional robot. I will eventually do one again, but right now I need a fresh project. Details on that will come when it’s ready.

Meet Frank 1.5

I’m happy to present a new video showing off some changes to Frank, my Arduino robot:

Here are the changes to him since the first video:

  • The LED is almost never off. The songs may do its own thing with it, but it transitions between red, green, and blue as he roams about.
  • A couple of switches were added so I didn’t have to plug wires into the breadboard to power things on. Unfortunately, I only have two switches so I couldn’t add one for power to the Arduino board.
  • More tape everywhere to keep things on him better.
  • He can now sing the Canadian national anthem. I thought that made sense since he now wears a Canada flag pin.
  • I replaced a lot of the prototyping breadboard wires with my own hand-cut wires. It reduces the amount of extra wire piled up on him.
  • The biggest improvement is that Frank now checks both of his sides while he’s roaming. Before, if he was heading toward a wall on an angle, he wouldn’t pick it up and would roll right into it. Now, he’s a bit more cautious and I haven’t had any similar problems.

So there you have it. I think the only thing to do now is replace everything cardboard on him (except his head for some character) with a more durable material. Only then would I bring him up to 2.0.

Thanks for reading!