Sie sind auf Seite 1von 31

V - ENSOL V Encontro de Software Livre da Paraba

Introduo a plataforma Arduino

21.07.2011 hugo.reinaldo@gmail.com

OBJETIVOS

Apresentar conceitos bsicos sobre Computao Fsica, Sistemas Embarcados e Microcontroladores; Apresentar a plataforma de prototipao Arduino; Demonstrar o desenvolvimento de solues utilizando a plataforma.

21.07.2011 hugo.reinaldo@gmail.com

INTRODUO

COMPUTAO FSICA

21.07.2011 hugo.reinaldo@gmail.com

INTRODUO Computao Fsica

O que Computao Fsica ?

Physical computing is about creating a conversation between the physical world and the virtual world of the computer. - Igoe

Utilizao de sensores, atuadores e microcontroladores;

Interligar o mundo fsico com o mundo virtual.

21.07.2011 hugo.reinaldo@gmail.com

INTRODUO Computao Fsica

Perceber e responder a eventos no mundo fsico atravs de sensores;

Comportamento implementado por software;

Objetivo de alterar a forma de interao entre humanos e computadores.

21.07.2011 hugo.reinaldo@gmail.com

INTRODUO Computao Fsica

Como os computadores nos veem ?

21.07.2011 hugo.reinaldo@gmail.com

INTRODUO Computao Fsica


Sada: interao com teclado e mouse; Entrada: interao com o monitor;

Entrada: interao com caixas de som.

To change how the computer reacts to us, we have to change how it sees us. - Igoe

21.07.2011 hugo.reinaldo@gmail.com

INTRODUO

SISTEMAS EMBARCADOS

21.07.2011 hugo.reinaldo@gmail.com

INTRODUO SISTEMAS EMBARCADOS

Definio do termo Sistemas Embarcados no universal; Hardware programvel, com poder de processamento, para realizar uma tarefa especfica. - Vahid; Executam repetidamente apenas um programa.

21.07.2011 hugo.reinaldo@gmail.com

INTRODUO SISTEMAS EMBARCADOS

21.07.2011 hugo.reinaldo@gmail.com

INTRODUO SISTEMAS EMBARCADOS

Mais limitados em funcionalidades de hardware e/ou software do que os PCs;

Some devices that are called embedded systems, such as PDAs or web pads, are not really embedded systems.- Noergaard

21.07.2011 hugo.reinaldo@gmail.com

INTRODUO SISTEMAS EMBARCADOS

21.07.2011 hugo.reinaldo@gmail.com

INTRODUO

MICROCONTROLADORES

21.07.2011 hugo.reinaldo@gmail.com

INTRODUO - MICROCONTROLADORES

Componentes que formam um microcomputador agrupados em um nico chip de silcio. Dos 9 bilhes de processadores fabricados em 2005, menos de 2% foram para PCs. Os outros 8,8 bilhes foram para sistemas embarcados; Microcontroladores so o corao e a alma de muitos eletrodomsticos do dia a dia. Grade;

21.07.2011 hugo.reinaldo@gmail.com

INTRODUO - MICROCONTROLADORES

Formam a ponte entre hardware e software;

Dispositivos discretos que podem interagir com os diversos componentes de um circuito;

Podem variar em 8-bit, 16-bit ou 32-bit, o que se refere ao tamanho dos registradores internos e do acumulador.

21.07.2011 hugo.reinaldo@gmail.com

INTRODUO - MICROCONTROLADORES

21.07.2011 hugo.reinaldo@gmail.com

INTRODUO - MICROCONTROLADORES

Atmega 8 Atmega 328

Attiny 45 OMAP 3530

NXP LPC176x

21.07.2011 hugo.reinaldo@gmail.com

INTRODUO

PLATAFORMA ARDUINO

21.07.2011 hugo.reinaldo@gmail.com

PLATAFORMA ARDUINO - INTRODUO

O que o Arduino ?

Projeto opensource que consiste em hardware e software. - Schimidt;

Inicialmente criado para designers e artistas como plataforma de prototipao para os cursos de design de interao; Atualmente utilizada como plataforma de prototipao por amadores e especialistas em todo o mundo.
21.07.2011 hugo.reinaldo@gmail.com

PLATAFORMA ARDUINO - INTRODUO

Concebida para ser fcil de usar por iniciantes que possuem pouca experincia com software e eletrnica; A combinao do hardware e do software permite desenvolver projetos que podem ser utilizados para controlar o mundo fsico; Hardware de baixo custo se comparado com outras solues podendo ser desenvolvido, pois os projetos de hardware tambm so opensource.

21.07.2011 hugo.reinaldo@gmail.com

PLATAFORMA ARDUINO - HARDWARE

ADK

LilyPad

MEGA

Mini

Nano Severino UNO

21.07.2011 hugo.reinaldo@gmail.com

PLATAFORMA ARDUINO - HARDWARE

IBM PC/XT 5160


Arduino UNO

Clock SRAM Flash

- 4.7 Mhz - 128 KB - 370 KB

Clock SRAM Flash

- 16 Mhz - 2 KB - 32 KB

21.07.2011 hugo.reinaldo@gmail.com

PLATAFORMA ARDUINO - HARDWARE

Placa bsica do Arduino (UNO e Duemilanove)


21.07.2011 hugo.reinaldo@gmail.com

PLATAFORMA ARDUINO - SOFTWARE

Arduino IDE
21.07.2011 hugo.reinaldo@gmail.com

PLATAFORMA ARDUINO - SOFTWARE


Blocos bsicos de um Sketch
int LED_PIN=13; int DELAY=1000;

escopo global

setup()

void setup() { // initialize the digital pin as an output. // Pin 13 has an LED connected on most Arduino boards: pinMode(LED_PIN, OUTPUT); }

loop()

void loop() { digitalWrite(LED_PIN, HIGH); // set the LED on delay(DELAY); // wait for a second digitalWrite(LED_PIN, LOW); // set the LED off delay(DELAY); // wait for a second }

21.07.2011 hugo.reinaldo@gmail.com

PLATAFORMA ARDUINO - SOFTWARE

Entrada e sada digital (Digital I/O):

pinMode( PIN, MODE );

Configurar um pino para um modo especfico.

pinMode(13, OUTPUT);

digitalRead( PIN );

Ler o valor/estado(HIGH, LOW) de um pino.

valor = digitalRead(13);

digitalWrite( PIN, VALOR );

Atribuir um nvel de tenso a um pino (HIGH = 5v, LOW = 0v)

digitalWrite(13, HIGH);

21.07.2011 hugo.reinaldo@gmail.com

PLATAFORMA ARDUINO - SOFTWARE

Comunicao serial (RS232):

Serial.begin( BAUDRATE );

Configurar a porta serial para uma velocidade especfica.

Serial.begin(9600);

Serial.read( );

Ler dados da porta serial.

byte = Serial.read( );

Serial.print( STRING );

Escrever uma string na porta serial.

Serial.print(V ENSOL\n);

21.07.2011 hugo.reinaldo@gmail.com

PLATAFORMA ARDUINO - SOFTWARE

Entrada e sada analgica (Analog I/O):

analogReference( TYPE );

Configurar a tenso de referncia para entrada analgica.

analogReference( DEFAULT );

analogRead( PIN );

Ler o valor(0-1023 = .0049V resoluo) de um pino analgico.

valor = analogRead(3);

analogWrite( PIN, VALOR );

Atribuir um valor(0-255) analgico(PWM) em um pino.

analogWrite(3, 10);

21.07.2011 hugo.reinaldo@gmail.com

PLATAFORMA ARDUINO - SOFTWARE

Interrupes:

interrupts( );

Habilitar interrupes externas.

interrupts();

attachInterrupt( ID, FUNCAO, MODO );

Especificar uma funo a ser chamada quando a interrupo externa ocorrer.

attachInterrupt( 0, funcao, CHANGE );

detachInterrupt( ID );

Desabilitar uma interrupo.

detachInterrupt( 0 );

21.07.2011 hugo.reinaldo@gmail.com

REFERENCIAS
[1] Physical Computing: Sensing and Controlling the Physical World with Computers. Igoe; Thomson; (2004). [2] Embedded System Design: A Unified Hardware/Software Approach. Vahid; (1999). [3] Embedded Systems Architecture: A Comprehensive Guide for Engineers and Programmers. Noergaard; (2005). [4] tinyAVR Microcontroller Projects for the Evil Genius. Gadre; (2011).

21.07.2011 hugo.reinaldo@gmail.com

PERGUNTAS ???

21.07.2011 hugo.reinaldo@gmail.com

Das könnte Ihnen auch gefallen