Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Digital Electronics: Robotics, learn by building module II
Rating: 4.8 out of 5(939 ratings)
17,588 students

Digital Electronics: Robotics, learn by building module II

Over 14,000 enrolled! Open doors to careers and hobbies and have fun while learning digital electronics!
Created byIan Juby
Last updated 1/2020
English

What you'll learn

  • Design and construct digital electronic circuits, use microcontrollers to control real world items like robots you build!
  • You will be able to program microcontrollers like the PIC and Arduino.

Course content

1 section70 lectures13h 5m total length
  • Introduction and Whatcha gonna need: The kit of parts9:35

    An introduction to the digital electronics kit and what you'll need parts wise for this course.

  • Parts list0:35
  • What is digital? Why digital? Free preview!8:28

    So just what is "digital?" What does that even mean? In this lecture Ian gives a down-to-earth explanation of what digital is and why it's so powerful.

  • Binary and ASCII11:45

    How on earth do you communicate large volumes of information using only a 1 or a 0? Ian explains the binary system and how to use it to even communicate letters.

  • Hexawhat?6:48

    Binary is a base-2 system, Hexadecimal is a base-16 system which is also used extensively in digital electronics. Ian explains what hex is and how to interpret it.

  • Logic gates12:00

    Digital logic gates simple to understand and are the heart hiding in the background of most digital circuits.  Here you learn what they are and how they work.

  • Registers and memory14:12

    Not only do you learn what a register is and how to use it, but you build one!  Registers are critical components in digital systems, built up from logic gates to store a 1 or a 0.

  • Demultiplexing/Addressing6:59

    Using logic gates, we can give an "address" to a specific digital element and control it using demultiplexing.  In this lecture you will learn what demultiplexing is and even solve some demultiplexing problems.

  • What is a microprocessor? Part I - Free preview!12:15

    In this lesson, we learn what a microprocessor is by exploring its internal workings and functions.

  • Microprocessors, Part II: The stack and the ALU12:37

    In this lecture we learn what the stack is and how it works and the Arithmetic Logic Unit or ALU for short.

  • What is a microcontroller?14:34

    In this lesson, we explore what a microcontroller is and its advantages.

    Please note: In the video I show what was supposed to be the PIC16F1455 chip on the anti-static foam. Well apparently I've gotten to that age in life where I need to wear glasses more often, as I instead grabbed a 556 chip (also a 14 pin DIP socket chip) during the filming!  So no, your eyes aren't fooling you, my eyes fooled me.  :)

  • Installing IDE1:36

    A quick walk through on obtaining and installing the MPLAB software from Microchip to program your PIC microcontroller.

  • Our first PIC program20:01
  • Troubleshooting our program9:45

    In this lesson, we'll cover the most common pitfalls you'll encounter as you attempt to program your PIC.

  • Deconstructing our first program17:13

    In this lesson we will go line by line through our program to see what it did and how.

  • PIC program #2: Binary counter10:05

    In this lesson we learn two new instructions while we build a binary counter.

  • PIC program #3: Pushbutton binary counter11:27

    Here we take our binary counter and build the circuit and program so as to manually trigger the count...with a small surprise at the end.

  • "Debouncing???"10:31

    In this lesson we explain why the previous circuit and program behave erratically, and what we do about it - a very important process called debouncing. 

  • Two quick points4:24

    I made a mistake and also wanted to cover a mistake before it was made.  :)

  • Variables6:57

    Please note: A student kindly pointed out a source of confusion I caused.  Towards the end of the lesson, I use the example of 50 instead of d'50'.  I should have had the d’50’ because it was decimal. Because I didn’t include the d or ”, the compiler defaults to hex, so it would assume that was H50, not D’50’ My bad.

    In this lesson, we explore what a variable is and why it is useful.

  • KITT car challenge!19:19

    In this lesson we are introduced to a few new instructions and then given your first coding challenge!

  • Using the Hitachi LCD displays, part 114:14

    In this lecture we learn how to communicate with and control the Hitachi LCD displays.

  • Using the Hitachi LCD displays, part 29:43
  • Interfacing the PIC with the LCD display, project 1, part 119:17

    In this lesson, we interface our PIC microcontroller to the LCD display.

  • Interfacing the PIC with LCD display, project 1, part 24:19

    In this lesson, we finalize the code involved in interfacing the PIC and LCD display.

  • Tables on the PIC and interfacing to the LCD, project 2, part 17:46
  • Tables on the PIC and interfacing to the LCD, project 2, part 215:36
  • Analog and digital converting10:10

    In this lesson, we are introduced to the concept of analog and digital conversion.

  • How to convert Analog to Digital9:58

    In this lesson, we cover the various techniques of converting an analog signal into digital numbers, how the processes work and the time involved.

  • Direct feedback and calibration9:18

    In this lesson, you will learn of the importance and methods of obtaining direct feedback from the microcontroller, and the why's and how's of calibration.

  • A/D converter to LCD display, part I19:08

    This lesson walks us through what's involved in setting up and reading the A/D converter, and then displaying it on our LCD display.

  • A/D converter to LCD display, part 217:00
  • Configuration settings on the PIC microcontrollers4:37

    In this lesson we discover the dead-easy way to set the "fuses" on board the PIC microcontrollers

  • What is Arduino?16:48

    You will get a quick grasp on what Arduino is and why it's all the rage.

  • Installing Arduino IDE3:01

    You can download and install the IDE needed to program the Arduino.  Here's how.

  • "Hello world" on the Arduino6:40

    Please note: the IDE installs a more recent version of the "Blink" file.  The old version which I used in the lesson is available in the downloads section as a zipped file. Download it, unzip it somewhere on your computer, and then from the Arduino IDE go FILE > OPEN and select the unzipped old_blink.ino file.  It will ask you if you want to put it in a folder and open it, just select yes.


    Just like we did previously with the PIC microcontroller, we'll kick off Arduino by flashing an LED in a typical "Hello world" first program.

  • Arduino programming basics12:58

    After you see some basic programming rules, you're given your first programming challenge: Program a traffic light!

  • Timing on the Arduino11:21

    After a brief look at one of the possible ways to accomplish our traffic light challenge, we venture in to how timing is accomplished on the Arduino.

  • Inputs on Arduino9:43

    In this lesson you will invoke a digital input to control a digital output. Easy peasy!

  • If, Else statements6:13

    In this lesson you'll learn to perform digital tests with the If, Else function.

  • Variables on the Arduino15:33

    In this lesson, you'll explore variables and how they're used in the Arduino programming language.

  • PWM on the Arduino8:50

    In this lesson, we'll get introduced to the basics of Pulse Width Modulation on the Arduino by controlling the brightness of an LED.

  • The L298 H-bridge and Arduino13:09

    In this lesson we see how to use the dead-simple, yet very powerful L298 H-bridge board combined with our Arduino to control a DC motor.

    July 2018, Please note an error in the original sample code was pointed out to me. The video shows the correct code, but mysteriously the sample code (which I used in the video!) got altered between filming and uploading all the files. The correct code is now provided.

  • Using PWM and an H-bridge8:03

    In this lesson, we'll use a combination of PWM with our H-bridge to control both the speed and direction of a DC motor.

  • driving servos with the Arduino10:00

    After discussing the unique challenges and characteristics of PWM on the Arduino and why it won't work for driving hobby servos, we then look at a new instruction and a way to control the servos.

  • Serial Communication14:25

    Here you learn the basics of serial communication and how to use it in powerful ways.

  • Using the serial monitor13:21

    In this lesson, we make use of the serial monitor - a very useful tool in the Arduino IDE.

  • Analog to digital conversion on the Arduino6:11

    Now we'll walk through the super simple to use and very powerful analog to digital conversion on the Arduino.

  • Internal Pull-up resistors4:17
  • Loops in Arduino17:18
  • Keypad and keyboards18:56

    In this lesson we learn how to use the membrane keypad from our kits, a common style of keypad for Arduino. Learning how to read matrix keypads also helps us to understand standard computer keyboards as well.

  • Base numbering in Arduino4:42

    We briefly go over how to represent the different base numbering systems in the Arduino IDE.

  • Shift registers3:24

    In this lecture, we ask "What on earth is a shift register?"  Oh, we also answer that question.

  • Using the TM1638 contoller and LED & KEY board, part 115:54

    In this lecture, we learn how to write to the venerable TM1638 controller and its "LED & KEY" circuit board. Super cheap, very useful, dead easy to use controller that is so versatile. Horrible documentation, so we try and rectify that little problem with easy to follow steps.

  • Using the TM1638 contoller and LED & KEY board, part 28:19

    Part 2, we explore some more details about using boards with the TM1638 controller and look at two more example codes.

  • Reading buttons on the TM1638 controller14:12

    In this lesson, we look at the last function of the TM1638 controller: the button matrix.

  • Using our reflective Infrared sensor with Arduino9:39

    In this lesson, we'll learn how our reflective infrared emitter/receiver pair works and how to make use of it with our Arduino in preparation for our mobile robot.

  • Assembling our mobile robot18:29

    In this lesson, we go over the actual assembly of our mobile robot platform.

  • Adding electronics to our mobile robot10:50

    In this lesson, we'll add our computer control and electronics to our mobile robot/smart car platform.

  • Programming and calibrating movements on our mobile robot - Free preview!19:45

    In this lesson, we calibrate and program our mobile robot and teach it some dance moves.

  • Obstacle avoidance with infrared sensor9:36

    In this lesson we mount and use our infrared proximity sensor for basic obstacle avoidance and navigation. We also mount some googly eyes.

  • Subroutines, aka functions in Arduino18:25

    In this lesson we explore functions in the Arduino programming language.

  • Libraries in Arduino9:07

    In this lesson, we briefly explain what libraries are and install a couple in preparation for our next few lessons.

  • Using our ultrasonic shield16:23

    In this lesson, we'll put our ultrasonic sensor to work, measuring distances in non-destructive, no-contact ways.

  • Arrays & String variables15:22

    Before we move on to using our Hitachi & full colour LCD touch screens, we need to learn what "arrays" are and what "string variables" are. Here we go.

  • Multidimensional arrays6:04

    Here we'll dive into multidimensional arrays cause, you know, single arrays just weren't complicated enough.

  • Using a library to drive our Hitachi display5:24

    In this lesson, we'll actually put into practice using Arduino libraries to manage our Hitachi display.

  • Identifying and wiring our TFT displays19:37

    In this lesson, we attempt to cut down the confusion regarding these beautiful full-colour, TFT LCD displays. We then wire them for use in preparation for the next lesson.

  • Starting up our TFT display17:45

    In this lesson we go through the startup and initialization sequence for our TFT display.

  • Bonus lesson: Line following robot3:48

    This bonus lesson is in response to a student's excellent question about a line following robot challenge. Here's how to do it.

Requirements

  • You will need knowledge of analog electronics and the parts listed in the first lesson.
  • No prior experience or knowledge in digital electronics is needed - just some basic math and computer skills!

Description

Updated January 2023

Building on the knowledge you gained in the Analog Electronics module opens even more doors to diverse careers and hobbies. Think about how many industries / businesses / hobbies that involve computers or computer control. Even automobiles are chock full of digital electronics now. All of this involves digital electronics, and you want in on it today. In this module 2 course, you will build digital electronic circuits, use and program microcontrollers like the PIC and Arduino, and connect to the real world with them. You'll need a good understanding of basic electronics (i.e., you've completed the Robotics: Learn by building, module I), some basic math skills, a computer, and that's it!


With over 14,000 students enrolled and more than 500 five star ratings, students aged 8 to 60+ have enjoyed the course and its projects.

No prior knowledge of digital electronics or programming is required, and yet by the end of this course you'll have built functioning digital electronic circuits like a digital memory, and programmed microcontrollers which are basically a computer on a microchip. You will connect these to the real world for home automation and of course, controlling your robots. All courses have captions for the hearing impaired.

Course materials:

You will need the analog electronic parts and a breadboard, which you can purchase as an accompanying kit (i.e., the Analog Electronics Kit from module I) or provide your own.

You will also need the digital electronics kit which again you can purchase as an accompanying kit or provide your own parts. The first lesson is a walk-through of what is in the kit and acts as a parts list for this module.


This series of "Robotics: Learn by building" modules has an end-goal focus on the diverse field of robotics. In module I we learned the basics of electricity and electronics. In this module II you further develop your knowledge and skills to include digital electronics and practice your skills on real-life digital components. 

This course is the prerequisite for the module III course where you'll learn robotic drive systems and physics, and gain a wide variety of skills in prototyping so you can actually build your own robots and manufacture your own parts. In module IV, you'll culminate all you've learned so far as you build a 3D printer from scratch, hook it up to a desktop computer and make your own plastic parts. The 3D printer is, in effect, a robot which you can then use to make parts for your other robot designs. In module V you can take your robot design and construction skills to the next level with a hands-on approach to autonomous robotic systems: learning about various sensors to know where you are and what your robot is doing, GPS navigation, basic artificial intelligence, powerful microchips known as FPGA's where you literally design a custom circuit on the chip, vision systems and more.


Lesson overview:

In this course we'll be covering:

What is digital?

Binary & Hexadecimal system and ASCII
Analog to digital and digital to analog conversion
Logic gates and you'll make your own RAM
Digital Addressing/demultiplexing

Microprocessors & microcontrollers - what are they?

Programming & using PIC microcontrollers to:

-display information on an LCD display

-Read both digital and analog inputs

-PWM control a DC motor and servo motor

-Read keypad matrixes

-control LED displays

-writing to flash memory on board for remote systems


What is Arduino?
-using Arduino for all of the PIC projects above, as well as using full-colour TFT touch screens

Building our mobile robot

Giving our mobile robot a "brain"
Ultrasonics and ultrasonic radar / external sensing
Programmable IR remote

and more!



Who this course is for:

  • You have a desire to learn computer control and electronics, especially geared towards building and controlling robots.
  • You want to understand the heartbeat of computers and digital systems, and want to build your own digital electronic devices.