Friday, December 16, 2011

Capacity Focus, 28: Using the Arduino (or a comparable unit: the Raspberry Pi etc . . . ) microcontroller board to teach the basic art of electronics and digital control, for all

A generation ago, Horowitz and Hill's famous book, The Art of Electronics, opened up a whole new way to think about learning and doing electronics, for those not particularly inclined to become full bore electronics engineers but who would find some ability to work with electronics helpful for their own work.

An Arduino open source single board
microcontroller, showing key chips
and ports on the printed circuit card
Today, something like the Arduino open source microcontroller and single board computer (or the like, e.g. the Raspberry Pi, etc) offers the opportunity to create a new version of this approach, for people who have grown up in a digital age and yet who are currently largely locked out of the underlying electronics and programming technologies, creating yet another form of the notorious digital divide. 

This time, between those locked into being consumers of digital technologies, and those who have key skills to develop systems that put such technologies to work productively.

As ever, the challenge is to bridge the divide, and that leads to the idea headlined above: a basic art of electronics and digital controls course, to be integrated with the proposed AA CCS programme.  Perhaps, such a course could be developed as one successor to the Java based programming for all course as was already discussed here

The idea-sparker for the course was my observation yesterday, of a kit and series of exercises for doing electronics related control based on an Arduino, by Adafruit:

The AdafruitARDX - v1.3 electronics and digital control experimentation kit

This kit uses the Arduino as a microcontroller, and steps students through exercises where they will interface electronic components that can be manipulated based on software instructions, and will then do interesting and even useful things.

So, let us build on this idea, in steps of thought:

1 --> Electronics can be "defined" for our purposes as the science, art and technology that uses the properties and behaviour of electrons and/or similar charge carriers in certain materials and/or a vacuum, to design, implement and control useful devices, circuits, networks and systems.

2 --> So, the natural focus for an electronics designer or implementer, would be:
a: the underlying physics of the materials and devices that makes them work, e.g. a light emitting diode or a transistor, as well as the classic passive devices: resistors, inductors, capacitors, inductors, transformers; also, basic motors and generators, including microphones, speakers and the D'Arsonval galvanometer movement.

b: the analysis and modelling of the devices that allows us to readily design circuits or networks without resorting to full bore quantum physics etc. (I would extend this to the sort of circuit simulation modellling that is now common, and would at least introduce transistors, amplifiers, op amps [I still favour the 071 family as an update to the classic 741 . . .  not least because we can then use them to make a quite impressive simple Class AB biased push-pull feedback controlled audio amplifier], gates and latches [as well as the famous 555 timer chip!], then point beyond to how electronics based systems are built up.)

c: techniques for analysis, modelling and design of the circuits or networks that use these devices (and of associated signals and controlled power flows), with an emphasis on computer based modelling. (I would bring on board counters, registers, adders and the ALU idea, A/D and D/A, as well as port interfaces, the Serial vs parallel question, microcontroller architecture as built up from these, etc.)

d: the development, implementation, control and maintenance of systems based on such circuits and networks, using the block diagram/exploded diagram approach and some examples.
3 --> In this context, the electronics circuits would be interfaced with the Arduino or the like, and for experimental work or initial development and testing would be on a breadboard [such as the odd looking whitish rectangular object with dots just above the Arduino board in the above photo of the kit].

4 --> Video of what it is like to use a breadboard for prototyping or experimenting with electronics:

Atari Punk Console on the scope from Sparkle Labs on Vimeo.

5 --> Now, we are of course interested in going beyond just "hook up this by carrying out the following steps," then "key in the following code into the Arduino," then  "flick the switch" and finally "watch the wonderful things that happen."

6 --> "Oohs" and "ahs" of wonder have their place, but we want to understand what is going on, and we want to be able to design our own applications and programs for control, e.g. for a drip irrigation controller or say a simple robot car. I am particularly intrigued by the +/- 90 degree arm servo motor kit for the Arduino:

Servo motor kit

 7 --> Similarly, I find the US$ 99 or so DSO Nano V2  hand-held single-channel oscilloscope an intriguing possibility for this sort of low-frequency project:

A hand-held, low-cost single channel digital oscilloscope

8 --> This last practically invites a project to do multiple channels based on using a chopper circuit (similar to what was used in the old analogue 'scopes when they were in chop vs alternate mode to give multichannel capacity).

9 --> For more sophisticated signals inspection the scope meter for field use or the now fairly common PC resident oscilloscopes such as those by Pico or the like for the lab would be my suggestion.

10 --> The prospect of embedding sensors, actuators and associated instrumentation and display devices itself suggests a whole new way to study experimental physics, chemistry, biology and engineering. In short, we also have here a platform for equipping people to do experimental science at a new level.

11 --> But, our main focus for the envisioned course is electronics in a microcontroller context. That points to the two main aspects of such control: discrete state, step by step control of an object, process unit or the like, and control of a system to keep on a set trajectory or target point, something that starts with say the level controller in the tank of the toilets in our bathrooms -- or (my favourite for teaching students), a bottle filling machine on a production line. 

Video of a simple filler machine line:

Video of a full scale drink bottling plant:

12 --> Electronic devices driving power amplifiers or control relays are great for starting to understand and be able to develop such units at fairly low power levels. Beyond that, electromechanical interfaces would ope up pneumatic and hydraulic systems, but that will require complexities and costs not within the reasonable remit of a basic course like the one in view. (However, some introduction to what would be needed, and maybe a demonstration, could help.)

I strongly believe such a course is doable, and would open up a world of being able to develop productive electronics systems for a lot of people. 

So, why not let's try?

Bridging the digital divide, II . . .  END

No comments: