Vous êtes sur la page 1sur 7

XII Encontro de Iniciao Docncia

Universidade de Fortaleza 22 26 de Outubro de 2012

Introduo a Engenharia de Computao utilizando a plataforma Arduino.Renan


Fonteles Albuquerque (ID) *, Gabriel Habib Medeiros (ID), Marcelo Souza (PO) 1. Universidade de Fortaleza Curso de Engenharia de Computao renanfonteles@live.com, habib_551@hotmail.com Palavras-chave: Plataforma de desenvolvimento, engenharia de computao, micro controladores, sistemas embarcados.

Resumo
Este trabalho tem como objetivo, fazer a apresentao da plataforma de desenvolvimento, OpenSource, Arduno,bem como sua utilizao didtica na cadeira de introduo a engenharia de computao. O Arduino um hardware programvel, intuitivo e de fcil entendimento, seu objetivo facilitar o desenvolvimento de dispositivos embarcados para iniciantes na rea computacional e at mesmo hobistas leigos. Por ser uma plataforma Open-Source, pode-se copiar, modificar e vender os dispositivos a partir dele gerado . A partir dessa plataforma, possvel apresentar de forma mais clara aos alunos do curso de Engenharia de Computao, o que ser aprendido no decorrer do curso, e que tipo de dispositivos possvel criar atravs dele. Por ser uma plataforma simples e fcil, permitir que alunos com pouco conhecimento de eletrnica e programao utilize-a. Atravs desta ferramenta, o professor da disciplina poder desenvolver exerccios e propor atividades em que os alunos iro utilizar esse recurso para criao de dispositivos embarcados, permitindo maior explorao da criatividade no processo de ensinoaprendizagem.

Introduo
Os estudantes de Engenharia de Computao devem adquirir competncia para desenvolver dispositivos que integram software e hardware, permitindo criao de sistemas e novas tecnologias. A partir da utilizao do Arduino possvel despertar a curiosidade e a criatividade nos alunos na criao dispositivos teis na resoluo de algum problema especfico. Permitir o contato do aluno com a prtica de um engenheiro de computao ira incentivar cada vez mais a busca pelo conhecimento dessa engenharia. O Arduino uma plataforma de desenvolvimento de integrao entre software e hardware, OpenSource, que permite a interao de programas residentes do prprio Arduino, que visam simplificar o processo de desenvolvimento. Sua IDE gratuita disponvel para os sistemas operacionais Windows, Linux e MacOs. A plataforma composta de uma placa contendo um Microcontrolador (hardware) e uma IDE de programao (software). possvel ampliar as funcionalidades do Arduino acoplando outros elementos eletrnicos como sensores e afins, essas placas de funes externas so conhecidas como Shields, so conectados ao Arduino e tratados pelo programador do sistema, adicionando novos recursos plataforma. Esta plataforma foi desenvolvida com inteno de facilitar o aprendizado da eletrnica, principalmente para aqueles que no a tem como profisso. O objetivo era criar uma plataforma moderna, fcil de programar e de baixo custo em comparao s outras plataformas presentes no mercado. Os benefcios no uso desta plataforma como ferramenta de ensino so diversos, dentre eles, um maior dinamismo em sala
ISSN 21755396
1

de aula e melhoria na formao e aprofundamento de conceitos. possvel explorar tambm atividades que possam ser realizadas em grupo, onde o problema resolvido a partir de discusses, troca de opinies e experincias com a ferramenta. O presente artigo enfatiza a utilizao do Arduino, suas caractersticas, facilidades e rendimento obtidos pelo mesmo no ensino da disciplina de Introduo a Engenharia de Computao.

Metodologia
No desenvolvimento deste trabalho foram realizadas pesquisas sobre as diversas aplicaes didticas que podem ser criadas a partir da plataforma Arduino e como essa plataforma aceita pelos os estudantes que a utilizam no aprendizado da eletrnica programvel. Descobrimos que h grande facilidade perante os alunos na utilizao do Arduino, alm do que o custo no alto para adquiri-lo. Desta forma a utilizao desta ferramenta na disciplina de Introduo de Engenharia de Computao seria bastante vivel. O professor orientador apresentou para alguns alunos do curso de Engenharia de Computao a placa Arduino, resultando em crticas satisfatrias dos avaliadores. Em seguida foi realizado o levantamento do material bibliogrfico, e desenvolvido um exemplo simples da utilizao da plataforma Arduino com fins didticos. Por fim os resultados e concluses foram discutidos e apresentados.

Resultados e Discusso
O ensino de Introduo a Engenharia de Computao aborda principalmente a explicao do que se trata o curso, que disciplinas sero realizadas e que matrias sero estudadas ao decorrer do curso. Alm de apresentar que reas um engenheiro de computao pode atuar e se especializar, dentre outros assuntos relevantes para apresentao aos alunos iniciantes. Essencialmente os alunos desta disciplina devem compreender os fundamentos de seu curso, seus conceitos, as possveis reas de atuao e como anda a procura de mercado nesta rea. Porm, o estudo de conceitos e explicaes muitas vezes no deixa claro aos discentes de como exercer a funo de um engenheiro de computao. Claro que existem muitas outras reas que um engenheiro de computao pode atuar, porm, tendo vista que as disciplinas so voltadas a principalmente sistemas embarcados, onde seria a especialidades deste curso e que a maioria das disciplinas so voltada aos estudos desses sistemas, seria interessante trabalhar os alunos iniciantes a compreender os fundamentos do curso, que a eletrnica embarcada integrada programao.

Introduo plataforma Arduino O Arduino uma plataforma de prototipagem eletrnica de hardware livre, projetada com um micro controlador de placa nica, baseado na linguagem Wiring, que voltada para micro controladores, que se trata basicamente de C/C++. O projeto iniciou-se na cidade de Ivrea, Itlia, em 2005, por Massimo Banzi,com objetivo de criar uma ferramenta acessvel, com baixo custo e de fcil utilizao, voltada para iniciantes ou leigos na rea de eletrnica e capaz de interagir em projetos escolares. Podem-se desenvolver com esta placa objetos interativos independentes ou ainda fazer conexo a um computador hospedeiro. Hardware
ISSN 21755396
2

Existem vrios modelos de placas Arduino. Suas placas consistem basicamente de um microcontrolador , pinos de entrada e sada, memria flash, cristal oscilador, entradas USB e um boto de reset. O Arduino Mega 1280, por exemplo, possui um microcontrolador ATmega1280, com memria flash de 128 Kb , onde 4Kb reservada para o bootloader, 8Kb de memria SRAM e 4Kb de memria EPROM. Possui 54 pinos digitais (entrada/sada), podendo utilizar 14 deles como sadas de PWM. Contm 16 pinos analgicos, 4 UART ( Portas Seriais de Hardware), um cristal oscilador de 16MHz, entrada USB e um boto de reset. Os componentes fsicos do Arduino no sero discutidos neste artigo, pois no o foco, apenas sero apresentados a ttulo de curiosidade. A baixo temos a placa uma figura da placa citada anteriormente.

Figura 1: Placa Arduino AT- Mega 1280

Software O Arduino IDE uma aplicao multiplataforma escrita em Java na qual derivada dos projetos Processing e Wiring. Possui uma biblioteca chamada Wiring, permitindo a programao em C/C++. O ambiente de desenvolvimento do Arduino contm um editor de texto para escrever o programa, uma rea de mensagens, uma barra com botes para funes mais comuns e uma srie de menus. Este software se conecta a placa do Arduino , atravs de um cabo USB, e transfere o programa para o mesmo. Os programas para Arduino so chamados sketches (esboos).

ISSN 21755396

Figura 2: IDE de desenvolvimento do Arduino

Aplicaes didticas As aplicaes da plataforma Arduino so diversas. Desde as mais simples, como acender um led, at as mais complexas, como desenvolver um rob independente, com sensores de movimento, dentre outros componentes. Como utilizaremos a plataforma com fins didticos, o exemplo citado ser bem simples. O interesse de aprofundar os assuntos sobre a plataforma, com a finalidade de desenvolver dispositivos complexos e robustos deve ser de interesse do aluno. No exemplo ser utilizada uma placa para testes conhecida como protoboard ou breadboard ou ainda de matriz de contatos. Este recurso muito til para iniciantes e at mesmo para projetistas experientes, pois facilita a montagem dos circuitos eletrnicos sem a necessidade de solda. Desta forma voc pode reutilizar estes componentes sem a preocupao de danific-los, porm para projetos permanentes, a protoboard no utilizada.

Figura 3: Protoboard

A aplicao desta ferramenta em sala de aula deve ser em funo da resoluo de algum problema. Utilizaremos o seguinte exemplo didtico de como esta plataforma poderia ser utilizada. Exemplo: Desenvolva um projeto que simule uma linha de montagem de carros, considerando que cada etapa tem um tempo de durao especfico. As etapas da montagem de carros so: 1) Corte das chapas de ao, que formar o esqueleto do automvel. (Tempo gasto : 5 Segundos) 2) Pintura da carcaa. (Tempo gasto : 3 Segundos) 3) Encaixe dos componentes eltricos e mecnicos. (Tempo gasto : 7 Segundos) Material a ser utilizado: 3 LED , 1 Boto de acionamento1 resistor de 10K ohms,1 Protoboard. Dica: O boto de acionamento inicia o processo de montagem enquanto que cada LED representa uma etapa do processo de montagem. Resoluo:

ISSN 21755396

Figura 4: Cdigo da resoluo do exemplo

Figura 5: Montagem do circuito do exemplo

Explicao do Cdigo: No desenvolvimento de cdigos no Arduino,existem duas etapas bsicas que devem ser realizadas.A primeira a construo do cabealho, onde ser declarada as variveis e referenciando os pinos que sero utilizados. E a segunda a implementao das funes setup () e loop (). Setup (): Funo utilizada para iniciar as variveis, definir os pinos como OUTPUT (Pino de sada) ou INPUT (Pino de entrada). executado apenas uma vez. No exemplo, o cdigo pinMode() define o tipo dos pinos. Como exemplo, pinMode(boto,input) e pinMode(led1,output) , onde o primeiro parmetro refere-se ao pino a ser definido e o segundo parmetro para que tipo ser definido, no exemplo, para INPUT (entrada) o boto e para OUTPUT o LED. Loop (): Funo onde encontra-se a lgica do programa, responsvel por definir o que tarefa ele ir exercer em um ciclo repetitivo, ou seja, aps a execuo da ltima linha de cdigo voltar a executar a primeira linha desta funo, permanecendo assim enquanto o circuito estiver ligado. A varivel Var controla a leitura do pino Boto para identificar em que nvel lgico ele se encontra. Como ela inicia com valor 1 (ou seja, HIGH), ela satisfaz a condio do primeiro IF e faz a leitura a partir do digitalRead(), funo a qual recebe por parmetro a referencia do pino e realiza a leitura do nvel lgico deste pino.Se a leitura identificar o valor de 0 (ou seja, LOW), entra no segundo IF responsvel por
ISSN 21755396
5

ligar e desligar os LEDs em seqncia simulando a fabrica de montagem de carros. A simulao ocorre quando o boto acionado.O primeiro LED aceso durante 5 segundos, depois apaga, dando seqncia no segundo LED, que permanece aceso por 3 segundos, sendo apagado logo em seguida, terminando com o terceiro LED que permanece 7 segundos aceso. Por fim, atribudo o valor 1 para a varivel Var para que no prximo ciclo satisfaa a condio do primeiro IF permitindo novamente realizar a leitura do Boto. O cdigo digitalWrite() responsvel por alterar o nvel lgico de uma porta especfica .Os parmetros recebidos pela funo a porta a qual ser alterado nvel lgico e para qual nvel lgico ser alterado. Por exemplo, digitalWrite(led1,HIGH), altera o nvel lgico do pino led1 para nvel alto (HIGH), onde o nvel lgico HIGH responsvel pelo o acendimento do LED e o nvel lgico LOW pelo o apagamento.Outra funo utilizada a delay() , responsvel por interromper o programa pela a quantidade de tempo em milissegundos passada por parmetro. Percebe-se que a sintaxe da linguagem intuitiva e simples. Apesar de o exemplo ser trivial, possvel desenvolver atividades que permitam o desenvolvimento do raciocino dos alunos da disciplina a resolver problemas diversos, enfatizando aqueles relacionados engenharia. PARTE FEITA OLHAR AQUI ************1231241423421249142148!@#!$!$@!$#!@# Atualmente a cadeira de Introduo a engenharia de computao, ministrada na Unifor, utiliza uma placa de comunicao USB to Serial para realizarem determinados projetos com leds cujo tema aberto. Por conta da pouca experiencia dos dicentes, se faz necessrio que a parte de comunicao entre o computador e a placa de converso para serial seja toda previamente feita pelo Professor da disciplina, fazendo com que ocorra uma amarrao nas funes disponiveis na biblioteca do docente, no dando assim, a oportunidade de se trabalhar com algo mais complexo, amarrando somente o uso de leds, consequentemente inibindo a imaginao do aluno; Ao contrario do arduino, que tem um leque enorme de Shields, que excita a imaginao do aluno. Alm disso, da maneira atual, no possivel fazer um dispositivo embarcado, tendo em vista que o algoritimo de controle dos leds ser controlado pelo prprio computador do aluno, e no por um microcontrolador como o Arduino, que permite tal independecia de um processador fixo.

Concluso
Os alunos de engenharia em geral tm grande dificuldade na escolha da rea de atuao, tendo em vista os diversos ramos que um profissional de tecnologia pode atuar. A diversidade gigantesca, fazendo com que o Aluno de Engenharia de computao saiba que ele pode atuar em boa parte delas ao mesmo tempo, despertando ainda mais o interesse pelo curso. A plataforma Arduino permite esclarecer os conceitos de eletrnica e programao, por ser uma plataforma de simples manuseio. Os alunos que obtiverem contato com esses conceitos no incio do curso, tero facilidade de entender a proposta oferecida pelo curso de Engenharia de Computao. Alm do que, cria-se uma familiaridade para com os alunos que futuramente iro trabalhar com micro-controladores mais robustos e algoritmos de maior nvel. Desta forma o processo de ensino-aprendizagem torna-se mais dinmico e proveitoso, pois o docente pode desenvolver diversos trabalhos que utilize a plataforma,na criao de projetos como robs, dentre outros, aumentando assim o interesse dos alunos pelos contedos que sero abordados futuramente e conseqentemente melhorando o aproveitamento dos alunos nos estudos realizados.
ISSN 21755396
6

Referncias
1. Arduino HomeWork Tutorials. Disponvel em < http://www.arduino.cc >. Acesso em 11 de Junho de 2012. 2. Arduino. Disponvel em < http://pt.wikipedia.org/wiki/Arduino >. Acesso em 19 de Junho de 2012

Agradecimentos
Agradecemos ao nosso orientador, Professor Marcelo Souza, por nos auxiliar no desenvolvimento deste trabalho.

ISSN 21755396

Vous aimerez peut-être aussi