53
Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011

Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

  • Upload
    others

  • View
    15

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Microcontroller & ArduinoINTRODUCTION

Friday, March 11, 2011

Page 2: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

bx 24 picbasic stamp basic atom

higher level lower level

Assembly

Friday, March 11, 2011

Page 3: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

bx 24 picbasic stamp basic atom

higher level lower level

Assembly

Processing

Friday, March 11, 2011

Page 4: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

photo credits © arduino.cc

Atmel AT Mega 328 Atmel AT Mega 328

Friday, March 11, 2011

Page 5: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Arduino is an open source physical computing platform based on a simple input/output (I/O) board and a development environment that implements

the processing language.The IDE can be downloaded at www.arduino.cc

Main Advantages:-Multi-platform environment, can run on Windows,

Macintosh and Linux

-cheap hardware (around 25 €)

-huge community with tons of libraries

-open source hardware and software

Friday, March 11, 2011

Page 6: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

OUR CPU:

photo credits © atmel

Friday, March 11, 2011

Page 7: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

photo credits © wikimedia

Friday, March 11, 2011

Page 8: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

USB

External power

5V

Ground

Analog In pins (6 total)micro-controller

Digital IO pins (14 total) Transmit / Receive

Reset button

photo credits © todbot

Analog Out pins (3,5,6,9,10 & 11)

Friday, March 11, 2011

Page 9: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

photo credits © tom igoe

Friday, March 11, 2011

Page 10: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Friday, March 11, 2011

Page 11: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Friday, March 11, 2011

Page 12: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Friday, March 11, 2011

Page 13: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Friday, March 11, 2011

Page 14: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

compile button upload button

serial monitor

Friday, March 11, 2011

Page 15: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

photo credits © elisa canducci

Friday, March 11, 2011

Page 16: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Friday, March 11, 2011

Page 17: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Digital read (listening)

Friday, March 11, 2011

Page 18: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

photo credits © todbot.com

Digital Read vs. Analog Read

Friday, March 11, 2011

Page 19: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

photo credits © elisa canducci

Friday, March 11, 2011

Page 20: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Analog read

Friday, March 11, 2011

Page 21: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Analog read

Friday, March 11, 2011

Page 22: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

int potPin = 2; // select the input pin for the potentiometerint ledPin = 13; // select the pin for the LEDint val = 0; // variable to store the value coming from the sensor

void setup() { pinMode(ledPin, OUTPUT); // declare the ledPin as an OUTPUT}

void loop() { val = analogRead(potPin); // read the value from the sensor digitalWrite(ledPin, HIGH); // turn the ledPin on delay(val); // stop the program for some time digitalWrite(ledPin, LOW); // turn the ledPin off delay(val); // stop the program for some time}

Friday, March 11, 2011

Page 23: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

int analogValue = 0; // variable to hold the analog value

void setup() { // open the serial port at 9600 bps: Serial.begin(9600);}

void loop() { // read the analog input on pin 0: analogValue = analogRead(0);

// print it out in many formats: Serial.println(analogValue); // print as an ASCII-encoded decimal // delay 10 milliseconds before the next reading: delay(10);}

Friday, March 11, 2011

Page 24: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Analog read

Friday, March 11, 2011

Page 25: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Advanced Sensors:

Friday, March 11, 2011

Page 26: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Thermistor PIR SensorBend Sensor

photo credits © wikimedia

Friday, March 11, 2011

Page 27: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Magnet SwitchForce Sensor Potentiometer

photo credits © wikimedia

Friday, March 11, 2011

Page 28: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Touch QT Sensor

photo credits © wikimedia

Ultrasound SensorDistance IR Sensor

Friday, March 11, 2011

Page 29: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Analog write

Friday, March 11, 2011

Page 30: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

PWM

photo credits © todbot.com

Friday, March 11, 2011

Page 31: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Hello World!

Friday, March 11, 2011

Page 32: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

photo credits © todbot.com

Three characteristics of PWM signals

• Pulse width range (min/max)

• Pulse period

• Voltage levels

(0-5V, for instance)width

periodheight

Friday, March 11, 2011

Page 33: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

photo credits © todbot.com

•PWM freq is 50 Hz (i.e. every 20 millisecs) •Pulse width ranges from 1 to 2 millisecs •1 millisec = full anti-clockwise position •2 millisec = full clockwise position

Friday, March 11, 2011

Page 34: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

photo credits © todbot.com

Friday, March 11, 2011

Page 35: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Simple Servo Example

Friday, March 11, 2011

Page 36: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Friday, March 11, 2011

Page 37: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

File > Examples > Servo > Knob

Friday, March 11, 2011

Page 38: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

photo credits © elisa canducci

RGB LEDs & Interaction with light

Friday, March 11, 2011

Page 39: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

photo credits © todbot.com

Friday, March 11, 2011

Page 40: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Debugging:

Friday, March 11, 2011

Page 41: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Keep in mind:

-in electronics nothing ever works right the first time-when troubleshooting do always one modification at a time-be systematic to solve a problem-remember to take notes on how you solved the problem

Friday, March 11, 2011

Page 42: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Common sources of error:

-Is the circuit powered ?-Is the pin mentioned in the software the same in hardware ?-does the LED work ?-is the resistor the right value ?-is the software configured for the right serial port ?-does another application have control over the serial port ?

Friday, March 11, 2011

Page 43: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

End Part 2

Friday, March 11, 2011

Page 45: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Design your own project:

Friday, March 11, 2011

Page 46: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

1.) Brainstorm & write it down in plain text

from a persons view

example: if a peson walks in the roomthe spotlight is switched on and

applause sound is played through the speakers (scenario)

Friday, March 11, 2011

Page 47: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

2.) categorize your projectdigital input, analog input, digital

output, analog output

digital analog

paralellmany events at once

serial one event at a time

easy a bit more difficult

time consumingbut not too hard

the most challenging

Friday, March 11, 2011

Page 48: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

3.) Break it down in smaller partsstart with pseudo code

Example: If light level is less than … then

Turn Light on Turn motor on slow

Loop again

Friday, March 11, 2011

Page 49: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

4.) Brainstorm on the fastest routeto reach your goal (hardware hacking)

Friday, March 11, 2011

Page 50: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

5.) use the playground or freeduino.com to find re-usable

software elements

Friday, March 11, 2011

Page 51: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

6.) make an experimental step by step setup (hardware first)

Friday, March 11, 2011

Page 52: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

photo credits © elisa canducci

Friday, March 11, 2011

Page 53: Microcontroller & Arduino€¦ · Microcontroller & Arduino INTRODUCTION Friday, March 11, 2011. bx 24 basic stamp basic atom pic higher level lower level Assembly Friday, March 11,

Thanks & Have Fun!

Alexander Wiethoff & Raphael Wimmer

© Alexander Wiethoff 2011

Friday, March 11, 2011