O que é o Projeto ABaCo
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.
Arduino
Arduino é uma plataforma eletrônica de prototipação 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, não inclusos, por meio da porta de entrada de sinais, e também controlar dispositivos eletrônicos de diversos tipos como luzes, motores et cetera, de um modo simples quando comparado às linguagens usadas que permitem esse tipo de comunicação. O Freeduino ou similares ao Arduino pode ser utilizado.
O Arduino tem três regiões principais que estão em torno de um quadrado com bordas vermelhas na imagem acima.
- 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.
- 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.
- 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.
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.
- 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.
- 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.
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.
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:
- Amarelo no primeiro anel representa 4
- Violeta no segundo anel representa 7
- 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
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 do projeto, com os componentes, pode-se usar:
- 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
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.
- Arduino e cabo USB para conexão com computador
- Multimetro Digital para medir as grandezas associadas aos circuitos
- Protoboard para a montagem física do circuito sem a necessidade de uma placa impressa
- Ferramentas: Cabo de rede para construção de cabos para interligar os componentes no protoboard
- Ferramentas: Alicate para auxiliar na construção dos fios que interligarão o circuito
- Ferramentas: Pinça para retirar resistores do protoboard e/ou manipulação de pequenos componentes
- Componentes: Resistores
- 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
- Arduino. http://www.arduino.cc/. Acesso em 01 de setembro de 2008.
- Quite Universal Circuit Simulator - QUCS.http://qucs.sourceforge.net/. Acesso em 5 de setembro de 2008.
- gEDA. http://www.geda.seul.org/. Acesso em 26 de setembro de 2008.
- KLogic. http://www.a-rostin.de/. Acesso em 15 de setembro de 2008.
- XCircuit. http://opencircuitdesign.com/xcircuit/. Acesso em 15 de setembro de 2008.
- MERKLE, L. E. MÍDIAS TANGÍVEIS E TECNOLOGIAS LIVRES NA EDUCAÇÃO INTERDISCIPLINAR, jun. 2008.
- PCB. http://sourceforge.net/projects/pcb/. Acesso em 26 de setembro de 2008.