Beginning Arduino: Make your own environment monitor system

A perfect start for the new maker: learn by creating a gadget that posts your environment data to a Web logging service.
4.1 (113 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
5,753 students enrolled
$19
$40
52% off
Take This Course
  • Lectures 31
  • Length 5 hours
  • Skill Level Beginner Level
  • Languages English, captions
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 11/2014 English Closed captions available

Course Description

This course is designed for beginner makers. 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!

The only prerequisite is a basic understanding of concepts like voltage, current and resistance, and ability to download and install software on your computer. A very basic understanding of programming is a bonus, but not absolutely necessary.

Along the way, you will learn about programming, sensors, and communications.

The course is split in three parts:

Part 1 is an introduction, which will gently help you create your first circuit and open your appetite for more.

Part 2 contains a primer on making with the Arduino, focusing on the Integrated Development Environment and the sketching language.

Part 3 is about making JING. JING (not an acronym!) is the environment monitoring system that you will put together piece by piece, and line by line.

If learning by making sounds like the way to go, then this course is for you!

Materials:

To fully take advantage of this course, you will need (all of these are easily sourced from Ebay):

1) An Arduino (I suggest a genuine Arduino Uno)

2) A photoresistor

3) A DHT22 temperature and humidity sensor

4) A BMP085 barometric sensor breakout

5) A 16x2 LCD screen based on the Hitachi HD44780 driver (or compatible, these are very common)

6) A potentiometer

7) Assorted resistors

8) A small breadboard

9) Lot's of breadboard wires.

What are the requirements?

  • The basics of electricity, like voltage, current, resistance.

What am I going to get from this course?

  • Make simple circuits based on the Arduino board
  • Acquire data from sensors and display them on an LCD screen
  • Upload sensor data to a free cloud logging service and visualise it in a dashboard
  • Understand the basics of programming for microcontrollers

What is the target audience?

  • Makers who have an existing intermediate or better understanding of electronics
  • Beginner Arduino makers

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Introduction
12:41

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.

Please read this before continuing!
Article
Components needed for this project
Preview
IFrame
02:52

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!

08:22

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.

08:28

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.

09:15

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.

Section 2: Arduino development basics
13:01

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.

13:28

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:

  • A syntax,
  • A few operators,
  • Several control structures
  • Functions

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.

09:28

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:

  • A syntax,
  • A few operators,
  • Several control structures
  • Functions

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.

08:43

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:

  • A syntax,
  • A few operators,
  • Several control structures
  • Functions

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.

13:50

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.

10:58

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.

13:58

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.

Section 3: Constructing JING
05:29

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.

12:08

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.

16:38

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.

16:49

In this lecture I will show you how to measure barometric pressure with the the BMP085 sensor.

12:28

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).

09:29

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).

15:56

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.

12:40

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.

13:02

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.

15:19

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.

08:00

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.

06:01

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.

05:40

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.

06:43

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.

Section 4: Video Responses
How to configure a widget (and why is a widget blank?)
01:41
Section 5: Conclusion
07:52

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.

Other educational content from Peter, including coupon offers
Article

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Peter Dalmaris is an electronics hobbyist and Maker, creator of eight online video courses on DIY electronics and author of three technical books. 

As a Chief Tech Explorer since 2013 at Tech Explorations, the company he founded in Sydney, Australia, Peter’s mission is to explore technology and help educate the world. 

A life-long learner, Peter’s core skill is in explaining difficult concepts through video and text. With over 15 years in tertiary teaching experience, Peter has developed a simple yet comprehensive style in teaching that students from all around the world appreciate. 

His passion for technology and in particular for the world of DIY open source hardware has been a powerful driver that has guided his own personal development and his work through Tech Explorations.

Peter’s current online courses have helped over 30,000 people from around the world to be better Makers. His video courses include:

* Arduino Step by Step: Your Complete Guide

* Advanced Arduino Boards and Tools

* Raspberry Pi: Full Stack

* Raspberry Pi: Make a Workbench Automation Computer

* Kicad Like a Pro

* The Electronics Workbench: A Setup Guide

* Arduino Fun: Make a High Tech Remote Controlled Car

* Beginning Arduino: Make a environment monitor system

Peter’s books are:

* Kicad Like a Pro: Learn the World’s Favourite Open Source PCB Electronic Design Automation tool

* Raspberry Pi: Full Stack: A whirlwind tour of full-stack web application development on the Raspberry Pi

* Arduino: a comprehensive starting up guide for complete beginners


Ready to start learning?
Take This Course