Arduino Tinkering, Programming and Problem Solving

Course

In Carshalton

£ 1,000 + VAT

Description

  • Type

    Course

  • Location

    Carshalton

  • Duration

    5 Days

The aim of this 5 day course is to provide a thorough introduction and confidence building experience for teachers wanting to explore the world of Arduino and programming so that they can use this knowledge in the classroom. It is not aimed solely for IT, Science and Technology Teachers, but for all teachers - especially junior school teachers and arts teachers. The goal is to "de-mistify" electronics and programming so that pupils see "non-technology" teachers as well as "technology teachers" using Lego Mindstorms with confidence, and do not go away with the impression that its only for geeks. Suitable for: This course is suitable for teachers with little or no prior programming experience in either tinkering with and building embedded systems or programming. Its goal is to provide a starting point for those who wish to learn how to build and program and progotype arduino based systems and to provide them with a good understanding of the underlying principles and concepts.

Facilities

Location

Start date

Carshalton (Surrey)
See map
1-3 Fairlands House, SM5 2HW

Start date

On request

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Course programme

Intended Audience This course is suitable for teachers with little or no prior programming experience in either tinkering with and building embedded systems or programming. Its goal is to provide a starting point for those who wish to learn how to build and program and progotype arduino based systems and to provide them with a good understanding of the underlying principles and concepts. Course Overview The aim of this 5 day course is to provide a thorough introduction and confidence building experience for teachers wanting to explore the world of Arduino and programming so that they can use this knowledge in the classroom. It is not aimed solely for IT, Science and Technology Teachers, but for all teachers - especially junior school teachers and arts teachers. The goal is to "de-mistify" electronics and programming so that pupils see "non-technology" teachers as well as "technology teachers" using Lego Mindstorms with confidence, and do not go away with the impression that its only for "geeky" types. It is also hoped that the programming skills learned will be capable of being transferred to other "technologies" such as Scratch, Lego's WeDo as well as Robot programming languages such as RobotC ... for which FTT also provides beginners courses. This course is suitable not only for teachers but also for parents, and teaching assistants with a technical background. The most important background requirements are some familiarity with computers, curiosity and the love of puzzle solving and toy/model building. Unlike traditional programming courses this course introduces programming concepts such as variable, branching, looping , input output, and the use of modules as a natural part of the problem solving involved in building robots to perform various tasks of increasing complexity. Another important aspect of this course is the introduction of basic design concepts and notation based on simplified UML and flowcharts. --------------------------------------------------------------------------------Course Outline Introduction to Arduino background and basic concepts of microcontrollers overview of the Atmel AVR family of microcontrollers how microcontrollers differ from PCs how microcontrollers are programmed how microcontrollers interface with sensors (e.g. buttons) and actuators (e.g. motors) overview of Arduino programming firmware its structure and uses what syntax is and how compilers work how to break the tasks associated with a gadget into small behaviors what psuedocode is and how it can be used to describe "mini tasks" how to download programs First steps in interfacing, breadboarding and prototyping using Arduino anatomy and layout of arduino boards introduction to the Arduino programming environment the "wiring" metaphor underlying Arduino programming writing, compiling and downloading Arduino programs (Sketches) to the Arduino board introduction to breadboards and breadboarding techniques powering up the breadboard connecting up buttons, LEDs and resistors "Hello world" the embedded way by lighting up an LED more sophisticated "Hello World" programs [ hello world will be enhanced throught the course as more is learned about Arduino C programming ] using timers to flash an LED detecting button presses to turn an LED on and off fancy patterns using multiple LEDs Arduino / C Programming in greater depth overview of data types and their purpose C's basic data types - integer types, floating point types variables and assignment of values to variables C's maths operators and basic maths in C functions and function prototypes returning a value from a function arrays and their uses for storing collections of values C's logic and comparison operators and logical expressions making decisions using switch statements looping in C - while loops, do .. while loops and for loops Designing Programs using scenarios and use cases to help design robot programs and applications using flow charts to work out what a program is to do more advanced C programming a very gentle introduction to pointers data structures and their uses an introduction to arrays of data structures and their applications an introduction to pointers and how they relate to arrays an introduction to pointers to data structures exploring sensors, motors , buzzers ... an overview of sensors - temperature, pressure, light an overview of converting analog sensor values to digital values an overview of digital outputs an overview of serial communications an overview of digital to analog conversion an overview of using digital outputs to control equipment that uses bigger voltages and currents - DtoA converters, HBridges, Pulse Width Modulation (PWM) adriving DC motors an overview of the I2C and SPI protocols Arduino code for driving I2C peripheral devices Using PWM signals and Piezo devices to create sounds Introduction to State Machines and their uses Event driven applications Events, States, Actions and Transitions Implementing simple finite state machines in Arduino Interactive Traffic Lights demonstrator implemented using a Finite State Machine approach Serial communications Overview of RS232 Using RS232 to connect an Arduino to a PC Terminal program LCD displays How LCD controllers work and interface to microcontrollers Driving LCD displays Implementing simple menu driven interactive displays using an Arduino Course format The course is approximately involves approximately 40% teaching and 60% hands on practical work. In addition there will be an opportunity to discuss teaching aspects of the use of Lego NXT technology in teaching and attendees will also be organised into small teams who will be expected to on the last day of the course. Course Timeline: Day 1 overview of the Arduino and the development kit introduction to basic electronics and breadboarding introduction to binary numbers and digital electronics introduction to AVR microcontrollers overview of firmware and bootloaders overview of USB and how code is transferred from the PC to the Arduino over a USB connection what happens when the reset button is pressed wiring up and driving an LED walkthrough of a basic Arduino program Day 2 - getting to grips with basic C syntax data types and variables maths operators and maths logical operators, boolean values and logical expressions using logical expressions to implement decision making if .. else statements switch statements using logical expressions in loops while loops do .. while loops for loops timers and their uses more advanced building and programming projectss SOS Morse Code signaller traffic lights more advanced building and programming projectss SOS Morse Code signaller traffic lights buttons and button press detection more advanced building and programming projectss interactive traffic lights Day 3 introduction to arrays and pointers using arrays for collecting information using sensors for data acquisition collecting sensor readings and storing them in an array lookup tables converting a text message into Morse code Day 4 introduction to data structures arrays of data structures pointers to data structures passing data structure types into functions and returning data structure types from functions passing pointers to data structure types to functions returning pointers to data structures types from functions serial RS232 communications between Arduino and PC Designing and programming using Finite State Machines Driving LCD displays Implementing a simple interactive menu system using buttons and an LCD Day 5 Driving motors and controlling motor speed using PWM Putting it all together - experimenting with a small Arduino based robot Team presentations and debriefing Awarding Certificates

Arduino Tinkering, Programming and Problem Solving

£ 1,000 + VAT