Friday, January 25, 2013

Went to Surrey & Hampshire Hackspace last night


I heard about the Surrey & Hampshire Hackspace early last year and even attended a meet-up before the summer in 2012 and really enjoyed it and intended to get back there again. Well, finally last night was the night and it was well worthwhile.

One of the members had arrange for us to use a warehouse location in Farnborough and so we had loads of room and bench space with wifi access.

I got the chance to talk to others who were doing interesting things with their Raspberry Pi and also show how an Arduino works and can be programmed.

Eagle Tutorial
Eagle Tutorial from Youtube
But for me the highlight of the evening was a tutorial on how to use Eagle (http://www.cadsoftusa.com/) by Bob. Eagle is a free or paid schematic diagram program that can also do board layouts.  I have tinkered with Eagle before and even thought I understand the fundamentals of electronics (at a very basic level) it kept giving me errors or not doing what I expected. For where I am now the free version is more than enough for me.
During the session Bob took the simple transistor switch circuit I prepared and used it as the example for finding components, placing them, connecting the nodes and duplicating them. All very useful, so now I can do more with Eagle.  Next time Bob is going to go into even more detail on what you can do with Eagle.

Then after the Eagle session Alan told me about the ULN2003 NPN 7 Darlington Array. Using just this an a SIL resistor pack for the 1K resistors I could do everything that needed 12 resistors and 4 transistors. So, lower cost, lower complexity and more reliable.

2 members of the Reading Hackspace also turned up to introduce themselves and talk about working together so as not to duplicate effort. Since Reading and Farnborough as so close to each other it really makes sense to take advantage of the opportunities this provides.  They mentioned that Reading is just about to move into a new bigger space.

Before leaving I powered up the Arduino and showed the IDE to a couple of people. Ran the Blink example  and then the Web server example just to show how easy the Arduino is to use.

Overall a great evening with some great people in a very open and sharing environment. I learned about Eagle, circuit design, a new component and how to pass command line arguments in Python.

Here's looking forward to next time.



Thursday, January 17, 2013

Raspberry Pi - GPIO - Scratch - Remote Control Car

IT'S ALIVE!!!!

Tonight I wired up the remote to the circuit and the circuit to the GPIO pins on the Raspberry Pi.
Booted the Raspberry Pi and connected using Putty and Xming to get an Xwindow display on my netbook.

Ran the GPIO Scratch after installing the code I mentioned before.

 The bits of code make the car go forward, backwards and turn (forwards and backwards)

Raspberry Pi in PiBow connected to the circuit for controlling the remote control
 Ignore the Arduino in the picture I just have it attached to the
board with the proto board

When I click on the code blocks the car moved - YEAH!. So, I figured out the controls for the remote.  Make 4 small circuits to allow the GPIO Pins to activate the remote control.  With a massive amount of help from http://cymplecy.wordpress.com/2012/08/26/scratch-controlling-the-gpio-on-a-raspberrypi/ where I got the Scratch GPIO control code from I got Scratch to switch the GPIO pins and made the car move.

The quality of the car was causing some problems as the wheels would get stuck on the carpet.

This was great fun to do and as a possible beginners electronics/Raspberry Pi/Soldering/Scratch project it may suit. Wait a moment that kind of a very specific set of requirements.

Here's hoping the car is bit more accommodating on Sunday.



Wednesday, January 16, 2013

Messing with a remote control car and some transistor

As per a previous post I have arranged a Raspberry Pi event (Raspberry Jam) at Gartner's offices in Egham on Sunday the 20th January.

Originally I was considering setting up my Raspberry Pi on a big screen with the Atari 2600 emulator running and a joystick for some old school nostalgia gaming but then I thought that might be a bit boring.

Since I have volunteered to run a Code Club at my kids school I thought how about something in Scratch.  Code Club uses Scratch and Raspberry Pi has  Scratch so if I did something in Scratch then I could have it at the Raspberry Jam and then also show it to the kids at a future date as an example of what is possible with Scratch.

Code Club does programming I thought maybe something with electronics and since I have an old cheap remote control car gathering dust I thought I'd try to design a switching circuit that would allow the Raspberry Pi to control the car from within Scratch.

My knowledge of Scratch, GPIO and Python are limited so it was lucky that somebody far smarter than me has developed the code to allow Scratch to control the GPIO pins. All the details at this link -  http://cymplecy.wordpress.com/2012/08/26/scratch-controlling-the-gpio-on-a-raspberrypi/
After figuring out I needed the latest image of Raspbian for this code to work I was off.
I did the obligatory flash an LED to make sure it all worked on the Raspberry Pi and it did.

Confident that Scratch could control the GPIO pins I turned my attention to the no name, small, cheap remote control.
Out with the multi-meter to check where the switches went to and how they were wired to the one IC on the board. I figured out that the pins are all held high and then go low to be actioned.
The remote from my testing old uses 0.1mA so it probably would have been safe to just attach it to the Raspberry Pi, but not sure if this was correct I decided to put in a transistor switching circuit that would hold the line high until a high is applied to the GPIO pin for that control and then it would go low. Effectively enabling that button on the remote and sending the relevant signal to the car.

I used a 2N222a NPN transistor for the circuit and again being concerned that my very rusty electronics would fail me I posted to the Raspberry Pi Forum asking if the design was OK including a small circuit diagram.(http://www.raspberrypi.org/phpBB3/viewtopic.php?f=44&t=29730) and amazingly Gert van Loo the Gertboard guy replied saying the circuit was good with a recommendation to add a 10K resistor from the GPIO to ground so the GPIO pins start in a determined state. (Yes, I'm missing a 2 in the image I'll fix it later)

With my head swelling from Gerts positive comments but still not ready to test with my precious Raspberry Pi that I needed for Sunday (plan B of Atari 2600 is still an option) I wired up the circuit to my Arduino who's pins a bit more robust.

Created a small bit of  code that set the pins high and low to see if it responded.

RESULT - the car went, forward, backwards, turned left, turned right.all controlled by the Arduino code

This means the circuit is good.  The electronics of the transistor switches works with the cheap remote  control.

So, tomorrow (Thursday) evening I will wire it to my Raspberry Pi and see if the final product works and then can I control it in Scratch.

If yes, then I will have it with me on Sunday.

Roll on tomorrow evening and roll on Sunday.