arduino cic3
DESCRIPTION
This is a presentation to get familiarized with arduino programming syntaxTRANSCRIPT
![Page 1: Arduino cic3](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/1.jpg)
![Page 2: Arduino cic3](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/4.jpg)
Arduino Uno
![Page 5: Arduino cic3](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/6.jpg)
Settings: Tools Board
![Page 7: Arduino cic3](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/7.jpg)
Settings: Tools Serial Port
![Page 8: Arduino cic3](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/8.jpg)
Introduction to Programming Syntax
![Page 9: Arduino cic3](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/12.jpg)
Data Types
Void shortBoolean float
Char doubleUnsigned char stringByte arrayInt Unsigned int
Word LongUnsigned long
![Page 13: Arduino cic3](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/13.jpg)
Control Structures
If if..elseFor switch case
While do..whileBreak continue
Return goto
![Page 14: Arduino cic3](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/14.jpg)
Comparison Operators==<>
<=>=!=
![Page 15: Arduino cic3](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/15.jpg)
Boolean Operators
&&||!
![Page 16: Arduino cic3](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/19.jpg)
Printing on the serial monitorint x = 10;
void setup(){
Serial.begin(9600);}
void loop(){
Serial.println(“X=“);Serial.println(x);
}
![Page 20: Arduino cic3](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/26.jpg)
Example:int pin = 7;
unsigned long duration; void setup() {
pinMode(pin, INPUT); }
void loop() {
duration = pulseIn(pin, HIGH); }
![Page 27: Arduino cic3](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/27.jpg)
To explore many other functions that can be used..
Visit http://arduino.cc/en/Reference/Ho
mePage
![Page 28: Arduino cic3](https://reader033.vdocuments.us/reader033/viewer/2022061300/54d2078d4a7959a75c8b45da/html5/thumbnails/28.jpg)
ThankYou.