Arduino como ferramenta de apoio no Ensino de Programação Elany Marinho B. Farias1, Pio Ferreira L. Netto1, Enoque Calvino M. Alves2 1 Instituto de Engenharia e Geociências/Ciência da Computação – Bolsista do Programa de Extensão “Mídias Eletrônicas: Ensino e Inclusão” - Universidade Federal do Oeste do Pará 2 Instituto de Engenharia e Geociências – Coordenador do Programa de Extensão “Mídias Eletrônicas: Ensino e Inclusão” - Universidade Federal do Oeste do Pará CEP– 68.035-110 – Santarém – PA – Brasil {elany7,pio.lima, enoque}@gmail.com Abstract. This article reports on the methodology and practice of programming with Arduino workshop, developed with students of Engineering Physics, Geology, Geophysics and Computer Science at the Institute of Engineering and Geosciences, Federal University of Western Pará (IEGUFOPA) applied by members of the Project Electronic Media. The workshop, held for 3 months was focused on the platform Arduino programming, and discussed contents such as program logic structure and concepts and language syntax Arduino Wiring. Students spent the better assimilate the concepts learned in the workshops when they developed a practical project, demonstrating greater involvement. Resumo. Este artigo relata a metodologia de aplicação de uma oficina de Programação com Arduino, desenvolvida com alunos dos cursos de Engenharia Física, Geologia, Geofísica e Ciência da Computação do Instituto de Engenharia e Geociências da Universidade Federal do Oeste do Pará (IEG-UFOPA), aplicada por integrantes do Projeto Mídias Eletrônicas. A oficina, que ocorreu durante 3 meses, foi focada na programação para a plataforma Arduino, sendo abordado conteúdos como lógica de programação, estrutura e conceitos do Arduino e a sintaxe da linguagem Wiring. Os alunos passaram a assimilar melhor os conceitos aprendidos nas oficinas quando desenvolveram um projeto prático, demonstrando um maior envolvimento. 1. INTRODUÇÃO Atualmente, existe uma grande necessidade de profissionais na área da computação no mercado de trabalho. Esta necessidade deve-se ao fato de os cursos de computação formarem poucos profissionais em suas turmas, devido a desistência do curso e a deficiência no aprendizado dos conceitos mais básicos de programação. Esta deficiência deve-se á complexidade dos métodos utilizados para ensinar, chegando até mesmo a ser desmotivador. O objetivo principal foi complementar o ensino da programação de forma dinâmica, através da elaboração de um plano prático com os alunos utilizando a plataforma Arduino, na construção de um projeto de utilização aplicada ao dia-a-dia. A utilização desta plataforma se mostra interessante, pelo fato de promover um ambiente no qual o aluno desenvolve a ferramenta (software e estrutura eletrônica) que será de utilização no mundo real, fazendo uso de conhecimentos de programação ensinados antes da elaboração do projeto pelos tutores e até mesmo empregando conceitos das disciplinas do seu curso de graduação. Isso desperta o interesse do aluno a procurar o conhecimento necessário para a solução do problema, mantendo-os motivados. Este artigo trata da abordagem de um método construcionista proposto por Seymour Papert que (Papert 1986) é ao mesmo tempo uma teoria de aprendizagem baseada nos princípios de Jean Piaget (conhecimento é adquirido à medida que se pensa e age sobre o objeto maturação, experiência, transmissão social e equilibração) e uma estratégia de trabalho onde cada um se torna responsável por sua aprendizagem à medida que experimenta e constrói algo. 2. ARDUINO E O ENSINO DE PROGRAMAÇÃO Arduino é uma placa simples de entrada e saída microcontrolada que permite construir sistemas interativos que percebam a realidade e respondam com ações físicas, capaz tanto de receber dados como também de controla-los. Em outras palavras, é uma plataforma que pode interagir com seu ambiente por meio de hardware e software (McRoberts, 2012). A linguagem de programação utilizada é a Wiring que é baseada em C e C++. A grande diferença desta ferramenta está na facilidade de entendimento, programação e aplicação. Deste modo, torna-se de grande utilidade para uso educacional sem ter a preocupação que o aluno possua um conhecimento prévio de eletrônica ou programação. Figura 1. Modelo Arduino Uno Inicialmente foram selecionados oito alunos do curso de Formação Interdisciplinar II, que envolve os cursos de Engenharia Física, Ciência da Computação, Geologia e Geofísica da Universidade Federal do Oeste do Pará. Esta atividade foi complementar a avaliação da disciplina de Introdução á Ciência da Computação (ICC) cursada pelos mesmos. Os encontros ocorreram duas vezes na semana no período noturno, com duração de duas horas a cada encontro durante três meses totalizando 25 encontros. O projeto foi estruturado para que os alunos, após uma breve iniciação básica com o Arduino pudessem em seguida desenvolver um trabalho final, de modo a estimular o trabalho em equipe. Foram dados minicursos com os seguintes temas: Lógica de Programação Estrutura e conceitos do Arduino Sintaxe da Linguagem Wiring Para o desenvolvimento dos programas foi utilizado a IDE Arduino development environment para a codificação no microcontrolador. 3. RESULTADOS E DISCUSSÃO Ao fim da execução do projeto restaram seis alunos. Havendo a desistência de dois por motivos de não se identificarem com o assunto. Tendo em vista que os alunos selecionados possuíam pouco conhecimento prévio em eletrônica e programação, o resultado final foi de grande aproveitamento e demonstrou um bom desempenho por parte destes. Ao longo do desenvolvimento do protótipo foram explorados assuntos ensinados nos minicursos em que eles puderam colocar em prática conceitos de grandes relevâncias. As dificuldades encontradas durante o desenvolvimento foi mais na questão da sintaxe da linguagem diante do problema que estava sendo abordado. Fazendo com que eles procurassem uma forma de resolvê-los, através de pesquisas em literaturas e pela internet. Foi construída uma maquete em formato de uma casa dividida em compartimentos, como quarto, cozinha, sala e etc. Cada compartimento possuía uma led que correspondia a uma “lâmpada” e no exterior da casa, continha um sensor de luminosidade LDR, para detectar quando estivesse escurecendo e automaticamente ligassem as “lâmpadas”. Foi utilizado um shield de bluetooth e um aplicativo de celular. A automatização se deu por comando de voz que a pessoa mandava via celular e o Arduino interpretava e comparava o comando para então assim, obedecer de acordo com o que foi programado. Com o protótipo finalizado, os alunos foram incitados a expor seu trabalho numa apresentação para outros que não participaram, como uma forma de incentivar e compartilhar experiência do que foi aprendido. De acordo com o levantamento de dados estatísticos do rendimento dos alunos participantes do projeto, 100% dos alunos foram aprovados ao final da disciplina, obtendo uma média de 8,41, dessa forma contribuindo para o aumento da média da turma. 4. CONSIDERAÇÕES FINAIS A dificuldade na aprendizagem da programação deve-se ao fato de programas serem elementos puramente virtuais, exigindo do aluno um alto nível de abstração de conceitos computacionais. Como resultado do projeto é possível afirmar a necessidade de métodos alternativos mais práticos para o ensino de programação como uma forma de gerar algo produtivo e motivador. Observou-se que a utilização da plataforma Arduino contribuiu para a fácil compreensão do código escrito e induziu a pensar além de soluções através de software como também a enxergar resoluções que poderiam ser desenvolvidas em hardware. 7. REFERÊNCIAS MCROBERTS, Michael. (2012) Arduino Básico. Novatec Editora LTDA. São Paulo. PAPERT, S. Construcionism: a new opportunity for elementary science education; a proposal to the National Science Foundation. Cambridge-Massachusetts: MIT, Media Lab., Epistemology and Learning Group, 1986.