Elegoo Starter Kit
For this project, we will be using the Elegoo Super Starter Kit.
In the first phase of the project, we will be working through the Elegoo Lessons to learn about Arduinos and how to make them perform functions.
This page will guide the reader through each of the Lessons. The enclosed content is meant to augment the Elegoo Lessons, not replace them.
Useful links:
Lessons
The Elegoo Starter Kit includes a CD which contains the Arduino Lessons instructions along with libraries and code software. Like me, you may choose to load these files onto your computer so that you do not have to rely on the CD. Now don’t fret if your computer does not have a CD drive as these files can be down loaded from the Elegoo web site.
Elegoo Starter Kit Down Load:https://www.elegoo.com/blogs/arduino-projects/elegoo-uno-project-super-starter-kit-tutorial
Down load the Elegoo Tutorial zipped file (as noted above) and unzip the file.
Load this onto the computer you plan to use for this project.
A laptop would be ideal as that will allow you to move between physical locations while working on the project, i.e. your home, SLD KitBusters workshop, etc. But a desk top computer will work equally as well though you will be limited in it’s mobility.
In the end, you should see two folders and a Lessons (tutorial) pdf file loaded on your computer.
- A folder labeled code which contains example programs for many of the chapters in the tutorial. To use these examples, just click on the file named for the chapter (e.g. Lesson 4 RGB LED) and your Arduino application will launch with the sample program already in it, ready to upload.
- A folder labeled Libraries, that contains additional libraries your Arduino software may need for certain applications. Chapter 1 of the tutorial explains how to use these libraries.
- A tutorial (Lessons pdf file). We will follow this document as we proceed through the lessons.
Lessons Instructions: Elegoo Super Starter Kit for UNO V1.0.2019.09.17 Lessons (pdf file).
Lesson 0 – Installing the IDE
The Arduino Integrated Development Environment (IDE) is the software side of the Arduino platform.
In this lesson, you will learn how to setup your computer to use Arduino and how to set about the lessons that follow.
You will need to go to the Elegooo web site to download the Arduino IDE compatible with your computer system. Proceed to the Arduino Down Load page: https://www.elegoo.com/pages/arduino-kits-support-files
Under the Arduino IDE link, select the the download corresponding to the operating system that you have on your computer.
I followed the “default / generic” install process and did not encounter any installation issues on my Windows 10 Dell laptop. A new Elegoo IDE Icon will appear on your desktop once the process has completed.
You have now completed Lesson 0.
Lesson 1 – Add Libraries and Open Serial Monitor (pg 22)
Libraries
Read through this section to obtain a general understanding of libraries and how to install new ones. You are not required to load any new libraries at this time but we will do some later on in the Lesson plan.
Serial Monitor
The Serial Monitor is the tool we’ll use to communicate between your personal computer and the Arduino board. So we need to set this up now. Follow the instructions which start on page 27.
For me I found I needed to connect the Arduino board to my computer before proceeding. This is straight forward, take the UNO board out of it’s pouch and connect one end of the blue cable to the USB (silver connector) on the UNO board and the other end into the USB port on your computer. A LED or two on the UNO board will flash and stay on.
Now follow the instructions. My set up identified COM5 (Arduino Uno) as the port I will be using to connect to the UNO. Set the port to 9600 baud.
This completes Lesson 1.
Lesson 2 – Blink
In this lesson, you will learn how to program your UNO R3 controller board to blink the Arduino’s built-in LED, and how to download programs by basic steps.
This exercise will also introduce you on the procedure for downloading a sketch to the processor board. You will also have the opportunity to review the code written in the example sketch. Take your time and review each line of code to get an idea of what is being performed.
Lesson 2 Code Walk Through: The Blink Sketch explained. (pdf file).
Lesson 3 – LED (pg 39)
In this lesson, you will learn how to change the brightness of an LED by using different values of resistor.
Lesson 4 – RGB LED (pg 46)
Note the sketch is comprised of three loops which are executed one after another. Each loop increases one colour while decreasing another, the third colour is left “off”.
Lesson 4 Code Walk Through: The RGB Sketch explained. (pdf file).
Lesson 5 – Digital Inputs (pg 55)
In this lesson, you will learn to use push buttons with digital inputs to turn an LED on and off.
Lesson 6 – Active buzzer (pg 60)
In this lesson, you will learn how to generate a sound with an active buzzer.
Lesson 7 – Passive Buzzer (pg 64)
The purpose of the experiment is to generate eight different sounds
Add Pitches Library – found in the Lessons 7 folder.
Load the zip file as described on Pg 21 library installation.
Lesson 8 – Tilt Ball Switch (pg 68)
In this lesson, you will learn how to use a tilt ball switch in order to detect small angle of inclination.
Lesson 9 Servo (pg 72)
In this lesson we learn how to control the rotation of a servo motor between 0 and 180 degrees.
With the additional tutorial we provided you can adjust the min/max positions plus use a potentiometer to provide real time full rotation.
Lesson 10 Ultrasonic Sensor Module (pg 76)
In this lesson we learn how to utilize an ultra sonic device to determine distance. The measured distance is displayed on the serial monitor screen.
Note you will need to install the HC-SR04 Library, do this via the IDE/Sketch/Include Library/Add .ZIP Library, select the HC-SR04 zip file from the Lesson 10 code folder.
Lesson 11 DHT11 Temperature and Humidity Sensor (pg 81)
In this tutorial we will learn how to use a DHT11 Temperature and Humidity Sensor..
Again we will be using a Library specifically designed for these sensors that will make our code short and easy to write.
Try blowing gently on the sensor to see the temperature and humidity readings change.
Lesson 12 Analog Joystick Module (pg 87)
In this tutorial we will learn how to use the analog joystick module.
This exercise is pretty straight forward though I can’t think off hand where we’d require a joy stick for a model railroad solution!
Lesson 13 IR Receiver Module (pg 92)
Infrared remotes are simple and easy to use. In this tutorial we will be connecting the IR receiver to the UNO, and then use a Library that was designed for this particular sensor.
Lesson 14 LCD Display (pg 98)
In this lesson, you will learn how to wire up and use an alphanumeric LCD display. The display has an LED backlight and can display two rows with up to 16 characters on each row.
Experiment with the sketch, try changing the displayed message, interchange the message rows, etc. Be sure to save your modified sketch under a new name otherwise it will overwrite the original Elegoo sketch.
Lesson 15 Thermometer (pg 103)
In this lesson, you will use an LCD display to show the temperature.
Lesson 16 Eight LED with 74HC595 (pg 108)
IC Chip 74HC595
It’s hard to make out the part number on the chip as the ink is weak, use a bright light and magnifine glass if necessary
Also, be sure to identify the pins correctly. Pin 1 is on the left hand side (it may be marked with a dimple) of the chip end with the “U” shaped indentation.
I encountered another issue, which isn’t related to this lesson but was exaporated by all the components and wires. Sometimes I encountered a poor connection in the breadboard with the inserted component wires. You can try a few things to resolve this such as cleaning the tape gum off the resistor leads or moving to a new row of connector holes. The breadboard is not a high quality item unfortunately.
Lesson 17 The Serial Monitor (pg 115)
In this lesson, you will build on Lesson 16, adding the facility to control the LEDs from your computer using the Arduino Serial Monitor. The serial monitor is the ‘tether’ between the computer and your UNO. It lets you send and receive text messages, handy for debugging and also controlling the UNO from a keyboard!
Lesson 18 Photocell (pg 121)
In this lesson, you will learn how to measure light intensity using an Analog Input. You will build on lesson 16 and use the level of light to control the number of LEDs to be lit.
WARNING: Be sure to close down the serial monitor screen before you compile/upload this sketch otherwise you will receive a compile error!
Lesson 19 74HC595 and Segment Display (pg 126)
In this lesson you write numbers to a 7 segment display.
Note the 74HC595 Pin 8 to ground wire is missing in the layout diagram but is correctly documented in the schematic & text.
There’s lots of wires to hook up so follow the text in the lesson to make sure all the wires are installed correctly.
I did encounter an issue, the LED Segment C did not light for the numbers 5 & 6 and stayed on for the number 2. Segment C did light correctly for all the other numbers. I fiddled with the 1/0 characters in the code which define which LED segments to light and that seems to be correct.
And also validated my wiring. I can only conclude my 74HC595 is defective when these numbers are to be displayed.
Lesson 20 Four Digital Seven Segment Display (pg 132)
In this lesson, you will learn how to use a 4-digit 7-segment display.
Same as in Lesson 19, make sure your wiring is correct before adding power.
The display counts up from 0 to 9, then goes from A to F then repeats the cycle.
Once again I had a LED segment that was not displaying correctly so I suspect my 74HC595 chip was acting up.
The code used hex values to drive the display I found a conversion table at: Hex BCD to 7 Segment Display which enabled me to determine what characters were being displayed.
Lesson 21 DC Motors (pg 136)
In this lesson, you will learn how to control a small DC motor using an UNO R3 and motor control IC L293.
We are able to control the motor’s rotational direction and speeds.
Lesson 22 Relay (pg 147)
In this lesson, you will learn how to use a relay.
Remember to close the console screen from Lesson 21 before loading the sketch otherwise you will get a compile error.
Lesson 23 Stepper Motor (pg 152)
In this lesson, you will learn a fun and easy way to drive a stepper motor.
Remember to close the console screen from Lesson 22 before loading the sketch otherwise you will get a compile error.
The circuit ran fine for the first minute then the motor stopped rotating! It hummed but wouldn’t rotate. After another minute, the 4 LEDs on the controller board went dim, ah looks like the battery was low. I checked it and it was definitely dead. I found a 7.5v dc wall wart in my collection, plugged it in and things went back to normal!
Lesson 24 Controlling Stepper Motor With Remote (pg 160)
In this lesson, you will learn a fun and easy way to control a stepper motor from a distance using an IR remote control.
Note, as the sketch is written, it is not monitoring the IR signal while the stepper motor is in operation thus you can not stop/change the motor’s rotation while it is moving.