This document provides an overview of an Arduino course covering embedded systems and programming. The summary includes: - The course covers introduction to embedded systems including components, characteristics, and basic structure. It also covers introduction to computer programming concepts for Arduino including variables, operators, control statements, functions, and C language basics. - The document outlines the Arduino environment including boards, software IDE, sensors, actuators and provides examples of electronic components like LEDs, buttons, and code for digital input/output and serial communication. - Finally, the course covers creating circuit diagrams and interfacing with common modules like LCD displays, ultrasonic sensors, relays, Bluetooth and DC motors.
Introduction to embedded systems and their components like sensors, processors, and outputs.
Differences between microprocessors (multitasking) and microcontrollers (single task oriented).
Overview of Arduino environment including the board, software IDE, capabilities, and key components.
Details on Arduino pins, their functions, and power supply connections.
Introduction to Arduino firmware and application code along with software setup instructions.
Discussion on various sensors, their functions, and how they capture environmental data.
Explanation of actuators, their types, and how they interact with Arduino.Introduction to programming concepts in Arduino including functions, symbols, and control statements.
Discussion on variable scope, types, and characteristics related to programming Arduino.
Different types of operators including arithmetic, comparison, boolean, bitwise, and compound.
Control statements like if, switch, and corresponding programming structures.
Varied loop structures including for, while, and nested loops for repetitive tasks.
Overview of functions and how they are utilized in programming for Arduino.
Pin mode, digital input/output, delay functions, and analog input/output descriptions.
Introduction to serial communication for data transfer between Arduino and external devices.
Descriptions of essential electronic components like LED, push button, potentiometer, and their uses.
Detailed overview of important modules like LCD, ultrasonic sensor, Bluetooth module, etc.
Concepts of motor control using H-bridge in Arduino, discussing various motor types.
System What System mean is an arrangement in which all its unit assemble work together according to a set of rules. defined as a way of working, organizing or doing one or many tasks according to a fixed plan. in a system, all its subcomponents depend on each other. Example
5.
Embedded System Definition Embeddedmeans something that is attached to another thing. a computer hardware system having software embedded in it An embedded system can be an independent system or it can be a part of a large system. An embedded system is a microcontroller or microprocessor based system which is designed to perform a specific task. Example
Embedded System Characteristics Single Function Tightly constrained Size, Speed, Power ,Cost Reactive and Real time Microprocessors based Memory Connected Connected peripherals to connect input and output devices. HW-SW systems Software is used for more features and flexibility. Hardware is used for performance and security.
Basic Structure ofEmbedded system Sensor − It measures the physical quantity and converts it to an electrical signal which can be read by an observer or by any electronic instrument like an A2D converter. A sensor stores the measured quantity to the memory. A-D Converter − An analog-to-digital converter converts the analog signal sent by the sensor into a digital signal. Processor & ASICs − Processors process the data to measure the output and store it to the memory. D-A Converter − A digital-to-analog converter converts the digital data fed by the processor to analog data Actuator − An actuator compares the output given by the D-A Converter to the actual (expected) output stored in it and stores the approved output.
10.
Microprocessor VS Microcontroller Microprocessor multitasking in nature. Can perform multiple tasks at a time. RAM, ROM, I/O Ports, and Timers can be added externally and can vary in numbers. Microcontroller Single task oriented. RAM, ROM, I/O Ports, and Timers cannot be added externally. These components are to be embedded together on a chip and are fixed in numbers.
11.
Arduino Environment Arduino board •8-bit microcontroller • USB programming interface • I/O pins Software IDE • Compiler • Debugger • Simulator Shields • Unique functionalities • Easy to attach • Good libraries provided
Microcontroller ATmega328 ATmega16U2 • Write yourcode into • To communication with USB Operating voltage → 5V Input Voltage →7-12V Digital I/O pins → 14 pins → 0:13 Analog input pins → 6 pins → A0:A5 Flash Memory → 32KB Clock speed → 16MHz
14.
Arduino Pins Pinsare wires connected to the micro controller Pins are the interface of micro controller Pins voltages are controlled by a sketch Pins voltages can be read by a sketch Output pins • Voltages is determined by sketch • Other components can be controlled through outputs Input pins • Input pins are controlled by other component • Arduino read the voltage on the pin allow it to respond to events
15.
Analog Vs Digital Digital Can be only Two Value 0volt or 5Volt Arduino Has 14 Digital Input / Output Pins Analog Can be any Value from 0Volt to 5Volt Arduino Has 6 Analog Input Pins
16.
Power 𝑉𝑖𝑛 toconnect external voltage source GND the Ground of Arduino 5V Arduino supply you by 5V 3.3V Arduino supply you by 3.3V USB connector “to connect Arduino with laptop” Power jack “to connect external power source with Arduino Rest button “to restart the program”
17.
Software Firmware Low levelcode support the main function USB interface, power modes , reset Come with Arduino Application code We write this code
Setup the ArduinoIDE Download the IDE https://www.arduino.cc/en/Main/Donate
20.
Setup the ArduinoIDE Install Arduino app on your PC Connect the Board to your PC using USB cable Install USB and other drivers Launch the Arduino app Select your Arduino board “Tools >>board>> Arduino UNO Select serial port “Tools >>port>>COM’X’” Write your code
21.
Sensors How brightis it ? How loud is it? How humid is it? How distance is it ? Is the button being pressed? Is there motion ?
22.
Sensors • Allow themicrocontroller receive info. From the environments • Perform operation based on the state of environment • Microcontroller sense voltage only • Sensors logic must convert an environmental effect into voltage
23.
Actuators Devices thatcause something to happen in the physical word Visual → LEDs , LCDs Audio → Buzzer , Speaker Motion → Motors , valves
24.
Actuators Digital Actuators • Theyonly control the power • Even complicated actuators can be controlled via power Analog Actuators • Many actuators need an analog voltage for complete control • Arduino can’t generate analog outputs • DAC will convert digital numbers to analog voltage • Most microcontrollers don’t have DAC • Can by one attached
Setup () Function •Use for primary order • Start by powering Arduino void setup () { arguments }
27.
Loop() function • Workas long as Arduino work • Start after setup function end • The main code written in it void loop() { Arguments }
28.
Basics symbol OperationSymbol Every lineof code must ended by it; “semi Colom” Group line of code Every function must be start and ended by it { } Curly bracket To write comments between it/*…….*/
29.
Variables Variables Name Conditions A sequence of visible character Must start with a non-numerical character No C language keywords Data Types Size
30.
Variable Scope Local Variable Variablesthat are declared inside a function or block are local variables. They can be used only by the statements that are inside that function or block of code. Formal Parameter can be declared. In the definition of function parameters Global Variables Global variables are defined outside of all the functions, usually at the top of the program.
Switch statement switch (expression) { case ‘const_expr1’ : stat1 break ; case ‘const_expr2’ : stat2 break ; default : stat3 } , • Compere each case with expression and operate the case equal to expression • Default → operating when no case is matching • Break → use to stop operation
Pin mode function •These function allow access to the pins • Set a pin to act as an INPUT or OUTOUT pinMode( pin , mode ) Pin • Is the number of the pin “0:13 for digital • analog” “A0:A5 for analog pins Mode • Is the I/O mode the pin is set to “INPUT” “OUTPUT”
50.
Digital output function •Assign the state of an output pin • Assign either LOW or HIGH digitalWrite(pin , Value) Value • HIGH • LOW
51.
Digital input function •Returns the state of an input pin • Returns either LOW or HIGH digitalRead(pin)
52.
Analog input function •Returns the state of an analog pin • Returns an integer number from 0 to 1023 • 0 for 0Volt 1023 for 5Volts analogRead(pin)
53.
Pulse Width Modulation On-Time − Duration of time signal is high. Off-Time − Duration of time signal is low. Period − It is represented as the sum of on-time and off-time of PWM signal. Duty Cycle − It is represented as the percentage of time signal that remains on during the period of the PWM signal.
54.
Analog Output Function writes an analog value (PWM wave) to a pin this function works on pins 3, 5, 6, 9, 10, and 11. Values from 0 to 255 0 mean Zero Volt 255 mean 5 Volt analogWrite(pin,value)
55.
Delay function • Pausesthe program for milliseconds • Useful for human interaction delay(m sec)
56.
Delay Microseconds() Thesame function of normal “delay” but Normal delay measure in mille second This function measure in micro second delayMicroseconds(time);
57.
pulse In() • Weuse this function to calculate time from Arduino call it to end of code • Frist argument is the pin number • Second argument is the pulse level we want to detect pulseIn (Pin, State);
serial communication Usedfor communication between the Arduino board and a computer or other devices. All Arduino boards have at least one serial port It communicates on digital pins 0 (RX) and 1 (TX) as well as with the computer via USB. Thus, if you use these functions, you cannot also use pins 0 and 1 for digital input or output.
60.
Serial functions Serial. begin(Baud Rate) To start communication with other devices Sets the data rate in bits per second (baud) for serial data transmission Serial . print(Value, Format) To show data received from Arduino on serial monitor on your PC . Format is optional Parameter [BIN, OCT, HEX, DEC] Printed Data shown in the same line
61.
Serial Communication Serial.available() Get the number of bytes available for reading from the serial port. Data Returned stored in Serial Buffer Register Serial.read() Reads incoming serial data Return Data
LED Two terminal“ anode + the long terminal cathode – the short terminal “ Current only flow in one direction + to – Anode – cathode voltage must be above threshold LEDs have a maximum current limit Don’t connect LEDs directly with power supply
65.
Push button • Closingswitch complete circuit • Voltage on both terminal is identical when switch is closed
66.
Potentiometer A potentiometer, informallya pot, is a three-terminal resistor with a sliding or rotating contact that forms an adjustable voltage divider. If only two terminals are used, one end and the wiper, it acts as a variable resistor or rheostat.
67.
Light Depended Resistor“ LDR” • Two terminal device • Analog sensor • In darkness resistance increase • In brightness resistance decrease
68.
Buzzer • Two input:- signal / ground • Produces a sound when applying voltage
69.
Most Important Modules Liquid Crystal Display (LCD) Ultrasonic HC-SR04 Relay Module H-Bridge Bluetooth Module HC-05
70.
Liquid Crystal Display Has it’s own Library to use with Arduino Need variable resistor to control display contrast Use Parallel interface
71.
Ultrasonic 4 terminaldevice • Vcc → 5V • GND → 0V • Trig → output • Echo→ input To calculate distance in cm use the following equation Time in micro second /58 = distance in cm
72.
Relay Module Useto Control High Power Devices Digital Control NC → Normally Open NO → Normally Close
73.
Bluetooth Module UseSerial Communication TX in Bluetooth connected to RX with Arduino and Vise Versa
74.
H-Bridge Each motorhas two control Line Can control both direction and speed Need external power source