A cool little robot I’m working on

So after getting back from my holiday I was bored for a bit. Then I came up with a cool idea. How awesome would it be to have a robot that sits in my school locker greeting me whenever I open it. Like a little animal that hides out in there. So a small holiday project was born. It consists of a servo, speaker, led, light sensor, rechargeable AAA batteries,a little cheap telescope, blu tac and an arduino clone board designed by me to control the whole thing.

The robot looks like this at the moment. Please excuse the low res of the iPad’s camera. It was all I had with me.

20120208-181611.jpg

The eye part of the robot is constructed out of a plastic lens and an LED for lighting it up. It sits on a servo providing robotic movement.

20120208-181611.jpg

The whole project is controlled by a simple arduino clone I made. It’s basically just the atmega328 processor, programming pinout, crystal and caps, reset resistor and an LED connected to digital pin 13 to determine whether a problem is caused by the processor or other electronics.

20120208-181946.jpg

So the robot head at the moment is pretty much just a servo with a little telescope for an eye and an LED to light up the “eye”. The program for it at the moment is pretty simple. It basically just checks whether the door is open with a light sensor reading, then when it detects an open door it does some beeping, head shaking and eye blinking. When I get some free time (stupid school) I’ll make a better program for it that makes it happy, sad or excited and plays a little tune etc making it more realistic. Then I’ll give you some more details.

I’m beginning to learn iOS development through school at the moment. It’s going to be an awesome year. There’s lots of other cool stuff happening as well.

Just thought I’d keep you posted.

Advertisements

How it went

LCD

Well the LCD was pretty much a dismal failure as I managed to desolder the wires, but I went about the wrong way. I cut off the long bits of the wire and then tried to desolder the scrappy bits. There was only one problem and that was my crappy old home iron. Needless to say I couldn’t get the holes to show. Sigh…. I really need to get a better iron and work on my soldering.

LCD before

before

LCD After

after

Okay so that element was a fail. I’ll do it properly at school tomorrow in the electronics lab.

Python Virtual Machine

Okay so I found this for the python virtual machine: python on a chip

First impressions are it’s pretty cool.

here’s it’s official line:

Welcome! Python-on-a-Chip (p14p) is a project to develop a reduced Python virtual machine (codenamed PyMite) that runs a significant subset of the Python language on microcontrollers without an OS. The other parts of p14p are the device drivers, high-level libraries and other tools. Please join the python-on-a-chip google group to discuss this project.

Sounds pretty cool but I’m going to stay safe and stick with good old C++ because I don’t think it will have much of an advantage.

Router

Okay so here’s what I’m running

The router

the router

So I opened up the box and found some awesome goodies like lot’s of manuals and free IP cable which is awesome. I also found a CD which has “utility software” on it.

Okay the utility software was rubbish so I need to go back to finding out the password for the browser based utility….

A quick browse over to whatismyip.com revealed what my current address and I simply used that to get into the D-link login panel.

Okay I’m into the login panel and all I needed to do was enter the stuff as it says in the semi-russian manual ( I’m not joking, half the manual was written in Russian!)

I’m in!

And I had a look at some of my recent connections and found that my friend who can’t even spell his name right on his iPod’s device name has been stealing some internet. Busted.

Anyways it’s got a really easy to use ethernet and LAN setup interface so it’s all good. It all looks a lot better than the bigpond router at my aunt’s. It’s got a lot more detail on connections and stuff. Go D-Link!

So that’s it. I’ve figured out what I need to figure out to get started on the project.

And mum is calling me for dinner….

The Etherten

The Etherten is basically a kick-ass arduino and ethernet compatible board made by Freetronics.

Etherten board photo.

The Etherten with a 4GB micro SD and ethernet plugged in.

Ethernet Capability

The Etherten comes with on board ethernet meaning that it can talk to the world via the internet. It can serve webpages, update twitter feeds and notify you when you get new emails. There is an onboard ethernet jack meaning that all you need to do is find a router or computer to connect it to. Plug the IP address into your program and you’re ready to go. Then you can access it from anywhere in the world using a standard internet browser.

Mini SD card slot

That’s up to 34359738368 bytes of storage. Compared to the onboard EEPROM of a standard arduino chip (512 bytes) it’s huge. It’s enough to log temperature or whatever until the end of the universe.

It’s based on the Arduino Uno

That means that it can be used with all the arduino shields and parts. However, it can have a bit of trouble when it comes to fitting on shield s because of the large size of the ethernet jack. Interestingly, it has a mini USB plug to avoid the USB jack shorting on shields yet it has this whopping big ethernet jack. They do sell a modified prototyping shield to alleviate this. And when it’s got integrated ethernet so you don’t have to use a shield it’s hard to complain.

My Experience with it out of the box.

First impression were not too good because the guys a t Jaycar were complaining about it having some sort of a problem with it’s power over ethernet feature. They clearly hadn’t read the article on the freetronics website about this. At $80 the board was mine with many cautions about it not working.

Sure enough, I got home and the board worked perfectly. I plugged it in to my computer and tried to load it up with the Blink sketch that comes standard with the arduino IDE. it didn’t work because I had the IDE set to myduemilanove ebay board. I changed it Uno and everything was good.

So with my Etherten’s D13 light now happily flashing away I decided to just check that it’s I/O stuff was all good. I tested that by using the little single wire communication project I wrote about last time. It was all good.

I tested the micro SD  card using the SD card examples included with arduino IDE and it all worked well without modification. There’s not really all that much that you can do with and SD card apart from log data if you don’t have an internet connection. if you have an internet connection to the board you can use the SD card as remote file storage.

The internet stuff on it works fine plugged into a telstra bigpond router. But you are a bit limited in what you can do by the length of your cable. Just remember to change the IP in all demo programs to your own.

So that’s just about it for my thoughts on the ether ten.

If I were you I would get yours from Freetronics rather than Jaycar because Jaycar rip you off and there’s a 100th one free thing if you get it from Freetronics. And Freetronics is Aussie owned…….

Arduino single wire binary communication

Here’s basic example of how you can use one wire to easily communicate between two arduinos.

Slave Arduino

int val;
void setup(){
pinMode(1, INPUT); //pin 1 is the single wire connection
pinMode(7,OUTPUT); //pin 7 is connected to an LED
}
void loop(){
val = digitalRead(1);
digitalWrite(7, val);
}

So basically how this works is this slave code will read any input coming from pin 1 and translate that to an output on pin 7. This can be used to make two arduinos blink LEDs in sync or do other cool stuff over wire.

Here’s a vid of this idea operating with a randomly blinking LED.