Description
Have you wondered how information from physical devices in the real world gets communicated to Smartphone processors? Do you want to make informed design decisions about sampling frequencies and bit-width requirements for various kinds of sensors? Do you want to gain expertise to affect the real world with actuators such as stepper motors, LEDs and generate notifications?
In this course, you will learn to interface common sensors and actuators to the DragonBoard™ 410c hardware. You will then develop software to acquire sensory data, process the data and actuate stepper motors, LEDs, etc. for use in mobile-enabled products. Along the way, you’ll learn to apply both analog-to-digital and digital-to-analog conversion concepts.
Learning Goals: After completing this course, you will be able to:
1. Estimate sampling frequency and bit-width required for different sensors.
2. Program GPIOs (general purpose input/output pins) to enable communication between the DragonBoard 410c and common sensors.
3. Write data acquisition code for sensors such as passive and active infrared (IR) sensors, microphones, cameras, GPS, accelerometers, ultrasonic sensors, etc.
4. Write applications that process sensor data and take specific actions, such as stepper motors, LED matrices for digital signage and gaming, etc.
What you will learn
Welcome
Course 3 Lecture series
Before jumping into the lab section of this course, we would like to offer you a short lecture series. This lecture series will compliment everything you are about to do for the remainder of the course.
Terminology/Cheat Sheet (Beginner)
In this course, you will see a lot of new words and acronyms you might not be familiar with. If you feel comfortable with your knowledge of tech terminology, feel free to skip these lessons since they will not affect the overall integrity of the course. If you see something that you want to know a little more about, feel free to watch the video to gain insight on some basic concepts. We do expect you to know the majority of this material before going into the next module, we would recommend going through the lessons as a quick brush up.
GPIO Programming
Hello everyone and welcome to GPIO Programming! In order for the DragonBoard™ 410c to interact with the world there has to be an interface between them. For the purpose of this project the GPIO interface will serve as a way to sense and interact with the environment. In this lesson we will talk about General Purpose Input/Output pins and why they are important to this project. We will try to define them as well as provide other resources that could help further explain their purpose. In taking a look at the low speed expansion header on the DragonBoard™ 410c we will locate and explain all other GPIO interfaces. Since only the 12 GPIO will be necessary for this course, most of this lesson will focus on them. Once a greater understanding of the GPIO is achieved we will then access them via command prompt be it through a PC host or on board OS such as Ubuntu. Finally in this lesson we will show you how to make your first program/application capable of controlling a GPIO.
Amplifier Build
Time to build your very own amplifier! In order to interact with a wide variety of components, including many of the components that will be used throughout this course the voltage output from the DragonBoard™ 410c low speed expansion header will need to be amplified. In this lesson we will talk about a very basic voltage amplifier design. This design will be used to boost the signal voltage from the GPIO’s located on the DragonBoard™ 410c low speed expansion header. Once familiar with this basic amplifier, one can make adjustments to create personalized amplifiers geared toward specific future projects.
Stepper Motors
We are all basically made of motors, not really, but most robots are! When working with robotics, motors among several other things are some of the most important components you will chose for a project. In this lesson we will compare a variety of different motors widely used in DIY projects, especially DIY projects centered around robotics. We will take a deeper look at the stepper motor and what they are made of. We will then talk about the H-Bridge integrated circuit chip, why it is necessary for this projects and how it is used. Lastly, this lesson will guide you through the process of building a circuit capable of running a stepper motor. Schematics and code will be provided in order to gain a greater understanding of the stepper motor, as well as to facilitate the step by step instructions found in this lesson’s documentation.
LED Block
It was amazing when we turned our first LED on. What if we told you one was just the beginning! In this Module we will manipulate 8×8 LED matrices to execute a variety of custom schemes. We will program and build games, and digital displays that can be used for fun or business. The 8×8 LED matrix is just the beginning. Our code and ultimately our concepts can be applied to larger more intricate projects as you grow your IoT toolbox.
Infrared Sensors
Using sensors that work on the infrared spectrum we can send and receive information. With this knowledge we are ready to program/build a way to use this to our benefit. In this Module you will gain access to code that will allow you take tremendous steps forward in your pursuit to claim of piece of the IoT movement. We are also going talk about the infrared spectrum on a higher level to gain a better understanding of how we are able to use it for these projects. By the end of this Module, you will be able to take a household remote and control various aspects of your DragonBoard™ 410c, especially peripherals through GPIO manipulation.