Categories
Video

Arduino Course for Beginners – Open-Source Electronics Platform



Learn how to use Arduino hardware and software in this full course for beginners. Arduino is an easy-to-use, open-source electronics platform. Arduino boards are able to read inputs – light on a sensor, a finger on a button, or a Twitter message – and turn it into an output – activating a motor, turning on an LED, publishing something online. You can tell your board what to do by sending a set of instructions to the microcontroller on the board.

No hardware is required for to follow along with this course!

✏️ Course developed by Ashish Bansal.
📸 Ashish on Instagram: https://www.instagram.com/ashish_things/

Tinker with the circuits used in the course :
🔗 custom blink function: https://www.tinkercad.com/things/ib4c08HDTAe
🔗 digitalRead & digitalWrite : https://www.tinkercad.com/things/bvTdKaqDvQc
🔗 analogRead : https://www.tinkercad.com/things/6kEEQR3GZC1
🔗 analogWrite : https://www.tinkercad.com/things/hDwWdu92kws

⭐️Course Contents ⭐️
Section 1: Objective of the course
(0:00) Course Introduction

(01:21) Section 2: Foundation of Electronics
(01:36) Electricity
(02:10) Static Electricity
(03:37) Current Electricity
(04:12) Voltage
(06:09) Current
(08:45) Resistance
(10:05) Ohm’s Law
(11:55) Ohm’s Law Example
(13:46) Resistances in Series and Parallel
(26:03) Resistance Color Coding

(28:26) Section 3: Intro to Arduino Board
(28:46) What is Microcontroller and Microprocessor
(31:16) What category Arduino falls into?
(31:33) Different Types of Arduino Boards
(32:03) About Arduino
(33:04) Parts of Arduino Uno
(35:52) Technical Specifications of Arduino Uno

Section 4: Intro to Arduino IDE
(38:58) What is IDE?
(40:14) Downloading and Installing the official IDE
(41:51) Preparing your computer
(43:08) Testing the Arduino.
(44:22) What if you don’t have an Arduino board?

(46:34) Section 5: Before we move ahead
(47:04) What is breadboard?
(49:16) How to make connections in breadboard?
(1:00:10) Some safety instructions and Do’s and Don’ts
(1:01:53) Input & Output
(1:08:47) Analog & Digital
(1:14:04) Bit & Byte

(1:16:26) Section 6: Arduino Programming
(1:16:46) Introduction
(1:17:41) The First Step into Programming
(1:19:37) Bare minimum structure of an Arduino Program
(1:20:21) Comments
(1:21:37) White Spaces and Case Sensitivity
(1:24:06) pinMode
(1:26:44) digitalWrite and delay
(1:29:51) Camel casing

Section 6.1 Introduction to Variables and Data Types
(1:30:51) What are variables and data types
(1:31:31) Int data type
(1:35:11) Arithmetic operators
(1:41:51) Incrementing and Decrementing our variables
(1:44:14) Float data type
(1:46:48) Bool/Boolean data type
(1:49:24) Byte data type
(1:50:27) Char data type
(1:52:46) Conclusion

Section 6.2 Variable Scope and Qualifiers
(1:53:19) What is Scope? Global and Local Variables
(1:57:59) What are Qualifiers, starting with const qualifier
(1:59:51) Alternative to const qualifier: #define
(2:01:55) Static Qualifier

Section 6.2 Comparison and Logical Operators
(2:04:25) What are comparison operators?
(2:08:58) What are Logical Operators?

(2:13:16) Section 6.3 Control Structures
(2:14:21) if statement
(2:20:47) else statement
(2:24:24) A joke 😛
(2:25:10) if – else Simulation
(2:29:27) Introduction to loop control structures
(2:30:52) For loop
(2:41:02) While loop
(2:45:49) do…while loop
(2:50:16) break
(2:52:24) continue
(2:55:05) return
(2:56:41) switch..case

Section 6.4 Remaining data types
(3:01:30) Arrays
(3:09:34) Strings

Section 6.5 Functions
(3:15:14) What are functions?
(3:19:03) Create your own functions

Section 6.6 Arduino Built-in Functions and related concepts
(3:35:20) digitalRead & digitalWrite
(3:41:49) analogRead and Analog to Digital Converter (ADC)
(3:47:50) analogWrite and Pulse Width Modulation (PWM)

Section 6.7 Libraries
(3:56:25) What are Libraries?
(3:59:22) How to add Libraries in Arduino IDE
(4:02:30) What next?

🎉 Thanks to our Champion and Sponsor supporters:
👾 Wong Voon jinq
👾 hexploitation
👾 Katia Moran
👾 BlckPhantom
👾 Nick Raker
👾 Otis Morgan
👾 DeezMaster
👾 Treehouse

Learn to code for free and get a developer job: https://www.freecodecamp.org

Read hundreds of articles on programming: https://freecodecamp.org/news

And subscribe for new videos on technology every day: https://youtube.com/subscription_center?add_user=freecodecamp

source

46 replies on “Arduino Course for Beginners – Open-Source Electronics Platform”

I hope that this course helps people who are just starting their journey with Arduino or have some brilliant project ideas in their mind but are clueless about how to program an Arduino. This course will begin with the basic electronics concepts and then gradually teach about Arduino Programming. Arduino's programming language is derived from C++, so this course will also cover essential C++ concepts.

During my time working with Arduino, I have seen many people building great projects and product prototypes using this piece of hardware. Artists, designers, and even chefs who had absolutely no idea about electronics, sensors, and programming coupled their creativity with electronics and came up with fantastic work.

So this course is also an attempt to encourage people, regardless of their background, to start building stuff that they have in their mind without thinking that they don't know enough to begin.

Certainly, this course is not the end to the world of Arduino. For making some projects, one may need to know advanced concepts such as EEPROM, interrupts, communication buses like SPI, I2C, etc. But before moving to that, one needs to familiarize themselves with the basics.

I look forward to seeing the projects people come up with after finishing this course.

I have a problem I can not solve:

1. I downloaded the driver and windows is able to recognise my arduino

2. I have an arduino clone

3. The bootloader is working because when I press the reset button the L led blinks 3 times

4. I choose the correct board in the arduino ide which is arduino uno

5. I choose the correct com port

6. I have done the loop back test and it has failed for some reason.

And after all of this it still can not upload to my arduino for some reason I always get this error code:

Arduino: 1.8.19 (Windows 10), Board: "Arduino Uno"

Sketch uses 924 bytes (2%) of program storage space. Maximum is 32256 bytes.

Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x44

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x44

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x44

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x44

avrdude: stk500_recv(): programmer is not responding

Problem uploading to board. See https://support.arduino.cc/hc/en-us/sections/360003198300 for suggestions.

avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x44

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x44

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x44

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x44

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x44

avrdude: stk500_recv(): programmer is not responding

avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x44

This report would have more information with

"Show verbose output during compilation"

option enabled in File -> Preferences.

Loops. At 2:40:20, why is "int j = 0" re-initializing back to 0 when there is "j++". Shouldn't the value be incremented like the parent integer "i"?

edit: I think I get it. It's because the nested loop ends but the parent is still active. So when it goes back to parent loop it re-initializes "j" ONLY. So "i" is the only loop that maintains its increment until "i <= 5", every time loop with "j" ends it has to re-initialize value to "0".

Leave a Reply

Your email address will not be published. Required fields are marked *