Module 7 Arduino Programming
Module 7 Arduino Programming
Arduino IDE
• Download from:
http://arduino.cc/en/Main/Software
USB port
12 V input
http://www.farnell.com/datasheets/1682209.pdf
1
19-04-2022
2
19-04-2022
Breadboard
Terminals with blue and red lines are called power
busses and are connected together horizontally.
3
19-04-2022
Example 1
http://blog.grifby.com/2013/04/tutorial-1-blinking-led-using-arduino.html
digitalWrite(var1, var2) digitalWrite changes the status of the pin. Var1 is the
number of the pin and var2 is the status (LOW, HIGH).
4
19-04-2022
void setup()
{
pinMode(ledPin, OUTPUT);
}
void loop()
{
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
void setup()
{
pinMode(ledPin, OUTPUT); //set ledPin as output
}
void loop()
{
digitalWrite(ledPin, HIGH); //LED ON
delay(1000); //Wait 1000ms (=1s)
digitalWrite(ledPin, LOW); //LED OFF
delay(1000); //Wait 1000ms (=1s)
}
5
19-04-2022
Example 2 - Controlling
servomotor with Arduino
• Servomotor is controlled with PWM signal
• For controlling servomotor only Arduino is
needed
• Arduino IDE has its own servomotor library
6
19-04-2022
Example 2
Using 5 V servo motor
7
19-04-2022
#include <Servo.h>
Example 2
Servo myservo;
int pos = 0;
void setup()
{
myservo.attach(9);
}
void loop()
{
for(pos = 0; pos <= 120; pos += 1)
{
myservo.write(pos);
delay(15);
}
for(pos = 120; pos>=0; pos-=1)
{
myservo.write(pos);
delay(15);
}
}
#include <Servo.h>
Example 2
Servo myservo; // create servo object to control a servo
void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop()
{
for(pos = 0; pos <= 120; pos += 1) // goes from 0 degrees to 120 degrees
{ // in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
for(pos = 120; pos>=0; pos-=1) // goes from 120 degrees to 0 degrees
{
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
8
19-04-2022
Example 3 - Servomotor
control with potentiometer
• You need
– Breadboard
– Servomotor
– Potentiometer
– Arduino Uno
– Wires
Example 3
http://www.electroschematics.com/11453/digital-potentiometer-arduino-shield/
9
19-04-2022
Example 3
• analogRead(analogPinNumber);
– Reads the analog pin where the potentiometer is
attached
• map(value, fromLow, fromHigh, toLow, toHigh);
-Scales the potentiometer value to servomotors angle
-The analog input has 10 bit resolutions
Example 3
#include <Servo.h>
int potpin = A0; // analog pin used to connect the potentiometer (F0/A0)
int val; // variable to read the value from the analog pin
void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop()
{
val = analogRead(potpin); // reads the value of the potentiometer (value between 0
and 1023)
val = map(val, 0, 1023, 0, 120); // scale it to use it with the servo (value
between 0 and 120)
myservo.write(val); // sets the servo position according to the scaled value
delay(15); // waits for the servo to get there
}
10
19-04-2022
void setup() {
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(LEDred, OUTPUT);
}
void loop(){
buttonStatus1 = digitalRead(buttonPin1);
buttonStatus2 = digitalRead(buttonPin2);
11
19-04-2022
Sensors
• A sensor is an appliance that detects changes in
physical or electrical or other quantities.
• It produces an electrical or optical signal output
as an acknowledgement of the change in that
specific quantity.
• A Sensor is a module or chip that observes the
changes happening in the physical world and
sends feedback to the microcontroller or
microprocessor.
• Excitation (Power supply) and Grounding must be
provided to the sensor for the proper working.
Analog Sensors
• Accelerometers
• Light sensors
• Sound sensors
• Pressure sensors
• Analog temperature sensors
12
19-04-2022
Digital Sensors
• Digital Temperature Sensors
• Digital Humidity Sensors
• Magnetic Door Sensors
• LED lights
13