The Arduino Platform and C Programming
About This Course
The Arduino is an open-source computer hardware/software platform for building digital devices and interactive objects that can sense and control the physical world around them. In this class you will learn how the Arduino platform works in terms of the physical board and libraries and the IDE (integrated development environment). You will also learn about shields, which are smaller boards that plug into the main Arduino board to perform other functions such as sensing light, heat, GPS tracking, or providing a user interface display. The course will also cover programming the Arduino using C code and accessing the pins on the board via the software to control external devices. Please note that this course does not include discussion forums.
Upon completing this course, you will be able to:
1. Outline the composition of the Arduino development board
2. Describe what it means to program the board’s firmware
3. Read board schematics
4. Install Arduino IDE
5. Describe what “shields” are and how they are used
6. Specify the role of libraries in the use of shields
7. Compile and run a program
8. Name C Variables and Types
9. Name common C operators
10. Use conditionals and loops
11. Explain functions, their definition and invocation
12. Explain the implications of global variables
13. Undertake the Arduino build process
14. Describe the role of the tools behind the IDE
15. Describe how to invoke functions in classes
16. Explain the structure of an Arduino sketch
17. Access the pins of the Arduino
18. Differentiate between digital and analog pin
19. Debug embedded software
20. Explain the importance of controllability and observability in the debugging process
21. Describe common debugging architectures for embedded systems
22. Explain how the UART Serial communication protocol works
23. Describe how the Arduino Serial library performs serial communication
Course Syllabus
Arduino Environment
-This module provides an introduction to the Arduino environment which is composed of three things: the Arduino board, the Arduino IDE, and the Arduino-compatible shields together with their libraries. We first investigate the board, discussing all of its main components, inputs, and outputs. We discuss how each component is used and we examine the board schematic to see how they are connected. We then discuss the Arduino Integrated Development Environment (IDE) which is used primarily to write, compile, and upload code. We survey the interface of the IDE and discuss how to install and use it. We also examine the use of shields to extend the functionality of an Arduino-based system. We discuss how shield libraries provide a useful abstraction to facilitate programming.
C Programming
-This module covers the basics of the C programming language which will be used to write code for the Arduino. The course first covers basic syntax, variables, and types. Most of the basic C operators are presented. Conditional statements (if, switch) and loops (while, for) are described. The concept of functions is presented together with how to define and call functions. Creation and use of global variables is explained.
Arduino Programs
-This module describes the composition of an Arduino program, or sketch, and the process by which it is compiled and uploaded. The Arduino IDE is a user interface for the software tools which actually compile and upload the program. We outline the use of these tools in the build process. We describe the basic structure of a sketch, including the use of the setup() and loop() functions. The main interface of an Arduino is through its pins, so we describe how to access those pins from a sketch.
Module 4
-This module is an introduction on debugging embedded software on an Arduino. We discuss the basic debugging requirements: controllability and observability. The debugging environment available for an Arduino UNO is limited, so we describe how to use the UART communication protocol to gain controllability and observability. We present the use of the Serial library to communicate with the Arduino through the serial monitor.
Course presenter
Bio
Ian G. Harris is currently Vice Chair of Undergraduate Education in the Computer Science Department at the University of California, Irvine. He received his BS degree in Computer Science from Massachusetts Institute of Technology in 1990. He received his MS and PhD degrees in Computer Science from the University of California, San Diego in 1992 and 1997 respectively. He was a member of the faculty in the Electrical and Computer Engineering Department at the University of Massachusetts Amherst from 1997 until June 2003. Professor Harris serves on the program committees of several leading conferences in hardware design verification and security including IEEE/ACM Design Automation Conference, IEEE International Conference on Computer-Aided Design, and IEEE Hardware Oriented Security and Trust (HOST). Professor Harris serves on the program committees of several leading conferences in hardware design verification and security including IEEE/ACM Design Automation Conference, IEEE International Conference on Computer-Aided Design, and IEEE Hardware Oriented Security and Trust (HOST).
FAQ
What is Coursera?
Coursera is an online education provider that offers online courses, popularly known as MOOCs or Massive Open Online Courses, from top universities around the world. Currently it has over 200 partners from 48 countries. These partners include Universities such as Stanford, Duke, Penn, Princeton, Michigan, Peking, and HEC Paris. Coursera has also started partnering with companies like IBM, Google, and PwC — these companies are also launching courses on Coursera.
Coursera is the most popular MOOC provider in the world based on the number of students (over 45 million learners) and has an active catalog of 3,800+ online courses.
As well as these individual courses and 16 online degrees, Coursera offers 400 groups of courses known as Specializations, MasterTracks, and Professional Certificates.
How do Coursera courses work?
Coursera is an online education provider that offers online courses, popularly known as MOOCs or Massive Open Online Courses, from top universities around the world. Currently, Coursera boasts an active catalog of more than 3800 online courses created by these partner institutions.
Coursera courses consist of pre-recorded video lectures that you can watch on a weekly schedule or when it’s convenient for you. They also have student discussion forums, homework/assignments, and online quizzes or exams.
Generally speaking, Coursera courses are free to audit (i.e. watch videos) but if you want to earn a course Certificate, you will need to pay. An investigation by Class Central discovered 1150+ Coursera courses that include assessments for free although other courses have the assessments behind a paywall.
Many of the Coursera courses are part of Coursera Specializations, a microcredential offered by Coursera. Specializations consist of a sequence of courses and for some Specializations the last course is a Capstone project. If learners earn a certificate for each course in a Specialization, they will receive a Specialization certificate. Specializations are usually geared towards in-demand skills in business and technology. You can take single courses or the whole specialization.
Other courses are grouped into MasterTracks and Professional Certificates. Coursera has launched over 400 microcredentials.
How does a Coursera Subscription work?
Some courses, particularly those in Coursera Specializations, are available on a subscription basis. When you sign up, the first 7 days are free, then you are charged monthly. Check the course or Specialization page to find the cost in US dollars or your local currency. You may also need to check the exchange rate to calculate the cost. The faster you learn, the less you will pay to complete the course or Specialization, in one-month increments.
If you want to complete one or some courses in a Specialization but not the whole Specialization, you need to cancel your subscription after receiving your certificate.
When signing up for Specializations, you cannot select the audit for free option, only a 7-day free trial. To access the materials for free, you need to sign up from the individual course pages. Click on the Learn more link beside the words at the bottom of each course description, available on some Specialization pages. (You can choose to take this course only.)
Coursera Plus is a single payment that gives access to around 3000 courses and Specializations for 12 months.