O que é o Projeto ABaCo

De Wiki DAINF
(Diferença entre revisões)
 
Linha 1: Linha 1:
 
* [[Projeto Apropriação em Bancada Computacional (ABaCo)]]
 
* [[Projeto Apropriação em Bancada Computacional (ABaCo)]]
 +
 +
Em termos práticos o projeto é uma bancada computacional de baixo custo que irá auxiliar, a quem interessar, no entendimento e desenvolvimento de projetos utilizando hardware e interface hardware-software. 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 de programação Arduíno [2] e na simulação, anterior a montagem do circuito, será usado o QUCS [3] para que haja certeza de que o que se espera irá ocorrer. Outros simuladores de circuitos pesquisados: KLogic [4] e XCircuit [5].
 +
 +
Programas relacionados a circuitos podem ser encontrados em opencollector.org. O projeto ABaCo 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.
 +
Em termos práticos o projeto é uma bancada computacional de baixo custo que irá auxiliar, a quem interessar, no entendimento e desenvolvimento de projetos utilizando hardware e interface hardware-software. 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 de programação Arduíno [2] e na simulação, anterior a montagem do circuito, será usado o QUCS [3] para que haja certeza de que o que se espera irá ocorrer. Outros simuladores de circuitos pesquisados: KLogic [4] e XCircuit [5].
 +
 +
Programas relacionados a circuitos podem ser encontrados em opencollector.org. O projeto ABaCo 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 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 uma interface(Arduino). 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 é 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, 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.
 +
 +
[[Imagem:Arduino.jpg]]
 +
 +
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 no Wiring. Para os programadores de C/C++ e java não há diferenças significativas na sintaxe.
 +
 +
== 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 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 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. 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.
 +
 +
Geralmente os resistores 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.
 +
 +
[[Imagem: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:
 +
 +
# 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 ===
 +
 +
[[Imagem:Protoboard2.jpg]]
 +
[[Imagem: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 do projeto, com os componentes, pode-se usar:
 +
 +
* gEDA - GPL’d suite of electronic design automation [6]
 +
 +
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 ==
 +
 +
[[Imagem: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.
 +
 +
# 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.

Edição de 16h59min de 31 de maio de 2009

Em termos práticos o projeto é uma bancada computacional de baixo custo que irá auxiliar, a quem interessar, no entendimento e desenvolvimento de projetos utilizando hardware e interface hardware-software. 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 de programação Arduíno [2] e na simulação, anterior a montagem do circuito, será usado o QUCS [3] para que haja certeza de que o que se espera irá ocorrer. Outros simuladores de circuitos pesquisados: KLogic [4] e XCircuit [5].

Programas relacionados a circuitos podem ser encontrados em opencollector.org. O projeto ABaCo 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. Em termos práticos o projeto é uma bancada computacional de baixo custo que irá auxiliar, a quem interessar, no entendimento e desenvolvimento de projetos utilizando hardware e interface hardware-software. 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 de programação Arduíno [2] e na simulação, anterior a montagem do circuito, será usado o QUCS [3] para que haja certeza de que o que se espera irá ocorrer. Outros simuladores de circuitos pesquisados: KLogic [4] e XCircuit [5].

Programas relacionados a circuitos podem ser encontrados em opencollector.org. O projeto ABaCo 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.

Tabela de conteúdo

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 uma interface(Arduino). 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 é 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, 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.

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 no Wiring. Para os programadores de C/C++ e java não há diferenças significativas na sintaxe.

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 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 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. 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.

Geralmente os resistores 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 do projeto, com os componentes, pode-se usar:

  • gEDA - GPL’d suite of electronic design automation [6]

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.

Ferramentas pessoais