I will help you get started with the basics of creating circuits with the Arduino prototyping board, and by the end of this course you will have an Internet-connected home environment monitoring gadget, build with your own hands.
A very basic understanding of programming is a bonus, but not absolutely necessary.
JING (not an acronym. ) is the environment monitoring system that you will put together piece by piece, and line by line.
Materials:
In this introductory lecture, I'll talk a little bit about the Arduino, what it is, how it came to be, and why it is important.
I am also going to show you the gadget that you will build as you go through the course. This gadget, which I call JING (not an acronym!) will take readings for temperature, humidity, barometric pressure and light intensity from the room in which you happen to put it, and record the data on a free web service on the Internet, from where you will be able to look at them as graphs.
What parts will you need to complete this course? Here's a shopping list:
1) An Arduino, I suggest the Arduino Uno
2) An Arduino Ethernet Shield
3) A few photoresistors
4) A DHT22 sensor
5) A BMP085 sensor
6) An LCD screen, based on the common Hitachi HD44780 or compatible controller, 16 columns by 2 rows.
7) Assorted resistors
8) A potentiometer (pot)
9) A push button
10) A couple of breadboards (so you can have one for Jing and one for running experiments with)
11) Lot's of wires.
You can purchase this from my affiliate shop at http://txplore.com/components-bundle-for-beginning-arduino (fultiffled by Amazon), Ebay, element14, Sparkfun, Adafruit, among many other places.
All sketches used in this course are available for download from my Github account.
In this video, I show you where to find all the source code used in this course so that you don't have to do any typing at all.
Please watch this video before continuing with the rest of the course!
In this lecture I will show you how to put together your first circuit, write the sketch for it, and then upload the sketch to your Arduino to make it all come to life. This circuit will make an LED light to blink on and off.
In the process of getting this circuit to work, you will learn some basic Arduino programming commands and structures, what is a digital output, and, of course, what is an LED!
In this Part 1, I discuss diodes and LEDs, and construct the circuit.
In this lecture I will show you how to put together your first circuit, write the sketch for it, and then upload the sketch to your Arduino to make it all come to life. This circuit will make an LED light to blink on and off.
In the process of getting this circuit to work, you will learn some basic Arduino programming commands and structures, what is a digital output, and, of course, what is an LED!
In this Part 2, I discuss the sketch.
In the previous lecture, we created a simple circuit in which an LED blinks on and off. The Arduino sketch that drove the circuit simply wrote a HIGH or LOW value to the digital output pin 9, and the LED was turn on or off accordingly.
In this lecture I will show you how to make the LED not blink but fade on and off. We will be keeping the exact same circuit, and we'll only make a small change in the sketch to make this happen.
In this lecture, I’d like to talk about how the sketch that you write is translated to code that the micro-controller can understand, instructions and functions.
Then, I take you on a tour of some very useful functions that are built into the IDE.
There are a few components of the Arduino language that you will find yourself using very frequently, so it is worth the effort to have a good look at them and learn what they are and what they do. This will save us a lot of time later. Much of what we’ll learn in this lecture will be hands-on, so keep your Arduino board handy, with the circuit you build in the second lecture (the blinking LED).
The Arduino language can be broken down to a few basic components:
Assuming that you are fairly new to programming languages, I would now like to introduce you to these components through examples. If you are already familiar with these concepts, feel free to skip this lecture.
In this Part 1 (of 3), I discuss Operators.
There are a few components of the Arduino language that you will find yourself using very frequently, so it is worth the effort to have a good look at them and learn what they are and what they do. This will save us a lot of time later. Much of what we’ll learn in this lecture will be hands-on, so keep your Arduino board handy, with the circuit you build in the second lecture (the blinking LED).
The Arduino language can be broken down to a few basic components:
Assuming that you are fairly new to programming languages, I would now like to introduce you to these components through examples. If you are already familiar with these concepts, feel free to skip this lecture.
In this Part 2 (of 3), I discuss Control Structures.
There are a few components of the Arduino language that you will find yourself using very frequently, so it is worth the effort to have a good look at them and learn what they are and what they do. This will save us a lot of time later. Much of what we’ll learn in this lecture will be hands-on, so keep your Arduino board handy, with the circuit you build in the second lecture (the blinking LED).
The Arduino language can be broken down to a few basic components:
Assuming that you are fairly new to programming languages, I would now like to introduce you to these components through examples. If you are already familiar with these concepts, feel free to skip this lecture.
In this Part 3 (of 3), I discuss frequently used build-in functions.
As your sketches grow in size and complexity, you’ll need to think about organising them so that they are easy to understand when you read them days or months after your write them, and so that the chances of introducing defects are reduced.
The best way to organise your sketches is by making good use of functions. You already know a lot about functions, since you have already played with sketches that contain at least two of them, setup() and loop(). In this lecture, you will write your first custom function, and use it in your sketch.
A micro-controller’s primary task is to interact with its environment. This is done with the help of a variety of input and output devices connected to compatible pins. The Arduino Uno has 20 of those pins, and in this lecture you will learn how to use them.
The easiest way to think about interaction between a computer and its environment, is by splitting all interactions into two categories: Analog and binary (or, from now on, digital).
In this lecture (Part 1 of 2), I discuss digital and analog values and how to deal with them when reading and writing.
A micro-controller’s primary task is to interact with its environment. This is done with the help of a variety of input and output devices connected to compatible pins. The Arduino Uno has 20 of those pins, and in this lecture you will learn how to use them.
The easiest way to think about interaction between a computer and its environment, is by splitting all interactions into two categories: Analog and binary (or, from now on, digital).
In this lecture (Part 2 of 2), I show you how to take a digital reading from a push button, an analog reading from a photo-resistor and explain the voltage divider circuit.
In the last lecture, you learned how to connect a photoresistor to your breadboard, and how to use the analogRead function to take a raw reading.
In this lecture we will think a little bit deeper about how to deal with raw analog sensor readings, and in particular I’ll show you how to convert a raw reading from the photoresistor into a lux reading.
In this Part 1 (of 2), I introduce the Lux as the unit of measurement of light intensity, and discuss the Axel-Benz formula that will help us calibrate a photo-resistor circuit. I also explain how to convert an arbitrary reading from the photoresists to a Lux value.
In the last lecture, you learned how to connect a photoresistor to your breadboard, and how to use the analogRead function to take a raw reading.
In this lecture we will think a little bit deeper about how to deal with raw analog sensor readings, and in particular I’ll show you how to convert a raw reading from the photoresistor into a lux reading.
In this Part 2 (of 2), I put the theory we learning in Part 1 to practice and create a circuit that measures light intensity in Lux.
In this lecture you will learn how to measure temperature and humidity. To do this, we will use a sensor from the DHT family of temperature and humidity sensors.
In this lecture I will show you how to measure barometric pressure with the the BMP085 sensor.
In this lecture I will show you how to use a character LCD screen. Once we get the screen going by showing a simple message on it (Part 1 - this), we’ll start adding the sensors to the breadboard and then create a sketch that shows their values on the screen (Part 2 - next).
In this lecture I will show you how to use a character LCD screen. Once we get the screen going by showing a simple message on it (Part 1 - previous), we’ll start adding the sensors to the breadboard and then create a sketch that shows their values on the screen (Part 2 - this).
In this lecture, I'll show you how to connect your Arduino to the Internet with an Ethernet shield.
In Part 1, you will create a simple echo server on your Arduino. In Part 2 (next), you will learn how to transmit sensor data to a Telnet client.
In this lecture, I'll show you how to connect your Arduino to the Internet with an Ethernet shield.
In Part 1 (previous), you created a simple echo server on your Arduino. In Part 2 (this), you will learn how to transmit sensor data to a Telnet client.
In this lecture I am going to show you how to create an account on Emoncms, and walk you through it’s basic features. Then, we will modify our last sketch from the previous lecture so that instead of sending the photoresistor data to the Telnet client, it will send it to Emoncms.
Once you learn how to do data logging on the cloud for the photoresistor data, we’ll expand our scope so that we log all of our sensor data to Emoncms. At that point, you will have almost completed the construction of JING. Lastly, I’ll show you how to visualise and publish all the data you have collected so that you can view them on your computer and your smartphone.
In this Part 1 of the lecture, I walk you through Emoncms.
In this lecture I am going to show you how to create an account on Emoncms, and walk you through it’s basic features. Then, we will modify our last sketch from the previous lecture so that instead of sending the photoresistor data to the Telnet client, it will send it to Emoncms.
Once you learn how to do data logging on the cloud for the photoresistor data, we’ll expand our scope so that we log all of our sensor data to Emoncms. At that point, you will have almost completed the construction of JING. Lastly, I’ll show you how to visualise and publish all the data you have collected so that you can view them on your computer and your smartphone.
In this Part 2 of the lecture, I show you how to upload sensor data from a photoresistor to your Emoncms account.
In this lecture I am going to show you how to create an account on Emoncms, and walk you through it’s basic features. Then, we will modify our last sketch from the previous lecture so that instead of sending the photoresistor data to the Telnet client, it will send it to Emoncms.
Once you learn how to do data logging on the cloud for the photoresistor data, we’ll expand our scope so that we log all of our sensor data to Emoncms. At that point, you will have almost completed the construction of JING. Lastly, I’ll show you how to visualise and publish all the data you have collected so that you can view them on your computer and your smartphone.
In this Part 3 of the lecture, I show you how to log (as in "record") the data from your sensor, and how to create a visualisation in the Emoncms dashboard.
In this lecture I am going to show you how to create an account on Emoncms, and walk you through it’s basic features. Then, we will modify our last sketch from the previous lecture so that instead of sending the photoresistor data to the Telnet client, it will send it to Emoncms.
Once you learn how to do data logging on the cloud for the photoresistor data, we’ll expand our scope so that we log all of our sensor data to Emoncms. At that point, you will have almost completed the construction of JING. Lastly, I’ll show you how to visualise and publish all the data you have collected so that you can view them on your computer and your smartphone.
In this Part 4 of the lecture, I show you how to add the remaining sensors to the breadboard, and complete the hardware side of Jing.
In this lecture I am going to show you how to create an account on Emoncms, and walk you through it’s basic features. Then, we will modify our last sketch from the previous lecture so that instead of sending the photoresistor data to the Telnet client, it will send it to Emoncms.
Once you learn how to do data logging on the cloud for the photoresistor data, we’ll expand our scope so that we log all of our sensor data to Emoncms. At that point, you will have almost completed the construction of JING. Lastly, I’ll show you how to visualise and publish all the data you have collected so that you can view them on your computer and your smartphone.
In this Part 5 of the lecture, I walk you through the final version of the Jing sketch.
In this lecture I am going to show you how to create an account on Emoncms, and walk you through it’s basic features. Then, we will modify our last sketch from the previous lecture so that instead of sending the photoresistor data to the Telnet client, it will send it to Emoncms.
Once you learn how to do data logging on the cloud for the photoresistor data, we’ll expand our scope so that we log all of our sensor data to Emoncms. At that point, you will have almost completed the construction of JING. Lastly, I’ll show you how to visualise and publish all the data you have collected so that you can view them on your computer and your smartphone.
In this Part 6 (and last) of the lecture, I show you how create visualisation of the data retrieved from the sensors, and complete the Emoncms dashboard.
Congradulations!
You have reached the end of this learning journey. You have created perhaps your first Internet of Things gadget, JING, but you are already capable of much more. In this last lecture I’d like to give you some ideas about things that you can make using the knowledge that you already have, and about things that you can go on exploring next.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.