Apropriação em Bancada Computacional (ABaCo)

De Wiki DAINF
(Diferença entre revisões)
(Links Relacionados)
(O ABaCo)
 
(103 edições intermediárias de 2 usuários não apresentadas)
Linha 1: Linha 1:
== Introdução ==
+
O projeto ABaCo tem como objetivo fornecer uma estrutura básica de eletrônica e softwares relacionados, de modo que qualquer pessoa interessada em aprender ou desenvolver projetos interativos, mídias tangíveis entre outros, seja capaz de executá-lo de um modo mais fácil. As ferramentas e softwares utilizados estão diretamente correlacionados com a filosofia de software livre e da liberdade de uso, execução, distribuição e modificação.
Um dos entraves enfrentados pelos professores e estudantes das áreas de Engenharia que têm como disciplina eletricidade, é o ensino e entendimento, este por parte dos alunos, de circuitos elétricos. Como cita [1], há uma dificuldade na construção da ponte que liga o embasamento teórico, este adquirido desde as disciplinas básicas tais como física e matemática, e as disciplinas que envolvem a prática em laboratório, o que faz com que o aproveitamento esperado seja prejudicado.
+
  
Seguindo por uma das idéias levantadas na elaboração deste projeto, que no caso é a criação de um arcabouço para auxiliar no entendimento do aluno para com as aulas de laboratório e a familiarização com circuitos elétricos, o estudo se assemelha em partes ao programa REENGE [2] que tem como objetivo a criação de uma plataforma para ensino de modo a facilitar o entendimento.
+
Esta wiki divide o projeto ABaCo em tópicos didáticos que buscam explicar de um modo simples cada parte que o compõe.
  
Um dos pontos-chave do projeto é a importância do baixo custo na construção do arcabouço, uma vez que toda a arquitetura, a princípio almejada, segue a filosofia livre. E um outro fator importante do projeto é o foco no curso de Engenharia de Computação.
 
  
No curso de Engenharia de Computação, ofertado no campus de Curitiba pela Universidade Tecnológica Federal do Paraná (UTFPR), o primeiro relacionamento com os fundamentos da eletricidade e componentes com propriedades elétricas acontece no segundo semestre com a disciplina de Física 3, a qual intermedeia o aluno e os componentes elétricos pela primeira vez. Entretanto são poucos os alunos que conseguem absorver o que o laboratório propõe que é entender a teoria na prática, pelo pouco tempo que o aluno tem para entender o que ele deve fazer, por que deve ser assim o experimento e o que são as coisas com as quais ele está manipulando, o que converge para um único resultado: o professor certamente não terá tempo de explicar o porquê das coisas e conduzirá o aluno a fazer mecanicamente o experimento.
+
= O ABaCo =
  
Após concluir Física 3, o aluno então embarcará na disciplina de Fundamentos de Análise de Circuítos Elétricos, que irá aumentar o nível de entendimento, por parte do aluno, dos componentes eletrônicos e da manipulação e montagem de circuítos, as quais não estão solidamente entendidas. Como produto desse imperceptível entrave, o bom desenvolvimento do aluno durante a disciplina é prejudicado, novamente levando a uma busca pela solução mecanica, sem o entendimento claro, em busca de nota e aprovação ao final do semestre.
+
O projeto ABaCo segue uma [[cadeia de desenvolvimento]] elaborada com base em Software livre.
  
Voltando ao segundo semestre, mais especificamente na disciplina de Oficinas de Integração 1, na qual um projeto deve ser realizado por um grupo no prazo de seis meses, alguns grupos acabam por não realizar o que gostariam, ou não conseguirem como pretendiam, quando o assunto envolve hardware e o motivo é evidente: ainda não há carga teórica e nem prática suficiente para esses alunos.
+
Para se trabalhar com circuitos elétricos e projetos interativos usando o ABaCo são necessários componentes eletrônicos como [[Resistores]], chaves de contato entre outros, bem como de um [[Protoboard]] no qual o [[Protótipo]] será montado. Com o protótipo montado no protoboard, o controle do circuito será feito pelo [[Arduino]] que estará conectado a um [[Computador]] no qual roda o código de controle do protótipo na [[linguagem de programação do Arduino]]. Entretanto antes de se ligar o protótipo no arduino é importante simular se tudo está ocorrerá como esperado em um [[software de simulação]] e é também importante manter o diagrama do circuito para que possa ser explicado de forma simples o seu funcionamento e mostrar quais componentes foram usados usando um programa de [[diagramação(Layout do circuito)]].
  
É com base nesses pequenos problemas, que futuramente se tornaram grandes, que o projeto{?} ABaCo tem como foco auxiliar, criando um arcabouço no qual o aluno irá construir seus fundamentos teóricos e práticos em hardware e componentes eletrônicos assim como, também, com a interface hardware-software, usando desta com o foco inicial no design e artes.
+
Para visualização dos dados, pode-se optar pelo [[interfaceamento com processing]] de modo a ter uma interação gráfica e de fácil manipulação. Bem como o custo do projeto a ser construído, o [[ABaCo também tem seu custo]].
 +
Com todo o projeto simulado e montado, já funcionando, é possivel, caso se queira, criar um [[diagrama para impressão]] em placa condutora e assim construir o projeto final numa placa independente do protoboard com o tamanho requisitado pelo circuito ao contrário do protoboard que sempre possui as mesmas dimensões.
  
== O que é ? ==
+
O projeto incentiva a criação de [[mídias tangíveis]] bem como em paralelo o uso da [[filosofia de software livre]].
  
Uma bancada computacional de baixo custo que irá auxiliar o aluno de Engenharia de Computação no entendimento e desenvolvimento de projetos utilizando hardware e interface hardware-software, esta por meio da criação do design de interação. A arquitetura básica da bancada, além do computador para coleta e envio de dados ao hardware em desenvolvimento, será composta por tecnologias livres, utilizando na parte de interação com o hardware base o ambiente Arduíno [3], na parte do design de interação da interface hardware-software o ambiente Processing [4], na simulação, anterior a montagem do circuito, será usado o QUCS [5] para que haja certeza de que o que se espera irá ocorrer. Outros diagramadores de circuitos pesquisados: KLogic [6], XCircuit [7] e Oregano [8]. Programas relacionados a circuitos podem ser encontrados em [http://www.opencollector.org/collector.php].
+
Alguns [[Exemplos Práticos]] estão disponíveis para que se possa esclarecer o uso do ABaCo para construção de mídias tangíveis.
O projeto será usado em conjunto com outro em elaboração, que é criar aulas de laboratório de mídias e hardware para que os alunos tenham um melhor entendimento dos conteúdos que serão cobrados posteriormente em outras disciplinas de circuítos e desenvolvam a capacidade de criar sistemas interativos.
+
 
+
==== Computador ====
+
 
+
O componente principal da bancada no qual todos os estudos serão realizados tais como simulações, programação do software a ser embarcado no hardware(Arduino) e interação com o hardware(Arduino) a partir de uma interface(Processing). O sistema operacional a ser utilizado será baseado no GNU/Linux afim de que se estimule o aluno ao uso e criação de soluções livres para que haja total entendimento e acesso por parte de outros estudantes ou interessados no assunto.
+
 
+
==== Arduino ====
+
 
+
[[Imagem:Arduino316.jpg|right|thumb|200px|Arduino]]
+
 
+
Arduino é um protótipo eletrônico open-source que implementa um ambiente de fácil relacionamento entre o hardware e o software para programadores, designers, artistas ou quem quer que esteja interessado em utilizá-lo para algum fim. Com ele é possível capturar eventos em ambientes através de sensores, por meio da porta de entrada de sinais, e também controlar dispositivos eletrônicos de diversos tipos como luzes, motores etc, de um modo simples quando comparado às linguagens usadas que permitem esse tipo de comunicação.
+
 
+
==== Processing ====
+
 
+
Processing é uma linguagem de programação e ambiente open-source destinada a produção de artes, não necessariamente precisando de conhecimentos profundos em programação e algoritmos para que se possa dar um primeiro passo significativo no entendimento e domínio dela, assim como também destinada a ensinar os princípios básicos de programação para computadores num contexto visual. O ambiente Processing é uma ferramenta livre de grande valia aos estudantes, designers e entusiastas que têm como obstáculo na criação de algum projeto(arte), elementos que uma suite gráfica dificilmente fornece, como exemplo uma <span style="font-style: italic">função recursiva</span> (chamada a própria função antes desta terminar, exemplo: fatorial[http://pt.wikipedia.org/wiki/Factorial] é uma função recursiva).
+
 
+
==== QUCS - Quite Universal Circuit Simulator ====
+
 
+
[[Imagem:Qucslogo.png|right|thumb|200px|QUCS]]
+
QUCS é um diagramador de circuitos open-source fácil de usar e foi escolhido para compor o arcabouço, pelo fato de que permite a simulação fácil de circuitos e terá como finalidade sanar possíveis dúvidas de funcionalidade, antes da construção de um determinado circuito. Ele permite uma quantidade razoável de simulações dentre elas de corrente alternada, contínua e circuitos digitais.
+
 
+
==== Hardware base ====
+
 
+
O hardware base para a elaboração de circuitos será composto por componentes eletrônicos tais como resistores, capacitores, diodos etc, um multimetro para a verificação das grandezas reais associadas ao circuito e aos componentes, a captura de dados e a alimentação do hardware será através da porta USB utilizando o Arduino, entrentanto para circuitos sem a necessidade da captura de dados uma fonte de tensão pode ser usada (que pode ser construida a partir de uma fonte ATX de computadores, ver em Links Relacionados) e por fim um protoboard, ou matriz de contatos, que é uma placa que contém dezenas de pequenas entradas nas quais os componentes eletrônicos são encaixados e o circuito é montado, evitando a necessidade inicial de placas condutora e solda.
+
 
+
==== Software para criar o layout do projeto ====
+
 
+
Se o interesse for apenas em construir o layout do projeto, com os componentes, pode-se usar:
+
* gEDA - GPL’d suite of electronic design automation [9]
+
 
+
Uma vez montado o circuito no protoboard, todo o esquema então pode ser passado a um programa para que, caso haja interesse, o circuito possa ser construído para a versão definitiva, ou seja, impresso e construído em uma placa condutora. Um software para GNU/Linux encontrado que possibilita o desenho de circuitos para impressão no formato sem componentes:
+
* PCB - Printed Circuit Board Layout Tool [10]
+
 
+
==== Componentes físicos do projeto ABaCo ====
+
 
+
[[Imagem:Abaco.png|right|thumb|400px|ABaCo]]
+
A imagem lateral ilustra a parte física necessária para o projeto ABaCo, a maioria dos itens já foram explicados anteriormente e os que ainda não foram, serão melhor explicados no manual junto aos exemplos.
+
 
+
# Arduino
+
# Cabo USB para conexão Arduino -> Computador e alimentação do Arduino
+
# Multimetro Digital
+
# Protoboard
+
# Cabo de rede para construção de cabos para interligar o circuito no protoboard
+
# Alicate para auxiliar na construção dos fios que interligarão o circuito
+
# Resistores
+
# LEDs
+
 
+
Os elementos da parte física do projeto não precisam ser necessariamente iguais aos da imagem. Qualquer modelo e forma, no caso do protobard, servirá, exceto pela versão do Arduino que deve-se tomar cuidado em verificar se apresenta diferenças significativas em relação ao Arduino DIECIMILA que é o usado nesse projeto.
+
 
+
== Requisitos ==
+
 
+
Como citado , este projeto tem foco nos estudantes de Engenharia de Computação da UTFPR, entretanto qualquer um pode se apropriar do que for útil aqui escrito. Entretanto alguns requisitos básicos são necessários para que possa haver progresso no uso do projeto ABaCo, dentre elas vale citar:
+
 
+
* Conhecimento básico no funcionamento de componentes de circuitos elétricos (Resistores, Capacitores, Indutores, Diodos, Transistores etc).
+
* Conhecimento básico em alguma das linguagens de programação como Java, C entre outras.
+
 
+
== Desenvolvimento de interfaces tangíveis ==
+
 
+
Segundo a definição de Ullmer e Ishi(2000) [11], interfaces tangíveis relacionam o uso de um sistema de artefatos físicos para o controle de informações digitais. Ou seja, a informação a ser manipulada não fica restrita apenas a comandos e ações realizadas por meio de dispositivos genéricos, mas sim por dispositivos específicos. Isso faz com que se torne mais fácil e eficiente a manipulação dessas informações. O projeto ABaCo tem por foco o apoio ao desenvolvimento de interfaces tangíveis. Com isso agregar melhor entendimento de circuitos eletro-eletrônicos bem como em design de interação, atingindo a meta do projeto que é fornecer uma base sólida de circuitos elétricos em conjunto com programação embarcada e o desenvolvimento de tecnologias pensando no usuário, aplicando os princípios de design de interação.
+
 
+
== Fundamentos de Software Livre ==
+
 
+
Como o projeto vai se manter sobre a filosofia de software livre, é de grande importância esclarecer alguns pontos que dizem respeito ao software livre. Segundo a cartilha de Software Livre do Projeto Software Livre Bahia [12], software livre não é uma questão de preço, mas sim de liberdade, que segue as seguintes liberdades definidas pela Free Software Fundation [13]:
+
 
+
* A liberdade de executar o programa, para qualquer propósito;
+
* A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades. Acesso ao código-fonte é um pré-requisito para esta liberdade;
+
* A liberdade de redistribuir cópias de modo que você possa beneficiar o próximo;
+
* A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie. Acesso ao código-fonte é um pré-requisito para esta liberdade.
+
 
+
Um programa que segue essas quatro liberdades pode ser condiderado livre. Entretanto não impede que o programa custe um valor que muitos não possam pagar.
+
No caso de um hardware em conjunto com o software, algumas mudanças baseadas nessas quatro liberdades são suficientes para que o hardware seja livre [[Hardware aberto]].
+
Algo interessante que poucas vezes é citado quando explicado o porquê do software livre é o fato de que todo o conhecimento usado pelo programador para se contruir um software/hardware, pode ser obtido por ele sem custo algum. Desde as teorias matemáticas, físicas, químicas etc até a própria escrita, que ele tem as quatro liberdades acima citadas (com algumas adaptações). Entretanto o produto produzido pelo programador de software proprietário é fechado de modo que ninguém saiba como funciona? Mas e se tudo que ele usou como fundamento para seu projeto fosse também restrito? O que seria do projeto ?
+
 
+
Um texto escrito por Pedro Antonio Dourado de Rezende explica melhor a linha de raciocínio:
+
 
+
"No software proprietário, o programador abdica da liberdade de controlar sua obra, em troca de salário e compromisso de sigilo. O distribuidor, fantasiado de 'fabricante', torna-se proprietário de tudo. Desde o código fonte, tido como segredo de negócio, até as cópias executáveis, licenciadas ao usuário sob custódia e regime draconiano. Enquanto no software livre o programador abdica de um dos canais de receita pelo seu trabalho, em troca da preservação do controle dos termos de uso da sua obra. Em contrapartida, se a obra tiver qualidades, agregará eficiência aos empreendimentos em torno dela. Seu valor semiológico, conversível em receita com serviços, será proporcional à magnitude do esforço colaborativo onde se insere. O código fonte é livre sob licença que preserva esta liberdade, enquanto a cópia executável é tida como propriedade do usuário. (...) Só tem a perder com ele (Software Livre) quem consegue galgar posições monopolistas no modelo proprietário. O problema é que a ganância faz muitos acreditarem que serão os eleitos pelo deus mercado, enquanto seguem correndo atrás da cenoura amarrada na ponta da vara que pende das suas carroças digitais, não se importando com os efeitos colaterais de se tratar conhecimento como bem escasso, ao considerarem software como mercadoria."
+
 
+
== Manual Básico do projeto ABaCo ==
+
 
+
O manual para o projeto ABaCo será objetivo e omitirá a parte teórica já explicitada nesse artigo. Ele deve focar práticas básicas que façam com que o seu usuário aprenda os conceitos básicos inerentes ao Arduíno bem como ao entendimento superficial, caso não haja algum, de elementos de circuitos. O uso do software para criação do Layout só será necessário quando se quiser construir um circuito definitivo em uma placa de metal como por exemplo de cobre.
+
 
+
Os exemplos contidos no manual seguirão a parte teórica aqui escrita, ou seja, será usado o Qucs para simulação dos circuitos, quando possível, e depois implementados fisicamente no Protoboard e então a fonte de energia e processamento dos dados será feito utilizando o Arduino.
+
 
+
* Manual em contrução
+
 
+
== Referências Bibliográficas ==
+
 
+
# Nival Nunes de Almeida, D.Sc, Bernardo Severo da Silva Filho, M.Sc. '''O Desafio do Ensino de Circuitos Elétricos na Formação Básica em Engenharia Elétrica na UERJ.''' Disponível em: http://www.del.ufms.br/desafio_CE.pdf Acesso em 29 de agosto de 2008
+
# '''Reestruturação do Ensino de Engenharia''' - Disponível em: http://www.unicamp.br/prg/reenge/reenge.html#reenge Acesso em 29 de agosto de 2008
+
# '''Arduino''' Disponível em: http://www.arduino.cc/ . Acesso em 01 de setembro de 2008.
+
# '''Processing''' Disponível em: http://processing.org/ . Acesso em 01 de setembro de 2008.
+
# '''QUCS - Quite Universal Circuit Simulator''' Disponível em: http://qucs.sourceforge.net/ . Acesso em 5 de setembro de 2008.
+
# '''XCircuit''' Disponível em: http://opencircuitdesign.com/xcircuit/ . Acesso em 15 de setembro de 2008.
+
# '''KLogic''' Disponível em: http://pdb.finkproject.org/pdb/package.php/klogic . Acesso em 15 de setembro de 2008.
+
# '''Oregano''' Disponível em: http://oregano.gforge.lug.fi.uba.ar/ . Acesso em 26 de setembro de 2008.
+
# '''gEDA''' Disponível em: http://www.geda.seul.org/ . Acesso em 26 de setembro de 2008.
+
# '''PCB''' Disponível em: http://sourceforge.net/projects/pcb/ . Acesso em 26 de setembro de 2008.
+
# ULLMER, Brygg; ISHI, Hiroshi. '''Emerging frameworks for tangible user interfaces ''' Disponível em http://www.research.ibm.com/journal/sj/393/part3/ullmer.html Acesso em 5 de novembro de 2008.
+
# '''Projeto Software Livre Bahia''' Disponível em: http://twiki.dcc.ufba.br/bin/view/PSL Acesso em 7 de novembro de 2008.
+
# '''Free Software Foundation''' Disponível em: http://www.fsf.org/ Acesso em 7 de novembro de 2008.
+
 
+
== Links Relacionados ==
+
# Open source hardware 2008 - The definitive guide to open source hardware projects in 2008 http://blog.makezine.com/archive/2008/11/_draft_open_source_hardwa.html
+
# '''tinker.it''' http://tinker.it/now/category/physical-computing/
+
# harkopen http://www.harkopen.com/projects/littlebits
+
# Open Collector http://www.opencollector.org/collector.php
+
# '''e-panorama.net'''  http://www.epanorama.net/index.php
+
# '''Como converter uma fonte ATX em uma fonte de tensão para experimentos''' http://www.wikihow.com/Convert-a-Computer-ATX-Power-Supply-to-a-Lab-Power-Supply
+
# '''Phoenix: Computer Interfaced Science Experiences''' http://www.nsc.res.in/~elab/phoenix/
+
# '''J. Jayapandian (2006) Embedded control and virtual instrument simplifies laboratory automation. CURRENT SCIENCE, VOL. 90, NO. 6, 25 MARCH 2006.''' Disponível em http://www.ias.ac.in/currsci/mar252006/765.pdf
+
# '''Hardware toolkits for physical user interface prototyping''' - Disponível em http://hci.rwth-aachen.de/toolkits
+
# '''O Uso de Realidade Aumentada no Ensino de Física Abstract 1''' - Disponível em http://www.ckirner.com/download/anais/WRA2005-Anais/WRA2005-1-24.pdf
+
# http://oap.sourceforge.net/
+
# http://wiki.debian.org/DebianScience
+
# http://www.discovercircuits.com/H-Corner/tool-kit.htm
+
# Starter kit of components http://www.kpsec.freeuk.com/starter.htm
+
# Electronics Learning-Resources on the WWW http://newton.ex.ac.uk/teaching/CDHW/Electronics2/ElectronicsResources.html
+

Edição atual tal como 18h52min de 14 de julho de 2009

O projeto ABaCo tem como objetivo fornecer uma estrutura básica de eletrônica e softwares relacionados, de modo que qualquer pessoa interessada em aprender ou desenvolver projetos interativos, mídias tangíveis entre outros, seja capaz de executá-lo de um modo mais fácil. As ferramentas e softwares utilizados estão diretamente correlacionados com a filosofia de software livre e da liberdade de uso, execução, distribuição e modificação.

Esta wiki divide o projeto ABaCo em tópicos didáticos que buscam explicar de um modo simples cada parte que o compõe.


O ABaCo

O projeto ABaCo segue uma cadeia de desenvolvimento elaborada com base em Software livre.

Para se trabalhar com circuitos elétricos e projetos interativos usando o ABaCo são necessários componentes eletrônicos como Resistores, chaves de contato entre outros, bem como de um Protoboard no qual o Protótipo será montado. Com o protótipo montado no protoboard, o controle do circuito será feito pelo Arduino que estará conectado a um Computador no qual roda o código de controle do protótipo na linguagem de programação do Arduino. Entretanto antes de se ligar o protótipo no arduino é importante simular se tudo está ocorrerá como esperado em um software de simulação e é também importante manter o diagrama do circuito para que possa ser explicado de forma simples o seu funcionamento e mostrar quais componentes foram usados usando um programa de diagramação(Layout do circuito).

Para visualização dos dados, pode-se optar pelo interfaceamento com processing de modo a ter uma interação gráfica e de fácil manipulação. Bem como o custo do projeto a ser construído, o ABaCo também tem seu custo. Com todo o projeto simulado e montado, já funcionando, é possivel, caso se queira, criar um diagrama para impressão em placa condutora e assim construir o projeto final numa placa independente do protoboard com o tamanho requisitado pelo circuito ao contrário do protoboard que sempre possui as mesmas dimensões.

O projeto incentiva a criação de mídias tangíveis bem como em paralelo o uso da filosofia de software livre.

Alguns Exemplos Práticos estão disponíveis para que se possa esclarecer o uso do ABaCo para construção de mídias tangíveis.

Ferramentas pessoais