Arduino Programming And Hardware Fundamentals With Hackster

Tags: Arduino

Learn electrical engineering basics to build circuits and program Arduino to make wearables, robots, and IoT devices

Last updated 2022-01-10 | 4.6

- Master the fundamentals of Arduino programming with C/C++
- Build functioning circuits on a breadboard
- Control sensors
- robots
- and Internet of Things (IoT) devices using Arduino

What you'll learn

Master the fundamentals of Arduino programming with C/C++
Build functioning circuits on a breadboard
Control sensors
robots
and Internet of Things (IoT) devices using Arduino
Write programs that perform basic math
light up LEDs
and control motors
Design circuits and write code for your own project

* Requirements

* Be able to use a computer (Windows and Mac covered in the course
* Arduino will also work on Linux)
* Be able to solve simple algebra problems (e.g. find x in 2x+4 = 10)
* If you wish to use the online Arduino simulator
* no additional hardware is needed
* For hands-on
* an Arduino and supporting electronics are required (covered in Lecture 5)

Description

Learn the Arduino platform and programming language to create robots, interactive art displays, electronic toys, home automation tools, and much more. This course was created in collaboration with Hackster.

Master the skills needed to bring your projects to life through electronics.

  • Learn to program in Arduino (C/C++)
  • Build electronics that sense and react to the environment
  • Remotely log data to an Internet of Things (IoT) platform
  • Use the Internet to control your Arduino from anywhere in the world

A versatile tool for prototyping, playing, and making

Arduino is both a hardware platform and programming language. By learning how to build circuits and code, you can add a new level of interactivity to your projects, prototype potential products, and gain new skills (while hopefully having fun).

The Arduino programming language is based on a combination of C and C++. With an understanding of these coding fundamentals, you will be able to more easily learn new languages, such as Java, Python, JavaScript, C#, and Swift, which are in high demand in the job market.

Course Overview

The first version of Arduino was released in 2003 and has exploded in popularity among makers, hobbyists, and tinkerers, who build everything from animatronic sculptures to interactive wearables. Professional engineers and entrepreneurs sometimes start with an Arduino to create a prototype before developing a finished product. The iconic blue board has even found its way into classrooms, where educators use it to teach programming, electronics, critical thinking, and problem solving skills.

I designed this course with the absolute beginner in mind: if you do not have any experience with programming or electronics, that’s OK! The first few sections walk you through the basics behind programming in C/C++ as part of the Arduino framework as well as how to build simple circuits that flash lights and spin motors. Following that, we continue our adventure into making noise, sensing the environment, and building a robot. Finally, we dive into the world of IoT, where we learn how to pass messages over the Internet, which allows us to do things like turn on a light with our smartphone!

Each video lecture is designed to give you one building block of knowledge. Almost every lecture is followed by a hands-on exercise where I ask you to expand on that building block or combine several previous blocks. I provide solutions to each exercise to help you learn. Additionally, most of the sections contain a project that challenges you to synthesize many of the concepts found in that section and from previous sections.

Upon completing this course, you will have the skills and knowledge needed to create fun and useful Arduino projects.

Who this course is for:

  • Makers, crafters, and students who are interested in adding electronics and interactivity to their projects
  • Entrepreneurs and engineers who are looking to prototype their next hardware product more quickly
  • Anyone curious about electronics and programming
  • Children over the age of 12

Course content

11 sections • 174 lectures

Prologue Preview 01:13

The Road Ahead Preview 04:00

What is Arduino? Preview 04:13

Using the Simulator (Tinkercad) Preview 03:43

Required Parts (for Hands-On) Preview 00:56

Installing the Arduino IDE (for Hands-On) Preview 02:06

Getting to Blink Preview 08:04

Challenge: Change Blink Preview 00:27

Solution: Change Blink Preview 00:12

Debugging with Serial Preview 06:24

Challenge: Say Your Name over Serial Preview 00:23

Solution: Say Your Name over Serial Preview 00:11

Introduction: Programming in Arduino Preview 03:03

Syntax, Program Flow, and Comments Preview 07:36

Literals, Variables, and Data Types Preview 07:53

Arithmetic Operators Preview 07:59

Challenge: Count with a Variable Preview 00:26

Solution: Count with a Variable Preview 00:03

Conditional Statements Preview 08:49

Challenge: Fizz Preview 00:14

Solution: Fizz Preview 00:10

Loops Preview 10:04

Challenge: Countdown and Wait Preview 00:13

Solution: Countdown and Wait Preview 00:08

Writing Functions Preview 09:18

Challenge: power() Preview 00:39

Solution: power() Preview 00:27

Scope Preview 09:41

Challenge: Sum Digits Preview 00:27

Solution: Sum Digits Preview 00:36

Arrays and Strings Preview 13:12

Challenge: Compute the Average Preview 00:25

Solution: Compute the Average Preview 00:21

Finding and Fixing Bugs Preview 08:11

Challenge: Fix All the Bugs! Preview 00:41

Solution: Fix All the Bugs! Preview 00:18

Using the String Object Preview 06:23

Challenge: L33t Sp34k Preview 00:36

Solution: L33t Sp34k Preview 00:07

Reading Serial Input Preview 05:40

Challenge: Combine First and Last Name Preview 00:26

Solution: Combine First and Last Name Preview 00:16

Random Numbers Preview 05:03

Challenge: Dice Roller Preview 00:22

Solution: Dice Roller Preview 00:17

Introduction: What is a Circuit? Preview 05:39

Using a Breadboard Preview 04:34

Reading a Schematic Preview 08:11

Applying Ohm's Law Preview 02:37

Challenge: Find the Right Resistor

Series vs. Parallel Resistors Preview 04:35

Challenge: Compute Equivalent Resistance Preview 00:05

Solution: Compute Equivalent Resistance Preview 00:36

How to Read the Resistor Code Preview 03:53

Challenge: Translate Some Resistors Preview 00:06

Solution: Translate Some Resistors Preview 00:07

Voltage Dividers Preview 06:29

Challenge: Make 3V from 5V Preview 00:11

Solution: Make 3V from 5V Preview 00:19

Diodes Preview 03:16

Challenge: Reverse Polarity Protection Preview 01:00

Solution: Reverse Polarity Protection Preview 00:29

LEDs Preview 04:36

Challenge: Find the Limiting Resistor Preview 00:06

Solution: Find the Limiting Resistor Preview 00:23

Debugging Circuits Preview 03:17

Introduction: What is GPIO? Preview 04:01

Controlling LEDs Preview 05:31

Challenge: FizzBlink Preview 00:18

Solution: FizzBlink Preview 00:18

Pulse Width Modulation Preview 03:54

analogWrite() Preview 05:15

Challenge: Color Mixer Preview 00:58

Solution: Color Mixer Preview 00:27

Using a Shift Register Preview 09:22

Challenge: Simple Larson Scanner Preview 00:20

Solution: Simple Larson Scanner Preview 00:30

Including a Library Preview 05:04

Using NeoPixels Preview 11:00

Challenge: Fun Patterns Preview 00:10

Solution: Fun Patterns Preview 00:40

Project: Advanced Larson Scanner Preview 01:49

Introduction: User Input Preview 02:19

Switches Preview 02:54

Challenge: LED Selector Preview 00:13

Solution: LED Selector Preview 00:02

Buttons Preview 01:49

Challenge: Manual Blink Preview 00:08

Solution: Manual Blink Preview 00:01

External Pull-Up Resistor Preview 06:32

Challenge: Toggle Button Preview 00:08

Solution: Toggle Button Preview 00:33

Internal Pull-Up Resistor Preview 03:51

Challenge: Push to Count Preview 00:11

Solution: Push to Count Preview 00:24

Software Debouncing Preview 06:53

Challenge: Multiple Buttons Preview 00:23

Solution: Multiple Buttons Preview 00:36

Reading Analog Voltage Preview 03:20

Challenge: Voltage Divider Checker Preview 00:17

Answer: Voltage Divider Checker Preview 00:27

Potentiometer Preview 03:28

Challenge: Fade Knob Preview 00:05

Solution: Fade Knob Preview 00:13

Project: Mood Lighting Controller Preview 01:06

Introduction: Displays and Sounds Preview 01:22

Character LCD Preview 06:57

Challenge: Move a Character Preview 00:21

Solution: Move a Character Preview 00:51

Buzzers and Tones Preview 03:43

Challenge: Play a Song Preview 00:22

Solution: Play a Song Preview 00:39

Project: Jukebox Preview 01:18

Introduction: Why Sensors? Preview 02:09

Light Sensor Preview 03:45

Challenge: Night Light Preview 00:23

Solution: Night Light Preview 00:17

Temperature Sensor Preview 05:05

Challenge: Thermometer Preview 00:05

Solution: Thermometer Preview 00:16

Ultrasonic Distance Sensor Preview 07:21

Challenge: Digital Theremin Preview 00:33

Solution: Digital Theremin Preview 00:25

Accelerometer Preview 07:23

Challenge: Which Way is Up? Preview 00:24

Solution: Which Way is Up? Preview 00:34

Project: Burglar Alarm Preview 00:58

Introduction: Robots! Preview 01:43

Transistors as Switches Preview 05:49

Challenge: LEDs in Parallel Preview 00:16

Solution: LEDs in Parallel Preview 00:16

DC Motor Preview 06:32

Challenge: Speed Controller Preview 00:29

Solution: Speed Controller Preview 00:11

H-Bridge Preview 05:40

Challenge: Two Motors Preview 01:12

Solution: Two Motors Preview 01:10

Servo Motor Preview 04:30

Challenge: Light Gauge Preview 00:18

Solution: Light Gauge Preview 00:11

Project: Mousebot Preview 01:39

Introduction: The Internet Preview 01:40

IMPORTANT: Tinkercad simulator does not work with this section Preview 00:32

UART Preview 07:44

Challenge: Echo Preview 00:09

Solution: Echo Preview 00:08

Connecting to WiFi Preview 14:11

Challenge: Print IP Address Preview 01:08

Solution: Print IP Address Preview 01:08

GET a Web Page Preview 17:31

Challenge: Print Parts of a Web Page Preview 01:27

Solution: Print Parts of a Web Page Preview 01:25

JSON Primer Preview 03:26

Project: Local Weather Preview 02:41

Introduction: What is IoT? Preview 03:44

Posting to ThingSpeak Preview 06:39

Challenge: Temperature Logger Preview 00:44

Solution: Temperature Logger Preview 00:57

Retrieving Data from ThingSpeak Preview 04:12

Challenge: Clear a Channel Preview 00:32

Solution: Clear a Channel Preview 00:37

Intro to IFTTT Preview 03:01

Challenge: Make Your Own Applet Preview 00:03

Solution: Make Your Own Applet Preview 00:07

Making Requests to IFTTT Preview 05:19

Passing Arguments to IFTTT Preview 02:18

Challenge: IoT Button Preview 00:17

Solution: IoT Button Preview 01:06

IFTTT to ThingSpeak Preview 02:40

Project: Internet-Controlled Light Switch Preview 01:30

Planning and Building a Project Preview 05:14

Finding Parts and Documentation Preview 02:45

Closing Remarks Preview 01:49

Final Project: Make Something! Preview 00:26