SlideShare una empresa de Scribd logo
1 de 14
Ambientes de Programação Icônicos
         para o Arduino



      Rafael Machado Alves – rafamachadoalves@ufrj.br
             Orientador: Fábio Ferrentini Sampaio
                      Dezembro / 2011
S4A                         http://seaside.citilab.eu/scratch/arduino



• Fluxo de execução: top down, o fluxo segue a ordem de empilhamento dos blocos.

• Paralelismo: grupos de empilhamentos desconexos são executados em paralelo.

• Procedimento: cria-se um bloco que encapsula um empilhamento de blocos.
     • O S4A não possui, mas o BYOB que é outra modificação do Scratch possui.

• Parametrização: os blocos possuem entradas de teclado, entradas de outros blocos, combobox
e outros.
     • O BYOB possui ainda objetos, listas e até outro comando.
     • O shape das entradas de dados é diferente para cada tipo de dados.

• Tipos de blocos: os blocos são diferenciados pela cor que indica a sua categoria; forma que
indica a estrutura de dados; borda que indica o tipo de dados; entalhes e saliências que
possibilitam encaixes corretos sintaticamente.
     • No Scratch: os blocos são identificados pelo texto.
<extends>




                                              4




                          1                                      2




                                                  3


• Comunicação com hardware: o Arduino fica dependente de conexão para rodar o código.
MiniBloq                                http://blog.minibloq.org/




• Paralelismo:
     • Não possui.

• Parametrização:
     • Os blocos possuem um menu suspenso associado.

•Tipos de blocos:
     • Os blocos são identificados pelo ícone.

• Blocos personalizados

• Fácil programação: Apenas alguns cliques e o primeiro programa está rodando (porém pouco
intuitiva).

• Interface avançada: zoom; recorta e cola; janelas acopláveis; comenta código (não insere
comentários).
1
                                                               Portável: Não requer a
                                                               instalação (exceto para os
                                                               drivers necessários para placas
                                                               específicas, como Arduino).
                                                        OU
                             2                                 Ele também pode ser
                                                               executado a partir de um
                                                               pen drive.



• Gerador de código em tempo real

• Verificação de erros em tempo real

• Configuração de hardware

• Terminal integrado: Existe um terminal integrado que permite enviar e receber dados
da placa através de portas serial/USB.
Modkit                                     http://www.modk.it/


• Ferramenta online
     • Basta baixar e instalar o desktop widget para programar as placas.

• Inspirado no Scratch

• Hardware View
     • Configura o hardware graficamente.

• Recursos avançados: Clube Alpha (pago).

• Drag and Drop Hardware

• Code View




                                  Desktop Widget
Logo Blocks
   http://babuinoproject.blogspot.com/2009/09/download-softwares-to-program-your.html

• Uma das linguagens que podem ser utilizada com o BABUINO.

• Instalação complexa.

•Procedimento: cria-se um novo empilhamento de blocos que é chamado pelo empilhamento
principal por um bloco com o identificador do procedimento criado.

• Operadores numéricos: os blocos ficam na vertical

• Gera código Logo.

• Existe um bloco que não faz ação nenhuma. Ele é usado
para melhorar a visualização do empilhamento evitando
A sobreposição de blocos.
ArduBlock                                  http://blog.ardublock.com/


• Roda junto com a IDE padrão do Arduino.

• Parametrização:
     • Existem blocos para o tipo numérico.
     • É possível modificar a função dos blocos operadores sem precisar apagá-los.

• Adição de comentários: o bloco possui um ícone que indica a presença de comentário.

• Código aberto, Java, suporte multilingue.

• Realiza encaixes estranhos.
LEGO Mindstorms
                                                                  http://mindstorms.lego.com
• Fluxo de execução: o fluxo segue uma rede criada de conexões e blocos.

• Paralelismo: os caminhos bifurcados da rede são executados em paralelo.

• Encapsulamento: cria-se um bloco que encapsula uma rede.
     No Lego: o procedimento criado e salvo em uma arquivo separado.

• Parametrização: os blocos possuem um painel de propriedades associado. Permite uma
grande variedade de configurações.

• Tipos de blocos: os blocos possuem um ícone como identificador; símbolo e cor que indicam
sua categoria; pré-visualizações dos atributos; forma que indica a estrutura de dados; entradas e
saídas de diferentes tipos de dados.
     • Os arames de ligação (fluxo de dados) têm cores diferentes para cada Tipo de dados
     (número, lógico e texto)

• Software Proprietário
Microsoft Robotics Developer
               Studio                        http://www.microsoft.com/robotics/



• É possível simular o comportamento do robô em um ambiente virtual.

• Manipula-se também os links entres os blocos


             Programação                                          Simulação
Amici   http://dimeb.informatik.uni-bremen.de/eduwear/about/




• ...
Physical Etoys
                                 http://tecnodacta.com.ar/gira/projects/physical-etoys/


• Não é programação através de blocos, apesar de ser drag and drop.

• Não precisa instalar.

• Comunicação com hardware: o Arduino fica dependente de conexão para rodar o código.

• Drag and Drop Hardware

• Roda em: Windows e Linux.
Configuração de hardware e porta   Drag and drop hardware




 Código
Artigos sobre VPL
• Are visual programming languages better? - The role of imagery in program comprehension.
RAQUEL NAVARRO-PRIETO AND JOSE J. CAÑAS

• Comparing the Use of Tangible and Graphical Programming Languages for Informal Science
Education. Michael S. Horn, Erin T. Solovey, R. Jordan Crouser, Robert J.K. Jacob

• Visual Programming Pedagogies and Integrating Current Visual Programming Language
Features. Erik Pasternak

• Utilização da Teoria de Vygotsky em Robótica Educativa. Alzira Ferreira da Silva et al

• Transforming Visual Programs into Java and Vice Versa. Lei Dong

Más contenido relacionado

Destacado

Using Financing as a Sales Tool
Using Financing as a Sales ToolUsing Financing as a Sales Tool
Using Financing as a Sales ToolTEQlease Capital
 
Taller 2 fotos del cuaderno con las actividades de completacion- eric daniel...
Taller 2  fotos del cuaderno con las actividades de completacion- eric daniel...Taller 2  fotos del cuaderno con las actividades de completacion- eric daniel...
Taller 2 fotos del cuaderno con las actividades de completacion- eric daniel...Daniel Sanmartin Diaz
 
Haug Chemie_voorstelling-NL-prospects
Haug Chemie_voorstelling-NL-prospectsHaug Chemie_voorstelling-NL-prospects
Haug Chemie_voorstelling-NL-prospectsPeter Heymans
 
Domótica - Automatizando ambientes com Arduino
Domótica - Automatizando ambientes com ArduinoDomótica - Automatizando ambientes com Arduino
Domótica - Automatizando ambientes com ArduinoDesiree Santos
 
Uso do Hardware Livre Arduino em Ambientes de Ensino-aprendizagem - JAIE2012
Uso do Hardware Livre Arduino em Ambientes de Ensino-aprendizagem - JAIE2012Uso do Hardware Livre Arduino em Ambientes de Ensino-aprendizagem - JAIE2012
Uso do Hardware Livre Arduino em Ambientes de Ensino-aprendizagem - JAIE2012Projeto Uca Na Cuca
 
Domótica: Controle de dispositivos via comando de voz com arduino, por Desire...
Domótica: Controle de dispositivos via comando de voz com arduino, por Desire...Domótica: Controle de dispositivos via comando de voz com arduino, por Desire...
Domótica: Controle de dispositivos via comando de voz com arduino, por Desire...Thoughtworks
 
www.ensinofundamental.net.br - Geografia - Relevo
www.ensinofundamental.net.br - Geografia -  Relevowww.ensinofundamental.net.br - Geografia -  Relevo
www.ensinofundamental.net.br - Geografia - RelevoEnsinoFundamental
 

Destacado (11)

Using Financing as a Sales Tool
Using Financing as a Sales ToolUsing Financing as a Sales Tool
Using Financing as a Sales Tool
 
Taller 2 fotos del cuaderno con las actividades de completacion- eric daniel...
Taller 2  fotos del cuaderno con las actividades de completacion- eric daniel...Taller 2  fotos del cuaderno con las actividades de completacion- eric daniel...
Taller 2 fotos del cuaderno con las actividades de completacion- eric daniel...
 
Computacion1
Computacion1Computacion1
Computacion1
 
Haug Chemie_voorstelling-NL-prospects
Haug Chemie_voorstelling-NL-prospectsHaug Chemie_voorstelling-NL-prospects
Haug Chemie_voorstelling-NL-prospects
 
Rg 1293
Rg 1293Rg 1293
Rg 1293
 
Week 5 Guidance
Week 5 GuidanceWeek 5 Guidance
Week 5 Guidance
 
Domótica - Automatizando ambientes com Arduino
Domótica - Automatizando ambientes com ArduinoDomótica - Automatizando ambientes com Arduino
Domótica - Automatizando ambientes com Arduino
 
Uso do Hardware Livre Arduino em Ambientes de Ensino-aprendizagem - JAIE2012
Uso do Hardware Livre Arduino em Ambientes de Ensino-aprendizagem - JAIE2012Uso do Hardware Livre Arduino em Ambientes de Ensino-aprendizagem - JAIE2012
Uso do Hardware Livre Arduino em Ambientes de Ensino-aprendizagem - JAIE2012
 
Domótica: Controle de dispositivos via comando de voz com arduino, por Desire...
Domótica: Controle de dispositivos via comando de voz com arduino, por Desire...Domótica: Controle de dispositivos via comando de voz com arduino, por Desire...
Domótica: Controle de dispositivos via comando de voz com arduino, por Desire...
 
www.ensinofundamental.net.br - Geografia - Relevo
www.ensinofundamental.net.br - Geografia -  Relevowww.ensinofundamental.net.br - Geografia -  Relevo
www.ensinofundamental.net.br - Geografia - Relevo
 
Robótica com Arduino
Robótica com ArduinoRobótica com Arduino
Robótica com Arduino
 

Similar a 2011 12 apresentacao robotica

Netduino e .NET Micro Framework
Netduino e .NET Micro FrameworkNetduino e .NET Micro Framework
Netduino e .NET Micro FrameworkIgor Kondrasovas
 
Programação de Microcontroladores com .NET Micro Framework
Programação de Microcontroladores com .NET Micro FrameworkProgramação de Microcontroladores com .NET Micro Framework
Programação de Microcontroladores com .NET Micro FrameworkIgor Kondrasovas
 
A Internet das coisas e a programação de micro controladores
A Internet das coisas e a programação de micro controladoresA Internet das coisas e a programação de micro controladores
A Internet das coisas e a programação de micro controladoresIgor Kondrasovas
 
Palestra Arduino Campus Party 2012 Radames ajna
Palestra Arduino Campus Party 2012 Radames ajnaPalestra Arduino Campus Party 2012 Radames ajna
Palestra Arduino Campus Party 2012 Radames ajnaradamesajna
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDeviceRicardo Rufino
 
[iv festival games for change américa latina] oficina pt. 2
[iv festival games for change américa latina] oficina pt. 2[iv festival games for change américa latina] oficina pt. 2
[iv festival games for change américa latina] oficina pt. 2Victor Hugo Batista
 
Como ajudar no desenvolvimento do kernel Linux? - Fábio Olivé Leite
Como ajudar no desenvolvimento do kernel Linux? - Fábio Olivé LeiteComo ajudar no desenvolvimento do kernel Linux? - Fábio Olivé Leite
Como ajudar no desenvolvimento do kernel Linux? - Fábio Olivé LeiteTchelinux
 
Gerenciador do atmega16
Gerenciador do atmega16Gerenciador do atmega16
Gerenciador do atmega16Gabriel Lima
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoLorival Smolski Chapuis
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)Ricardo Rufino
 
Engenharia Reversa para Principiantes
Engenharia Reversa para PrincipiantesEngenharia Reversa para Principiantes
Engenharia Reversa para PrincipiantesWanderley Caloni
 
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComo deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComunidade NetPonto
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Flávio Lisboa
 

Similar a 2011 12 apresentacao robotica (20)

Netduino e .NET Micro Framework
Netduino e .NET Micro FrameworkNetduino e .NET Micro Framework
Netduino e .NET Micro Framework
 
Programação de Microcontroladores com .NET Micro Framework
Programação de Microcontroladores com .NET Micro FrameworkProgramação de Microcontroladores com .NET Micro Framework
Programação de Microcontroladores com .NET Micro Framework
 
A Internet das coisas e a programação de micro controladores
A Internet das coisas e a programação de micro controladoresA Internet das coisas e a programação de micro controladores
A Internet das coisas e a programação de micro controladores
 
Palestra Arduino Campus Party 2012 Radames ajna
Palestra Arduino Campus Party 2012 Radames ajnaPalestra Arduino Campus Party 2012 Radames ajna
Palestra Arduino Campus Party 2012 Radames ajna
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDevice
 
Netbeans
NetbeansNetbeans
Netbeans
 
[iv festival games for change américa latina] oficina pt. 2
[iv festival games for change américa latina] oficina pt. 2[iv festival games for change américa latina] oficina pt. 2
[iv festival games for change américa latina] oficina pt. 2
 
Como ajudar no desenvolvimento do kernel Linux? - Fábio Olivé Leite
Como ajudar no desenvolvimento do kernel Linux? - Fábio Olivé LeiteComo ajudar no desenvolvimento do kernel Linux? - Fábio Olivé Leite
Como ajudar no desenvolvimento do kernel Linux? - Fábio Olivé Leite
 
Gerenciador do atmega16
Gerenciador do atmega16Gerenciador do atmega16
Gerenciador do atmega16
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - Introdução
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)
 
Engenharia Reversa para Principiantes
Engenharia Reversa para PrincipiantesEngenharia Reversa para Principiantes
Engenharia Reversa para Principiantes
 
Csharp
CsharpCsharp
Csharp
 
ESTRUTURA DE DADOS (JAVA) AULA 01
ESTRUTURA DE DADOS (JAVA) AULA 01ESTRUTURA DE DADOS (JAVA) AULA 01
ESTRUTURA DE DADOS (JAVA) AULA 01
 
Redes2 aula02
Redes2 aula02Redes2 aula02
Redes2 aula02
 
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComo deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
 
18. arduino
18. arduino18. arduino
18. arduino
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011
 
Fundamentos Java - 01
Fundamentos Java - 01Fundamentos Java - 01
Fundamentos Java - 01
 
Aula 1a.ppt
Aula 1a.pptAula 1a.ppt
Aula 1a.ppt
 

2011 12 apresentacao robotica

  • 1. Ambientes de Programação Icônicos para o Arduino Rafael Machado Alves – rafamachadoalves@ufrj.br Orientador: Fábio Ferrentini Sampaio Dezembro / 2011
  • 2. S4A http://seaside.citilab.eu/scratch/arduino • Fluxo de execução: top down, o fluxo segue a ordem de empilhamento dos blocos. • Paralelismo: grupos de empilhamentos desconexos são executados em paralelo. • Procedimento: cria-se um bloco que encapsula um empilhamento de blocos. • O S4A não possui, mas o BYOB que é outra modificação do Scratch possui. • Parametrização: os blocos possuem entradas de teclado, entradas de outros blocos, combobox e outros. • O BYOB possui ainda objetos, listas e até outro comando. • O shape das entradas de dados é diferente para cada tipo de dados. • Tipos de blocos: os blocos são diferenciados pela cor que indica a sua categoria; forma que indica a estrutura de dados; borda que indica o tipo de dados; entalhes e saliências que possibilitam encaixes corretos sintaticamente. • No Scratch: os blocos são identificados pelo texto.
  • 3. <extends> 4 1 2 3 • Comunicação com hardware: o Arduino fica dependente de conexão para rodar o código.
  • 4. MiniBloq http://blog.minibloq.org/ • Paralelismo: • Não possui. • Parametrização: • Os blocos possuem um menu suspenso associado. •Tipos de blocos: • Os blocos são identificados pelo ícone. • Blocos personalizados • Fácil programação: Apenas alguns cliques e o primeiro programa está rodando (porém pouco intuitiva). • Interface avançada: zoom; recorta e cola; janelas acopláveis; comenta código (não insere comentários).
  • 5. 1 Portável: Não requer a instalação (exceto para os drivers necessários para placas específicas, como Arduino). OU 2 Ele também pode ser executado a partir de um pen drive. • Gerador de código em tempo real • Verificação de erros em tempo real • Configuração de hardware • Terminal integrado: Existe um terminal integrado que permite enviar e receber dados da placa através de portas serial/USB.
  • 6. Modkit http://www.modk.it/ • Ferramenta online • Basta baixar e instalar o desktop widget para programar as placas. • Inspirado no Scratch • Hardware View • Configura o hardware graficamente. • Recursos avançados: Clube Alpha (pago). • Drag and Drop Hardware • Code View Desktop Widget
  • 7. Logo Blocks http://babuinoproject.blogspot.com/2009/09/download-softwares-to-program-your.html • Uma das linguagens que podem ser utilizada com o BABUINO. • Instalação complexa. •Procedimento: cria-se um novo empilhamento de blocos que é chamado pelo empilhamento principal por um bloco com o identificador do procedimento criado. • Operadores numéricos: os blocos ficam na vertical • Gera código Logo. • Existe um bloco que não faz ação nenhuma. Ele é usado para melhorar a visualização do empilhamento evitando A sobreposição de blocos.
  • 8. ArduBlock http://blog.ardublock.com/ • Roda junto com a IDE padrão do Arduino. • Parametrização: • Existem blocos para o tipo numérico. • É possível modificar a função dos blocos operadores sem precisar apagá-los. • Adição de comentários: o bloco possui um ícone que indica a presença de comentário. • Código aberto, Java, suporte multilingue. • Realiza encaixes estranhos.
  • 9. LEGO Mindstorms http://mindstorms.lego.com • Fluxo de execução: o fluxo segue uma rede criada de conexões e blocos. • Paralelismo: os caminhos bifurcados da rede são executados em paralelo. • Encapsulamento: cria-se um bloco que encapsula uma rede. No Lego: o procedimento criado e salvo em uma arquivo separado. • Parametrização: os blocos possuem um painel de propriedades associado. Permite uma grande variedade de configurações. • Tipos de blocos: os blocos possuem um ícone como identificador; símbolo e cor que indicam sua categoria; pré-visualizações dos atributos; forma que indica a estrutura de dados; entradas e saídas de diferentes tipos de dados. • Os arames de ligação (fluxo de dados) têm cores diferentes para cada Tipo de dados (número, lógico e texto) • Software Proprietário
  • 10. Microsoft Robotics Developer Studio http://www.microsoft.com/robotics/ • É possível simular o comportamento do robô em um ambiente virtual. • Manipula-se também os links entres os blocos Programação Simulação
  • 11. Amici http://dimeb.informatik.uni-bremen.de/eduwear/about/ • ...
  • 12. Physical Etoys http://tecnodacta.com.ar/gira/projects/physical-etoys/ • Não é programação através de blocos, apesar de ser drag and drop. • Não precisa instalar. • Comunicação com hardware: o Arduino fica dependente de conexão para rodar o código. • Drag and Drop Hardware • Roda em: Windows e Linux.
  • 13. Configuração de hardware e porta Drag and drop hardware Código
  • 14. Artigos sobre VPL • Are visual programming languages better? - The role of imagery in program comprehension. RAQUEL NAVARRO-PRIETO AND JOSE J. CAÑAS • Comparing the Use of Tangible and Graphical Programming Languages for Informal Science Education. Michael S. Horn, Erin T. Solovey, R. Jordan Crouser, Robert J.K. Jacob • Visual Programming Pedagogies and Integrating Current Visual Programming Language Features. Erik Pasternak • Utilização da Teoria de Vygotsky em Robótica Educativa. Alzira Ferreira da Silva et al • Transforming Visual Programs into Java and Vice Versa. Lei Dong