Last week Simon suddenly unpacked his old electronics sets and completed several projects with Arduino, his old single-board friend that got him into coding a little over a year ago. Back then it was the most difficult stuff he had ever tried, his first “setups”and “draws”, his first dive into serious circuits. Now Arduino (and iCircuit) is something he does while taking breaks from the real studying/ coding. Amazing how skillful he has become in assembling the circuits, too. All those little wires. Especially considering he still isn’t an expert at tying his shoelaces.
Yesterday Simon spent the whole day studying the concept of Cellular Automaton (CA), a discrete model of a system of “cell” objects used in physics, math and theoretical biology. He learned a lot from Daniel Shiffman’s tutorials on Cellular Automata and his book The Nature of Code (Chapter 7).
Simon describes Cellular Automaton as a set of rules for getting nature-like patterns. 1D cellular automata are static (think of a pattern resembling the Pascal triangle) and 2D are not static (the most famous example is Conway’s Game of Life).
The mathematician who made cellular automata a big thing (and even Turing-compatible!) was Stephen Wolfram. Simon also looked at some of Wolfram’s writings. Wolfram’s book A New Kind of Science is intimidating (in content and size) but full of graphic illustrations and available for free at http://www.wolframscience.com/nksonline/toc.html
A CA is basically a grid where cells live, each cell in a particular state (the simplest example being “1” or “0”). In Processing, it’s possible to have a CA draw a beautiful pattern this way. Simon tried to write a CA program in another language. He tried writing it in Python on his RaspberryPi first, but I overheard him say “don’t know how classes really work in Python, let’s try Ruby – I know how classes work in Ruby!” Then I saw him move over to the desktop and plug his long forgotten Arduino in. He said he now wanted to translate a CA code into C. Of course, there would be no pattern, but he wanted to have the Arduino “spit out numbers in the console” instead. Eventually he got an error and gave up, but it was intriguing to observe him.
The videos below show Simon talk about CA and program a CA in Arduino (C):
Simon’s passion is coding, but he does other things, too. Things like Dutch, because – in case you haven’t noticed – his native language is Dutch. I usually don’t film our homeschooling lessons but today I felt like filming, so here you go – a glimpse of Simon doing Dutch Grammar exercises on syntax and morphology.
When we were talking about coordinating and subordinating conjunctions Simon ran out of the room and came back with a LittleBits NOR (logic gate from an electric circuit), saying coordinating conjunctions (nevenschikkende voegwoorden in Dutch) were just like logic gates!
He made no mistakes in the 20 questions below, although I did have to explain a couple of terms along the way:
Yesterday Simon asked me to buy new electronics software he found on the internet. It’s a realtime circuit simulator and editor called iCircuit. Simon has already built several circuits in it last night and there is so much more to discover. He was following Derek Banas’ tutorials on electronics.
When an error with XML HTTP Request occurred Simon spontaneously drafted an explanation in Microsoft Word. This video captured how quickly and easily he operates in Microsoft Office:
Simon wrote a sketch in Sublime Text (a text editor) and uploaded it on to his Arduino. It didn’t work at first but he found the bug.
I wouldn’t publish this video if it wasn’t for one observation: this electricity project would have taken two hours just a few months ago. Now Simon assembles things like this within minutes, without using any manuals, just as a little break from anything else he was doing.
After he tried it during a Digisnacks group session last month Simon really wanted to have his own Lego WeDo set. The waiting seemed endless, Sinterklaas lost the parcel once and worried if it would reach Simon on time, but in the end everything worked out magically well. And even though the drag and drop programming seems to be too easy for Simon, we enjoy watching him complete the laborious projects all by himself. He didn’t use to be this dexterous with the tiny Lego pieces just a few months ago, his fine motor skills are improving by the day. In fact his piano teacher just told me exactly the same thing about his piano fingers yesterday.
We made a talking poster with Bare Conductive paint and touch board today:
The poster on the wall next to Simon’s room:
This is how we made it. We taped a stencil to a large sheet of white paper and applied the conductive paint, then waited for the paint to dry.
While waiting, we loaded several mp3 files on to the MicroSD card that came with the touch board. Simon made sure the files were named in the right order, to correspond to the correct electrodes on the touch board. We found the sound files at FreeSound.org:
Simon placed the MiscroSD back into the touch board:
We carefully removed the stencil, this was the result:
We attached the touch board and the speaker to the poster, then cold soldered the holes in the electrodes with conductive paint.
Let it dry and turn the power on!
Simon loves the conductive paint. After we finished making the Bare Conductive Voltage Village kit (previous post), he made two circuits, parallel and series, on his own without and help on my behalf. He did use weak AAA batteries first, so it didn’t work. When I told him he should switch to the 9V batteries, his circuits started to shine!
This is Simon’s parallel circuit:
And this is a series circuit: