Introdução à plataforma Arduino

34

description

Slides da palestra de Hugo Reinaldo sobre a plataforma Arduino, no IV ECD realizado no IFPB.

Transcript of Introdução à plataforma Arduino

Page 1: Introdução à plataforma Arduino
Page 2: Introdução à plataforma Arduino

OBJETIVOS

● Apresentar conceitos básicos sobre Computação Física, Sistemas Embarcados e Microcontroladores;

● Apresentar a plataforma de prototipação Arduino;

● Apresentar API básica de desenvolvimento.

Page 3: Introdução à plataforma Arduino

INTRODUÇÃO

COMPUTAÇÃO FÍSICA

Page 4: Introdução à plataforma Arduino

INTRODUÇÃO – Computação Física

● O que é Computação Física ?

● “Physical computing is about creating a conversation

between the physical world and the virtual world of the

computer.” - Igoe

● Utilização de sensores, atuadores e microcontroladores;

● Interligar o mundo físico com o mundo virtual.

Page 5: Introdução à plataforma Arduino

INTRODUÇÃO – Computação Física

● Perceber e responder a eventos no mundo

físico através de sensores;

● Comportamento implementado por software;

● Objetivo de alterar a forma de interação

entre humanos e computadores.

Page 6: Introdução à plataforma Arduino

INTRODUÇÃO – Computação Física

Como os computadores nos veem ?

Page 7: Introdução à plataforma Arduino

INTRODUÇÃO – Computação Física

Saída: interação com teclado e mouse;

Entrada: interação com o monitor;

Entrada: interação com caixas de som.

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

Page 8: Introdução à plataforma Arduino

INTRODUÇÃO

SISTEMAS EMBARCADOS

Page 9: Introdução à plataforma Arduino

INTRODUÇÃO – SISTEMAS EMBARCADOS

● Definição do termo Sistemas Embarcados não é universal;

● “Hardware programável, com poder de processamento, para realizar uma tarefa específica.” - Vahid;

● Executam repetidamente apenas um programa.

Page 10: Introdução à plataforma Arduino

INTRODUÇÃO – SISTEMAS EMBARCADOS

Page 11: Introdução à plataforma Arduino

INTRODUÇÃO – 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

Page 12: Introdução à plataforma Arduino

INTRODUÇÃO – SISTEMAS EMBARCADOS

Page 13: Introdução à plataforma Arduino

INTRODUÇÃO

MICROCONTROLADORES

Page 14: Introdução à plataforma Arduino

INTRODUÇÃO - MICROCONTROLADORES

● Componentes que formam um microcomputador agrupados em um único chip de silício.

● Dos 9 bilhões de processadores fabricados em 2005, menos de 2% foram para PCs. Os outros 8,8 bilhões foram para sistemas embarcados;

● “Microcontroladores são o coração e a alma de muitos eletrodomésticos do dia a dia.” - Grade;

Page 15: Introdução à plataforma Arduino

INTRODUÇÃO - 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.

Page 16: Introdução à plataforma Arduino

INTRODUÇÃO - MICROCONTROLADORES

Page 17: Introdução à plataforma Arduino

INTRODUÇÃO - MICROCONTROLADORES

Atmega 8Atmega 328

Attiny 45 NXP LPC176x

OMAP 3530

Page 18: Introdução à plataforma Arduino

INTRODUÇÃO

PLATAFORMA ARDUINO

Page 19: Introdução à plataforma Arduino

PLATAFORMA ARDUINO - INTRODUÇÃO

● O que é o Arduino ?● “Projeto opensource que consiste em hardware e software.” - Schimidt;

● Inicialmente criado para designers e artistas como plataforma de prototipação para os cursos de design de interação;

● Atualmente utilizada como plataforma de prototipação por amadores e especialistas em todo o mundo.

Page 20: Introdução à plataforma Arduino

PLATAFORMA ARDUINO - INTRODUÇÃO

● Concebida para ser fácil de usar por iniciantes que possuem pouca experiência com software e eletrônica;

● A combinação do hardware e do software permite desenvolver projetos que podem ser utilizados para controlar o mundo físico;

● Hardware de baixo custo se comparado com outras soluções podendo ser desenvolvido, projetos de hardware também são opensource.

Page 21: Introdução à plataforma Arduino

PLATAFORMA ARDUINO - HARDWARE

ADK MEGALilyPad

Nano

Mini

SeverinoUNO

Page 22: Introdução à plataforma Arduino

PLATAFORMA ARDUINO - HARDWARE

IBM PC/XT 5160 Arduino UNO

● Clock - 16 Mhz● SRAM - 2 KB● Flash - 32 KB

● Clock - 4.7 Mhz● RAM - 128 KB● Flash - 370 KB

Page 23: Introdução à plataforma Arduino

PLATAFORMA ARDUINO – HARDWARESHIELDS

GPS Shield

USB Host

Ethernet

Motor Shield

XBee (Wireless)

Joystik Shield

Page 24: Introdução à plataforma Arduino

PLATAFORMA ARDUINO – HARDWAREPLACA ARDUINO UNO

Page 25: Introdução à plataforma Arduino

PLATAFORMA ARDUINO - HARDWARE

Arduino SHIELDS

Page 26: Introdução à plataforma Arduino

PLATAFORMA ARDUINO – SOFTWAREARDUINO IDE

Page 27: Introdução à plataforma Arduino

PLATAFORMA ARDUINO – SOFTWAREBLOCOS SKETCHES

escopo global

setup()

loop()

int LED_PIN=13;int DELAY=1000;

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

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}

Page 28: Introdução à plataforma Arduino

PLATAFORMA ARDUINO – SOFTWAREENTRADA/SAÍDA DIGITAL

pinMode( PIN, MODE );

– Configurar um pino para um modo específico.● pinMode(13, OUTPUT);

digitalRead( PIN );

– Ler o valor/estado(HIGH, LOW) de um pino.● valor = digitalRead(13);

digitalWrite( PIN, VALOR );

– Atribuir um nível de tensão a um pino (HIGH = 5v, LOW = 0v)

● digitalWrite(13, HIGH);

Page 29: Introdução à plataforma Arduino

PLATAFORMA ARDUINO – SOFTWARECOMUNICAÇÃO SERIAL - RS232

Serial.begin( BAUDRATE );

– Configurar a porta serial para uma velocidade específica.

● 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”);

Page 30: Introdução à plataforma Arduino

PLATAFORMA ARDUINO – SOFTWAREENTRADA/SAÍDA ANALÓGICA

analogReference( TYPE );

– Configurar a tensão de referência para entrada analógica.

● analogReference( DEFAULT );

analogRead( PIN );

– Ler o valor(0-1023 = .0049V resolução) de um pino analógico.

● valor = analogRead(3);

analogWrite( PIN, VALOR );

– Atribuir um valor(0-255) analógico(PWM) em um pino.● analogWrite(3, 10);

Page 31: Introdução à plataforma Arduino

PLATAFORMA ARDUINO – SOFTWAREINTERRUPÇÕES

interrupts( );

– Habilitar interrupções externas.● Interrupts();

attachInterrupt( ID, FUNCAO, MODO );

– Especificar uma função a ser chamada quando a interrupção externa ocorrer.

● attachInterrupt( 0, funcao, CHANGE );

detachInterrupt( ID );

– Desabilitar uma interrupção.● detachInterrupt( 0 );

Page 32: Introdução à plataforma Arduino

REFERENCIAS

Arduino; www.arduino.cc

Hackaday; www.hackaday.com

Makezine; blog.makezine.com

Physical Computing: Sensing and Controlling the Physical World with Computers. Igoe; Thomson; (2004).

Embedded System Design: A Unified Hardware/Software Approach. Vahid; (1999).

Embedded Systems Architecture: A Comprehensive Guide for Engineers and Programmers. Noergaard; (2005).

tinyAVR Microcontroller Projects for the Evil Genius. Gadre; (2011).

Page 33: Introdução à plataforma Arduino

PERGUNTAS ???

Page 34: Introdução à plataforma Arduino

OBRIGADO [email protected]