Uploaded on

This is a presentation to get familiarized with arduino programming syntax

This is a presentation to get familiarized with arduino programming syntax

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
174
On Slideshare
0
From Embeds
0
Number of Embeds
7

Actions

Shares
Downloads
5
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Overview The 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.
  • 2. 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.
  • 3. Arduino Uno
  • 4. 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).
  • 5. Settings: Tools  Board
  • 6. Settings: Tools  Serial Port
  • 7. Introduction to Programming Syntax
  • 8. 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 6 int pwm1 = 20 int pwm2 = 100 void setup() { Serial.begin(9600); pinMode(op1,OUTPUT); pinMode(4,INPUT); }
  • 9. 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…. • */
  • 10. 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); }
  • 11. Data Types Void short Boolean float Char double Unsigned char string Byte array Int Unsigned int Word Long Unsigned long
  • 12. Control Structures If if..else For switch case While do..while Break continue Return goto
  • 13. Comparison Operators == < > <= >= !=
  • 14. Boolean Operators && || !
  • 15. 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 }
  • 16. 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
  • 17. PWM + for loop int 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); } }
  • 18. Printing on the serial monitor int x = 10; void setup() { Serial.begin(9600); } void loop() { Serial.println(“X=“); Serial.println(x); }
  • 19. 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
  • 20. Example int ledPin = 13; // LED connected to digital pin 13 int inPin = 7; // pushbutton connected to digital pin 7 int 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 }
  • 21. 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)
  • 22. Example int 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 }
  • 23. 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.
  • 24. Syntax pulseIn(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) Returns the length of the pulse (in microseconds) or 0 if no pulse started before the timeout (unsigned long)
  • 25. Example: int pin = 7; unsigned long duration; void setup() { pinMode(pin, INPUT); } void loop() { duration = pulseIn(pin, HIGH); }
  • 26. To explore many other functions that can be used.. Visit http://arduino.cc/en/Reference/Ho mePage
  • 27. Thank You.