ARDUINO
Curso basAR
Christopher Shneider Cerqueira – christophercerqueira@gmail.com
Claudio Kirner – ckirner@gmail.com
https://sites.google.com/site/christophercerqueira/projetos/ear/basar
http://www.ckirner.com/basar
1
Requisitos
• Windows
• basAR
– Download:
• https://sites.google.com/site/christophercerqueira/proj
etos/ear/basar
• http://www.ckirner.com/basar
• Alguns modelos 3D em VRML
• ARDUINO
• Editor de texto simples, como o Bloco de
Notas.
2
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Roteiro
• Introdução: Metas
• basAR
• Criando infraestrutura, estrutura e conteúdo
• Criando comunicação com o ARDUINO
– Conceitos:
• Tabela de comandos
• Envio de comandos
• Recepção de comandos
• Interrupção
– Comandos
– Alterando comandos
– Atividade
3
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Introdução
• Criar um cenário de Realidade Aumentada.
– Dois pontos de seleção e um ponto de exibição
• Utilizar o software basAR.
• Entender a construção do cenário.
• Entender os conceitos de mudança de estado e
mudança de atributos
4
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
basAR
5
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
basAR: Behavioral Authoring System for Augmented Reality
• Meta-ferramenta de
autoria de ambientes
inteligentes de realidade
aumentada .
– Estrutura de
comportamento baseada
em pontos de ação
– Cross-Reality
• COMPORTAMENTO DINÂMICO
entre PONTOS DE AÇÃO
Comportamento
Pontos de
ação
Hardware
Externo
basAR
6
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
• Infraestrutura: especificar a
área de trabalho (workspace)
da aplicação
• Estrutura: os posicionamentos
dos pontos de ação sobre a
infraestrutura.
• Contexto: modelos, sons e
outros objetos definidos na
estrutura.
• Atuação: método de interação
com a estrutura.
• Comportamento: regras de
interação entre os atuadores e
a estrutura.
Aplicação em camadas
7
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Hierarquia de objetos
basAR
Behavior
Base
Actuator
point1 ... pointK
app_pointM1
m1.dat
m1.wrl
...
...
...
Feedback
Feedback
Feedback
Click1.mp3
Error.mp3
Turn real motor ON
...
app_pointK
m1.dat
m1.wrl
m2.dat
M2.wrl
8
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Hierarquia de arquivos
config_basAR
config_behavior
config_base
config_actuator
app_pointM1
m1.dat
m1.wrl
app_arduino app_pointK
m1.dat
m1.wrl
m2.dat
M2.wrl
9
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
INFRAESTRUTURA, ESTRUTURA,
CONTEÚDO E ATUAÇÃO
Criando
10
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Sistema
config_basAR
config_behavior
config_base
config_actuator
app_pointM1
m1.dat
m1.wrl
app_arduino app_pointK
m1.dat
m1.wrl
m2.dat
M2.wrl
11
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
• Configura:
– a primeira interligação
dos objetos;
– modo de exibição da
janela;
– objetos padrões.
• Arquivo:
{basAR}/Data/config_basAR
Sistema
12
#config_basAR
basAR
WINDOWED
VRML wrl/action/ballBlue.dat
VRML Wrl/Action/ballGreen.dat
VRML Wrl/Action/ballRED.dat
VRML Wrl/action/tampa.dat
Audio/explosion.wav 0.5
Audio/backTrack.mp3 LOOP 0.3
Audio/bell.wav ONCE 0.5
Data/config_behavior # Rule Machine
# Bases
1
Data/config_base1
# Actuators
1
ARTKSM Data/config_transport
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Infraestrutura
config_basAR
config_behavior
config_base
config_actuator
app_pointM1
m1.dat
m1.wrl
app_arduino app_pointK
m1.dat
m1.wrl
m2.dat
M2.wrl
13
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
• correlação entre o
mundo real e o mundo
virtual
• Definição de base
• Arquivo:
{basAR}/Data/config_base
Infraestrutura
#config_base1
# This file contains the setup for a workspace
BASE1
# Single ARToolKit Marker configuration
ARTKSM
Data/Markers/base.patt
53.0
0.0 0.0
USE_DEFAULT
# Workspace Sounds
Audio/bell.wav ONCE 0.5 # Visible Sound
Audio/explosion.wav 0.5 # Error sound
wrl/action/status.dat
14
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Estrutura
config_basAR
config_behavior
config_base
config_actuator
app_pointM1
m1.dat
m1.wrl
app_arduino app_pointK
m1.dat
m1.wrl
m2.dat
M2.wrl
15
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
• Pontos do espaço virtual
com esferas de ação,
modelos associados e
comportamento.
• Localização, orientação e
escala dos objetos virtuais.
• Arquivo:
{basAR}/Data/config_base
…
Pen # Point Name
DEFAULT_IPOINT # Action Model File
Data/app_pen # OBJECT Model File
20.0 20.0 0.0 # Translation
0.0 0.0 0.0 # Rotation
1.0 1.0 1.0 # Scale
900.0 # Action radius
…
Estrutura
16
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Exemplo com 3 pontos
…
2
Ponto
DEFAULT_IPOINT
Data/App/app_object
100.0 100.0 25.0
0.0 0.0 0.0
1.0 1.0 1.0
300.0
Arduino
EXTERN_IPOINT
Data/App/app_arduino
100.0 0.0 25.0
0.0 0.0 0.0
1.0 1.0 1.0
0
{basAR}/Data/config_base
17
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Arquivo config_base completo _p1
BASE1
ARTKSM
Data/Markers/base.patt
53.0
0.0 0.0
USE_DEFAULT
Audio/bell.wav ONCE 0.5
Audio/explosion.wav 0.5
wrl/action/status.dat
2
Ponto
DEFAULT_IPOINT
Data/App/app_object
100.0 100.0 25.0
0.0 0.0 0.0
1.0 1.0 1.0
300.0
18
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Arquivo config_base completo _p2
Arduino
EXTERN_IPOINT
Data/App/app_arduino
100.0 0.0 25.0
0.0 0.0 0.0
1.0 1.0 1.0
0
19
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Conteúdo
config_basAR
config_behavior
config_base
config_actuator
app_pointM1
m1.dat
m1.wrl
app_arduino app_pointK
m1.dat
m1.wrl
m2.dat
M2.wrl
20
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
• objetos 3D e áudios que são
utilizados.
• Arquivos:
{basAR}/Data/App/app_obj
{basAR}/Wrl/quad.dat
{basAR}/Wrl/triang.dat
{basAR}/Wrl/quad.wrl
{basAR}/Wrl/triang.wrl
#app_obj
2 # Number of objects
MODEL3D VRML Wrl/quad.dat
MODEL3D VRML Wrl/triang.dat
Conteúdo
#quad.dat
quad.wrl
0 0 0
0 90 0
0 0 0
21
# triang.dat
triang.wrl
0 0 0
0 90 0
0 0 0
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Atuação
config_basAR
config_behavior
config_base
config_actuator
app_pointM1
m1.dat
m1.wrl
app_arduino app_pointK
m1.dat
m1.wrl
m2.dat
M2.wrl
22
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
• Interação do usuário com
o sistema
#config_tranport
ARTKSM1
# Single ARToolKit Marker configuration
Data/Markers/shovell.patt # Marker
37.0 # Width(mm)
0.0 0.0 # Central
USE_DEFAULT # Marker cover
VRML wrl/Action/ssd.dat # Symbolic
model
# Collision point
DEFAULT_IPOINT # Point model
20.0 0.0 0.0 # Translation (x,y,z) (mm)
400.0 # Action radius of the point
Atuação
23
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
COMUNICAÇÃO COM O ARDUINO
Criando
24
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Comportamento?
• Controle do feedback do sistema ao receber
estimulo do usuário.
• Baseado em máquina de estados (grafo de
cena).
• Ações  Comandos
• Estados  Blocos de comandos
25
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Exemplo de estado
• Inicia estado
• Ponto 1 estático, exibe tudo
• Ponto 1 estático, exibe tudo
• Ponto 1 estático, exibe tudo
• Finaliza estado
• Outros comandos vide manual do basAR!
BEGIN_STATE 1
1 STAT BOTH
2 STAT BOTH
3 STAT BOTH
END_STATE
26
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
O que é Comunicação?
• Envio e recepção de dados entre dois ou mais
sistemas.
• Protocolo de comunicação.
• Lookup table
27
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Evento de envio
28
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Evento de Recepção
29
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Evento de Interrupção
30
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Lookup Table
• Tabela de tradução de comandos para enviar
para o ARDUINO.
• Auxilia na separação de qual comando vai ser
enviado para o ARDUINO
31
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Lookup Table
COM4 # ARDUINO COM
# ARDUINO LOOKUP TABLE
# THE NUMBERS 00-09, and 255 are RESERVED to Configuration and Test. 10-254
# TABLE FORMAT: REQUEST_NUMBER REQUEST_NAME <NEXT_STATE>
# CONFIGURATION AND TEST COMMANDS
1 aliveTest
2 aliveAnswer
3 intRequest
4 readRequest
5 readRequestAnswer
# USER COMMANDS
# DEVICE 1 - Light
10 lightOFF
11 lightON
# DEVICE 2 - Button
20 buttonPressed 5 32
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
ARDUINO CODE
// start global variables
void setup() {
Serial.begin(9600); // connect to the serial port
}
void loop () {
// read the serial port
val = Serial.read();
// Code to adapt data
switch(val){
case 1: {// CHECK IF ITS aliveTest
Serial.print(2); // send back aliveAnswer
break; }
case 3: {// CHECK IF ITS intRequest
{Serial.print(intNSdata);
break; }
case 4: {// CHECK IF Its readRequest
break; }
default:
break; }
}
33
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Comando de envio de mensagens
• Enviar mensagem (Send message)
– ESND
• 1 ESND lightON
34
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Comando de recebimento de mensagens
• Receber mensagem (Receive message)
– ESND
• 1 ERCV buttonPressed
35
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Comportamento
config_basAR
config_behavior
config_base
config_actuator
app_pointM1
m1.dat
m1.wrl
app_arduino app_pointK
m1.dat
m1.wrl
m2.dat
M2.wrl
36
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Arquivo de Comportamento
BEGIN_STATE 1
1 CHGST ONLY_BALL 2
2 ESND lightOFF
END_STATE AFTER 2
BEGIN_STATE 2
1 CHGST ONLY_BALL 1
2 ESND lightON
END_STATE AFTER 2
37
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
RESUMO
38
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Resumo comandos utilizados
–CHGST: [PointID] CHGST [ShowMode] [NextState] <AUDIO> <OVER?>
–ESND: [PointID] ESND [Message]
–ERCV: [PointID] ERCV [Message]
39
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Ajuda online
• Videos exemplificando cada comportamento
disponível e os arquivos utilizados neste
tutorial estão disponíveis em:
https://sites.google.com/site/christophercerquei
ra/projetos/ear/basar/cursos
40
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
Clicks
Curso basAR
Christopher Shneider Cerqueira – christophercerqueira@gmail.com
Claudio Kirner – ckirner@gmail.com
https://sites.google.com/site/christophercerqueira/projetos/ear/basar
http://www.ckirner.com/basar
41

Curso basAR e Arduino

  • 1.
    ARDUINO Curso basAR Christopher ShneiderCerqueira – christophercerqueira@gmail.com Claudio Kirner – ckirner@gmail.com https://sites.google.com/site/christophercerqueira/projetos/ear/basar http://www.ckirner.com/basar 1
  • 2.
    Requisitos • Windows • basAR –Download: • https://sites.google.com/site/christophercerqueira/proj etos/ear/basar • http://www.ckirner.com/basar • Alguns modelos 3D em VRML • ARDUINO • Editor de texto simples, como o Bloco de Notas. 2 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 3.
    Roteiro • Introdução: Metas •basAR • Criando infraestrutura, estrutura e conteúdo • Criando comunicação com o ARDUINO – Conceitos: • Tabela de comandos • Envio de comandos • Recepção de comandos • Interrupção – Comandos – Alterando comandos – Atividade 3 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 4.
    Introdução • Criar umcenário de Realidade Aumentada. – Dois pontos de seleção e um ponto de exibição • Utilizar o software basAR. • Entender a construção do cenário. • Entender os conceitos de mudança de estado e mudança de atributos 4 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 5.
  • 6.
    basAR: Behavioral AuthoringSystem for Augmented Reality • Meta-ferramenta de autoria de ambientes inteligentes de realidade aumentada . – Estrutura de comportamento baseada em pontos de ação – Cross-Reality • COMPORTAMENTO DINÂMICO entre PONTOS DE AÇÃO Comportamento Pontos de ação Hardware Externo basAR 6 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 7.
    • Infraestrutura: especificara área de trabalho (workspace) da aplicação • Estrutura: os posicionamentos dos pontos de ação sobre a infraestrutura. • Contexto: modelos, sons e outros objetos definidos na estrutura. • Atuação: método de interação com a estrutura. • Comportamento: regras de interação entre os atuadores e a estrutura. Aplicação em camadas 7 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 8.
    Hierarquia de objetos basAR Behavior Base Actuator point1... pointK app_pointM1 m1.dat m1.wrl ... ... ... Feedback Feedback Feedback Click1.mp3 Error.mp3 Turn real motor ON ... app_pointK m1.dat m1.wrl m2.dat M2.wrl 8 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 9.
    Hierarquia de arquivos config_basAR config_behavior config_base config_actuator app_pointM1 m1.dat m1.wrl app_arduinoapp_pointK m1.dat m1.wrl m2.dat M2.wrl 9 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 10.
    INFRAESTRUTURA, ESTRUTURA, CONTEÚDO EATUAÇÃO Criando 10 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 11.
  • 12.
    • Configura: – aprimeira interligação dos objetos; – modo de exibição da janela; – objetos padrões. • Arquivo: {basAR}/Data/config_basAR Sistema 12 #config_basAR basAR WINDOWED VRML wrl/action/ballBlue.dat VRML Wrl/Action/ballGreen.dat VRML Wrl/Action/ballRED.dat VRML Wrl/action/tampa.dat Audio/explosion.wav 0.5 Audio/backTrack.mp3 LOOP 0.3 Audio/bell.wav ONCE 0.5 Data/config_behavior # Rule Machine # Bases 1 Data/config_base1 # Actuators 1 ARTKSM Data/config_transport basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 13.
  • 14.
    • correlação entreo mundo real e o mundo virtual • Definição de base • Arquivo: {basAR}/Data/config_base Infraestrutura #config_base1 # This file contains the setup for a workspace BASE1 # Single ARToolKit Marker configuration ARTKSM Data/Markers/base.patt 53.0 0.0 0.0 USE_DEFAULT # Workspace Sounds Audio/bell.wav ONCE 0.5 # Visible Sound Audio/explosion.wav 0.5 # Error sound wrl/action/status.dat 14 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 15.
  • 16.
    • Pontos doespaço virtual com esferas de ação, modelos associados e comportamento. • Localização, orientação e escala dos objetos virtuais. • Arquivo: {basAR}/Data/config_base … Pen # Point Name DEFAULT_IPOINT # Action Model File Data/app_pen # OBJECT Model File 20.0 20.0 0.0 # Translation 0.0 0.0 0.0 # Rotation 1.0 1.0 1.0 # Scale 900.0 # Action radius … Estrutura 16 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 17.
    Exemplo com 3pontos … 2 Ponto DEFAULT_IPOINT Data/App/app_object 100.0 100.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 300.0 Arduino EXTERN_IPOINT Data/App/app_arduino 100.0 0.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 0 {basAR}/Data/config_base 17 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 18.
    Arquivo config_base completo_p1 BASE1 ARTKSM Data/Markers/base.patt 53.0 0.0 0.0 USE_DEFAULT Audio/bell.wav ONCE 0.5 Audio/explosion.wav 0.5 wrl/action/status.dat 2 Ponto DEFAULT_IPOINT Data/App/app_object 100.0 100.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 300.0 18 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 19.
    Arquivo config_base completo_p2 Arduino EXTERN_IPOINT Data/App/app_arduino 100.0 0.0 25.0 0.0 0.0 0.0 1.0 1.0 1.0 0 19 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 20.
  • 21.
    • objetos 3De áudios que são utilizados. • Arquivos: {basAR}/Data/App/app_obj {basAR}/Wrl/quad.dat {basAR}/Wrl/triang.dat {basAR}/Wrl/quad.wrl {basAR}/Wrl/triang.wrl #app_obj 2 # Number of objects MODEL3D VRML Wrl/quad.dat MODEL3D VRML Wrl/triang.dat Conteúdo #quad.dat quad.wrl 0 0 0 0 90 0 0 0 0 21 # triang.dat triang.wrl 0 0 0 0 90 0 0 0 0 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 22.
  • 23.
    • Interação dousuário com o sistema #config_tranport ARTKSM1 # Single ARToolKit Marker configuration Data/Markers/shovell.patt # Marker 37.0 # Width(mm) 0.0 0.0 # Central USE_DEFAULT # Marker cover VRML wrl/Action/ssd.dat # Symbolic model # Collision point DEFAULT_IPOINT # Point model 20.0 0.0 0.0 # Translation (x,y,z) (mm) 400.0 # Action radius of the point Atuação 23 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 24.
    COMUNICAÇÃO COM OARDUINO Criando 24 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 25.
    Comportamento? • Controle dofeedback do sistema ao receber estimulo do usuário. • Baseado em máquina de estados (grafo de cena). • Ações  Comandos • Estados  Blocos de comandos 25 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 26.
    Exemplo de estado •Inicia estado • Ponto 1 estático, exibe tudo • Ponto 1 estático, exibe tudo • Ponto 1 estático, exibe tudo • Finaliza estado • Outros comandos vide manual do basAR! BEGIN_STATE 1 1 STAT BOTH 2 STAT BOTH 3 STAT BOTH END_STATE 26 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 27.
    O que éComunicação? • Envio e recepção de dados entre dois ou mais sistemas. • Protocolo de comunicação. • Lookup table 27 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 28.
    Evento de envio 28 basAR:ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 29.
    Evento de Recepção 29 basAR:ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 30.
    Evento de Interrupção 30 basAR:ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 31.
    Lookup Table • Tabelade tradução de comandos para enviar para o ARDUINO. • Auxilia na separação de qual comando vai ser enviado para o ARDUINO 31 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 32.
    Lookup Table COM4 #ARDUINO COM # ARDUINO LOOKUP TABLE # THE NUMBERS 00-09, and 255 are RESERVED to Configuration and Test. 10-254 # TABLE FORMAT: REQUEST_NUMBER REQUEST_NAME <NEXT_STATE> # CONFIGURATION AND TEST COMMANDS 1 aliveTest 2 aliveAnswer 3 intRequest 4 readRequest 5 readRequestAnswer # USER COMMANDS # DEVICE 1 - Light 10 lightOFF 11 lightON # DEVICE 2 - Button 20 buttonPressed 5 32 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 33.
    ARDUINO CODE // startglobal variables void setup() { Serial.begin(9600); // connect to the serial port } void loop () { // read the serial port val = Serial.read(); // Code to adapt data switch(val){ case 1: {// CHECK IF ITS aliveTest Serial.print(2); // send back aliveAnswer break; } case 3: {// CHECK IF ITS intRequest {Serial.print(intNSdata); break; } case 4: {// CHECK IF Its readRequest break; } default: break; } } 33 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 34.
    Comando de enviode mensagens • Enviar mensagem (Send message) – ESND • 1 ESND lightON 34 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 35.
    Comando de recebimentode mensagens • Receber mensagem (Receive message) – ESND • 1 ERCV buttonPressed 35 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 36.
  • 37.
    Arquivo de Comportamento BEGIN_STATE1 1 CHGST ONLY_BALL 2 2 ESND lightOFF END_STATE AFTER 2 BEGIN_STATE 2 1 CHGST ONLY_BALL 1 2 ESND lightON END_STATE AFTER 2 37 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 38.
  • 39.
    Resumo comandos utilizados –CHGST:[PointID] CHGST [ShowMode] [NextState] <AUDIO> <OVER?> –ESND: [PointID] ESND [Message] –ERCV: [PointID] ERCV [Message] 39 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 40.
    Ajuda online • Videosexemplificando cada comportamento disponível e os arquivos utilizados neste tutorial estão disponíveis em: https://sites.google.com/site/christophercerquei ra/projetos/ear/basar/cursos 40 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  • 41.
    Clicks Curso basAR Christopher ShneiderCerqueira – christophercerqueira@gmail.com Claudio Kirner – ckirner@gmail.com https://sites.google.com/site/christophercerqueira/projetos/ear/basar http://www.ckirner.com/basar 41