Presentation is loading. Please wait.

Presentation is loading. Please wait.

Microcontroller basics

Similar presentations


Presentation on theme: "Microcontroller basics"— Presentation transcript:

1 Microcontroller basics

2 Arduino IDE Download from:

3 About Arduino Uno 14 Digital I/O pins (6 PWM) Reset button USB port
12 V input 6 Analog Input pins 3.3 V and 5 V outputs

4 Setting up Arduino IDE

5 Structure of an Arduino code
1. Define Variables Before going to the setup function constant variables should be defined int pin = 1; 2. Setting up functions void setup() {} Setup function is run once, when the microcontroller boots up or resets. After setup function the processor moves to run code inside the loop function. Code inside loop function will be run over and over until the microcontroller is shut down. void loop() {} 3. Eternal loop It’s required to have both setup() and loop() functions in the code

6 Example 1 - Blinking led You need Breadboard Led Resistor (270 ohm)
Arduino Wires

7 Breadboard Terminals with blue and red lines are called power busses and are connected together horizontally. Terminals in the middle are connected together vertically. The gap in the middle separates the two sides.

8 Example 1

9 Arduino C – Basic functions
pinMode(var1, var2) pinMode functions sets the mode of given pin. Var1 is the number of the pin and var2 is the mode (INPUT, OUTPUT) digitalWrite(var1, var2) digitalWrite changes the status of the pin. Var1 is the number of the pin and var2 is the status (LOW, HIGH).

10 Writing your first program
Basic blinking LED int ledPin = 13; void setup() { pinMode(ledPin, OUTPUT); } void loop() digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW);

11 Writing your first program
Basic blinking LED int ledPin = 13; //Variable to store the pin number 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

12 Uploading the program Click Verify The program is checked Click Upload
The program is uploaded to the Arduino mCu board 2. 1.

13 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

14 PWM (Pulse Width Modulation)
Basic terms Duty cycle = Pulse Width / Wave Period

15 Example 2 Using 5 V servo motor

16 Example 2 #include <Servo.h> 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)

17 Example 2 #include <Servo.h>
Servo myservo; // create servo object to control a servo int pos = 0; // variable to store the servo position 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

18 Example 3 - Servomotor control with potentiometer
You need Breadboard Servomotor Potentiometer Arduino Uno Wires

19 Example 3

20 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

21 Example 3 #include <Servo.h>
Servo myservo; // create servo object to control a servo 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


Download ppt "Microcontroller basics"

Similar presentations


Ads by Google