How to Program an Arduino as a Modbus RS485 Master & Slave
4.5 (42 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.
213 students enrolled
Wishlisted Wishlist

Please confirm that you want to add How to Program an Arduino as a Modbus RS485 Master & Slave to your Wishlist.

Add to Wishlist

How to Program an Arduino as a Modbus RS485 Master & Slave

Learn how to create your own Modbus RS485 Master and Slave Device using the Arduino Uno Development System
Best Seller
4.5 (42 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.
213 students enrolled
Created by Emile Ackbarali
Last updated 4/2017
English
Current price: $10 Original price: $75 Discount: 87% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 3 hours on-demand video
  • 14 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Understand the Arduino Uno and RS485 Shield from a Hardware persepctive
  • Connect an Arduino RS485 Shield to an Arduino Uno
  • Connect an Arduino Uno to a Hitachi HD44780 LCD display
  • Use the Arduino IDE to develop applications for the Arduino Uno
  • Write an Arduino Sketch application to display messages on an LCD display
  • Write an Arduino Sketch application to implement a Modbus Master
  • Test an Arduino Modbus master using the Modsim32 Modbus slave simulator
  • Write an Arduino Sketch application to implement a Modbus Slave
  • Test an Arduino Modbus slave using the Modscan32 Modbus master application
View Curriculum
Requirements
  • Basic working knowledge of the Modbus RTU protocol.
  • Familiarity with the installation of software applications on the Windows OS platform
  • Elementary understanding of the "C" programming language
  • Basic understanding of elementary electronics
Description

If you work in the Automation Industry, you will know that automation equipment is very expensive. And many a time, especially for small applications, you simply cannot justify the use of very expensive equipment. 

This is where the Arduino comes in! 

The Arduino development board allows you to create very simple, but very powerful, Modbus master or slave devices through the use of relatively simple "C" programming. With the Arduino, you have full custom control over the program design allowing you to create very lean and very efficient devices for very specific purposes. 

Put simply, mastering Modbus on the Arduino is going to take your skill level and value in the Automation Industry to a whole new level. 

That is what this course is going to do. At the end of the course, you will know how to:

1. Choose the appropriate Arduino hardware.

2. Interconnect Arduino hardware with other add-on hardware.

3. Write "C" applications to implement Modbus master and slave functionality.

4. Use software and hardware to test each application that you write.

All of the programs written in the course are freely downloadable and give you a perfect starting point for further development. At the end of the course, you will have the knowledge to create your own products, your own custom Modbus master and slave hardware.

Looking forward to seeing you on the inside!

Who is the target audience?
  • Electrical Engineers
  • Electrical Technicians
  • Electrical Tech or Engineering Students
  • Process Control Technicians and Engineers
  • Process Automation Engineers
  • Programmers working in the Process Automation field
Compare to Other Modbus Courses
Curriculum For This Course
33 Lectures
02:45:18
+
Introduction
1 Lecture 04:10
+
The Hardware We Will Be Using
6 Lectures 25:19

The hardware that is used in the course is listed and their purpose given.

Preview 04:36

An overview of the Arduino Uno.

Preview 05:05

An overview of the RS485 shield for Arduino Uno.

The RS485 Shield for Arduino Uno
04:31

An overview of the LCD display and Interconnecting Hardware.

The LCD Display and Interconnecting Hardware
05:07

An overview of the USB-to-RS485 converter as well as the basic connection of the hardware.

The USB-to-RS485 Converter and Connection Overview
03:19

A look at the physical hardware set up.

Hardware Setup on my Workbench
02:41
+
The Software We Will Be Using
3 Lectures 07:58

This lecture shows where to go on the web to download and install the free Arduino programming software.

Preview 02:24

Modbus Libraries are used to simplify the implementation of the Modbus protocol on the Arduino.

The Modbus Libraries
03:50

Modsim32 is a Modbus slave simulation application. It will be used to provide data values that will be read by the Windows Modbus Master application.

Modsim32 Modbus Slave Simulator
01:44
+
Quick Start - Creating our First Arduino Modbus Master Application
6 Lectures 45:27

The Arduino IDE is briefly introduced.

A look at the Programming Software - Arduino IDE
06:20

A built in application is used as the first application and also to test the LCD display.

Our First Program - Testing the LCD Display
07:23

The code is modified to display the value of a variable on the LCD display.

Getting the LCD to display the value of a Variable
08:36

Additional LCD code is added to update the LCD display only on data changes.

Additional LCD Code to support Modbus Master Operation
09:43

Adding Code to Implement Modbus Master Functionality
09:11

Using the laptop with Modsim32 as a Modbus Slave, the Arduino application is run and tested.

Preview 04:14
+
Extending the Arduino Modbus Master Application
4 Lectures 27:07

Quite a bit of coding was done very quickly in the last section. This lecture reviews all of the code so as to solidify the function of the various commands.

Review of the Current Application Code
06:27

Code is added and the application updated to be able to read a holding register.

Adding Code to Read a Holding Register
06:54

Code is added and the application updated to be able to read an input status.

Adding Code to Read an Input Status
07:54

Code is added and the application updated to be able to read a coil.

Adding Code to Read a Coil
05:52
+
Configuring the Arduino to Read/Display Data from a Modbus Temperature Sensor
7 Lectures 28:31

An overview of the details of the section.

What we are going to do in this Section
02:47

We have a look at the website from which the sensor was purchased.

How to Acquire the Sensor
03:25

We look at the datasheet for the sensor to determine the communication details.

A Look at the Datasheet for the Sensor
05:47

The Arduino and Sensor setup on my Workbench
02:53

Writing the Arduino Code to Read Data from the Temp/Humidity Sensor
07:08


Modification of Code to Display Decimal Places
03:21
+
Configuring the Arduino to Write Modbus Data to the Slave
2 Lectures 09:01

Code is added to an existing Arduino program to write to a Modbus Coil based on the value in an Input Register.

Adding Code to Write to a Modbus Coil based on a Condition
05:48

The new code added in the previous video is testing using Modim32 as the Modbus Slave.

Testing of the Write Modbus Function using Modsim32
03:13
+
Configuring the Arduino as a Modbus Slave Device
3 Lectures 15:32

The previously downloaded Modbus Slave Library is installed into the Arduino IDE.

Installing the Modbus Slave Arduino Library
03:59

Code is written to implement the Modbus Slave in the Arduino and then Modscan32 is used to read Modbus data.

Implementing the Arduino Modbus Slave and Testing Read Functionality
07:44

The code from the previous lecture is modified to test the write functionality of the slave. Modscan32 is used to write to the Arduino slave. 

Implementing the Arduino Modbus Slave and Testing Write Functionality
03:49
+
Conclusion
1 Lecture 02:13

What to do next to keep further solidify learning.

The End - Where To Go From Here
02:13
About the Instructor
Emile Ackbarali
4.5 Average rating
1,111 Reviews
2,685 Students
13 Courses
Software Developer, Systems Integrator and Entrepreneur

I have been working in the fields of Software Development, Software Systems Integration and Process Automation since 1996. In 2003, I stepped out on my own and started working for myself providing software development and systems integration services to small and medium businesses.

I am also associated with a great company called Mora Systems Limited that under the leadership of it's Managing Director has produced innovative and outstanding products and services in the fields of GIS and Cellular based SCADA.

Teaching has always been a passion for me. I have taught at the tertiary level for many years on the subjects of programming, control systems as well as systems integration. In the last few years I found myself incorporating more and more videos into the curriculum with amazing results.

When I heard of uDemy I just could not help but sign up. With teaching in a classroom, you can reach only so many students, but with uDemy you can reach the world! I plan to publish and promote as many courses as I possibly can on the uDemy platform.