ROBOTOY: ferramenta para ensino de programação para crianças usando robôs Arduino. Aluna: Juliana Carolina Batista Orientadora: Joyce Martins

Documentos relacionados
Scaling Up Inclusion: Robotics, a STEM focused Project. Centro de Formação de Associação de Escolas Paços de Ferreira, Paredes e Penafiel

CONTROLE POR VOZ UTILIZANDO A ENGINE JULIUS COM FALA CONTÍNUA

ROBOTOY: FERRAMENTA PARA ENSINO DE PROGRAMAÇÃO PARA CRIANÇAS USANDO ROBÔS ARDUINO

INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY

Arduino - Primeiros Passos

Por Sergio Genilson Pfleger PLATAFORMA ROBÓTICA GENÉRICA BASEADA EM ARDUINO.

Introdução à robótica

Programação do Arduino. Parte 1. IDE Wiring

Robótica com Arduino Professor: Paulo Marcos Trentin

Arduino. Gilmar Aquino

Arduino. Conectores, Fonte, USB, LEDs. Compilador, Bibliotecas, Editor, Burner

O que você pode fazer com o Arduino

// Arduino {? } Mais o que é?..

Arquitetura do Microcontrolador Atmega 328

Hardware Livre Arduino. Givanaldo Rocha de Souza

A protoboard ou Matriz de contatos é utilizada para fazer montagens provisórias e/ou teste de projetos. É constituída por uma base plástica, contendo

MOBILE-FURBOT: UMA VERSÃO DO FURBOT PARA CRIAÇÃO DE JOGOS EM DISPOSITIVOS MÓVEIS

MINICURSO - PLATAFORMA ARDUINO Eixo de Informação e Comunicação Gil Eduardo de Andrade

ARDUÍNO PROCEDIMENTOS BÁSICOS

- Tarefas Práticas de Programação usando Arduino - Imagem do Robô com Legendas

CARRINHO UTILIZANDO L293D E MOTORES CC

Introdução ao Arduino

Introdução à Plataforma ARDUINO

INTRODUÇÃO A PLATAFORMA ARDUINO. TÁSSIO JOSÉ GONÇALVES GOMES

Introdução. O que é o Arduino?

ESTUDO DA TRANSFERÊNCIA AUTOMÁTICA DE DADOS PARA UM ROBÔ MÓVEL NA PLATAFORMA LEGO MINDSTORMS

Introdução do Arduino para aquisição de dados e controle de instrumentos

A linguagem Java foi projetada tendo em vista os seguintes objetivos:

Aula 1 Apresentação e Conceitos Iniciais. Wellington Cássio Faria fb.com/wellingtoncf

PROTÓTIPO DE SISTEMA DE CAPTURA DE DADOS MULTIPONTO WIRELESS PARA CONTROLE DE CONSUMO DE ÁGUA

AULA 6 - INTRODUÇÃO AO ARDUINO Revisão de Eletrônica Digital e introdução aos Sistemas Computacionais.

Fabiano Moreira.

ESTABELECIMENTO DE ROTAS PARA AR.DRONE UTILIZANDO DELPHI XE 10

MJ3I- PA - AMBIENTE VIRTUAL 3D PARA VISUALIZAÇÃO DE BRAÇOS ARTICULADOS NO IOS

O ARDUINO. Plataforma de prototipagem eletrônica; Open Source; Formada por duas partes básicas: hardware e software.

Mundo Arduino: Vamos começar a programar?

ANÁLISE DE DADOS DE LINHA DE PRODUÇÃO

Curso Arduino ESP8266. Aula #1 - Introdução

Arduino Lab 02 Sensor de luminosidade e display de LCD 16 2

ARDUINO BÁSICO E T A P A 1 O QUE É ARDUINO? Prof. Amadeu Zanon Neto

CONTROLE DE TRAÇÃO E DIREÇÃO DE UM VEÍCULO AUTÔNOMO NÃO TRIPULADO. Carla Real Amorim Cardoso Prof. Antônio Carlos Tavares - Orientador

Projeto 01. Adriano Joaquim de Oliveira Cruz Instituto de Matemática UFRJ 2015 Adriano Cruz. 30 de agosto de 2015

Open Hardware & Arduino

Sistemas Embarcados:

Sistemas Digitais EDUARDO ELIAS ALVES PEREIRA

O AMBIENTE DE DESENVOLVIMENTO

VISEDU: JOGO DE REALIDADADE AUMENTADA DE LETRAS COM CONTEÚDO DINÂMICO

Usando Display Gráfico com C18 e C30

DESENVOLVIMENTO DE UM SIMULADOR PARA CONTROLE DE VAGAS DE ESTACIONAMENTO UTILIZANDO AUTÔMATOS FINITOS E ARDUINO

MINICURSO ARDUINO BÁSICO

COMPARATIVOS DE AMBIENTES DE PROGRAMAÇÃO GRÁFICOS PARA O KIT DE ROBÓTICA LEGO MINDSTORMS NXT

Familiarização com a ferramenta JavaCC

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Programação Básica em Arduino

Arduino. Conectores, Fonte, USB, LEDs. Compilador, Bibliotecas, Editor, Burner

INFORMAÇÕES GERAIS DO TRABALHO

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

Estudo do Ambiente de Programação Arduino Software (IDE) com Intel Galileo Gen2. Apostila de acompanhamento para o aluno.

Curso: Tecnologias educacionais de baixo custo. Conector Ciência:

Introdução ao IDE Netbeans (Programação Java)

Linguagens de Programação Classificação

Placa de desenvolvimento USB AFSmartBoard utiliza PIC18F4550 da Microchip, microcontrolador com o Flash 32kb, 2048 bytes de memória RAM

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Computação Embarcada - Projeto

SISTEMA DE TREINAMENTO EM ROBÓTICA MODELO: ED-7255

Podem ser substituídos pelo módulo P7-Sensor de Luminosidade da GBK Robotics.

OBD-JRP Monitoramento Veicular com Java e Raspberry Pi. Ricardo Artur Staroski Miguel Alexandre Wisintainer

Características técnicas Baseado no ATMega da empresa AVR, fabricante de micro-controladores em plena ascensão e concorrente do PIC Pode usar ATMega

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Programação C para Arduino

Configuração do Furbot no NetBeans

- Trabalho Prático de Algoritmos e Programação usando Robô Arduino -

Minicurso de Arduino. Laboratório de Inovação em Sistemas em chip npiti - UFRN

Objetivos. Responder o que é Java; Mostrar as vantagens e desvantagens do Java; Compilar e executar um programa simples.

Proposta de uma plataforma de monitoramento e acionamento remoto voltada para sistemas de hardware industriais utilizando LabVIEW

Introdução à Programação de Computadores Parte I

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos

ROBÓTICA PROGRAMAÇÃO DE ROBÔS

Algoritmos I Aula 13 Linguagem de Programação Java

Cerne Tecnologia e Treinamento.

Programação Básica em Arduino Aula 1

Tutorial Proteus 02. Como simular o Arduino no Proteus ISIS utilizando a biblioteca "Emulater" por João Vitor

JUnit. Alexandre Menezes Silva Eduardo Manuel de Freitas Jorge

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

Anatomia do Arduino Bootloader

9 Classes Abstractas e Interfaces

A placa descrita pode receber alimentação pela conexão USB ou por uma fonte de alimentação externa.

Laboratório 01 NetBeans

PME-ESP8266 Guia do Usuário V1.0

JAVA. Professor: Bruno Toledo

ROBÓTICA 1 INTRODUÇÃO A PROGRAMAÇÃO NO ARDUINO

Roteiro de Apresentação 1. Introdução Objetivos do Trabalho 2. Fundamentação Teórica 3. Desenvolvimento do Sistema Requisitos principais Especificação

(83)

VISEDU-CG: Aplicação Didática para Visualizar Material Educacional, Módulo de Computação Gráfica

Linguagem de Programação C

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Transcrição:

ROBOTOY: ferramenta para ensino de programação para crianças usando robôs Arduino Aluna: Juliana Carolina Batista Orientadora: Joyce Martins

Roteiro Introdução Objetivo Geral Objetivos Específicos Fundamentação Teórica Trabalhos Correlatos Desenvolvimento Implementação Resultados e Discussões Conclusões Sugestões

Introdução ensino de programação para crianças; robótica aliada ao ensino de programação; alto custo dos kits de robótica proprietários; plataformas de hardware e software livre como alternativa para baratear a adoção da robótica.

Objetivo Geral Estender a ferramenta Robotoy (TORRENS, 2014), que foi construída visando o desenvolvimento de programas para robôs Lego Mindstorms NXT, integrando-a também com a plataforma Arduino.

Objetivos Específicos gerar código para o Arduino a partir dos comandos da linguagem Robotoy; fazer a montagem de um robô, conforme especificado por Torrens (2014), tendo como base o Arduino; enviar o código gerado para ser executado na placa Arduino.

Fundamentação Teórica

Compiladores Fonte: Price e Toscani (2001).

Arduino plataforma de fácil prototipação de projetos; hardware e software open source; pode ser programado através da IDE do Arduino na linguagem de programação Wiring. O modelo Arduino Mega 2560 possui: a) 54 pinos digitais de I/O; b) memória flash de 256 KB; c) velocidade do clock 16 MHz; d) conexão USB; e) conector de alimentação; f) microcontrolador baseado no ATmega2560.

Robotoy Ferramenta que permite a escrita de programas que podem ser enviados e executados por robôs Lego Mindstorms NXT. Características: a) possui uma linguagem de programação textual e simplificada; b) é voltada para o ensino de programação para crianças. andarateacharobstáculo rotina andarateacharobstáculo enquanto não tem obstáculo andar para frente 1 fim do enquanto fim da rotina

Trabalhos Correlatos

FURBOT biblioteca Java voltada para o ensino de lógica de programação; professor cria um XML com o cenário do problema a ser resolvido; aluno cria a lógica para resolver o problema; a programação é feita para que um robô realize uma determinada tarefa em um cenário.

FURBOT public class Exercicio extends Furbot { @Override public void inteligencia() throws Exception { for (int i=0; i<=4; i++){ andardireita(); } } public static void main( String[] args){ MundoVisual. iniciar("exercicio1.xml"); } }

RoboMind FURB plugin para ser utilizado no RoboMind, um ambiente voltado para o ensino de lógica de programação; possibilita o envio de scripts para robôs montados com o kit Lego Mindstorms NXT; disponibiliza funções adicionais ao RoboMind; a programação é feita para que um robô realize uma determinada tarefa em um cenário.

RoboMind FURB virardireita() virardireita() andarfrente(1) viraresquerda() andarfrente(2) viraresquerda() andarfrente(1)

Cubetto brinquedo que visa ensinar lógica de programação para crianças; composto por um robô, um tabuleiro e blocos de madeira; programação feita através do encaixe dos blocos no tabuleiro de madeira.

Cubetto

Desenvolvimento

Requisitos funcionais gerar código para Arduino a partir dos comandos da linguagem Robotoy; disponibilizar uma tela para que o usuário escolha para qual plataforma será gerado o programa: Lego Mindstorms NXT ou Arduino; disponibilizar uma tela de configuração para o robô Arduino; fazer o envio do programa traduzido para o Arduino.

Requisitos não funcionais executar os programas em robôs montados com base no Arduino; ser implementada utilizando a linguagem de programação Java; ser desenvolvida no Eclipse.

Montagem do Robô

Implementação do Robô Sketch necessário para o funcionamento do robô, com as funções correspondentes à: a) comunicação; b) movimentação; c) detecção.

Implementação do Robô void _emitirsom() { tone(_buzzer, 300, 300); digitalwrite(_buzzer, HIGH); delay(500); digitalwrite(_buzzer, LOW); delay(500); } void _pararandar(){ _motoresquerdo.run(release); _motordireito.run(release); delay(2000); }

Especificação da Linguagem De acordo com Torrens (2014), os comandos da linguagem Robotoy podem ser classificados como: declaração e uso de variáveis; expressões; comandos de controle de fluxo; declaração e invocação de rotinas; comandos direcionados ao robô.

Especificação da Linguagem número passos <- 0 enquanto não tem obstáculo andar para frente passos <- passos + 1 fim do enquanto texto mensagem <- "Nro. passos: ". passos escrever mensagem emitir som void loop() { while (_ligado){ passos = 0; while (!_temobstaculo()) { _andarfrente(1); passos = passos + 1; } mensagem = "Nro. passos:" + (String) passos ; _escrever(mensagem); _emitirsom(); } } _ligado = false;

Especificação da Ferramenta

Especificação da Ferramenta

Implementação linguagem de programação Java através da IDE Eclipse; biblioteca Swing do Java; plugin LeJOS; IDE do Arduino.

Implementação Comando utilizado para compilar e enviar os programas para a placa Arduino através da ferramenta Robotoy: cd C:\Arduino-1.5.6 arduino --board arduino:avr: mega --port COM4 -- upload C:\robotoy\gen\gen.ino

Operacionalidade da Implementação robot.type=arduino robot.integrator=br.inf.furb.tcc.robotoy.integrator.arduino.arduinoin tegrator robot.configuration.file=c\:\\users\\juliana\\robotoy\\robotoyui\\..\\gen\\arduino-mega-robot.properties

Resultados e Discussões montagem do robô; cenário; limitações quanto à movimentação do robô; a) superfície; b) modelo dos motores; c) uso da bateria. limitações quanto à luminosidade do ambiente.

Resultados e Discussões características / trabalhos FURBOT RoboMind FURB permite execução em robô físico permite a customização do robô linguagem de programação utilizada possui ambiente virtual de simulação tipo de programação Java X textual Cubetto Robotoy X X X RoboMind X textual não contém encaixe de blocos X Robotoy textual

Conclusões geração de código para Arduino; montagem do robô Lego Mindstorms NXT $349,99 Placa Arduino Mega 2560 e demais componentes R$480,00 execução dos comandos da linguagem Robotoy pelo robô; envio do programa traduzido para a placa Arduino.

Sugestões utilizar servo motores para movimentar o robô; possibilitar a configuração do tamanho do passo do robô; possibilitar a inclusão de mais componentes na montagem do robô; disponibilizar uma diretiva para que o usuário possa adicionar código nativo do Arduino na construção dos programas da linguagem Robotoy; integrar à ferramenta o simulador desenvolvido pelo acadêmico do curso de BCC, Diogo da Silva, em 2016/1; elaborar uma linguagem gráfica, onde o usuário possa arrastar e soltar peças para elaborar programas.