28

Arduino cic3

Embed Size (px)

DESCRIPTION

This is a presentation to get familiarized with arduino programming syntax

Citation preview

Page 1: Arduino cic3
Page 2: Arduino cic3

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.

Page 3: Arduino cic3

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.

Page 4: Arduino cic3

Arduino Uno

Page 5: Arduino cic3

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).

Page 6: Arduino cic3

Settings: Tools Board

Page 7: Arduino cic3

Settings: Tools Serial Port

Page 8: Arduino cic3

Introduction to Programming Syntax

Page 9: Arduino cic3

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);

}

Page 10: Arduino cic3

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….• */

Page 11: Arduino cic3

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);}

Page 12: Arduino cic3

Data Types

Void shortBoolean float

Char doubleUnsigned char stringByte arrayInt Unsigned int

Word LongUnsigned long

Page 13: Arduino cic3

Control Structures

If if..elseFor switch case

While do..whileBreak continue

Return goto

Page 14: Arduino cic3

Comparison Operators==<>

<=>=!=

Page 15: Arduino cic3

Boolean Operators

&&||!

Page 16: Arduino cic3

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

}

Page 17: Arduino cic3

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

Page 18: Arduino cic3

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); } }

Page 19: Arduino cic3

Printing on the serial monitorint x = 10;

void setup(){

Serial.begin(9600);}

void loop(){

Serial.println(“X=“);Serial.println(x);

}

Page 20: Arduino cic3

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

Page 21: Arduino cic3

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}

Page 22: Arduino cic3

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)

Page 23: Arduino cic3

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

}

Page 24: Arduino cic3

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.

Page 25: Arduino cic3

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)

Page 26: Arduino cic3

Example:int pin = 7;

unsigned long duration; void setup() {

pinMode(pin, INPUT); }

void loop() {

duration = pulseIn(pin, HIGH); }

Page 27: Arduino cic3

To explore many other functions that can be used..

Visit http://arduino.cc/en/Reference/Ho

mePage

Page 28: Arduino cic3

ThankYou.