Investigating Arduino #Gemma – Adapting Blink code to control 2 LEDs #STEAM

After a reader suggestion (thanks Kathleen!) I’ve also included the adapted blink code below and on my GitHub:

Getting started with Arduino #Gemma #STEAM

Getting started with Arduino #Gemma #STEAM

SpuOf5

Tonight I found time to finally open the Arduino Gemma that arrived just before the October break.

It comes with no instructions, but Adafruit have plenty of guides on their website. However depending on where you start, you may waste a bit of time. More on that below.

The first guide I read told me nothing about how to use the Gemma, just what it was, and offered no links to follow up guides. Thanks.

The second guide I found recommended the codebender.cc website as a way to program the Gemma to do what I wanted. I figured that this would be a good place to start and that I could learn from other users on the site. It started quite promisingly, with a Getting Started Guide that took me through the process of installing the Chrome extension, Arduino drivers and then… well then it wouldn’t let me get any further because… the Adafruit Gemma programmers aren’t yet supported for the codebender app! There was no explanation behind the error message (what exactly ARE programmers in the context of Arduinos?) and I imagine that other beginning Arduino users like myself would have been bemused by the lack of user assistance.

Back to the adafruit website where I find some information about drivers. They confirm I have the Arduino Gemma because it’s teal not black. This is useful information and it means that my time on the Adafruit website has been wasted. I’m also still bemused at why codebender only offered Adafruit Gemma as an option earlier.

Right. Off to the Arduino website to see if they can be any more help. I now ignore all Adafruit guides in my Google search results.

I install the Arduino IDE and connect the mini USB cable to my Gemma. Red and green LEDs flicker and then there is a steady green LED.

Screen Shot 2015-11-01 at 19.20.36

I find and copy the Blink code into the Arduino IDE, following the instructions in the comments (good work, see above). However the IDE is obviously now different and “Upload using Programmer” is now in the Sketch menu. By the time I’d found the correct menu the 10 seconds of red LED blinking had passed and I had to press the reset button a few times on the Gemma to get it blinking again. Second time around the code transferred successfully.

I looked for a way to run the code, but then realised that the steady blinking red LED was the code running!

I’m off to investigate some more code now but thought I should summarise with my steps to getting the first program running on my Arduino Gemma:

  1. Download the Arduino IDE
  2. Connect the Arduino Gemma to Macbook via mini USB cable, make sure LEDs are lit
  3. (Windows users have to download drivers)

  4. Copy the Blink code into the code window on the Arduino IDE, replacing ALL text that is there
  5. Select Arduino Gemma from the Tools > Board menu
  6. Select Arduino Gemma from the Tools > Programmer
  7. Press the small button on the Gemma between the red and green LEDs. The red LED will glow dimly then begin to pulse. This means it is ready to receive data
  8. In the Arduino IDE select Sketch > Upload Using Programmer while the red LED is pulsing (you have 10 seconds to comply)
  9. Check the Arduino IDE output message. If there is an error message I suggest you repeat steps 6 and 7.

Screen Shot 2015-11-01 at 19.35.03

At this point – perhaps after a short wait – the red LED on the Gemma board should begin to blink slowly. This is confirmation of the program running!

Why teaching ICT cannot be abandoned

By Photos public domain.com [Public domain], via Wikimedia Commons
As Russel Tarr’s recent response to a high-profile attack on his methods of teaching the history of the Weimar Republic (1918-33) gathers deservedly increasing views across the Internet, other parts of Michael Gove’s “Mr. Men” speech align with my concerns about the move away from teaching of ICT in schools and its replacement with (the far more high-brow sounding) Computing Science.

“As long as there are people in education making excuses for failure, cursing future generations with a culture of low expectations, denying children access to the best that has been thought and written, because Nemo and the Mister Men are more relevant, the battle needs to be joined.” (Michael Gove, 2013)

Contrast with one of the recommendations from the Next Gen. report mentioned by Michael Gove:

“Recommendation 3: Use video games and visual effects at school to draw greater numbers of young
people into STEM and computer science.” (Next Gen., Ian Livingstone & Alex Hope, 2011)

The draw of the shiny and new! As scenarios go I would far rather create video games or animations related to Finding Nemo or the Mr. Men than Of Mice and Men and Henry V and I’m pretty sure my students would too, given the choice. Seriously though, creating video games and visual effects using industry-standard software applications requires advanced problem solving skills, application of mathematics and physics and understanding of how a computer system can turn instructions into actions on the screen. It also involves management skills, teamwork, design and creativity. My concern is that a large number of schools are using the headline “games design”, “app design” or “computer animation” to try and reverse declining numbers taking the subject, then use the same teaching methods as they did with package skills…

“What has been wrong with education and IT is that it has been very much focused on the clerical aspect of IT – Microsoft Word, Powerpoint – and that has gone into every remit of the curriculum. It is about giving students access and inspiration so when they go into the wider world of work they are part of the technological advances of the country.” (Depute Principal of St Matthew Academy, http://www.bbc.co.uk/news/education-16186705)

“It was a boring set of documents that encouraged boring teaching of boring tasks in a field which should be one of the most exciting in education. The ICT curriculum we inherited was a tedious run-through the use of applications which were becoming obsolete even as the curriculum was being written.” (Michael Gove again, 2013)

But look at this: Lucasfilm want Interns! A quick glance at the essential and desired skills required for a role in Singapore – riding high in a recent index of cognitive skills and educational attainment – the  show a need for:

Education, Experience and Skills:

  • Interest in film production, digital games and media arts preferred
  • Workplace professionalism
  • Multitasking skills – Working on multiple projects with strict deadlines
  • Ability to work well in a multi-cultural team environment with diverse personalities
  • Strong verbal and written communication skills
  • Computer skills: Microsoft Word, Excel, Outlook. FileMaker Pro experience a plus.

So an interest in digital media would be desired but most important are: social skills, time management, presentation skills and ICT skills to aid communication (wouldn’t that be classed as clerical skills?). The only other nod to multimedia computing on the page is a request to “link to your online/downloadable reel or portfolio (if you have these)”. Yes this is just one example but highlights the need for continued teaching of ICT. Perhaps just in a different way?

As a programmer I’m glad the focus has been shifted back to using computer systems to create software or link to hardware devices such as the Raspberry Pi or Arduino but without ICT skills linked to the essential processes involved in the world of work and Higher Education, you risk creating skilled coders who are unable to apply for and retain the jobs waiting for them to fill.

“For children who have become digital natives and who speak fluent technology as an additional language, the ICT curriculum was clearly inadequate.” (more from Michael Gove, 2013)

Perhaps rigour in teaching ICT skills and ensuring that the skills they learn are relevant to the rest of the curriculum at the right time would make them more useful. I’m keen on not having ICT on the timetable as it identifies it as a unique entity – unrelated to other subjects the student encounters at school. Tracking progress at primary school and allowing individual students to follow challenging pathways which further develop their skills is tricky to plan and implement, but I think also extremely important.

Here’s why: Children are, in the main, not digital natives. They might wear the badge with honour but, without developing their understanding of what a “digital native” actually is, you may find they are wearing that badge upside down. Students may be confident enough to explore and experiment when faced with a new software application but find it very difficult to recall practical skills when the Computing department see them for around an hour each week (if you’re lucky!).

The solution mooted in Scotland a few years ago was to teach ICT in every subject and leave the programming and multimedia-specific elements to Computing Science teachers. Increased exposure to tasks which relied on students applying their ICT skills to solve problems, create reports or prepare presentations would reinforce practical skills and re-engage disaffected learners. Great idea, poorly planned and implemented due to a stunning lack of staff CPD, limited resources for using ICT in all subjects, corporate filtering and application deployment systems and push-back by subject teachers who felt they had enough to cover already without also including ICT in their remit. It is understandable: staff need to trust that the technology will work consistently enough to be able to teach their subject content. If it is unreliable and the root cause is not remedied, it will be treated as a strategy that does not provide benefit to the student – and abandoned.

The current pedagogy of how ICT lessons are delivered, assessed and reinforced must change to suit the needs of the individual learner.