Arduino Programming and Hardware Fundamentals with Hackster

Arduino Programming and Hardware Fundamentals with Hackster

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 7 Hours | 1.49 GB

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

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.

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
Table of Contents

Introduction
1 Prologue
2 Debugging with Serial
3 Challenge Say Your Name over Serial
4 Solution Say Your Name over Serial
5 The Road Ahead
6 What is Arduino
7 Using the Simulator (Tinkercad)
8 Required Parts (for Hands-On)
9 Installing the Arduino IDE (for Hands-On)
10 Getting to Blink
11 Challenge Change Blink
12 Solution Change Blink

Programming Basics
13 Introduction Programming in Arduino
14 Loops
15 Challenge Countdown and Wait
16 Solution Countdown and Wait
17 Writing Functions
18 Challenge power()
19 Solution power()
20 Scope
21 Challenge Sum Digits
22 Solution Sum Digits
23 Arrays and Strings
24 Syntax, Program Flow, and Comments
25 Challenge Compute the Average
26 Solution Compute the Average
27 Finding and Fixing Bugs
28 Challenge Fix All the Bugs!
29 Solution Fix All the Bugs!
30 Using the String Object
31 Challenge L33t Sp34k
32 Solution L33t Sp34k
33 Reading Serial Input
34 Challenge Combine First and Last Name
35 Literals, Variables, and Data Types
36 Solution Combine First and Last Name
37 Random Numbers
38 Challenge Dice Roller
39 Solution Dice Roller
40 Arithmetic Operators
41 Challenge Count with a Variable
42 Solution Count with a Variable
43 Conditional Statements
44 Challenge Fizz
45 Solution Fizz

Electrical Engineering Basics
46 Introduction What is a Circuit
47 Challenge Translate Some Resistors
48 Solution Translate Some Resistors
49 Voltage Dividers
50 Challenge Make 3V from 5V
51 Solution Make 3V from 5V
52 Diodes
53 Challenge Reverse Polarity Protection
54 Solution Reverse Polarity Protection
55 LEDs
56 Challenge Find the Limiting Resistor
57 Using a Breadboard
58 Solution Find the Limiting Resistor
59 Debugging Circuits
60 Reading a Schematic
61 Applying Ohm’s Law
62 Challenge Find the Right Resistor
63 Series vs. Parallel Resistors
64 Challenge Compute Equivalent Resistance
65 Solution Compute Equivalent Resistance
66 How to Read the Resistor Code

Fun with LEDs
67 Introduction What is GPIO
68 Challenge Simple Larson Scanner
69 Solution Simple Larson Scanner
70 Including a Library
71 Using NeoPixels
72 Challenge Fun Patterns
73 Solution Fun Patterns
74 Project Advanced Larson Scanner
75 Controlling LEDs
76 Challenge FizzBlink
77 Solution FizzBlink
78 Pulse Width Modulation
79 analogWrite()
80 Challenge Color Mixer
81 Solution Color Mixer
82 Using a Shift Register

User Input
83 Introduction User Input
84 Solution Toggle Button
85 Internal Pull-Up Resistor
86 Challenge Push to Count
87 Solution Push to Count
88 Software Debouncing
89 Challenge Multiple Buttons
90 Solution Multiple Buttons
91 Reading Analog Voltage
92 Challenge Voltage Divider Checker
93 Answer Voltage Divider Checker
94 Switches
95 Potentiometer
96 Challenge Fade Knob
97 Solution Fade Knob
98 Project Mood Lighting Controller
99 Challenge LED Selector
100 Solution LED Selector
101 Buttons
102 Challenge Manual Blink
103 Solution Manual Blink
104 External Pull-Up Resistor
105 Challenge Toggle Button

Feedback
106 Introduction Displays and Sounds
107 Character LCD
108 Challenge Move a Character
109 Solution Move a Character
110 Buzzers and Tones
111 Challenge Play a Song
112 Solution Play a Song
113 Project Jukebox

Sensors
114 Introduction Why Sensors
115 Solution Digital Theremin
116 Accelerometer
117 Challenge Which Way is Up
118 Solution Which Way is Up
119 Project Burglar Alarm
120 Light Sensor
121 Challenge Night Light
122 Solution Night Light
123 Temperature Sensor
124 Challenge Thermometer
125 Solution Thermometer
126 Ultrasonic Distance Sensor
127 Challenge Digital Theremin

Robotics
128 Introduction Robots!
129 Solution Two Motors
130 Servo Motor
131 Challenge Light Gauge
132 Solution Light Gauge
133 Project Mousebot
134 Transistors as Switches
135 Challenge LEDs in Parallel
136 Solution LEDs in Parallel
137 DC Motor
138 Challenge Speed Controller
139 Solution Speed Controller
140 H-Bridge
141 Challenge Two Motors

The Internet
142 Introduction The Internet
143 Solution Print Parts of a Web Page
144 JSON Primer
145 Project Local Weather
146 UART
147 Challenge Echo
148 Solution Echo
149 Connecting to WiFi
150 Challenge Print IP Address
151 Solution Print IP Address
152 GET a Web Page
153 Challenge Print Parts of a Web Page

Internet of Things (IoT)
154 IMPORTANT Tinkercad simulator does not work with this section
155 Challenge Make Your Own Applet
156 Solution Make Your Own Applet
157 Making Requests to IFTTT
158 Passing Arguments to IFTTT
159 Challenge IoT Button
160 Solution IoT Button
161 IFTTT to ThingSpeak
162 Project Internet-Controlled Light Switch
163 Introduction What is IoT
164 Posting to ThingSpeak
165 Challenge Temperature Logger
166 Solution Temperature Logger
167 Retrieving Data from ThingSpeak
168 Challenge Clear a Channel
169 Solution Clear a Channel
170 Intro to IFTTT

Final
171 Planning and Building a Project
172 Finding Parts and Documentation
173 Closing Remarks
174 Final Project Make Something!