Upload
jeni-shah
View
218
Download
3
Embed Size (px)
DESCRIPTION
This is a presentation to get familiarized with arduino programming syntax
Citation preview
OverviewThe Arduino Uno is a microcontroller board
based on the ATmega328 . It has:• 14 digital input/output pins (of which 6 can
be used as PWM outputs),• 6 analog inputs,
• a 16 MHz ceramic resonator, •a USB connection, a power jack,
•an ICSP header,• and a reset button.
Overview
It contains everything needed to support the microcontroller;
simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to
get started.
Arduino Uno
Power Supply
Arduino works on 5V. There are basically two ways to give supply to arduino:
1 Using USB cable. The cable can be connected with USB port of the laptop. This
way it directly gets +5V.2 Using DC jack : The DC jack can be
connected with a battery (supply voltage should not exceed 12V). 7805 IC is inbuilt
which supplies the board with 5V.3 There is a Vin pin on the board, through
which we can give dc supply. (But the use of this pin should be avoided, because
sometimes it causes damage to the board).
Settings: Tools Board
Settings: Tools Serial Port
Introduction to Programming Syntax
Setup()
Setup function is used once when your program starts. It is used to set up baud rate and initialize
pins as input or output pins
#define op1 6int pwm1 = 20
int pwm2 = 100void setup()
{Serial.begin(9600);
pinMode(op1,OUTPUT);pinMode(4,INPUT);
}
Comments, Comments, Comments• Comments are for you – the programmer and your friends…
or anyone else human that might read your code.
• // this is for single line comments• // it’s good to put a description at the top and before anything ‘tricky’
• /* this is for multi-line comments• Like this… • And this….• */
Loop()As the name suggests, code written inside
loop will continue to execute.void loop()
{digitalWrite(13,HGH);
delay(1000);digitalWrite(13,LOW);
Delay(2000);}
Data Types
Void shortBoolean float
Char doubleUnsigned char stringByte arrayInt Unsigned int
Word LongUnsigned long
Control Structures
If if..elseFor switch case
While do..whileBreak continue
Return goto
Comparison Operators==<>
<=>=!=
Boolean Operators
&&||!
Let’s begin with programming!void setup() {
// initialize the digital pin as an output. // Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT); }
void loop() { digitalWrite(13, HIGH); // set the LED on delay(1000); // wait for a second
digitalWrite(13, LOW); // set the LED off delay(1000); // wait for a second
}
PMW Pins
• Command: analogWrite(pin,value)
• value is duty cycle: between 0 and 255
• Examples: analogWrite(9, 128) for a 50% duty cycle
analogWrite(11, 64) for a 25% duty cycle
Image from Theory and Practice of Tangible User Interfaces at UC Berkley
PWM + for loopint ledPin = 9; // LED connected to digital pin 9
void setup() { }
void loop() {
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) { analogWrite(ledPin, fadeValue);
delay(30); }
for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) { analogWrite(ledPin, fadeValue);
delay(30); } }
Printing on the serial monitorint x = 10;
void setup(){
Serial.begin(9600);}
void loop(){
Serial.println(“X=“);Serial.println(x);
}
Some other frequently used functions
digitalRead()
Reads the value from a specified digital pin, either HIGH or LOW.
Syntax: digitalRead(pin)Returns
HIGH or LOW
Exampleint ledPin = 13; // LED connected to digital pin 13
int inPin = 7; // pushbutton connected to digital pin 7int val = 0; // variable to store the read value
void setup(){
pinMode(ledPin, OUTPUT); // sets the digital pin 13 as output
pinMode(inPin, INPUT); // sets the digital pin 7 as input}
void loop(){
val = digitalRead(inPin); // read the input pin digitalWrite(ledPin, val); // sets the LED to the button's
value}
analogRead()Description
Reads the value from the specified analog pin. The Arduino board contains a 6 channel (8 channels on the
Mini and Nano, 16 on the Mega), 10-bit analog to digital converter. This means that it will map input voltages between 0 and 5 volts into integer values
between 0 and 1023. This yields a resolution between readings of: 5 volts / 1024 units or, .0049 volts (4.9 mV) per unit. The input range and resolution can be
changed using analogReference().It takes about 100 microseconds (0.0001 s) to read an analog input, so the maximum reading rate is about
10,000 times a second.Syntax
analogRead(pin)
Exampleint analogPin = A3; // potentiometer wiper (middle terminal)
connected to analog pin 3 // outside leads to ground and +5V
int val = 0; // variable to store the value read
void setup(){
Serial.begin(9600); // setup serial}
void loop(){
val = analogRead(analogPin); // read the input pin Serial.println(val); // debug value
}
pulseIn()Description : Reads a pulse (either HIGH or
LOW) on a pin. For example, if value is HIGH, pulseIn() waits for the pin to go HIGH, starts timing, then waits for the pin
to go LOW and stops timing. Returns the length of the pulse in microseconds. Gives up
and returns 0 if no pulse starts within a specified time out.
The timing of this function has been determined empirically and will
probably show errors in longer pulses. Works on pulses from 10 microseconds to 3 minutes
in length.
SyntaxpulseIn(pin, value)
pulseIn(pin, value, timeout)Parameters
pin: the number of the pin on which you want to read the pulse. (int)
value: type of pulse to read: either HIGH or LOW. (int)timeout (optional): the number of microseconds to wait
for the pulse to start; default is one second (unsigned long)
Returnsthe length of the pulse (in microseconds) or 0 if no pulse
started before the timeout (unsigned long)
Example:int pin = 7;
unsigned long duration; void setup() {
pinMode(pin, INPUT); }
void loop() {
duration = pulseIn(pin, HIGH); }
To explore many other functions that can be used..
Visit http://arduino.cc/en/Reference/Ho
mePage
ThankYou.