Vous êtes sur la page 1sur 43

WELCOME TO ARDUINO

Hardware Software
By
Adane T.
 Background
 Microcontroller defined/Why Arduino's?
 Types of Arduino microcontrollers

 What To Get (Hardware and Software)


 Arduino C
 Electronic Circuits
 Projects
 Blinking light(s)
 Reading inputs (variable resistors)
Microcontrollers – One Definition
 Programmers work in the virtual world.
 Machinery works in the physical world.
 How does one connect the virtual world to the
physical world?
 Enter the microcontroller.
 A microcontroller is basically a small-scale
computer with generalized (and programmable)
inputs and outputs.
 The inputs and outputs can be manipulated by
and can manipulate the physical world.
Arduino – Official Definition
 Taken from the official web site
(arduino.cc):
 Arduino is an open-source electronics
prototyping platform based on flexible,
easy-to-use hardware and software. It's
intended for artists, designers, hobbyists,
and anyone interested in creating
interactive objects or environments.
Why Arduino?
 For whatever reason, Arduino microcontrollers
have become the de facto standard.
 Make Magazine features many projects using Arduino
microcontrollers.
 Strives for the balance between ease of use and
usefulness.
 Programming languages seen as major obstacle.
 Arduino C is a greatly simplified version of C++.

 Inexpensive ($35 retail).


Arduino Uno Close Up
 The pins are in three groups:
 Invented in 2010
 14 digital pins

 6 analog pins

 power
Where to Start
 Get an Arduino (starter kit)
 Download the compiler
 Connect the controller
 Configure the compiler
 Connect the circuit
 Write the program
 Get frustrated/Debug/Get it to work
 Get excited and immediately start next project
(sleep is for wimps)
Arduino Compiler
 Download current compiler from:
arduino.cc/en/Main/software
 U can also search itself as an IDE .
 Run the software installer.
 Written in Java, it is fairly slow.

Visit playground.arduino.cc/Main/
DevelopmentTools for alternatives to the
base arduino IDE
Arduino Program Development
 Programs are called 'sketches'.
 Sketches need two functions:
 void setup( )
 void loop( )

 setup( ) runs first and once.


 loop( ) runs over and over, until power is lost or
a new sketch is loaded.
Arduino C
 Arduino sketches are centered around the pins
on an Arduino board.
 Arduino sketches always loop.
 void loop( ) {} is equivalent to while(1) { }
 The pins can be thought of as global variables.
Arduino C Specific Functions
 pinMode(pin, mode)
Designates the specified pin for input or output
 digitalWrite(pin, value)
Sends a voltage level to the designated pin
 digitalRead(pin)
Reads the current voltage level from the designated pin
 analog versions of above
 analogRead's range is 0 to 1023
 serial commands
 print, println, write
Compiler Features
 Numerous sample
sketches are included in
the compiler
 Located under File,
Examples
 Once a sketch is written,
it is uploaded by clicking
on File, Upload, or by
pressing <Ctrl> U
Arduino C is Derived from C++
 These programs blink an LED on pin 13
 avr-libc  Arduino C
#include <avr/io.h> void setup( ) {
#include <util/delay.h> pinMode(13, OUTPUT);
}
int main(void) {
while (1) { void loop( ) {
PORTB = 0x20; digitalWrite(13, HIGH);
_delay_ms(1000); delay(1000);
PORTB = 0x00; digitalWrite(13, LOW);
_delay_ms(1000); delay(1000);
} }
return 1;
}
Basic Electric Circuit
 Every circuit (electric or electronic) must have at
least a power source and a load.
 The simplest circuit is a light.
 Plug in the light, and it lights up.
 Unplug it, the light goes out.
 Electricity flows from the power source,
through the load (the light) and then back to the
power source.
Basic LED Circuit
 Connect the positive (+) lead of a power
source to the long leg of an LED.
 Connect other leg of the LED to a resistor.
 High resistance means a darker light.
 Low resistance means brighter light.

 No resistance means a burned out LED.

 Connect other leg of the resistor to the


negative lead of the power source.
Let the Good Times Roll!
 At this point we have:
 Purchased a starter kit, including the Arduino
 Connected and configured the Arduino

 Connected a simple LED circuit

 Let's write some code!


Blink Sketch
void setup( ) {
Connected to Connected to
pinMode(13, OUTPUT); one end of the
circuit
other end of the
circuit
}
void loop( ) {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
4 LED Blink Sketch
void setup( ) { void loop( ) {
pinMode(1, OUTPUT); digitalWrite(1, HIGH);
pinMode(3, OUTPUT); delay (200);
pinMode(5, OUTPUT); digitalWrite(1, LOW);
pinMode(7, OUTPUT);
} digitalWrite(3, HIGH);
delay (200);
digitalWrite(3, LOW);

digitalWrite(5, HIGH);
delay (200);
digitalWrite(5, LOW);

digitalWrite(7, HIGH);
delay (200);
digitalWrite(7, LOW);
}
So What?
 Great. Blinking lights. Not impressed.
 Only covered output thus far.
 Can use analog inputs to detect a physical
phenomena.
Inputs
 Digital inputs will come to the Arduino as either
on or off (HIGH or LOW, respectively).
 HIGH is 5VDC.
 LOW is 0VDC.

 Analog inputs will come to the Arduino as a


range of numbers, based upon the electrical
characteristics of the circuit.
 0 to 1023
 .0049 V per digit (4.9 mV)

 Read time is 100 microseconds (10,000 a second)


Analog Input
 A potentiometer (variable
resistor) is connected to
analog pin 0 to an Arduino.
 Values presented to pin 0 will
vary depending upon the
resistance of the
potentiometer.
Analog Input-Application
 The variable resistor can be replaced with a
sensor.
 For example, a photo resistor.
 Depending upon the light level at the photo resistor:
 Turn on a light
 Increase or decrease the brightness of an LED (or an
LED array)
 Most sensors are simply variable resistors, but
vary their resistance based on some physical
characteristic.
Sensors
 Sensors can be both binary or a range.
 Usually, sensors that measure a range of values
vary their resistance to reflect their detection.
 Arduinos can only sense voltages, not
resistances.
 Sensors that only vary their resistances require a
circuit called a voltage divider to provide the
Arduino a voltage.
Common Sensors
 Dials on a radio are  Infrared sensor & light
simply potentiometers  Hall effect sensor and
 Temperature magnet
 Light  Ball tilt sensor (for
 Angle measuring orientation)
 Switches  Force
 did the user throw a
switch or push a button?
 Accelerometer (measures
motion and tilt)
Example projects
Digital Chicken Incubator
 The incubator which we have designed basically an egg
incubator that monitors and control the temperature as
well as lightness in the desired or optimum range
required for the proper hatching of eggs as a primary
task because of its importance as a guiding factor.
Cont..
Block diagram
Cont..
Iot based Health monitoring system

 A Remote health monitoring system is an extension of a


hospital medical system where a patient’s vital body
state can be monitored remotely. Traditionally the
detection systems were only found in hospitals and
were characterized by huge and complex circuitry
which required high power consumption. Continuous
advances in the semiconductor technology industry
have led to sensors and microcontrollers that are smaller
in size, faster in operation, low in power consumption
and affordable in cost.
Cont..
block diagram
Cont..
Braille printer
 A braille printer is a device that can generate printed
material using the braille writing system for blind or
visually impaired users. They press dots down onto a
piece of paper to let a person using the braille system
read by using their fingers
Braille printer Block diagram
Hardware part of braille printer

Paper accepter Paper Printer


Conclusion
 The Arduino microcontroller is a low cost way
to enter into the hobby of robotics.
 The Arduino has two plusses over any other:
 The user community
 Extensive online library of code and projects

 Viewed as the "base" system, upon which all


other microcontrollers are built. Compatibility.
 So get a kit, and start ushering in the inevitable
takeover of our robotic overlords!
Any Question????????
On Introduction to
Arduino Microcontrollers
“Action Speaks Greater
Than Words”
By Adane T. Saturday, November 10, 2018
Jimma,Ethiopia

Vous aimerez peut-être aussi