introdução à plataforma arduino
DESCRIPTION
Slides da palestra de Hugo Reinaldo sobre a plataforma Arduino, no IV ECD realizado no IFPB.TRANSCRIPT
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.
INTRODUÇÃO
COMPUTAÇÃO FÍSICA
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.
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.
INTRODUÇÃO – Computação Física
Como os computadores nos veem ?
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
INTRODUÇÃO
SISTEMAS EMBARCADOS
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.
INTRODUÇÃO – SISTEMAS EMBARCADOS
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
INTRODUÇÃO – SISTEMAS EMBARCADOS
INTRODUÇÃO
MICROCONTROLADORES
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;
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.
INTRODUÇÃO - MICROCONTROLADORES
INTRODUÇÃO - MICROCONTROLADORES
Atmega 8Atmega 328
Attiny 45 NXP LPC176x
OMAP 3530
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.
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.
PLATAFORMA ARDUINO - HARDWARE
ADK MEGALilyPad
Nano
Mini
SeverinoUNO
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
PLATAFORMA ARDUINO – HARDWARESHIELDS
GPS Shield
USB Host
Ethernet
Motor Shield
XBee (Wireless)
Joystik Shield
PLATAFORMA ARDUINO – HARDWAREPLACA ARDUINO UNO
PLATAFORMA ARDUINO - HARDWARE
Arduino SHIELDS
PLATAFORMA ARDUINO – SOFTWAREARDUINO IDE
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}
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);
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”);
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);
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 );
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).
PERGUNTAS ???
OBRIGADO [email protected]