Skip to main content

Getting back up to speed with Arduino

We have been working on devleoping a new lab space at North 51 recently with a view to trying out some new technology and messing about with different interaction ideas. 

One little bit of kit I am very enthusiastic about is the Arduino. Most people I have worked with haven't had the opportunity to play with one so we bought one in and a load of electronic bits and bobs to play with. 

On Tuesday evenings we now have a Geek night after work. The plan is to play with technology and just see what comes from it. This Tuesday was fairly quiet as it was a little late notice so me and my friend Jon decided to use it as a chance to get back up to speed with the Arduino. 

We started with the blinking an LED (the most basic but always satisfying) and then moved onto blinking the LED at a pace determined by an LDR. 









With that success we moved onto setting the Arduino up as a little server and plugging it into a switch. We then plugged laptops into the switch and were able to use the Arduino as a Chat server. 

After that, we plugged in a little speaker and used the laptops to send commands to the Chat Server that played a different note based on the command. With this we then able to talk to each other on the chat server and agree a tune that we built up over two different computers. All in all very cool. 

We have some more people coming next week and I hope we can build on this. After some pizza we had a brainstorming session and came up with some really cool projects that we are going to start messing about with. Next on our list is remote data collection using sensors and a GPRS shield / module for the Arduino!

Exciting times! 


Comments

Popular posts from this blog

Creating star ratings in HTML and Javascript

I'd searched around a little for some shortcuts to help in doing this but I couldn't find anything satisfactory that included the ability to pull the rating off again for saving. I'd ended up coming up with this rather cheeky solution. Hopefully it helps you too! This is my first post in a while (I stopped blogging properly about 8 years ago!) It's strange coming back to it. Blogger feels very crusty and old by todays standards too.

Make your objects immutable by default

More about the Good Dojo In my post last week , I discussed creating objects that are instantiated safely. Please go back and read if you are interested. At the end of the post, I mentioned that I'd also written the class so it was immutable when instantiated. This is important!!! I feel like a broken record in repeating this but I am sure at the time of writing your code, you aren't modifying your object all over the place and so are safe in the belief that protecting against mutability is overkill. Please remember though, your code could be around for a hell of a long time. You aren't writing your code for now... you are writing for the next fool that comes along (including you) . Nothing is more upsetting that coming back to fix a bug on some wonderfully crafted code to say "Who has butchered my code?!", but often you were involved at the start of the process. You made the code easy to modify, allowing objects to be used / reused / modified without thi

An instantiated object should be "ok"

I've been QA'ing quite a bit of work recently and one common theme I've noticed across both Java and C# projects I have been looking at is that we occasionally open ourselves up unessacarily to Exceptions by the way objects are being created. My general rule of thumb (which I have seen mentioned in a Pluralsight video recently but also always re-iterate in various Robust Software talks I have done) is that you shouldn't be able to create an object and then call a method or access a property that then throws an exception. At worst, it should return null (I'm not going to moan about that now). I've created an example below. We have two Dojos, one is good and one is bad. The bad dojo looks very familiar though. It's a little class written in the style that seems often encouraged. In fact, many classes start life as something like this. Then as years go on, you and other colleagues add more features to the class and it's instantiation becomes a second