The Arduino Platform and C Programming
Description
When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan .
- Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
- Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.
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…
Frequently asked questions
There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.
When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan .
- Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
- Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.
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
Created by: University of California, Irvine-
Taught by: Ian Harris, Associate Professor
Department of Computer Science
每门课程都像是一本互动的教科书,具有预先录制的视频、测验和项目。
来自同学的帮助与其他成千上万的学生相联系,对想法进行辩论,讨论课程材料,并寻求帮助来掌握概念。
证书获得正式认证的作业,并与朋友、同事和雇主分享您的成功。
University of California, Irvine Since 1965, the University of California, Irvine has combined the strengths of a major research university with the bounty of an incomparable Southern California location. UCI’s unyielding commitment to rigorous academics, cutting-edge research, and leadership and character development makes the campus a driving force for innovation and discovery that serves our local, national and global communities in many ways.Syllabus
WEEK 1
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.
9 videos, 4 readings expand
- 阅读: Pre-Course Survey
- 阅读: Course Overview
- 阅读: Module 1 Objectives
- 阅读: Module 1 Reading
- Video: Module 1 Introduction (video)
- Video: Lecture 1.1: Arduino Platform
- Video: Lecture 1.2: Arduino Board
- Video: Lecture 1.3: Direct Programming
- Video: Lecture 2.1: Arduino Schematics
- Video: Lecture 2.2: Arduino IDE
- Video: Lecture 2.3: Compiling Code
- Video: Lecture 3.1: Arduino Shields and Libraries
- Video: Lecture 3.2: Arduino Basic Setup
Graded: Module 1 Quiz
Graded: Install the Arduino IDE on your computer
WEEK 2
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.
9 videos, 3 readings expand
- 阅读: Module 2 Objectives
- 阅读: Module 2 Reading
- Video: Module 2 Introduction (video)
- 阅读: Planning Ahead for Modules 3 and 4
- Video: Lecture 1.1: Setting Up Your Environment
- Video: Lecture 1.2: Hello World
- Video: Lecture 1.3: Variables
- Video: Lecture 2.1: Basic C Operators
- Video: Lecture 2.2: Conditionals
- Video: Lecture 2.3: Loops
- Video: Lecture 3.1: Functions
- Video: Lecture 3.2: Global Variables
Graded: Module 2 Quiz
Graded: Program to compute Fibonacci sequence
WEEK 3
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.
10 videos, 3 readings expand
- 阅读: Module 3 Objectives
- 阅读: Module 3 Reading
- Video: Module 3 Introduction (video)
- 阅读: Information About the Arduino
- Video: Lecture 1.1: Arduino Toolchain
- Video: Lecture 1.2: Cross-Compilation
- Video: Lecture 1.3: Arduino Sketches
- Video: Lecture 2.1: Classes
- Video: Lecture 2.2: Sketch Structure
- Video: Lecture 2.3: Pins
- Video: Lecture 3.1: Input and Output
- Video: Lecture 3.2: Blink Example
- Video: Video Demonstration: Arduino Blink Example
Graded: Module 3 Quiz
Graded: Module 3 Peer Review
WEEK 4
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.
9 videos, 4 readings expand
- 阅读: Module 4 Objectives
- 阅读: Module 4 Reading
- Video: Module 4 Introduction (video)
- 阅读: Information about the Arduino
- Video: Lecture 1.1: Debugging
- Video: Lecture 1.2: Debug Environments
- Video: Lecture 1.3: Debug via Serial
- Video: Lecture 2.1: UART Protocol
- Video: Lecture 2.2: UART Synchronization
- Video: Lecture 2.3: UART Parity and Stop
- Video: Lecture 3.1: Serial on Arduino
- Video: Lecture 3.2: Reading from Serial
- 阅读: End-of-Course Survey
Graded: Module 4 Quiz
Graded: Module 4 Peer Review
Share your review
Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate $1.- to Stichting Edukans.There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.