SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

DOCX
La vida en la selva
DOC
不老不胖健康密碼逆轉內臟壽命
PPT
Nikos
PPTX
Alertas de google acádemico
PDF
Programando arduino com javascript
PDF
PDF
Storyboad template
La vida en la selva
不老不胖健康密碼逆轉內臟壽命
Nikos
Alertas de google acádemico
Programando arduino com javascript
Storyboad template

Destaque (11)

PPTX
Using Financing as a Sales Tool
DOCX
Taller 2 fotos del cuaderno con las actividades de completacion- eric daniel...
DOC
Computacion1
PDF
Haug Chemie_voorstelling-NL-prospects
PDF
Rg 1293
PPTX
Week 5 Guidance
ODP
Domótica - Automatizando ambientes com Arduino
PPT
Uso do Hardware Livre Arduino em Ambientes de Ensino-aprendizagem - JAIE2012
PDF
Domótica: Controle de dispositivos via comando de voz com arduino, por Desire...
PPT
www.ensinofundamental.net.br - Geografia - Relevo
PPTX
Robótica com Arduino
Using Financing as a Sales Tool
Taller 2 fotos del cuaderno con las actividades de completacion- eric daniel...
Computacion1
Haug Chemie_voorstelling-NL-prospects
Rg 1293
Week 5 Guidance
Domótica - Automatizando ambientes com Arduino
Uso do Hardware Livre Arduino em Ambientes de Ensino-aprendizagem - JAIE2012
Domótica: Controle de dispositivos via comando de voz com arduino, por Desire...
www.ensinofundamental.net.br - Geografia - Relevo
Robótica com Arduino
Anúncio

Semelhante a 2011 12 apresentacao robotica (20)

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

2011 12 apresentacao robotica

  • 1. Ambientes de Programação Icônicos para o Arduino Rafael Machado Alves – [email protected] 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