Tuesday, 14 March 2017

IT Kitchen: Tangible Programming With Buttons

Lego is a wonderful open ended making system that gives everyone from infant to pensioner the opportunity to "think with objects" to play and learn by doing things and making things.

Lego Mindstorms is for more technical making - its a "robotics Invention system kit" that can be used to make and program customised robots and machines.

The full Lego Mindstorms kit is a creative wonderland but for the beginner it can feel a bit like being thrown into the deep end - getting used to all the parts and how they fit together is quite a task and the introduction builds and learning how to interpret the instructions takes a lot of time and patience to work through for the novice.

To get started I want to make something quick and easy and then see it move around and be able to program it as quick as possible.

To get started fast with something tangible we simply need to put wheels on the "brain" as quick as possible to get movement. Damien Kee had been thinking the same and shared his EV3 Quick Build with the web so rather than "re-invent the wheel" I have used Damien's design for this robot. With just 34 pieces of Lego Mindstorms you can make a robot In under 10 minutes that is ready for programming.

Buttons the robot can be made from just 34 parts

Buttons can be built in less than 10 minutes

I wanted beginners to be able to get on to drive and program the robot as soon as they had made it without the further complication of having to use anything else. We are all used to programming objects in everyday life (reminders, alarms, media playlists, TV recorders, kitchen equipment, home controls etc) so I wanted the the robot to be programmable as a self contained object. I wanted the robot to be treated as a physical object that is physically programmed ...  a tangible object with tangible programming.
Buttons our tangible programming app

I developed a tangible programming app called "Buttons" that is pre-loaded into the robot "brain" for our workshops so that when it wakes up you can get started driving and programming the robot straight away using only the robot's buttons.

The Buttons app has three simple modes

Try My Moves (Drive) ... where you can push the buttons to see how the robot moves and note how the robot moves for when you come to program it - e.g. the direction it goes and how far it moves or rotates in one step.

Program Me ... where you can record a set of moves as a program; see the program playback or delete the program.

Run Program .. where you can see your program control the robot as it plays back the moves (with the move number) you recorded in the program.
The Buttons Move app has only four very simple moves: Forward, Backward, Left turn (90 degrees) and Right turn (90 degrees). The simplicity is useful for beginners to getting started and the simple moves can be put together in useful ways for computational thinking and versions of games such a "pin the tail on the donkey".

"Buttons" is a great beginners introduction to programming, Lego Mindstorms making and the basis for further projects that add Mindstorms capabilities with sounds, images, motors, sensors and customised parts such as our 3D printed Pen Holder that quickly turns "Buttons" into a LOGO type "Turtle" that can draw!


Find out more about Buttons at inspireNshare.com/buttons
Find out more about inspireNshare at inspireNshare.com
Find out more about our Mindstorms Thinglabs 

Wednesday, 1 February 2017

IT Kitchen: Tangible Programming With Nemo"

I first taught computer programming to young people in 1981 when Seymour Papert's "Mindstorms: Children, Computers and Powerful Ideas" was hot off the press. Papert argued that learning can happen most effectively when people are active in making tangible objects in the real world, have objects to think with and see tangible results. Papert developed his ideas in the learning theory of Constructionism and for educational computing he developed the turtle as an "object to think with" - a robot that could be programmed with the Logo language to move around with a pen and draw shapes - to program behaviours in physical objects rather than just control of what’s on a screen.

Using the LOGO language with the Turtle robot along with Papert's Constructionist theory of learning was such a joy as a new teacher - it was fun and effective and left a deep and lasting impression on me. These were exciting times - the early days in the microprocessor revolution and the beginning of second era of computing. There was a "cambrian explosion" of diverse ideas, technologies and activity and there was a great deal of optimism about the positive potential of computers.

There is much about today that reminds me of the early 1980s - a "cambrian explosion" of diverse ideas, activity and technologies such as nano computing, AI, virtual reality, augmented reality, IoT, robotics, 3D printing and wearable tech to name just a few. There has never been a more exciting time with technology.

CCS Libraries have given me a Lego Mindstorms EV3 kit to do some development work and I thought I would use this to revisit Constructionism in learning with tangible physical computing and pay tribute to Seymour Papert who sadly passed away last summer.

Lego named its programmable technical construction kit "Mindstorms" in honour of Seymour Papert and his ideas in "Mindstorms: Children, Computers and Powerful Ideas" so I thought it fitting to call this project "Nemo" to associate it with Papert and his work with Turtles, physical computing and Constructionism back in the 1980s.

I wanted to use a Lego Mindstorms robot to not only move around but to draw with a pen like Papert's Turtles. I also wanted to create something open ended that itself could be programmed independently to carry out different actions as an independent robot programmable in a physical, behavioural or "tangible" way without a standard programming interface.

The nature of computing is changing - we are at the very start of the information revolution proper and what could be new era of computing. Mainframes gave way to microcomputers which in turn are giving way to mobile computers - the next era could see computing disappear as devices become smaller, pervasive and intelligent. We started off with mainframes and the CUI (text based Command User Interfaces) which have way to the GUI (Graphical User Interfaces) of the Micro-computer era but with the rise of Artificial Intelligence we may see a return to the CUI ... but this time ... not just commands but conversations with machines. Graphical user interfaces are not a good fit for handheld computers like smartphones - in the future our phones really will become smart and we will be able to talk to them - to give them commands and have conversations with them. Communication interfaces with computers and machines are likely to change with developments in artificial intelligence and soon we won’t program computers ... we’ll train them like dogs - this is one reason I am interested in developing fully physical or tangible computing and computer interfaces. Pavlov and Nemo are just a toe tip in the water of tangible computing - I'm looking forward to AI In The Making.

Lego Mindstorms has plenty of square parts but nothing that makes for a good pen holder so I needed to extend the Lego kit and make one and to do this I turned to one of the technologies in today's "cambrian explosion" of technology - 3D printing. It wouldn't be difficult to 3D design a simple pen holder with Lego connectors using Tinkercad for example but there are already designs that people have shared and that are ready to print. The part I printed to use was Thingiverse thing:1573474 - "LEGO technic pen holder"

Much of the 3D printing I have been doing has been to showcase its potential using small demonstration prints like halloween decorations, xmas decorations and little "trinkets" - see the inspireNsjare Thingiverse collections for example. However, having a 3D printer available can be really useful to make parts to use in other things - for example in "IT Kitchen: 3D Printer .... Get Baking" I showed how you can use a 3D printer in the kitchen to make cookie cutters. For this project it was a real joy to manufacture in under 15 minutes the part I needed in my kitchen with a 3D printer. I'm sure you have had to throw away things that have had small broken or worn parts that you just can't get hold of to replace or repair - If only the products came with a gallery of 3D designs that we could use to 3D print broken and worn parts - this would help the environment and our pockets but I can't imagine it happening ... suppliers would sooner we buy new rather than repair - indeed, many manufacturers make their products this way - incompatible with other suppliers parts and not end user serviceable or even repairable at all.


Amazingly I was able to take the 3D printed pen holder "hot off the press" and "straight out of the oven" and fit it onto Nemo - a slightly altered Lego Mindstorms base model with my Nemo program running.

The Nemo program uses the Lego Mindstorms "brick" buttons for the learner to program it - there are two modes - "train" (learn or program) and "perform" (or execute\run the program). Press the centre button to start, press the right button to go into programming mode and press the down button to perform or run the program.

Training (programming or learning)
Press up to go forward
Press right to go right 90 degrees
Press down to go backwards
Press left to go left 90 degrees
Press centre to stop programming

Performance (program execution)
Watch Nemo playback the "commands" learned in training 

Place a felt tip pen in the pen holder and watch Nemo draw using the commands it learned from you during training.

Thank you to 
CCS Libraries for the loan of a Lego Mindstorms EV3 kit
Ultimaker for the loan of an Ultimaker 2 3D printer

To find out more about inspireNshare visit http://inspireNshare.com
To find out more about inspireNshare Thinglab visit http://inspirenshare.com/thinglab


Sunday, 8 January 2017

IT Kitchen: Tangible Programming With Pavlov

Most Lego Mindstorms builds I have seen seem to be of the  "closed" project type running a downloaded program to do specific things. I wanted to create something open ended that itself could be programmed independently to carry out different actions.

I wanted to create an independent robot that you could program in a physical, behavioural or "tangible" way without a standard programming interface.

I had seen the Mindstorms standard puppy robot and thought about programming being like training a puppy. I thought about how similar this is to simple behavioural psychology of the type Pavlov carried out with conditioning so named the puppy Pavlov.


This version of Pavlov has three modes:

Stimulate (using colours) Pavlov to discover its responses

Training (programming or learning)
Show Pavlov a sequence of stimuli (colours)  for him to learn\remember and respond to in sequence later.

Performance (program execution)
Have Pavlov perform the sequence of responses remembered earlier in training.

In this video I discover Pavlov's responses and train him to move around an object.

I will be developing Pavlov ... making him look more like a puppy and adding more functions. I'll be exploring its use in early programming ... using different challenges and problems to solve tangibly and introducing people to the standard programming interface to change responses.

Saturday, 31 December 2016

IT Kitchen: 3D Printer .... Get Baking

A 3D printer cannot mass produce but is ideal for making individual customised things. However, a 3D printer can make parts that can be part of a mass production process. 3D printers can be used as tool makers making tools such as moulds, dies, stamps and cutters which are used in a manufacturing process.

In the IT kitchen we used a 3D printer as a tool maker - making cutters for cookies. 

Cooking has been affected by industrial mass production and consumerism so that for many cooking has been reduced to buying a packet .. a ready made meal we open, heat up and eat. However, cooking from ingredients is a DIY activity but taken for granted and overlooked as a maker activity. Cooking is one of the oldest, most useful and most enjoyable of maker activities.

In today's IT kitchen we combine one of the oldest maker activities (Cooking) with one of the newest (3D printing) - using a 3D printer to make the cutters used to shape our cookies.

The 3D printing

You may not have something to hand and may need to buy it on-line for delivery or pop down the shops to buy it, One of the benefits of having a 3D printer is being able to make something on demand - either from 3D designs shared openly by others or by using 3D modelling software to design things ourselves. Even better, 3D printing can be used to make unique or customised items - things that you cannot buy ready made.

We collected some cookie cutter designs shared openly on Thingiverse and printed a small selection - star, gingerbread person, snowman, Christmas tree, Easter bunny, heart, and a butterfly. We used the slicer software for our 3D printer to adjust the size of each cutter, increased the depth of the heart cutter and rotated and laid the gingerbread man design flat on the plate so that it would print properly.

We used PLA filament in the kitchen - its safer, bio-degradable and sustainable - being made with plant materials. 

Cookie cutters are such a good thing to print - they are a good size and print quickly being all outline rather than solid.

The Cooking
* 1 egg
* 100g soft brown sugar
* 100g butter
* 200g self raising flour (plain flour is fine but self raising helps the cookies rise up just a little bit which is nice)

* Preheat an oven to 180 degrees or gas mark 4.

* Get ready a baking tray .. I find a non stick tray is fine.

* Put the flour and butter into a bowl and mix together using your fingers until the mixture looks like breadcrumbs. 

* Sprinkle in the sugar and continue mixing with your fingers until it is all mixed up well looking like sugary breadcrumbs.

* Add the egg and knead the mixture until you get a dough - a thick elastic like paste.

* Take the dough out of the bowl, place it onto a work surface and roll out flat to the thickness of the biscuits you want - about 5mm is good.

* Use the cookie cutters to press out shapes in the dough - press into the dough all the way through to the work surface. Wiggle the cutter a little to get a good separation from the rest of the dough and lift up the cutter - the cookie dough should stay inside the cutter. Move over to a baking tray and gently push the cookie dough out of the cookie cutter onto the baking tray.

* Place the baking tray in the centre of an oven and bake until golden brown - about 12 minutes at 180 degrees or gas mark 4.

* Remove the baking tray from the oven and leave the cookies to cool for about 2 minutes then ...... enjoy :)

Unfortunately the heart, snowman & xmas tree are missing .... I ate them :)
There we have it - delicious cookies made by hand, cut with the help of a 3D printer and baked with another piece of technology we take for granted - an oven.

To find out more about inspireNshare visit http://inspireNshare.com

Tuesday, 20 December 2016

IT Kitchen - 3D Printing Craft & Design

The difference between a 3D printing pen and a 3D printer is a good illustration of the difference between craft and design ... between making and manufacture.

Using a 3D printing pen is like icing a cake ... its a craft ... design and the craft or making are one. The artefact that is made is unique every time - no two items are exactly alike ... this is the value of craft. 

Using a 3D printer is like manufacturing ... indeed 3D printing is often referred to as "additive manufacturing" or fabrication. Products can be made identical time and time again - the "making" of them is programmed and automated and multiple 3D printers can produce the same identical product.

Design for a 3D printer using a 3D modelling program is technical ... this is a good thing as it brings those s=who are more technical rather than art and craft oriented into maker culture - digital designs are also great for sharing and re-mixing.

Monday, 23 November 2015

IT Kitchen: Blending Reality

Augmented reality and virtual reality are hot topics at the moment but I think the real heat will be where they are combined in a form of blended reality or what some call “augmented virtuality”.

I demonstrate how to blend reality in the IT kitchen with free\cheap and easy stuff - a value Android smartphone (Vodaphone Smart Utlra 6) with Octagon Studios Animal 4D+ AR application and a Google Cardboard VR headset. You can download a free sample set of the Animal 4D+ flashcards here.

The Animal 4D+ AR app is really good in standard AR mode - load the app and point your smartphone camera at the animal flashcards and see the animals pop up from the flashcards - kids (and adults) really like this app. The app gets even better when you have certain animals and foods together - for example - if you have the monkey and banana cards together the monkey will go across and start eating the banana - see the examples here. The Animal 4D+ app gets even better still - it has a 3D (VR) button - which presents the smartphone view stereoscopically for a VR headset.

Virtual reality is immersive, we only see computer generated images - we enter computer reality. With Google cardboard we close the smartphone into the viewer - the camera view into the real world is not used.

Blended reality or “augmented virtuality” combines augmented reality with virtual reality to overlay our perception of the real world with a virtual world. With Google Cardboard we keep the back of the viewer open so that the camera takes in the real world while the AR app overlays this to our eyes. With the Animal 4D+ AR app in VR mode we get a simple look at what’s to come with blended reality in the years ahead - check out Magic Leap for the high end view!

While the possibilities of augmented, blended and virtual reality are amazing and seem like the stuff of science fiction - we must remember that we live in a real world - the world of everyday fact - do not neglect the real world … it’s the only world we have!

Saturday, 31 October 2015

IT Kitchen: Halloween Virtual Reality "where Looks Can Kill"

It’s Halloween in the IT kitchen and we step into Virtual reality Halloween with Zombie Shooter VR from Fibrum

I arrive in halloween VR facing a wall cabinet of weapons. There is a small cross-hair in my field of vision which I can use to target things by moving my head and “looking” at things. I look at and target a handgun until the selection dial turns 360 degrees and acknowledges my choice. I look around the room - it’s dark and claustrophobic. I look for a way out, find a door, look at the handle until the dial turns 360 degrees - the door opens and I find myself in a tunnel. Moving forward I come to a glass barrier - I shoot at an image of an eye and the glass shatters. The tunnel continues to a mesh fence and zombie guardsman - I fire several shots and learn just how hard it is to kill a zombie ... they are already dead! I approach a subway train and walk quickly through - thankfully it’s deserted. I emerge in an underground work area where groups of zombies approach - I fire a great many shots but despite my best efforts I am overwhelmed.

I die in virtual reality, snap off the headset and like a dreamer from sleep I am still alive in the real world.

In general consumer virtual reality today we have only our head movements to interact with the environment - to select things, push buttons and kill to zombies we have to look at them. This will change, virtual reality environments and interactions will become more immersive and more realistic with better processors, higher definition displays, more senses, more body parts and wearable technology.

Virtual reality presents to our senses and if perception is reality - I wonder if our notions of reality could become confused when using it?

In normal dreams we wake up when the going gets tough but virtual reality is more like a lucid dream where the dreamer has conscious interaction with the dream environment. I’m not sure if anyone has ever died for real in the conditions of a lucid dream e.g. from fear\shock as they fall from a great height. Motion sickness is already a problem with virtual reality and as it becomes more realistic - I wonder just how deeply we could be affected and if it's possible to die for real in the conditions of virtual reality?

Screen addiction is already a problem for many people but screens are still part of the real world and we can still aware of the real world around us. Virtual reality is immersive and will become more realistic and compelling over time - I wonder how this will affect those with a predisposition to addiction.

Virtual reality immersion in our own fears and fantasies - the way we deal with this will be down to human nature …  just be careful - you could end up in halloween where looks could kill!