CCITE of Technological Education for Young People
Total Page:16
File Type:pdf, Size:1020Kb
Creating fruitful and sustainable links between innovative organisations committed to the improvement CCITE of technological education for young people. The Centre for Innovation in Technological Education in Cambridge http://ccite.org Learning to code - with a purpose Part 5 Adrian Oldknow March 2015 [email protected] 22. More Robotics - OhBot: This is another UK invention currently being crowd-sourced. £80 buys you the top-of-the-range model with 6 motors to control: http://ohbot.weebly.com/ and http://www.crowdfunder.co.uk/ohbot-robot/backers/. There are some videos from BETT show 2015 at: http://ohbot.weebly.com/bett-videos.html. Matt Walker and Dan Warner set up a company called Loopy Computy in Stroud: http://www.loopycomputy.com/about.html. 23. More Robotics – Edison: This is another interesting crowd- sourced development, this time from Australia. Edison is an easy to use, cheap and LEGO compatible vehicles. I bought the `Edpack3 for £80’ deal from: http://meetedison.com/. The software and programming guides can be downloaded from http://meetedison.com/downloads/. One simple way (and unusual) way to program Edison is by making barcodes for it to read. Program can be written on many devices including Android and Apple portables and the designers have chosen to use the sound port as a way to send programs to Edison. The system was designed by Brenton O’Brien: http://meetedison.com/blog/meet-brenton-errr-edison/. There are just 3 buttons for on-board control to run, stop and learn programs. Programming: Edison is programmed using EdWare, an icon based graphical programming language. Programs are downloaded to Edison using the EdComm cable. The EdComm cable plugs into the computer's headphone jack and carries a pulsed audio signal to a high efficiency LED. The LED converts the pulsed audio signal into light that is received by Edison's line tracker phototransistor and loads the program into the processor. It has the following sensors, inputs and outputs: Obstacle detection: using 2 IR LEDs (front left and right) and IR receiver module (doubles as IR receiver). Remote control: IR receiver module (38kHz) compatible with most standard TV/DVD remote controls. 1 Infrared data comms: IR receiver module (double as obstacle detection sensor and IR remote receiver). Line tracker: Red LED and phototransistor (doubles as barcode reader and programming port). Light sensors: 2 phototransistors (front left and right). Sound sensor: Piezo transducer (doubles as sounder). Drive: Differential drive system Infrared data comms: 2 infrared LEDs (double as obstacle detection sensor) Sound: Piezo buzzer (doubles as sound sensor) Lights: 2 red LEDs (Front left and right) Processor: Freescale 8-bit MC9S08PA8VLC Power: Battery: 4 x AAA (UM 4) 24. Robosapiens X and Phone dongle: This was designed by the NASA space scientist, Mark Tilden, and released in 2009 when it sold 1.5m units! The robot can be picked up for around £80 from sources such as Amazon, Argos and e-bay e.g. http://www.argos.co.uk/static/Product/partNumber/1114696.htm It weighs in at 6lbs and stands 14in tall. 2 D type batteries in each boot provide stability. You can program it from its remote control or from a mobile phone App using an infra-red dongle. Its specification includes: Sight, sound and touch sensors Humanoid body movements, including bending, sitting and standing, lying down and getting up, dancing, waving, martial arts Speech: Responds verbally to environmental stimuli and to controller commands Colour Vision System: Recognises colours and skin tones Stereo Sound Detection System: "Hears" and reacts to sounds IR Vision: Detects and avoids obstacles; tracks moving objects True bi-pedal walking with multiple gaits Precision gripping, articulated fingers Realistic 2-axis turning head with animated LED eyes It can also make disgusting noises!! 25. Microsoft Kodu is a free simple programming environment for children to write games: http://www.kodugamelab.com/. The program consists of a sequence of WHEN X DO Y commands. Here is the start of a program to move the object with the keyboard’s 4 arrow keys. 2 Here is an example of a longer program which also uses the Microsoft X-Box game controller. Needless to say there are a lot of bells, whistles and especially bangs available! 26. Microsoft Small Basic is a very user-friendly and free version of Visual Basic which is ideal for learning Basic Programming: http://smallbasic.com/. It can output text into a text window and graphics into a graphics window. As you start to type commands a helper pops up to suggest what you might want to enter! I want line 9 of my program to hide the Turtle. Once I have entered `Turtle’ it tells me what sorts of things can come next. So I can see the syntax and complete line `9 Turtle.Hide()’. There are plenty of interesting ideas of the website such as the Collision Physics example below. You can see the program run and also view the code. 3 28. Flowol This is a flowcharting system by Rod & Anthony Bowker for control and data-logging using either on screen `mimics’ or connected to a range of sensing and control systems. The basic system is illustrated by the screen below showing three simple processes running in parallel to control the greenhouse heater, sprinkler and ventilation systems according to sensed values. http://www.flowol.com/ Above is a selection of the mimics available, and to the right is the current range of sensing and control systems supported. The parent company is called Keep I.T. Easy and it is developing a new system called RobotMesh for use with Vex Robotic systems. Here is a sneak preview. As I don’t have a Vex robot I have just done some trivial arithmetic instead! 4 This system uses another graphical language based on blocks which closely resembles Scratch, but will also output equivalent code in the Python language, as shown here. So that led me to hunt for more information on Blockly 29. Blockly This is a coding system developed by Google for people to develop their own software and apps for Google’s Android system, such as I have in my Samsung Galaxy Note smart-phone. Doing a Google search on Blockly takes you to the Home page which tells you it has moved! Following the `Developers’ link takes you to the current system home page. It states that: “Blockly is one of a growing number of visual programming environments. Many of these languages have roots at MIT, leading to a similar look and feel across different products. Blockly was influenced by App Inventor, which in turn was influenced by Scratch, which in turn was influenced byStarLogo.” So now you know! By coincidence I ran into Blockly again much sooner than I expected. It is being used by the BBC as the platform for developing the code for the newly announced BBC Micro Bit microcontroller. 5 30. The BBC Micro Bit (aka Bug) On Thursday 12th March, the BBC launched their plans for the new BBC Micro Bit. The device is a small microcontroller board with an ARM processor. The plan, as I understand it, is that every Year 7 pupil (age 11/12), whose parent is a BBC licence holder, will receive a free unit via their school at this September. The announcement, together with a video, is at: http://www.bbc.co.uk/news/technology-31834927. “The BBC does not see Micro Bit as a rival to similar computing devices such as Raspberry Pi, Arduino, Galileo and Kano, but rather hopes it will act as a "springboard" to these more complex machines. The tiny programmable machine is still a prototype and the BBC is working with several partners, including chip-designer Arm, Microsoft and Samsung, to get the end product right. When it launches in September it will be compatible with three coding languages - Touch Develop, Python and C++. The device is tiny - fitting easily into the palm of a hand. Children will be able to create text via a series of LED lights and they will also be able to use it to create basic games. The final version will have a Bluetooth link enabling it to be hooked up to other devices such as a Raspberry Pi.” Most of the information I have gleaned comes from these Computing At School forums: http://community.computingatschool.org.uk/forums/1/topics/4160 http://community.computingatschool.org.uk/forums/1/topics/4182/posts/53335 The trial site for pilot schools is at: http://bug.iotoy.org/bug You can create your own account at: http://bug.iotoy.org/bug/create_user_form/ This gives you access to the emulator in which you write your own programs. The students have physical prototypes too – see http://bug.iotoy.org/downloads/FAQ/Microbug_FAQ.pdf My own attempt at programming in Blockly can be found at: http://bug.iotoy.org/bug/program/2384/Binary%20to%20LED 6 Here is the full program in Blockly: The Micro Bit board, known as the Bug, is designed to be run autonomously – in which case its principal display device is the 5x5 array of small LEDs. So my little program takes a whole number, such as 19, and subtracts enough 2s from it so that it eventually gets down to a 0 or 1 depending on whether the number was even or odd. The LEDs are numbered from left to right and from top to bottom, so that the coordinates of the top right LED are (4,0). If the number is odd that LED will be lit up by the `plot x,y’ command in the If statement.