Embedded systems, which combine hardware and software, are present in a variety of devices such as industrial machines, automobiles, medical equipment, and household appliances. With this module, students will gain skills in the electronics domain that can lead to career growth. The objective of this course is to teach students how to use the Arduino platform, an open-source computer hardware/software platform for building digital devices and interactive objects that can sense and control the physical world around them. Students will learn how the physical board, libraries, and the integrated development environment (IDE) work. The course covers programming the Arduino using C code and accessing the pins on the board via the software to control external devices. After completing this course, students will have expertise in embedded system design using Arduino.
Course Content:
Module 1 – Quick Tour to C Language
Introduction to C
- Components of a Program
- Environment Setup
Basics of C Language
- C Character Set
- Useful Tips of a C Program
- Input & Output function
- Working with Code Blocks
Operators in C
- Arithmetic Operators
- Relational Operators
- Logical Operators
- Bitwise Operators
- Assignment Operators
Decision Control Statements
- if statement
- if-else statement
- if-else-if ladder
- Switch-case-default
Loop Control Statements
- for loop
- while loop
- do-while loop
- Nested loop
- break & continue statement
Function Overview
- Components of a function
- Recursion Overview
- Control flow
Pointers
- Introduction to Pointers
- Types of Function call
- Call by value & Call by reference
Arrays Overview
- Arrays declaration
- Accessing array elements
- Pointers to an array
Module 2 – Basic of Electronics & Embedded Systems
Embedded System Overview
- Introduction
- Hardware & Classification
- Microcontroller v/s Microprocessors
Electronic Circuits
- Introduction
- Resistive, Capacitive & Inductive
- Diode & Transistors
Electronic Components
- Sensors & Actuators
- Switching devices
- Motors & displays
Logic Gates
- AND, OR & NOT gates
- Truth Table & Symbol
- Combination of Basic Gates
Number System
- Binary & Decimal
- Octal & Hexadecimal
- Conversion methods
Arduino IDE
- Download & Installation
- Getting familiar with Arduino IDE
- Examples & Libraries
Arduino
- Introduction
- Features of Arduino
- Pin Description
- Installing the Board driver
Module 3 – Getting Started with Arduino
GPIO as Output Configuration
- On-Board LED configuration
- Writing first code in IDE
- LED Blink with delay
RGB LED Overview
- RGB Configuration
- Colour Combination
- Colour Code table
- RGB LED Interfacing
GPIO as Input Configuration
- Button Interfacing
- Reading the button state
- LED control using switch
- IR Sensor Interfacing
Analog to Digital Converter
- ADC in Arduino
- Resolution & Step size
- LDR interfacing
- Soil Moisture Sensor Interfacing
- Temperature Sensor Interfacing
- PIR Sensor Interfacing
PWM Overview
- Introduction to PWM
- PWM supported pins
- Brightness control of LED
- Motor Control
Interrupts Overview
- External & Internal Interrupts
- Interrupt Service Routine
- Defining Interrupt & Service Routine
- Modes of Interrupt
Touch Button Interfacing
- Reading the Touch as Interrupt
- Pull Up & Pull Down
- Executing ISR
DC Motor Interfacing
- Motor Bridge IC
- Interfacing DC Motor
- Speed Control of DC Motor
Module 4 : Serial Communication Protocols
Serial Communication
- Introduction & pinout
- Frame format & parity bits
- Configuring USART in Arduino
Setting up Bluetooth
- Introduction to HC-05 module
- AT Command set
- Configuring Bluetooth
- LED control using Bluetooth
Inter-Integrated Circuit (I2C)
- I2C Overview
- Features & Frame Format
- Reading & Writing
- RTC Interfacing
- 16×2 I2C LCD Interfacing
- Applications of I2C
Serial Peripheral Interface (SPI)
- Communication Overview
- Modes of Operation
- Frame Format
- Read Write API
SPI based Device Interfacing
- RFID Reader
- SD Card Reader
Module 5 : Miscellaneous Components
Ultrasonic Sensor
DHT-11
Hex-Keypad
Relay Module