Cademy logoCademy Marketplace

Course Images

Crazy about Arduino: Your End-to-End Workshop - Level 2

Crazy about Arduino: Your End-to-End Workshop - Level 2

🔥 Limited Time Offer 🔥

Get a 10% discount on your first order when you use this promo code at checkout: MAY24BAN3X

  • 30 Day Money Back Guarantee
  • Completion Certificate
  • 24/7 Technical Support

Highlights

  • On-Demand course

  • 2 hours 33 minutes

  • All levels

Description

Learn to build a complete Arduino project using a keypad, LCD, ultrasonic sensor, LDR sensor, and a buzzer

The best way to find out whether this course is really for you is by asking yourself a few basic questions: • Do you like building things yourself? • Are you looking for ways to easily combine software and hardware components? • Did you ever wonder how electronic devices really work? • Do you have a creative idea and are just looking for ways to easily prototype it? If your answer to most of the questions above is "Yes," then you're in the right place. The Arduino is probably one of the most amazing developments and prototyping platforms today with endless possibilities for Do-It-Yourself hobbyists looking for ways to express their creativity and technical capabilities. This course is LEVEL 2 and is part of a larger comprehensive training program divided into levels that are all about the Arduino and its surrounding ecosystem. Each course covers a specific group of subjects to let you develop and grow your skills step-by-step while enjoying the long journey. Join us and learn how to use the Arduino to build and program amazing and interesting projects with a keypad, LCD, and multiple sensors. All the code and supporting files for this course are available at - https://github.com/PacktPublishing/Crazy-about-Arduino-Your-End-to-End-Workshop---Level-2

What You Will Learn

Get user input using a keypad
Display visual information using the LCD module
Measure distance using the ultrasonic sensor module
Measure light intensity
Generate alarm sound
Design circuits using the Fritzing tool
Develop more complex sketches using the Arduino IDE
Learn to use off-the-shelf libraries

Audience

This course is for technology innovators, electronics hobbyists, and beginners with a basic knowledge of electronics and the Arduino framework interested in getting started with Arduino projects.

Approach

This complete course, packed with step-by-step instructions, working examples, and helpful advice, is clearly divided into small chunks to help you understand each part individually and learn at your own pace.

Key Features

A complete and well-organized course for Arduino beginners * Building an interesting project with a keypad, switches, LCDs, and sensors * Design and program smart sketch code to run the overall project

Github Repo

https://github.com/packtpublishing/crazy-about-arduino-your-end-to-end-workshop---level-1

About the Author

Idan Gabrieli

Idan Gabrieli has worked in various engineering positions in Israel's high-tech industry. Idan has gained extensive experience with hundreds of business companies, transforming their challenges and opportunities into practical use cases and leveraging cutting-edge technologies. Idan's expertise spans multiple domains, including cloud computing, machine learning, data science, and electronics. Since 2014, Idan has created and published online courses on various topics worldwide. Idan is recognized as a high-rated instructor by leading educational providers. Idan simplifies complex technology and provides high-quality educational content with specific learning objectives that are well-structured, combining various multimedia teaching options.

Course Outline

1. Getting Started

1. Course Introduction

Welcome! "Crazy about Arduino: Your End-to-End Workshop " is a new training program aiming to boost the innovation around the emerging opportunities coming with the wave of Internet Of Things, while using the Arduino development platform. The training program is divided to several courses\levels, where each course is aiming to teach group of subjects related to Arduino in a fun and easy way. It is recommended to follow the program in the suggest sequence. This course is Level 2 in the "Crazy abo

2. Before WE Start...

Let's review some of my recommendations before we start our course.

3. What is Arduino?

Arduino is an amazing easy to use development platform that help us to bridge the physical world with the digital world. In this chapter we will learn WHAT is Arduino and WHAT we can do with it

4. Endless Applications for Makers!

What kind of applications we can build with Arduino? well, there are endless applications we can build with Arduino. Believe it or not, it is really limited by our imagination.... creative people around the world are constantly creating innovative projects with Arduino.

5. Our Checklist

We will need some specific free software tools and of course some small amount of hardware components.


2. Step 1 - Matrix Keyboard

1. Introduction

The first step while building our project is to learn how to connect a simple keypad module, looking like a small keyboard. The ability to interact with users and get as input numerical numbers and several basic characters will help us to really take our Arduino projects into a new level of interaction!

2. The Matrix Keypad (4x4)

The membrane-type 4x4 keypads are a nice low-cost solution for many applications. They are quite thin and can be easily mounted if you plan to build some case to your project. This matrix keypad uses a combination of four rows and four columns to provide a total of 16 push buttons, typically used as input to a micro-controller like we have in the Arduino board.

3. Wiring the Keypad

Each key is a simple push button, with one end connected to one row, and the other end connected to one column. Connecting the keypad to the Arduino is straightforward, each row and each column is connected to a dedicated digital pin on the Arduino, meaning the number of pins that are needed will be the sum of rows and columns.

4. Long Time Ago...and Today!

A word about history and what we have today with the concept of "Libraries" helping to abstract complex things.

5. The "Keypad" Library

The "Keypad" library allows the Arduino to read a matrix type keypad supporting multiple types of keypad size (3x4, 4x4) and customized key mapping configuration.

6. Creating Keypad Instance

Do you know\remember C++? One of the main things in object oriented programming, is the concept of class. A class is a template for a collection of functions and variables that are all kept together in one place, under the same roof because they share some common goal. We need to learn how to create Keypad instance from the Keypad class.

7. Hardware Setup - Keypad 4x4

Let's look on the actual hardware setup while connecting the keypad.

8. Project Demo

We learned to read one key at a time, now we can read a complete numerical value or maybe a sequence of characters.

9. Code Review

Let's see the sketch code used to operate the Keypad while printing the pressed keys in the computer serial port.


3. Step 2 - Liquid Crystal Display (LCD)

1. Introduction

LCD is probably the most cost-effective way to really extend the output in our projects. By adding an LCD, we can easily display complex information like: sensor values, messages, timing information, settings, progress bars and more, directly on our project. Awesome!

2. The LCD Module

LCD modules are used to display characters such as text and numbers. They can be purchased in various sizes, which are measured by the number of rows and columns of characters they can display.

3. I2C Interface

Until now we learned how to connect many types of components using the Arduino analog and digital inputs/outputs terminals, and that's is great!, but what about more complicated electronics components ? it seems we can expand the Arduino capabilities and start interfacing with a variety of additional external components using the I2C serial interface.

4. The I2C LCD Controller

To be able to connect our LCD to the Arduino we need some additional module that will be used as the mediator between the LCD and the Arduino, abstracting the interface between them. This module is called I2C LCD controller.

5. Wiring the LCD

We have three building blocks to be connected: Arduino, I2C controller and an LCD module.

6. The "LiquidCrystal_IC2" Library

After connecting our I2C module to the LCD using the breadboard and the I2C to the Arduino, we are ready to start program our code. The library called "LiquidCrystal_I2C" will do all the hard job, we just need to learn how to use it.

7. Hardware Preparation

We have two ways to connect the I2C controller and the LCD module to each other: First option, is to solder the I2C controller directly to the LCD. Another option that I prefer is to solder a header pins to the LCD display and then use a breadboard to connect between them.

8. Hardware Setup - LCD

Let's look on the actual hardware setup while connecting the LCD.

9. Project Demo

The final goal in this section is to get text from the serial port and display that on our LCD.

10. Code Review

Let's see the sketch code used to operate the LCD while printing on the LCD, the pressed keys coming from the computer serial port.


4. Step 3 - Ultrasonic Distance Sensor

1. Introduction

Ultrasonic sensor is basically used to measure distance using high frequency sound waves. There are many interesting projects that are using such popular sensor for different applications. We will learn how this sensor works and then how to easily use it in our projects.

2. What is a Sound Wave?

Before jumping into the practical side, meaning how to use the ultrasonic distance sensor, it will be nice to understand some basic concept related to sound and the way it being used in so many applications to measure distance.

3. Eco-location

The method for measuring distance with ultrasound is called echolocation. Echolocation is basically the use of sound waves and echoes to determine where objects are in space.

4. The Ultrasonic Sensor HC-SR04

Ultrasonic distance sensor uses sonar to determine distance to an object providing excellent non-contact range detection with high accuracy and stable readings in an easy-to-use package. The reading distance are from 2cm to 400 cm. The modules include ultrasonic transmitters, receiver and some control circuit.

5. Wiring the Ultrasonic Sensor

The sensor has 4 terminals: VCC connected to the 5v power, trig and echo connected to selected digital PINs and ground. No additional components are needed, and we can use it without any special library.

6. How it is Working?

The sensor emitting ultrasonic waves and when these waves come across an object, some of them get reflected. These reflected waves get picked up by the sensor and it calculates how much time it took for the wave to return.

7. Hardware Setup - Ultrasonic Sensor and Threshold LED

Let's look on the actual hardware setup while connecting the Ultrasonic sensor and the threshold LED.

8. Project Demo

Finally, like always we will test our new additional hardware and software being added in this section by using the serial port.

9. Code Review

Let's see the sketch code used to operate the sensor while printing the distance measurement in the computer serial port.


5. Step 4 - LDR Sensor

1. Introduction

The photo resistor sensor is a simple low-cost analog sensor to measure ambient light level. It is also called light-dependent resistor, as the resistance decreases as the amount of light falling on it increases.

2. What is Light?

What is light and specifically what its light intensity?

3. The LDR Sensor

Photo resistors, also known as light dependent resistors (LDRs) or photocells, are low-cost variable resistors where the resistance changes depending on the amount of light hitting its surface. In dark environments the resistance is high; in light environments the resistance is lower.

4. Wiring the LDR Sensor

LDR is a non-polarized component like a regular fixed resistor so the direction is not important. We will connect the photoresistor with a 10Ko resistor to the Arduino 5v power, which will protect the Arduino from short circuits and ensures that at least some resistance is always present on the line.

5. Hardware Setup - LDR Sensor

Let's look on the actual hardware setup while connecting the LDR sensor.

6. Project Demo

Demonstrating the LDR sensor in action!

7. Code Review

Let's see the sketch code used to operate the sensor while printing the light measurement in the computer serial port.


6. Step 5 - Buzzer Alarm

1. Introduction

There are all kind of applications that requires some basic sound capability, like a beep when a user pressing on something, or when specific sensor threshold is crossed, and you would to run some short alarm sound and more

2. What is a Musical Tone?

Musical tone is a steady periodic sound wave characterized by several properties.

3. Buzzer Types

Buzzers come in two varieties, active and passive. An active buzzer just outputs a single tone while a passive buzzer is like a loudspeaker and needs a wave signal to make it works.

4. Using the YL-44 Module

The Buzzer alone connected directly to the Arduino, can't produce a loud sound. In that case we can use a combination of transistor and resistor to make more powerful. The good news it is already packed in a module called YL-44!

5. Wiring the Passive Buzzer Module

The module package includes: Speaker + Transistor + Resistor + Terminals. We have 3 leads such as VCC -> 5v, I/O -> Digital PIN with PWM and GND -> Ground and we will need to apply an oscillating voltage to make a noise....

6. The tone() function

The Arduino IDE includes a built-in function for easily making sounds of arbitrary frequencies. The tone() function generates a square wave of the selected frequency on the selected output pin.

7. Hardware Setup - Buzzer

Let's look on the actual hardware setup while connecting the Buzzer module.

8. Project Demo

Now we will make a buzzer alarm sound!

9. Code Review

Let's see the sketch code used to operate the Buzzer while using the tone() function.


7. Step 6 - Our Final Project

1. Introduction

Now it is time to start mixing between the features that we got from all components and create a single system that doing something. The good news is that all the hardware setup is already ready, up and running and the only thing we need to do is to play and adjust our software!

2. Designing the Program Flow

The first thing I recommend to do is to design the main program flow in high level. It is something useful to forget for a short while the long lines of code in our sketch and to focus on the expected system behaviour.

3. Security Lock Code

In many applications it is useful and even critical to get some number or combination of characters as a security code. In our project we already connected the keypad and LCD, so the only thing we need to do is to adjust and update the software code, so when the system is starting it will ask the user to enter a security code before letting the system to continue. Let's see that code first and then the actual project.

4. Display Distance and Light Mode on LCD

We learned to measure distance using the ultrasonic sensor and light intensity using the photo-resistor. Now we would like to display that information on the LCD module.

5. Automatic Thresholds Indicators

When an object is crossing a specific distance (threshold) we would like to use the buzzer module and when the light intensity dropped a specific light level, we would like to use the LED indicator.


8. Course Summary

1. Almost at the Finish Line...

We almost at the finish line, thanks for watching so far, this course was designed to provide you more advance knowledge related to all kind of useful components that can be connected to the Arduino.

2. What Did We Covered?

Let's see in high level the flow of topics with a short summary per each one and also some recommendations for your next step moving forward!

3. What Next? Level 3!

Thanks for watching the second course in the "Crazy about Arduino" learning program, I hope you enjoyed it while learning one or two things along the way :-)

Course Content

  1. Crazy about Arduino: Your End-to-End Workshop - Level 2

About The Provider

Packt
Packt
Birmingham
Founded in 2004 in Birmingham, UK, Packt’s mission is to help the world put software to work in new ways, through the delivery of effective learning and i...
Read more about Packt

Tags

Reviews