O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
ARDUINO
Curso basAR
Christopher Shneider Cerqueira – christophercerqueira@gmail.com
Claudio Kirner – ckirner@gmail.com
htt...
Requisitos
• Windows
• basAR
– Download:
• https://sites.google.com/site/christophercerqueira/proj
etos/ear/basar
• http:/...
Roteiro
• Introdução: Metas
• basAR
• Criando infraestrutura, estrutura e conteúdo
• Criando comunicação com o ARDUINO
– C...
Introdução
• Criar um cenário de Realidade Aumentada.
– Dois pontos de seleção e um ponto de exibição
• Utilizar o softwar...
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 realida...
• Infraestrutura: especificar a
área de trabalho (workspace)
da aplicação
• Estrutura: os posicionamentos
dos pontos de aç...
Hierarquia de objetos
basAR
Behavior
Base
Actuator
point1 ... pointK
app_pointM1
m1.dat
m1.wrl
...
...
...
Feedback
Feedba...
Hierarquia de arquivos
config_basAR
config_behavior
config_base
config_actuator
app_pointM1
m1.dat
m1.wrl
app_arduino app_...
INFRAESTRUTURA, ESTRUTURA,
CONTEÚDO E ATUAÇÃO
Criando
10
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projeto...
Sistema
config_basAR
config_behavior
config_base
config_actuator
app_pointM1
m1.dat
m1.wrl
app_arduino app_pointK
m1.dat
m...
• Configura:
– a primeira interligação
dos objetos;
– modo de exibição da
janela;
– objetos padrões.
• Arquivo:
{basAR}/Da...
Infraestrutura
config_basAR
config_behavior
config_base
config_actuator
app_pointM1
m1.dat
m1.wrl
app_arduino app_pointK
m...
• correlação entre o
mundo real e o mundo
virtual
• Definição de base
• Arquivo:
{basAR}/Data/config_base
Infraestrutura
#...
Estrutura
config_basAR
config_behavior
config_base
config_actuator
app_pointM1
m1.dat
m1.wrl
app_arduino app_pointK
m1.dat...
• Pontos do espaço virtual
com esferas de ação,
modelos associados e
comportamento.
• Localização, orientação e
escala dos...
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
E...
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
Audi...
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
ba...
Conteúdo
config_basAR
config_behavior
config_base
config_actuator
app_pointM1
m1.dat
m1.wrl
app_arduino app_pointK
m1.dat
...
• objetos 3D e áudios que são
utilizados.
• Arquivos:
{basAR}/Data/App/app_obj
{basAR}/Wrl/quad.dat
{basAR}/Wrl/triang.dat...
Atuação
config_basAR
config_behavior
config_base
config_actuator
app_pointM1
m1.dat
m1.wrl
app_arduino app_pointK
m1.dat
m...
• Interação do usuário com
o sistema
#config_tranport
ARTKSM1
# Single ARToolKit Marker configuration
Data/Markers/shovell...
COMUNICAÇÃO COM O ARDUINO
Criando
24
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.c...
Comportamento?
• Controle do feedback do sistema ao receber
estimulo do usuário.
• Baseado em máquina de estados (grafo de...
Exemplo de estado
• Inicia estado
• Ponto 1 estático, exibe tudo
• Ponto 1 estático, exibe tudo
• Ponto 1 estático, exibe ...
O que é Comunicação?
• Envio e recepção de dados entre dois ou mais
sistemas.
• Protocolo de comunicação.
• Lookup table
2...
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/basa...
Evento de Interrupção
30
basAR: ARDUINO
sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/b...
Lookup Table
• Tabela de tradução de comandos para enviar
para o ARDUINO.
• Auxilia na separação de qual comando vai ser
e...
Lookup Table
COM4 # ARDUINO COM
# ARDUINO LOOKUP TABLE
# THE NUMBERS 00-09, and 255 are RESERVED to Configuration and Test...
ARDUINO CODE
// start global variables
void setup() {
Serial.begin(9600); // connect to the serial port
}
void loop () {
/...
Comando de envio de mensagens
• Enviar mensagem (Send message)
– ESND
• 1 ESND lightON
34
basAR: ARDUINO
sites.google.com/...
Comando de recebimento de mensagens
• Receber mensagem (Receive message)
– ESND
• 1 ERCV buttonPressed
35
basAR: ARDUINO
s...
Comportamento
config_basAR
config_behavior
config_base
config_actuator
app_pointM1
m1.dat
m1.wrl
app_arduino app_pointK
m1...
Arquivo de Comportamento
BEGIN_STATE 1
1 CHGST ONLY_BALL 2
2 ESND lightOFF
END_STATE AFTER 2
BEGIN_STATE 2
1 CHGST ONLY_BA...
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]
...
Ajuda online
• Videos exemplificando cada comportamento
disponível e os arquivos utilizados neste
tutorial estão disponíve...
Clicks
Curso basAR
Christopher Shneider Cerqueira – christophercerqueira@gmail.com
Claudio Kirner – ckirner@gmail.com
http...
Próximos SlideShares
Carregando em…5
×

Curso basAR e Arduino

39 visualizações

Publicada em

Tutorial

Publicada em: Educação
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Curso basAR e Arduino

  1. 1. 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
  2. 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. 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. 4. 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/
  5. 5. basAR 5 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  6. 6. 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/
  7. 7. • 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/
  8. 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. 9. 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/
  10. 10. INFRAESTRUTURA, ESTRUTURA, CONTEÚDO E ATUAÇÃO Criando 10 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  11. 11. 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/
  12. 12. • 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/
  13. 13. 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/
  14. 14. • 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/
  15. 15. 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/
  16. 16. • 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/
  17. 17. 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/
  18. 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. 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. 20. 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/
  21. 21. • 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/
  22. 22. 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/
  23. 23. • 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/
  24. 24. COMUNICAÇÃO COM O ARDUINO Criando 24 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  25. 25. 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/
  26. 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. 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. 28. Evento de envio 28 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  29. 29. Evento de Recepção 29 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  30. 30. Evento de Interrupção 30 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  31. 31. 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/
  32. 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. 33. 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/
  34. 34. 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/
  35. 35. 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/
  36. 36. 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/
  37. 37. 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/
  38. 38. RESUMO 38 basAR: ARDUINO sites.google.com/site/christophercerqueira/projetos/ear/basar ou www.ckirner.com/basar/
  39. 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. 40. 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/
  41. 41. 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

×