Este documento introduz conceitos sobre computação física, sistemas embarcados e microcontroladores. Apresenta a plataforma Arduino, incluindo hardware, software e aplicações básicas de entrada/saída.
2. 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.
4. 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.
5. 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.
7. 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
9. 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.
11. 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
14. 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;
15. 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.
19. 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.
20. 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.
27. PLATAFORMA ARDUINO – SOFTWARE
BLOCOS SKETCHES
int LED_PIN=13;
escopo global int DELAY=1000;
void setup() {
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
loop() delay(DELAY); // wait for a second
digitalWrite(LED_PIN, LOW); // set the LED off
delay(DELAY); // wait for a second
}
28. PLATAFORMA ARDUINO – SOFTWARE
ENTRADA/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);
29. PLATAFORMA ARDUINO – SOFTWARE
COMUNICAÇÃ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 ENSOLn”);
30. PLATAFORMA ARDUINO – SOFTWARE
ENTRADA/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);
31. PLATAFORMA ARDUINO – SOFTWARE
INTERRUPÇÕ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 );
32. 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).