O que é o Projeto ABaCo

De Wiki DAINF
Edição feita às 16h04min de 6 de junho de 2009 por Solanoalves (disc | contribs)

Tabela de conteúdo

O que é

O projeto é uma bancada computacional que irá auxiliar, a quem interessar, no entendimento e desenvolvimento de projetos utilizando hardware e interface hardware-software mesclando as artes e ensino, utilizando processing. A arquitetura básica da bancada, além do computador, utilizando plataforma GNU/Linux, 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 de programação Arduíno [1], na criação das artes e interpretação de dados para ensino o processsing e na simulação, caso necessária, anterior a montagem do circuito, será usado o QUCS [2] para que haja certeza de que o que se espera irá ocorrer. Também há o caso em que se deseje realizar a montagem em uma placa impressa, então será usado o software gEDA[3] para construir o layout do projeto. Outros simuladores de circuitos pesquisados: KLogic [4] e XCircuit [5].

Outros Softwares de simulação, diagramação etc, relacionados a circuitos podem ser encontrados em opencollector.org. O projeto ABaCo será usado em conjunto com outro em elaboração[6], 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 da bancada no qual todos os estudos serão realizados tais como simulações, programação do software a ser embarcado no hardware(Arduino) quando necessário, a partir de um ambiente de desenvolvimento(Arduino Programming Language (IDE)). 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 no projeto em desenvolvimento ou já desenvolvido por parte de outros estudantes ou interessados no assunto.

Prototipação

Com o Arduino e o protoboard é possível fazer a prototipação, como se fosse uma maquete do circuito, antes de uma versão final, portanto facilitando os melhoramentos e implementações extras antes do lançamento oficial do projeto do circuito que irá ser encapsulado, ato de comprimir todo o circuito dentro de um artefato. O problema em não possuir um estágio de prototipação é que quando o produto final está pronto, se algum problema ocorre, a solução do mesmo e a localização do problema se tornam muito difícil, umas vez que todo o encapsulamento tem que ser desmontado para visualização interna do projeto.

Arduino

Segundo BANZI(2008)[6] o Arduino é uma plataforma de computação física(tangível) opensource que através de um hardware fornece entrada e saída de dados de uma maneira simples controladas através de um ambiente de programação baseado no ambiente processing. Pode ser usado para desenvolver projetos interativos independentes de um computador para manipular as informações e os dados associados ao hardware podem ser acessados de diversas linguagens de programação tais como Processing, Java e Python.

O software manipulador da plataforma Arduino pode ser obtido gratuitamente através do site oficial do projeto, a saber www.arduino.cc, e apresenta as seguintes características favoráveis a seu uso:

  • Software de controle multiplataforma, ou seja, possui versões para Windows, Linux e Macintosh.
  • Baseado na IDE Processing que é voltada para designers e artistas, portanto fácil de usar.
  • A comunicação é feita através da porta USB, não necessitando da porta serial, já extintas em computadores novos, como similares ao arduino.
  • O hardware do Arduino pode ser feito por qualquer um, uma vez que toda a documentação de como ele é feito é liberada. Com isso torna-se fácil a sua obtenção.
  • A comunidade que usa o Arduino é grande e ativa, com isso ajudas e problemas podem ser solucionados mais facilmente.
  • O Arduino foi desenvolvido em um ambiente educacional, consequentemente é adaptado a novos entusiastas conseguirem o que desejam rapidamente.

Alguns hardware similares citados acima são voltados a profissionais da área, portanto a manipulação do mesmo se torna difícil e exige um grande conhecimento prévio. Uma outra plataforma similar ao Arduino e com características parecidas voltada as artes e designers é a Wiring e pode ser encontrada em

http://www.wiring.org.co/.

Arduino.jpg

O Arduino tem três regiões principais que estão em torno de um quadrado com bordas vermelhas na imagem acima.

  1. No canto esquerdo da imagem há duas portas e um pino (jumper) selecionável que diz se a alimentação do arduino será via USB ou por uma fonte externa ou bateria de 9 Volts.
  2. No topo da imagem há 16 portas sendo que os pinos de 0 a 13 são usados pra entrada e saída digital. Desses 13 pinos, os pinos rotulados 0(RX, Recebe) e 1(TX, Transmite) podem ser usados para comunicação serial, os pinos 3,5,6,9,10 e 11 suportam pwm (Pulse-width modulation) em que é possível especificar o tempo que o sinal ficará ligado em um periodo, a porta GND(Ground) é o terra do circuito e a porta AREF é a referência de entrada para as entradas analógicas, ou seja, quando a tensão lida é igual a tensão aplicada em AREF, então 1023 é retornado, caso contrario um valor proporcional de 0 a 1023 é retornado. O valor máximo aplicado na porta AREF deve ser de 5 volts, entretanto esse é o valor padrão considerado como 1023 nas leituras analógicas, logo o uso de AREF deve-se a necessidade de leitura de tensões máximas menores que 5 volts.
  3. Na base da imagem há 12 portas sendo 6 rotuladas de 0 a 5 para a entrada analógica de tensão, sendo a máxima 5 volts; na esquerda há 6 portas rotuladas da esquerda para a direita como porta RESET usada para resetar o arduino quando aplicado o terra sobre ela, a porta 3V3 que fornece 3.3 Volts com corrente máxima de 50mA, a porta 5V que fornece 5 volts de tensão, a porta GND que é ligada ao terra do circuito e a porta Vin que também fornece 5 Volts quando alimentado por USB ou a tensão da fonte de tensão ou da bateria quando alimentado por estas.

O botão na região central direita do arduino serve para resetá-lo.

Ambiente de programação Arduino

O ambiente de programação Arduíno é baseado na IDE do processing e a linguagem de programação do arduino é baseada nas linguagens de programação Java e C++. Para os programadores de C/C++ e java haverá uma grande facilidade em se aprender a trabalhar com o ambiente de programação Arduino.

Interfaceamento Processing - Arduino

É possível fazer comunicação com o Arduino através do Processing, assim aproveitando as vantagens em se trabalhar com processing em Mídias e Artes. O que o Processing fará então é ler toda a saída do Arduino, aplicando uma computação mais elaborada às respostas dele como efeitos 3D, musicas et cetera. Nos exemplos que se seguem será abordado a maneira de realizar tal comunicação.

Fonte de alimentação

A fonte de alimentação será construída de modo que tenha saídas padrões com relação aos componentes avançados que podem vir a ser usados, tais como transistores, amplificadores operacionais entre outros. A fonte precisa ser construída por uma pessoa experiente, utilizando o circuito que for conveniente de modo que apenas saiam as tensões +5V, -5V, +12V, -12V e terra(GND-Ground).

QUCS (Quite Universal Circuit Simulator)

QUCS é um diagramador, assim como KLogic e XCircuit, 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.

A escolha pelo QUCS se deve também ao fato de que é um dos projetos mais atualizados entre os outros relacionados para GNU/Linux e mais conhecido/famoso em conjunto a seu foco profissional que também é acentuado.

Para mudar a linguagem do programa para Português acesse File > Application Settings e selecione em Language: Português.

Qucs3.jpg

Seu uso para simulações simples é relativamente simples baseado em etapas:

  • Montagem do circuito utilizando os componentes que são divididos em tipos, então para se escolher os Componentes primeiro se escolhe que tipo de componente quer e então arrasta-o, localizando-o numa lista, para o painel de desenho.

Qucs1.jpg

  • Após a montagem deve-se inserir o elemento de simulação no item Simulação e o que se deseja medir no menu Ponteiras junto ao circuito no painel de desenho.

QUCS2.jpg

  • E por fim então clica-se para começar a simulação em Simulação>Simular ou F2. Irá abrir uma página em branco e o item "diagramas" no painel lateral esquerdo, então deve-se escolher qual a forma de exibição dos dados como também quais variáveis deverão ser exibidas.

Hardware Base

O hardware base para a elaboração de circuitos será composto por resistores, 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 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 condutoras e soldagem.

Leitura de Resistores

Cada resistor tem uma identificação única que o caracteriza, ou seja, que informa a sua resistência. Uma das especificações dos padrões de cores usadas é a de que são três anéis coloridos em que cada cor representa um número e a partir da combinação se tem então a resistência. Cada especificação pode ser encontrada com base na precisão do resistor (1%, 5% ou 10%) na internet ou em tabelas fornecidas por comerciantes de componentes eletrônicos.

Os resistores dessa especificação possuem quatro faixas sendo que a última faixa a ser lida é dourada ou prata, ou seja, a orientação que deve-se seguir é com base na posição da faixa dourada ou prata. A faixa vermelha representa que o resistor tem um erro de 1%, a dourada um erro de 5% e a prata 10%. A leitura será explicada em base ao resistor de 5%.

Posicionando a faixa de erro para a direita, da esquerda para a direita a primeira faixa representa o primeiro digito, a segunda faixa o segundo digito e a terceira faixa o multiplicador dos dois primeiros. A tabela abaixo relaciona as cores com os valores a serem associados.

Resistores.png

Como exemplo, se um resistor tem as cores Amarelo-Violeta-Marrom-Dourado, então pode-se dizer que ele tem um erro de 5%, ou seja, varia para mais ou menos 5% do valor nominal e mais:

  1. Amarelo no primeiro anel representa 4
  2. Violeta no segundo anel representa 7
  3. Marrom no terceiro anel representa 10

Logo o resistor é determinado com a seguinte relação: ABxM em que A é o primeiro digito, B é o segundo digito e M é o multiplicador, do exemplo acima tem-se que A=4, B=7 e M=10 então a resistência desse resistor vale 47x10 = 470 Ohms Essa tabela é importante para se ter as resistências, entretanto há outras melhores e mais didáticas para facilitar na leitura e obtenção do valor.

É recomendado que se compre a série de 10 a 10k Ohms.

Protoboard

Protoboard2.jpg Protoboard.jpg

De maneira simples o protoboard pode ser explicado como se segue:

Cada conjunto de 5 furos numa mesma vertical estão ligados eletricamente como um nó, como mostra a figura acima e toda a linha horizontal nos extremos são ligadas eletricamente. Por exemplo, para se ligar uma bateria no protoboard, é necessário apenas plugar um terminal em um furo de qualquer das linhas nos extremos e o outro terminal na outra linha, então todos os furos da linha com o terminal positivo tera +V e toda a linha com o terra terá GND(Terra). Um resistor por exemplo deve ter cada terminal em uma linha vertical (coluna) diferente. Caso seus terminais estejam na mesma coluna, não funcionará corretamente o circuito pois os dois terminais estarão num mesmo potencial e não fluirá corrente através do resistor.

Software para criar o layout do projeto

Se o interesse for apenas em construir o layout(desenho técnico do circuito) do projeto, com os componentes, pode-se usar o Gschem do pacote de ferramentas para circuito gEDA:

  • gEDA - GPL’d suite of electronic design automation

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 [7]

Componentes físicos do projeto ABaCo

Abaco.jpg

A imagem acima 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.

  1. Arduino e cabo USB para conexão com computador
  2. Multimetro Digital para medir as grandezas associadas aos circuitos
  3. Protoboard para a montagem física do circuito sem a necessidade de uma placa impressa
  4. Ferramentas: Cabo de rede para construção de cabos para interligar os componentes no protoboard
  5. Ferramentas: Alicate para auxiliar na construção dos fios que interligarão o circuito
  6. Ferramentas: Pinça para retirar resistores do protoboard e/ou manipulação de pequenos componentes
  7. Componentes: Resistores
  8. Fonte de alimentação para alimentar o circuito

Custo dos componentes

Abaixo segue a especificação dos componentes recomendados para o uso no projeto ABaCo junto ao preço aproximado de cada elemento: Observação: A fonte de alimentação para o projeto deve ser construída por uma pessoa experiente.

  • Arduino Duemilaenove R$ 150,00
  • Freeduíno R$ 85,00
  • Alicate de corte diagonal 4 1/2 (4,5 polegadas) R$ 6,00
  • Protoboard ICEL 840 furos com Bornes (terminais para fontes) R$ 31,00
  • Mutimetro digital Minipa ET1002 R$ 24,00
  • Pinça reta TS-14, ponta fina, anti-estática R$ 6,00
  • Resistores(10 unidades) R$ 0,30
  • Fonte de alimentação (Retificação-Transformador) R$ 25,00

Para o Arduino deve-se buscar online para comprá-lo, ou também adquirir um mais barato (Freeduino), que pode ser encontrado no Mercado Livre ou nos buscadores online.

Referências Bibliográficas

  1. Arduino. http://www.arduino.cc/. Acesso em 01 de setembro de 2008.
  2. Quite Universal Circuit Simulator - QUCS.http://qucs.sourceforge.net/. Acesso em 5 de setembro de 2008.
  3. gEDA. http://www.geda.seul.org/. Acesso em 26 de setembro de 2008.
  4. KLogic. http://www.a-rostin.de/. Acesso em 15 de setembro de 2008.
  5. XCircuit. http://opencircuitdesign.com/xcircuit/. Acesso em 15 de setembro de 2008.
  6. MERKLE, L. E. MÍDIAS TANGÍVEIS E TECNOLOGIAS LIVRES NA EDUCAÇÃO INTERDISCIPLINAR, jun. 2008.
  7. PCB. http://sourceforge.net/projects/pcb/. Acesso em 26 de setembro de 2008.
Ferramentas pessoais