0% found this document useful (0 votes)
13 views

Sensor Class

This document discusses various sensors that can be used with a microcontroller including voltage, current, temperature, humidity, light, ultrasonic, soil moisture, and motor movement sensors. It provides block diagrams and code examples for connecting these sensors to an Arduino microcontroller and collecting and responding to sensor data. Code examples demonstrate controlling motor direction and speed using a motor driver connected to the Arduino.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Sensor Class

This document discusses various sensors that can be used with a microcontroller including voltage, current, temperature, humidity, light, ultrasonic, soil moisture, and motor movement sensors. It provides block diagrams and code examples for connecting these sensors to an Arduino microcontroller and collecting and responding to sensor data. Code examples demonstrate controlling motor direction and speed using a motor driver connected to the Arduino.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

Automation: Microcontrollers,

Sensors, and Applications


Voltage Sensor

Vcc

GND

Block diagram
Hardware implementation

DC supply

Arduino UNO
Voltage Sensor
Arduino IDE code
Current Sensor

Block diagram
Hardware implementation

DC supply

Arduino UNO
Current Sensor
Arduino IDE code
Temperature and humidity Sensor

Block diagram
Hardware implementation

Temperature and humidity sensor


Arduino UNO
Arduino IDE code
Light Dependent Resistor (LDR) Sensor
Hardware implementation

Arduino UNO

LED

LDR sensor
Ultrasonic Sensor
Hardware implementation
Arduino IDE code
LED blinking
Hardware implementation

Arduino UNO

Resistor
LED
Arduino IDE code
Soil moisture sensor
Hardware implementation

Arduino UNO

Soil moisture sensor


Arduino IDE code
Motor Movement Control using Microcontroller
and Motor Driver
Motor Driver- L293D
Block Diagram-

Microcontroller Motor Driver Motor


(Arduino) (L293D) (DC)
Connection Diagram-
12 Volt DC
supply
+5 Volt 16 8
3
2 1

3 2 M1
4 7
6
Arduino L293D
14
5 9

6 10 M2

7 15
11
GND GND
CODE 1-Forward Rotation
// Motor A connections pinMode(in2, OUTPUT);
const int enA = 2; pinMode(in3, OUTPUT);
const int in1 = 3; pinMode(in4, OUTPUT);
const int in2 = 4; }
// Motor B connections void loop() {
const int enB = 5; analogWrite(enB,255);
const int in3 = 6; analogWrite(enA,255);
const int in4 = 7; digitalWrite(in1, HIGH);
void setup() { digitalWrite(in2, LOW);
Serial.begin (9600); digitalWrite(in3, HIGH);
pinMode(enA, OUTPUT); digitalWrite(in4, LOW);
pinMode(enB, OUTPUT); }
pinMode(in1, OUTPUT);
CODE 2-Reverse Rotation
// Motor A connections pinMode(in2, OUTPUT);
const int enA = 2; pinMode(in3, OUTPUT);
const int in1 = 3; pinMode(in4, OUTPUT);
const int in2 = 4; }
// Motor B connections void loop() {
const int enB = 5; analogWrite(enB,255);
const int in3 = 6; analogWrite(enA,255);
const int in4 = 7; digitalWrite(in1, LOW);
void setup() { digitalWrite(in2, HIGH);
Serial.begin (9600); digitalWrite(in3, LOW);
pinMode(enA, OUTPUT); digitalWrite(in4, HIGH);
pinMode(enB, OUTPUT); }
pinMode(in1, OUTPUT);
CODE 3- Rotation in different Direction
// Motor A connections pinMode(in2, OUTPUT);
int enA = 2; pinMode(in3, OUTPUT);
int in1 = 3; pinMode(in4, OUTPUT);
int in2 = 4; }
// Motor B connections
int enB = 5; void loop() {
int in3 = 6; // put your main code here, to run repeatedly:
int in4 = 7; analogWrite(enA,255);
digitalWrite(in1, LOW);
void setup() { digitalWrite(in2, HIGH);
// put your setup code here, to run once: analogWrite(enB,255);
Serial.begin (9600); digitalWrite(in3, LOW);
pinMode(enA, OUTPUT); digitalWrite(in4, HIGH);
pinMode(enB, OUTPUT); }
pinMode(in1, OUTPUT);
CODE 4-Speed Change
// Motor A connections pinMode(in2, OUTPUT);
int enA = 2; pinMode(in3, OUTPUT);
int in1 = 3; pinMode(in4, OUTPUT);
int in2 = 4; }
// Motor B connections
int enB = 5; void loop() {
int in3 = 6; // put your main code here, to run repeatedly:
int in4 = 7; analogWrite(enA,90);
digitalWrite(in1, LOW);
void setup() { digitalWrite(in2, HIGH);
// put your setup code here, to run once: analogWrite(enB,90);
Serial.begin (9600); digitalWrite(in3, LOW);
pinMode(enA, OUTPUT); digitalWrite(in4, HIGH);
pinMode(enB, OUTPUT); }
pinMode(in1, OUTPUT);

You might also like