<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://dainf.ct.utfpr.edu.br/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-br">
		<id>http://dainf.ct.utfpr.edu.br/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Solanoalves</id>
		<title>Wiki DAINF - Contribuições do usuário [pt-br]</title>
		<link rel="self" type="application/atom+xml" href="http://dainf.ct.utfpr.edu.br/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Solanoalves"/>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Especial:Contribui%C3%A7%C3%B5es/Solanoalves"/>
		<updated>2026-04-06T23:28:05Z</updated>
		<subtitle>Contribuições do usuário</subtitle>
		<generator>MediaWiki 1.18.1</generator>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Introdu%C3%A7%C3%A3o</id>
		<title>Introdução</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Introdu%C3%A7%C3%A3o"/>
				<updated>2009-07-17T00:35:49Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Projeto Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
O foco deste projeto é a criação de um arcabouço para auxiliar no entendimento do aluno para com as aulas de laboratório mesclado as artes envolvendo processing e a familiarização com circuitos elétricos.&lt;br /&gt;
Um ponto-chave do projeto é a importância da filosofia livre como sua constituinte fundamental.&lt;br /&gt;
&lt;br /&gt;
O diagrama abaixo ilustra de forma ampla as ferramentas livres mais utilizadas para se trabalhar com eletrônica, entretanto o projeto focará apenas em algumas de modo a não estender o conteúdo do manual, deixando as outras como forma de auxílio no caso de uma necessidade.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Toolchain.png|900px]]&lt;br /&gt;
&lt;br /&gt;
= Referências Bibliográficas =&lt;br /&gt;
# ALMEIDA, N. N. e SILVA FILHO, B. S. O Desafio do Ensino de Circuitos Elétricos na Formação Básica em Engenharia Elétrica na UERJ, mar. 2002. Disponível em: &amp;lt;www.del.ufms.br/desafio_CE.pdf&amp;gt;. Acesso em: 29 ago. 2008.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Introdu%C3%A7%C3%A3o</id>
		<title>Introdução</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Introdu%C3%A7%C3%A3o"/>
				<updated>2009-07-17T00:35:25Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Projeto Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
O foco deste projeto é a criação de um arcabouço para auxiliar no entendimento do aluno para com as aulas de laboratório mesclado as artes envolvendo processing e a familiarização com circuitos elétricos.&lt;br /&gt;
Um dos pontos-chave do projeto é a importância da filosofia livre como sua constituinte fundamental.&lt;br /&gt;
&lt;br /&gt;
O diagrama abaixo ilustra de forma ampla as ferramentas livres mais utilizadas para se trabalhar com eletrônica, entretanto o projeto focará apenas em algumas de modo a não estender o conteúdo do manual, deixando as outras como forma de auxílio no caso de uma necessidade.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Toolchain.png|900px]]&lt;br /&gt;
&lt;br /&gt;
= Referências Bibliográficas =&lt;br /&gt;
# ALMEIDA, N. N. e SILVA FILHO, B. S. O Desafio do Ensino de Circuitos Elétricos na Formação Básica em Engenharia Elétrica na UERJ, mar. 2002. Disponível em: &amp;lt;www.del.ufms.br/desafio_CE.pdf&amp;gt;. Acesso em: 29 ago. 2008.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Lousa_M%C3%A1gica</id>
		<title>Lousa Mágica</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Lousa_M%C3%A1gica"/>
				<updated>2009-07-14T21:51:24Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: /* Usando os componentes do ABaCo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
* [[Exemplos Práticos]]&lt;br /&gt;
&lt;br /&gt;
= O que é =&lt;br /&gt;
&lt;br /&gt;
Um exemplo básico de mídia tangível utilizando Arduino e Processing em que cinco botões irão representar esquerda, direita, cima, baixo e reset que de acordo com quais botões estiverem pressionados, uma linha seja desenhada na tela na direção respectiva ao botão e a tecla reset servirá para apagar a tela de modo que se possa fazer um desenho contínuo na tela.&lt;br /&gt;
A posição dos botões na montagem fica a critério de que montar, entretanto no código deve-se tomar o cuidado de que a sequência escrita pelo arduino na porta serial e lida pelo processing é a seguinte: EDCBR (Esquerda, Direita, Cima, Baixo, Reset).&lt;br /&gt;
&lt;br /&gt;
= Problemas =&lt;br /&gt;
&lt;br /&gt;
Caso haja mal contato na montagem devido a fios soltos e contatos mal ligados, poderá haver mal funcionamento do programa fazendo com que o ponto ande sozinho ou que a tela apague sem a vontade do usuário.&lt;br /&gt;
Se estiver tudo montado e não houver resposta na tela ao pressionar os botões, é recomendado que se encerre a execução do programa e desligue da alimentação o arduino e verifique se não há curto-circuito e algum problema associado ao circuito.&lt;br /&gt;
&lt;br /&gt;
= Exercício de aprendizagem (Resolver após concluir esse exemplo) =&lt;br /&gt;
&lt;br /&gt;
Implemente um botão que ao ser pressionado faça com que a cor alterne entre Branco e Preto, ou seja, ora é branco ora é preto, sendo controlado por um toque, de modo que se possa locomover pela tela com os outros botões sem rabiscá-la. Desse modo é possível escrever letras separadas uma das outras na tela simulando um espaço.&lt;br /&gt;
&lt;br /&gt;
= Requisitos =&lt;br /&gt;
&lt;br /&gt;
* 5 Resistores de 100 Ohms&lt;br /&gt;
* 5 Chaves tac (PushButton)&lt;br /&gt;
* Fios para se fazerem as ligações&lt;br /&gt;
&lt;br /&gt;
= Cadeia de ferramentas utilizada =&lt;br /&gt;
&lt;br /&gt;
As setas vermelhas indicam as ferramentas utilizadas na cadeia de ferramentas para se trabalhar com mídias e hardware.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:LousaToolchain.png]]&lt;br /&gt;
&lt;br /&gt;
= Usando os componentes do ABaCo =&lt;br /&gt;
&lt;br /&gt;
Com base na cadeia de ferramentas mostrada no diagrama acima, o primeiro passo é construir o '''Projeto Teórico''' com a '''Montagem Virtual do Circuito''' e utilizando o '''QUCS'''.&lt;br /&gt;
Na aba Componentes no QUCS e Componentes Soltos os items utilizados para montagem são: Porta do subcircuito, Resistor e Switch. E em Fontes foi escolhido Fonte de Tensão CC. E foi usado o Ground(Terra) que está na barra superior do programa. Para mudar o desenho de um componente é necessário clicar com o botão direito sobre o componente e ir em Edit Properties (Editar Propriedades). Os switchs são as chaves tac (PushButton). Os resistores R1,R2,R3,R4 e R5 são iguais e valem 100 Ohms.&lt;br /&gt;
&lt;br /&gt;
O circuito está mostrado abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Imagem:LousaCirc.png]]&lt;br /&gt;
&lt;br /&gt;
Quando todas as chaves estão soltas, então as 5 portas do arduino estão recebendo tensão, que tem a corrente limitada pelos resistores R1,R2,R3,R4 e R5, entretanto quando uma das chaves é pressionada, então toda a corrente vai para o terra e portanto a tensão que o arduino lê naquela porta é zero. Portanto a reta deve ser desenhada quando o nível lógico lido é zero. Nível lógico significa estar entre um nível de tensão ou outro, caso esteja entre 3 e 5 volts então é nível lógico 1 (há tensão) caso esteja entre 0 e 2 volts então o nível lógico é zero (não há tensão, apesar de ter um pouco) e caso esteja entre 2 e 3 volts, então esse intervalo não é definido e projetistas devem evitar cair nesse intervalo.&lt;br /&gt;
&lt;br /&gt;
Agora que o diagrama está montado, pode-se então partir para a '''Montagem Real do Circuito''' no '''Protoboard''' tomando o devido cuidado para não haver curto-circuitos e eliminação de um componente por estar com seus terminais no mesmo potencial (mesma coluna).&lt;br /&gt;
será necessário apenas o '''Arduino''' e o Protoboard, a fonte de tensão não será necessária, pois o Arduino possui uma alimentação que supre a demanda do circuito, assim finalizando com o '''Controle''' do projeto.&lt;br /&gt;
&lt;br /&gt;
A imagem abaixo ilustra o circuito montado no protoboard, o circuito não precisa estar montado exatamente da mesma forma, existem N formas de se montar.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:LousaReal.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A Alimentação agora se torna necessária e será usada a alimentação do Arduino de 5 Volts e o programa será feito no Arduino Programming Language e '''Interfaceamento Processing'''.&lt;br /&gt;
&lt;br /&gt;
Código completo:&lt;br /&gt;
&lt;br /&gt;
 /*&lt;br /&gt;
 *  Copyright (C) 2009 Solano Alves&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 *  it under the terms of the GNU General Public License as published by&lt;br /&gt;
 *  the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 *  (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is distributed in the hope that it will be useful,&lt;br /&gt;
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 *  GNU General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 *  You should have received a copy of the GNU General Public License&lt;br /&gt;
 *  along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
 int Esq=12;&lt;br /&gt;
 int Dir=9;&lt;br /&gt;
 int Cim=11;&lt;br /&gt;
 int Bai=10;&lt;br /&gt;
 int Res=8;&lt;br /&gt;
 &lt;br /&gt;
 int var;&lt;br /&gt;
 &lt;br /&gt;
 void setup(){&lt;br /&gt;
  pinMode(Esq,INPUT);&lt;br /&gt;
  pinMode(Dir,INPUT);&lt;br /&gt;
  pinMode(Cim,INPUT);&lt;br /&gt;
  pinMode(Bai,INPUT);&lt;br /&gt;
  pinMode(Res,INPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void loop(){&lt;br /&gt;
   &lt;br /&gt;
   delay(150);&lt;br /&gt;
   Serial.print(digitalRead(Esq));&lt;br /&gt;
   Serial.print(digitalRead(Dir));&lt;br /&gt;
   Serial.print(digitalRead(Cim));&lt;br /&gt;
   Serial.print(digitalRead(Bai));&lt;br /&gt;
   Serial.print(digitalRead(Res));&lt;br /&gt;
   Serial.print(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
O código do programa para ser embarcado no '''Arduino''' está separado em seções:&lt;br /&gt;
&lt;br /&gt;
A seção abaixo declara variáveis que conterão inteiros representando as portas do Arduino as quais receberão as entradas das chaves liga-desliga.&lt;br /&gt;
&lt;br /&gt;
 int Esq=12;&lt;br /&gt;
 int Dir=9;&lt;br /&gt;
 int Cim=11;&lt;br /&gt;
 int Bai=10;&lt;br /&gt;
 int Res=8;&lt;br /&gt;
 int var;&lt;br /&gt;
&lt;br /&gt;
A seção abaixo diz que essas portas irão exercer a função de Entrada(INPUT), ou seja, as portas vão estar prontas pra dizer se há tensão nelas ou não. E a função Serial.begin(9600) abre uma comunicação serial, para que o processing possa ler depois, a uma velocidade de 9600 bits por segundo. Tudo que está dentro de void setup(){ } só será executado na primeira vez que o programa for iniciado, geralmente funções de configuração.&lt;br /&gt;
&lt;br /&gt;
 void setup(){&lt;br /&gt;
  pinMode(Esq,INPUT);&lt;br /&gt;
  pinMode(Dir,INPUT);&lt;br /&gt;
  pinMode(Cim,INPUT);&lt;br /&gt;
  pinMode(Bai,INPUT);&lt;br /&gt;
  pinMode(Res,INPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
A seção abaixo diz que a cada loop (iteração ou passagem) é para o programa aguardar 150 milisegundos antes de ler as portas verificando se há tensão ou não. A função Serial.print escreve na saída serial se a porta está com tensão (1) ou está sem tensão (0).&lt;br /&gt;
A função Serial.print não pula uma linha quando é executada, ao contrário da Serial.println, portanto as 5 leituras serão feitas e na saída serial o padrão será (NNNNN) em que N representa 0 ou 1. O ultimo Serial.print com um &amp;quot;\n&amp;quot; diz que assim que escrever os 5 digitos, pule uma linha, para que o processing possa ler de 5 em 5 digitos.&lt;br /&gt;
&lt;br /&gt;
 void loop(){&lt;br /&gt;
   delay(150);&lt;br /&gt;
   Serial.print(digitalRead(Esq));&lt;br /&gt;
   Serial.print(digitalRead(Dir));&lt;br /&gt;
   Serial.print(digitalRead(Cim));&lt;br /&gt;
   Serial.print(digitalRead(Bai));&lt;br /&gt;
   Serial.print(digitalRead(Res));&lt;br /&gt;
   Serial.print(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora basta compilar clicando no botão Play - Verify do Arduino e então File &amp;gt; Upload to I/O Board.&lt;br /&gt;
&lt;br /&gt;
Código completo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /*&lt;br /&gt;
 *  Copyright (C) 2009 Solano Alves&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 *  it under the terms of the GNU General Public License as published by&lt;br /&gt;
 *  the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 *  (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is distributed in the hope that it will be useful,&lt;br /&gt;
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 *  GNU General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 *  You should have received a copy of the GNU General Public License&lt;br /&gt;
 *  along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
 import processing.serial.*;&lt;br /&gt;
 &lt;br /&gt;
 Serial porta;&lt;br /&gt;
 String dados;&lt;br /&gt;
 int x,y,xant,yant; &lt;br /&gt;
 &lt;br /&gt;
 void setup(){&lt;br /&gt;
   println(Serial.list());&lt;br /&gt;
   porta = new Serial(this, Serial.list()[1], 9600);&lt;br /&gt;
   size(500,500);&lt;br /&gt;
   stroke(255);&lt;br /&gt;
   strokeWeight(1.5);&lt;br /&gt;
   strokeCap(SQUARE);&lt;br /&gt;
   background(0);&lt;br /&gt;
   x= width/2;&lt;br /&gt;
   xant = x;&lt;br /&gt;
   y= height/2;&lt;br /&gt;
   yant = y;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 void draw(){&lt;br /&gt;
   dados = porta.readString();&lt;br /&gt;
   println(dados);&lt;br /&gt;
   if( dados != null ){&lt;br /&gt;
     if( dados.charAt(0) == '0' ) x-=5;&lt;br /&gt;
     if( dados.charAt(1) == '0' ) x+=5;&lt;br /&gt;
     if( dados.charAt(2) == '0' ) y-=5;&lt;br /&gt;
     if( dados.charAt(3) == '0' ) y+=5;&lt;br /&gt;
     if( dados.charAt(4) == '0' ) background(255,0,0);&lt;br /&gt;
     stroke(255,255,255);&lt;br /&gt;
     line(xant,yant,x,y);&lt;br /&gt;
     xant = x;&lt;br /&gt;
     yant = y;&lt;br /&gt;
   }&lt;br /&gt;
     delay(180);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O código a ser usado no processing para que esse exemplo de mídia tangível seja finalizado é o que se segue dividido em seções explicadas:&lt;br /&gt;
&lt;br /&gt;
Essa declaração importa as ferramentas necessárias para que se possa ler a porta serial na qual o Arduino está escrevendo.&lt;br /&gt;
&lt;br /&gt;
 import processing.serial.*;&lt;br /&gt;
&lt;br /&gt;
Essas declarações criam uma variável porta para que se saiba em qual porta o arduino está escrevendo, uma variável dados que vai conter os 5 digitos que o Arduino enviou através da porta serial e por fim x,y,xant,yant que é a posição atual (x,y) do ponto a ser desenhado e a posição anterior (xant,yant) para que se possa desenhar uma reta entre esses dois pontos.&lt;br /&gt;
&lt;br /&gt;
 Serial porta;&lt;br /&gt;
 String dados;&lt;br /&gt;
 int x,y,xant,yant;&lt;br /&gt;
&lt;br /&gt;
Novamente tudo que estiver dentro de void setup(){} será executado uma única vez, geralmente funções de configuração, e o que está sendo feito dentro de setup é mostrar com a função println todas as portas disponíveis para comunicação, assim é possível ver se a que você está usando no Arduino está listada pelo processing, feito isso e sabido a porta usada então é criada a comunicação dizendo que quem cria é o próprio programa (this, este mesmo), a porta é a segunda da lista, caso fosse a primeira então deveria ser Serial.list()[0] e com velocidade 9600 bits por segundo.&lt;br /&gt;
Size diz o tamanho da tela, stroke a cor da linha, strokeWeight a espessura da linha, strokeCap a forma com que a linha terá, background o fundo da tela e x,y,xant,yant as posições iniciais do ponto a ser movido pelas chaves liga-desliga.&lt;br /&gt;
Para mais detalhes das funções consulte a referência da linguagem processing http://processing.org/reference/.&lt;br /&gt;
&lt;br /&gt;
 void setup(){&lt;br /&gt;
   println(Serial.list());&lt;br /&gt;
   porta = new Serial(this, Serial.list()[1], 9600);&lt;br /&gt;
   size(500,500);&lt;br /&gt;
   stroke(255);&lt;br /&gt;
   strokeWeight(1.5);&lt;br /&gt;
   strokeCap(SQUARE);&lt;br /&gt;
   background(0);&lt;br /&gt;
   x= width/2;&lt;br /&gt;
   xant = x;&lt;br /&gt;
   y= height/2;&lt;br /&gt;
   yant = y;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
O método( onde funções são executadas ) draw serve para desenhar na tela, ou seja, se há um desenho a ser feito, ele deve ser declarado no método draw. Nele então lê-se serialmente o que o arduino está dizendo em forma de String(texto) e imprime na tela o que foi lido, verifica-se com if se o que foi lido existe (caso não exista é null) e caso exista verifica letra por letra se é 1 ou 0. Caso for 1 então o botão foi pressionado, caso contrário não. Por exemplo se o botão esquerdo for pressionado então dados.charAt(0) será 1 e a variável x será decrementada (subtraída) de 5 unidades fazendo o ponto se deslocar pra esquerda na tela.&lt;br /&gt;
A função stroke garante que a linha continue branca e então desenha a linha com coordenadas iniciais (xant,yant) e coordenadas finais (x,y). E então pega-se o ponto que foi modificado e diz que ele é anterior de modo que na próxima passagem ele seja usado como ponto inicial para se construir a linha. delay(180) diz para aguardar 180 milisegundos a cada desenho.&lt;br /&gt;
&lt;br /&gt;
 void draw(){&lt;br /&gt;
   dados = porta.readString();&lt;br /&gt;
   println(dados);&lt;br /&gt;
   if( dados != null ){&lt;br /&gt;
     if( dados.charAt(0) == '0' ) x-=5;&lt;br /&gt;
     if( dados.charAt(1) == '0' ) x+=5;&lt;br /&gt;
     if( dados.charAt(2) == '0' ) y-=5;&lt;br /&gt;
     if( dados.charAt(3) == '0' ) y+=5;&lt;br /&gt;
     if( dados.charAt(4) == '0' ) background(255,0,0);&lt;br /&gt;
     stroke(255,255,255);&lt;br /&gt;
     line(xant,yant,x,y);&lt;br /&gt;
     xant = x;&lt;br /&gt;
     yant = y;&lt;br /&gt;
   }&lt;br /&gt;
     delay(180);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora basta clicar em Play-Run no processing e pressionar os botões para ver o funcionamento na tela.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Lousa_M%C3%A1gica</id>
		<title>Lousa Mágica</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Lousa_M%C3%A1gica"/>
				<updated>2009-07-14T21:50:17Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: /* Usando os componentes do ABaCo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
* [[Exemplos Práticos]]&lt;br /&gt;
&lt;br /&gt;
= O que é =&lt;br /&gt;
&lt;br /&gt;
Um exemplo básico de mídia tangível utilizando Arduino e Processing em que cinco botões irão representar esquerda, direita, cima, baixo e reset que de acordo com quais botões estiverem pressionados, uma linha seja desenhada na tela na direção respectiva ao botão e a tecla reset servirá para apagar a tela de modo que se possa fazer um desenho contínuo na tela.&lt;br /&gt;
A posição dos botões na montagem fica a critério de que montar, entretanto no código deve-se tomar o cuidado de que a sequência escrita pelo arduino na porta serial e lida pelo processing é a seguinte: EDCBR (Esquerda, Direita, Cima, Baixo, Reset).&lt;br /&gt;
&lt;br /&gt;
= Problemas =&lt;br /&gt;
&lt;br /&gt;
Caso haja mal contato na montagem devido a fios soltos e contatos mal ligados, poderá haver mal funcionamento do programa fazendo com que o ponto ande sozinho ou que a tela apague sem a vontade do usuário.&lt;br /&gt;
Se estiver tudo montado e não houver resposta na tela ao pressionar os botões, é recomendado que se encerre a execução do programa e desligue da alimentação o arduino e verifique se não há curto-circuito e algum problema associado ao circuito.&lt;br /&gt;
&lt;br /&gt;
= Exercício de aprendizagem (Resolver após concluir esse exemplo) =&lt;br /&gt;
&lt;br /&gt;
Implemente um botão que ao ser pressionado faça com que a cor alterne entre Branco e Preto, ou seja, ora é branco ora é preto, sendo controlado por um toque, de modo que se possa locomover pela tela com os outros botões sem rabiscá-la. Desse modo é possível escrever letras separadas uma das outras na tela simulando um espaço.&lt;br /&gt;
&lt;br /&gt;
= Requisitos =&lt;br /&gt;
&lt;br /&gt;
* 5 Resistores de 100 Ohms&lt;br /&gt;
* 5 Chaves tac (PushButton)&lt;br /&gt;
* Fios para se fazerem as ligações&lt;br /&gt;
&lt;br /&gt;
= Cadeia de ferramentas utilizada =&lt;br /&gt;
&lt;br /&gt;
As setas vermelhas indicam as ferramentas utilizadas na cadeia de ferramentas para se trabalhar com mídias e hardware.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:LousaToolchain.png]]&lt;br /&gt;
&lt;br /&gt;
= Usando os componentes do ABaCo =&lt;br /&gt;
&lt;br /&gt;
Com base na cadeia de ferramentas mostrada no diagrama acima, o primeiro passo é construir o '''Projeto Teórico''' com a '''Montagem Virtual do Circuito''' e utilizando o '''QUCS'''.&lt;br /&gt;
Na aba Componentes no QUCS e Componentes Soltos os items utilizados para montagem são: Porta do subcircuito, Resistor e Switch. E em Fontes foi escolhido Fonte de Tensão CC. E foi usado o Ground(Terra) que está na barra superior do programa. Para mudar o desenho de um componente é necessário clicar com o botão direito sobre o componente e ir em Edit Properties (Editar Propriedades). Os switchs são as chaves tac (PushButton). Os resistores R1,R2,R3,R4 e R5 são iguais e valem 100 Ohms.&lt;br /&gt;
&lt;br /&gt;
O circuito está mostrado abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Imagem:LousaCirc.png]]&lt;br /&gt;
&lt;br /&gt;
Quando todas as chaves estão soltas, então as 5 portas do arduino estão recebendo tensão, que tem a corrente limitada pelos resistores R1,R2,R3,R4 e R5, entretanto quando uma das chaves é pressionada, então toda a corrente vai para o terra e portanto a tensão que o arduino lê naquela porta é zero. Portanto a reta deve ser desenhada quando o nível lógico lido é zero. Nível lógico significa estar entre um nível de tensão ou outro, caso esteja entre 3 e 5 volts então é nível lógico 1 (há tensão) caso esteja entre 0 e 2 volts então o nível lógico é zero (não há tensão, apesar de ter um pouco) e caso esteja entre 2 e 3 volts, então esse intervalo não é definido e projetistas devem evitar cair nesse intervalo.&lt;br /&gt;
&lt;br /&gt;
Agora que o diagrama está montado, pode-se então partir para a '''Montagem Real do Circuito''' no '''Protoboard''' tomando o devido cuidado para não haver curto-circuitos e eliminação de um componente por estar com seus terminais no mesmo potencial (mesma coluna).&lt;br /&gt;
será necessário apenas o '''Arduino''' e o Protoboard, a fonte de tensão não será necessária, pois o Arduino possui uma alimentação que supre a demanda do circuito, assim finalizando com o '''Controle''' do projeto.&lt;br /&gt;
&lt;br /&gt;
A imagem abaixo ilustra o circuito montado no protoboard, o circuito não precisa estar montado exatamente da mesma forma, existem N formas de se montar.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:LousaReal.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A '''Alimentação''' agora se torna necessária e será usada a alimentação do Arduino de 5 Volts e o programa será feito no '''Ambiente de Programação (IDE)''' '''Arduino Programming Language''' e '''Processing Interfaceamento'''.&lt;br /&gt;
&lt;br /&gt;
Código completo:&lt;br /&gt;
&lt;br /&gt;
 /*&lt;br /&gt;
 *  Copyright (C) 2009 Solano Alves&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 *  it under the terms of the GNU General Public License as published by&lt;br /&gt;
 *  the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 *  (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is distributed in the hope that it will be useful,&lt;br /&gt;
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 *  GNU General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 *  You should have received a copy of the GNU General Public License&lt;br /&gt;
 *  along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
 int Esq=12;&lt;br /&gt;
 int Dir=9;&lt;br /&gt;
 int Cim=11;&lt;br /&gt;
 int Bai=10;&lt;br /&gt;
 int Res=8;&lt;br /&gt;
 &lt;br /&gt;
 int var;&lt;br /&gt;
 &lt;br /&gt;
 void setup(){&lt;br /&gt;
  pinMode(Esq,INPUT);&lt;br /&gt;
  pinMode(Dir,INPUT);&lt;br /&gt;
  pinMode(Cim,INPUT);&lt;br /&gt;
  pinMode(Bai,INPUT);&lt;br /&gt;
  pinMode(Res,INPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void loop(){&lt;br /&gt;
   &lt;br /&gt;
   delay(150);&lt;br /&gt;
   Serial.print(digitalRead(Esq));&lt;br /&gt;
   Serial.print(digitalRead(Dir));&lt;br /&gt;
   Serial.print(digitalRead(Cim));&lt;br /&gt;
   Serial.print(digitalRead(Bai));&lt;br /&gt;
   Serial.print(digitalRead(Res));&lt;br /&gt;
   Serial.print(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
O código do programa para ser embarcado no '''Arduino''' está separado em seções:&lt;br /&gt;
&lt;br /&gt;
A seção abaixo declara variáveis que conterão inteiros representando as portas do Arduino as quais receberão as entradas das chaves liga-desliga.&lt;br /&gt;
&lt;br /&gt;
 int Esq=12;&lt;br /&gt;
 int Dir=9;&lt;br /&gt;
 int Cim=11;&lt;br /&gt;
 int Bai=10;&lt;br /&gt;
 int Res=8;&lt;br /&gt;
 int var;&lt;br /&gt;
&lt;br /&gt;
A seção abaixo diz que essas portas irão exercer a função de Entrada(INPUT), ou seja, as portas vão estar prontas pra dizer se há tensão nelas ou não. E a função Serial.begin(9600) abre uma comunicação serial, para que o processing possa ler depois, a uma velocidade de 9600 bits por segundo. Tudo que está dentro de void setup(){ } só será executado na primeira vez que o programa for iniciado, geralmente funções de configuração.&lt;br /&gt;
&lt;br /&gt;
 void setup(){&lt;br /&gt;
  pinMode(Esq,INPUT);&lt;br /&gt;
  pinMode(Dir,INPUT);&lt;br /&gt;
  pinMode(Cim,INPUT);&lt;br /&gt;
  pinMode(Bai,INPUT);&lt;br /&gt;
  pinMode(Res,INPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
A seção abaixo diz que a cada loop (iteração ou passagem) é para o programa aguardar 150 milisegundos antes de ler as portas verificando se há tensão ou não. A função Serial.print escreve na saída serial se a porta está com tensão (1) ou está sem tensão (0).&lt;br /&gt;
A função Serial.print não pula uma linha quando é executada, ao contrário da Serial.println, portanto as 5 leituras serão feitas e na saída serial o padrão será (NNNNN) em que N representa 0 ou 1. O ultimo Serial.print com um &amp;quot;\n&amp;quot; diz que assim que escrever os 5 digitos, pule uma linha, para que o processing possa ler de 5 em 5 digitos.&lt;br /&gt;
&lt;br /&gt;
 void loop(){&lt;br /&gt;
   delay(150);&lt;br /&gt;
   Serial.print(digitalRead(Esq));&lt;br /&gt;
   Serial.print(digitalRead(Dir));&lt;br /&gt;
   Serial.print(digitalRead(Cim));&lt;br /&gt;
   Serial.print(digitalRead(Bai));&lt;br /&gt;
   Serial.print(digitalRead(Res));&lt;br /&gt;
   Serial.print(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora basta compilar clicando no botão Play - Verify do Arduino e então File &amp;gt; Upload to I/O Board.&lt;br /&gt;
&lt;br /&gt;
Código completo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /*&lt;br /&gt;
 *  Copyright (C) 2009 Solano Alves&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 *  it under the terms of the GNU General Public License as published by&lt;br /&gt;
 *  the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 *  (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is distributed in the hope that it will be useful,&lt;br /&gt;
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 *  GNU General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 *  You should have received a copy of the GNU General Public License&lt;br /&gt;
 *  along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
 import processing.serial.*;&lt;br /&gt;
 &lt;br /&gt;
 Serial porta;&lt;br /&gt;
 String dados;&lt;br /&gt;
 int x,y,xant,yant; &lt;br /&gt;
 &lt;br /&gt;
 void setup(){&lt;br /&gt;
   println(Serial.list());&lt;br /&gt;
   porta = new Serial(this, Serial.list()[1], 9600);&lt;br /&gt;
   size(500,500);&lt;br /&gt;
   stroke(255);&lt;br /&gt;
   strokeWeight(1.5);&lt;br /&gt;
   strokeCap(SQUARE);&lt;br /&gt;
   background(0);&lt;br /&gt;
   x= width/2;&lt;br /&gt;
   xant = x;&lt;br /&gt;
   y= height/2;&lt;br /&gt;
   yant = y;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 void draw(){&lt;br /&gt;
   dados = porta.readString();&lt;br /&gt;
   println(dados);&lt;br /&gt;
   if( dados != null ){&lt;br /&gt;
     if( dados.charAt(0) == '0' ) x-=5;&lt;br /&gt;
     if( dados.charAt(1) == '0' ) x+=5;&lt;br /&gt;
     if( dados.charAt(2) == '0' ) y-=5;&lt;br /&gt;
     if( dados.charAt(3) == '0' ) y+=5;&lt;br /&gt;
     if( dados.charAt(4) == '0' ) background(255,0,0);&lt;br /&gt;
     stroke(255,255,255);&lt;br /&gt;
     line(xant,yant,x,y);&lt;br /&gt;
     xant = x;&lt;br /&gt;
     yant = y;&lt;br /&gt;
   }&lt;br /&gt;
     delay(180);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O código a ser usado no processing para que esse exemplo de mídia tangível seja finalizado é o que se segue dividido em seções explicadas:&lt;br /&gt;
&lt;br /&gt;
Essa declaração importa as ferramentas necessárias para que se possa ler a porta serial na qual o Arduino está escrevendo.&lt;br /&gt;
&lt;br /&gt;
 import processing.serial.*;&lt;br /&gt;
&lt;br /&gt;
Essas declarações criam uma variável porta para que se saiba em qual porta o arduino está escrevendo, uma variável dados que vai conter os 5 digitos que o Arduino enviou através da porta serial e por fim x,y,xant,yant que é a posição atual (x,y) do ponto a ser desenhado e a posição anterior (xant,yant) para que se possa desenhar uma reta entre esses dois pontos.&lt;br /&gt;
&lt;br /&gt;
 Serial porta;&lt;br /&gt;
 String dados;&lt;br /&gt;
 int x,y,xant,yant;&lt;br /&gt;
&lt;br /&gt;
Novamente tudo que estiver dentro de void setup(){} será executado uma única vez, geralmente funções de configuração, e o que está sendo feito dentro de setup é mostrar com a função println todas as portas disponíveis para comunicação, assim é possível ver se a que você está usando no Arduino está listada pelo processing, feito isso e sabido a porta usada então é criada a comunicação dizendo que quem cria é o próprio programa (this, este mesmo), a porta é a segunda da lista, caso fosse a primeira então deveria ser Serial.list()[0] e com velocidade 9600 bits por segundo.&lt;br /&gt;
Size diz o tamanho da tela, stroke a cor da linha, strokeWeight a espessura da linha, strokeCap a forma com que a linha terá, background o fundo da tela e x,y,xant,yant as posições iniciais do ponto a ser movido pelas chaves liga-desliga.&lt;br /&gt;
Para mais detalhes das funções consulte a referência da linguagem processing http://processing.org/reference/.&lt;br /&gt;
&lt;br /&gt;
 void setup(){&lt;br /&gt;
   println(Serial.list());&lt;br /&gt;
   porta = new Serial(this, Serial.list()[1], 9600);&lt;br /&gt;
   size(500,500);&lt;br /&gt;
   stroke(255);&lt;br /&gt;
   strokeWeight(1.5);&lt;br /&gt;
   strokeCap(SQUARE);&lt;br /&gt;
   background(0);&lt;br /&gt;
   x= width/2;&lt;br /&gt;
   xant = x;&lt;br /&gt;
   y= height/2;&lt;br /&gt;
   yant = y;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
O método( onde funções são executadas ) draw serve para desenhar na tela, ou seja, se há um desenho a ser feito, ele deve ser declarado no método draw. Nele então lê-se serialmente o que o arduino está dizendo em forma de String(texto) e imprime na tela o que foi lido, verifica-se com if se o que foi lido existe (caso não exista é null) e caso exista verifica letra por letra se é 1 ou 0. Caso for 1 então o botão foi pressionado, caso contrário não. Por exemplo se o botão esquerdo for pressionado então dados.charAt(0) será 1 e a variável x será decrementada (subtraída) de 5 unidades fazendo o ponto se deslocar pra esquerda na tela.&lt;br /&gt;
A função stroke garante que a linha continue branca e então desenha a linha com coordenadas iniciais (xant,yant) e coordenadas finais (x,y). E então pega-se o ponto que foi modificado e diz que ele é anterior de modo que na próxima passagem ele seja usado como ponto inicial para se construir a linha. delay(180) diz para aguardar 180 milisegundos a cada desenho.&lt;br /&gt;
&lt;br /&gt;
 void draw(){&lt;br /&gt;
   dados = porta.readString();&lt;br /&gt;
   println(dados);&lt;br /&gt;
   if( dados != null ){&lt;br /&gt;
     if( dados.charAt(0) == '0' ) x-=5;&lt;br /&gt;
     if( dados.charAt(1) == '0' ) x+=5;&lt;br /&gt;
     if( dados.charAt(2) == '0' ) y-=5;&lt;br /&gt;
     if( dados.charAt(3) == '0' ) y+=5;&lt;br /&gt;
     if( dados.charAt(4) == '0' ) background(255,0,0);&lt;br /&gt;
     stroke(255,255,255);&lt;br /&gt;
     line(xant,yant,x,y);&lt;br /&gt;
     xant = x;&lt;br /&gt;
     yant = y;&lt;br /&gt;
   }&lt;br /&gt;
     delay(180);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora basta clicar em Play-Run no processing e pressionar os botões para ver o funcionamento na tela.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Lousa_M%C3%A1gica</id>
		<title>Lousa Mágica</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Lousa_M%C3%A1gica"/>
				<updated>2009-07-14T21:49:16Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: /* Usando os componentes do ABaCo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
* [[Exemplos Práticos]]&lt;br /&gt;
&lt;br /&gt;
= O que é =&lt;br /&gt;
&lt;br /&gt;
Um exemplo básico de mídia tangível utilizando Arduino e Processing em que cinco botões irão representar esquerda, direita, cima, baixo e reset que de acordo com quais botões estiverem pressionados, uma linha seja desenhada na tela na direção respectiva ao botão e a tecla reset servirá para apagar a tela de modo que se possa fazer um desenho contínuo na tela.&lt;br /&gt;
A posição dos botões na montagem fica a critério de que montar, entretanto no código deve-se tomar o cuidado de que a sequência escrita pelo arduino na porta serial e lida pelo processing é a seguinte: EDCBR (Esquerda, Direita, Cima, Baixo, Reset).&lt;br /&gt;
&lt;br /&gt;
= Problemas =&lt;br /&gt;
&lt;br /&gt;
Caso haja mal contato na montagem devido a fios soltos e contatos mal ligados, poderá haver mal funcionamento do programa fazendo com que o ponto ande sozinho ou que a tela apague sem a vontade do usuário.&lt;br /&gt;
Se estiver tudo montado e não houver resposta na tela ao pressionar os botões, é recomendado que se encerre a execução do programa e desligue da alimentação o arduino e verifique se não há curto-circuito e algum problema associado ao circuito.&lt;br /&gt;
&lt;br /&gt;
= Exercício de aprendizagem (Resolver após concluir esse exemplo) =&lt;br /&gt;
&lt;br /&gt;
Implemente um botão que ao ser pressionado faça com que a cor alterne entre Branco e Preto, ou seja, ora é branco ora é preto, sendo controlado por um toque, de modo que se possa locomover pela tela com os outros botões sem rabiscá-la. Desse modo é possível escrever letras separadas uma das outras na tela simulando um espaço.&lt;br /&gt;
&lt;br /&gt;
= Requisitos =&lt;br /&gt;
&lt;br /&gt;
* 5 Resistores de 100 Ohms&lt;br /&gt;
* 5 Chaves tac (PushButton)&lt;br /&gt;
* Fios para se fazerem as ligações&lt;br /&gt;
&lt;br /&gt;
= Cadeia de ferramentas utilizada =&lt;br /&gt;
&lt;br /&gt;
As setas vermelhas indicam as ferramentas utilizadas na cadeia de ferramentas para se trabalhar com mídias e hardware.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:LousaToolchain.png]]&lt;br /&gt;
&lt;br /&gt;
= Usando os componentes do ABaCo =&lt;br /&gt;
&lt;br /&gt;
Com base na cadeia de ferramentas mostrada no diagrama acima, o primeiro passo é construir o '''Projeto Teórico''' com a '''Montagem Virtual do Circuito''' e utilizando o '''QUCS'''.&lt;br /&gt;
Na aba Componentes no QUCS e Componentes Soltos os items utilizados para montagem são: Porta do subcircuito, Resistor e Switch. E em Fontes foi escolhido Fonte de Tensão CC. E foi usado o Ground(Terra) que está na barra superior do programa. Para mudar o desenho de um componente é necessário clicar com o botão direito sobre o componente e ir em Edit Properties (Editar Propriedades). Os switchs são as chaves tac (PushButton). Os resistores R1,R2,R3,R4 e R5 são iguais e valem 100 Ohms.&lt;br /&gt;
&lt;br /&gt;
O circuito está mostrado abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Imagem:LousaCirc.png]]&lt;br /&gt;
&lt;br /&gt;
Quando todas as chaves estão soltas, então as 5 portas do arduino estão recebendo tensão, que tem a corrente limitada pelos resistores R1,R2,R3,R4 e R5, entretanto quando uma das chaves é pressionada, então toda a corrente vai para o terra e portanto a tensão que o arduino lê naquela porta é zero. Portanto a reta deve ser desenhada quando o nível lógico lido é zero. Nível lógico significa estar entre um nível de tensão ou outro, caso esteja entre 3 e 5 volts então é nível lógico 1 (há tensão) caso esteja entre 0 e 2 volts então o nível lógico é zero (não há tensão, apesar de ter um pouco) e caso esteja entre 2 e 3 volts, então esse intervalo não é definido e projetistas devem evitar cair nesse intervalo.&lt;br /&gt;
&lt;br /&gt;
Agora que o diagrama está montado, pode-se então partir para a '''Montagem Real do Circuito''' no '''Protoboard''' tomando o devido cuidado para não haver curto-circuitos e eliminação de um componente por estar com seus terminais no mesmo potencial (mesma coluna).&lt;br /&gt;
será necessário apenas o Arduino e o Protoboard, a fonte de tensão não será necessária, pois o Arduino possui uma alimentação que supre a demanda do circuito.&lt;br /&gt;
&lt;br /&gt;
A imagem abaixo ilustra o circuito montado no protoboard, o circuito não precisa estar montado exatamente da mesma forma, existem N formas de se montar.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:LousaReal.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A '''Alimentação''' agora se torna necessária e será usada a alimentação do Arduino de 5 Volts e o programa será feito no '''Ambiente de Programação (IDE)''' '''Arduino Programming Language''' e '''Processing Interfaceamento'''.&lt;br /&gt;
&lt;br /&gt;
Código completo:&lt;br /&gt;
&lt;br /&gt;
 /*&lt;br /&gt;
 *  Copyright (C) 2009 Solano Alves&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 *  it under the terms of the GNU General Public License as published by&lt;br /&gt;
 *  the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 *  (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is distributed in the hope that it will be useful,&lt;br /&gt;
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 *  GNU General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 *  You should have received a copy of the GNU General Public License&lt;br /&gt;
 *  along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
 int Esq=12;&lt;br /&gt;
 int Dir=9;&lt;br /&gt;
 int Cim=11;&lt;br /&gt;
 int Bai=10;&lt;br /&gt;
 int Res=8;&lt;br /&gt;
 &lt;br /&gt;
 int var;&lt;br /&gt;
 &lt;br /&gt;
 void setup(){&lt;br /&gt;
  pinMode(Esq,INPUT);&lt;br /&gt;
  pinMode(Dir,INPUT);&lt;br /&gt;
  pinMode(Cim,INPUT);&lt;br /&gt;
  pinMode(Bai,INPUT);&lt;br /&gt;
  pinMode(Res,INPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void loop(){&lt;br /&gt;
   &lt;br /&gt;
   delay(150);&lt;br /&gt;
   Serial.print(digitalRead(Esq));&lt;br /&gt;
   Serial.print(digitalRead(Dir));&lt;br /&gt;
   Serial.print(digitalRead(Cim));&lt;br /&gt;
   Serial.print(digitalRead(Bai));&lt;br /&gt;
   Serial.print(digitalRead(Res));&lt;br /&gt;
   Serial.print(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
O código do programa para ser embarcado no '''Arduino''' está separado em seções:&lt;br /&gt;
&lt;br /&gt;
A seção abaixo declara variáveis que conterão inteiros representando as portas do Arduino as quais receberão as entradas das chaves liga-desliga.&lt;br /&gt;
&lt;br /&gt;
 int Esq=12;&lt;br /&gt;
 int Dir=9;&lt;br /&gt;
 int Cim=11;&lt;br /&gt;
 int Bai=10;&lt;br /&gt;
 int Res=8;&lt;br /&gt;
 int var;&lt;br /&gt;
&lt;br /&gt;
A seção abaixo diz que essas portas irão exercer a função de Entrada(INPUT), ou seja, as portas vão estar prontas pra dizer se há tensão nelas ou não. E a função Serial.begin(9600) abre uma comunicação serial, para que o processing possa ler depois, a uma velocidade de 9600 bits por segundo. Tudo que está dentro de void setup(){ } só será executado na primeira vez que o programa for iniciado, geralmente funções de configuração.&lt;br /&gt;
&lt;br /&gt;
 void setup(){&lt;br /&gt;
  pinMode(Esq,INPUT);&lt;br /&gt;
  pinMode(Dir,INPUT);&lt;br /&gt;
  pinMode(Cim,INPUT);&lt;br /&gt;
  pinMode(Bai,INPUT);&lt;br /&gt;
  pinMode(Res,INPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
A seção abaixo diz que a cada loop (iteração ou passagem) é para o programa aguardar 150 milisegundos antes de ler as portas verificando se há tensão ou não. A função Serial.print escreve na saída serial se a porta está com tensão (1) ou está sem tensão (0).&lt;br /&gt;
A função Serial.print não pula uma linha quando é executada, ao contrário da Serial.println, portanto as 5 leituras serão feitas e na saída serial o padrão será (NNNNN) em que N representa 0 ou 1. O ultimo Serial.print com um &amp;quot;\n&amp;quot; diz que assim que escrever os 5 digitos, pule uma linha, para que o processing possa ler de 5 em 5 digitos.&lt;br /&gt;
&lt;br /&gt;
 void loop(){&lt;br /&gt;
   delay(150);&lt;br /&gt;
   Serial.print(digitalRead(Esq));&lt;br /&gt;
   Serial.print(digitalRead(Dir));&lt;br /&gt;
   Serial.print(digitalRead(Cim));&lt;br /&gt;
   Serial.print(digitalRead(Bai));&lt;br /&gt;
   Serial.print(digitalRead(Res));&lt;br /&gt;
   Serial.print(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora basta compilar clicando no botão Play - Verify do Arduino e então File &amp;gt; Upload to I/O Board.&lt;br /&gt;
&lt;br /&gt;
Código completo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /*&lt;br /&gt;
 *  Copyright (C) 2009 Solano Alves&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 *  it under the terms of the GNU General Public License as published by&lt;br /&gt;
 *  the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 *  (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is distributed in the hope that it will be useful,&lt;br /&gt;
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 *  GNU General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 *  You should have received a copy of the GNU General Public License&lt;br /&gt;
 *  along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
 import processing.serial.*;&lt;br /&gt;
 &lt;br /&gt;
 Serial porta;&lt;br /&gt;
 String dados;&lt;br /&gt;
 int x,y,xant,yant; &lt;br /&gt;
 &lt;br /&gt;
 void setup(){&lt;br /&gt;
   println(Serial.list());&lt;br /&gt;
   porta = new Serial(this, Serial.list()[1], 9600);&lt;br /&gt;
   size(500,500);&lt;br /&gt;
   stroke(255);&lt;br /&gt;
   strokeWeight(1.5);&lt;br /&gt;
   strokeCap(SQUARE);&lt;br /&gt;
   background(0);&lt;br /&gt;
   x= width/2;&lt;br /&gt;
   xant = x;&lt;br /&gt;
   y= height/2;&lt;br /&gt;
   yant = y;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 void draw(){&lt;br /&gt;
   dados = porta.readString();&lt;br /&gt;
   println(dados);&lt;br /&gt;
   if( dados != null ){&lt;br /&gt;
     if( dados.charAt(0) == '0' ) x-=5;&lt;br /&gt;
     if( dados.charAt(1) == '0' ) x+=5;&lt;br /&gt;
     if( dados.charAt(2) == '0' ) y-=5;&lt;br /&gt;
     if( dados.charAt(3) == '0' ) y+=5;&lt;br /&gt;
     if( dados.charAt(4) == '0' ) background(255,0,0);&lt;br /&gt;
     stroke(255,255,255);&lt;br /&gt;
     line(xant,yant,x,y);&lt;br /&gt;
     xant = x;&lt;br /&gt;
     yant = y;&lt;br /&gt;
   }&lt;br /&gt;
     delay(180);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O código a ser usado no processing para que esse exemplo de mídia tangível seja finalizado é o que se segue dividido em seções explicadas:&lt;br /&gt;
&lt;br /&gt;
Essa declaração importa as ferramentas necessárias para que se possa ler a porta serial na qual o Arduino está escrevendo.&lt;br /&gt;
&lt;br /&gt;
 import processing.serial.*;&lt;br /&gt;
&lt;br /&gt;
Essas declarações criam uma variável porta para que se saiba em qual porta o arduino está escrevendo, uma variável dados que vai conter os 5 digitos que o Arduino enviou através da porta serial e por fim x,y,xant,yant que é a posição atual (x,y) do ponto a ser desenhado e a posição anterior (xant,yant) para que se possa desenhar uma reta entre esses dois pontos.&lt;br /&gt;
&lt;br /&gt;
 Serial porta;&lt;br /&gt;
 String dados;&lt;br /&gt;
 int x,y,xant,yant;&lt;br /&gt;
&lt;br /&gt;
Novamente tudo que estiver dentro de void setup(){} será executado uma única vez, geralmente funções de configuração, e o que está sendo feito dentro de setup é mostrar com a função println todas as portas disponíveis para comunicação, assim é possível ver se a que você está usando no Arduino está listada pelo processing, feito isso e sabido a porta usada então é criada a comunicação dizendo que quem cria é o próprio programa (this, este mesmo), a porta é a segunda da lista, caso fosse a primeira então deveria ser Serial.list()[0] e com velocidade 9600 bits por segundo.&lt;br /&gt;
Size diz o tamanho da tela, stroke a cor da linha, strokeWeight a espessura da linha, strokeCap a forma com que a linha terá, background o fundo da tela e x,y,xant,yant as posições iniciais do ponto a ser movido pelas chaves liga-desliga.&lt;br /&gt;
Para mais detalhes das funções consulte a referência da linguagem processing http://processing.org/reference/.&lt;br /&gt;
&lt;br /&gt;
 void setup(){&lt;br /&gt;
   println(Serial.list());&lt;br /&gt;
   porta = new Serial(this, Serial.list()[1], 9600);&lt;br /&gt;
   size(500,500);&lt;br /&gt;
   stroke(255);&lt;br /&gt;
   strokeWeight(1.5);&lt;br /&gt;
   strokeCap(SQUARE);&lt;br /&gt;
   background(0);&lt;br /&gt;
   x= width/2;&lt;br /&gt;
   xant = x;&lt;br /&gt;
   y= height/2;&lt;br /&gt;
   yant = y;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
O método( onde funções são executadas ) draw serve para desenhar na tela, ou seja, se há um desenho a ser feito, ele deve ser declarado no método draw. Nele então lê-se serialmente o que o arduino está dizendo em forma de String(texto) e imprime na tela o que foi lido, verifica-se com if se o que foi lido existe (caso não exista é null) e caso exista verifica letra por letra se é 1 ou 0. Caso for 1 então o botão foi pressionado, caso contrário não. Por exemplo se o botão esquerdo for pressionado então dados.charAt(0) será 1 e a variável x será decrementada (subtraída) de 5 unidades fazendo o ponto se deslocar pra esquerda na tela.&lt;br /&gt;
A função stroke garante que a linha continue branca e então desenha a linha com coordenadas iniciais (xant,yant) e coordenadas finais (x,y). E então pega-se o ponto que foi modificado e diz que ele é anterior de modo que na próxima passagem ele seja usado como ponto inicial para se construir a linha. delay(180) diz para aguardar 180 milisegundos a cada desenho.&lt;br /&gt;
&lt;br /&gt;
 void draw(){&lt;br /&gt;
   dados = porta.readString();&lt;br /&gt;
   println(dados);&lt;br /&gt;
   if( dados != null ){&lt;br /&gt;
     if( dados.charAt(0) == '0' ) x-=5;&lt;br /&gt;
     if( dados.charAt(1) == '0' ) x+=5;&lt;br /&gt;
     if( dados.charAt(2) == '0' ) y-=5;&lt;br /&gt;
     if( dados.charAt(3) == '0' ) y+=5;&lt;br /&gt;
     if( dados.charAt(4) == '0' ) background(255,0,0);&lt;br /&gt;
     stroke(255,255,255);&lt;br /&gt;
     line(xant,yant,x,y);&lt;br /&gt;
     xant = x;&lt;br /&gt;
     yant = y;&lt;br /&gt;
   }&lt;br /&gt;
     delay(180);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora basta clicar em Play-Run no processing e pressionar os botões para ver o funcionamento na tela.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Lousa_M%C3%A1gica</id>
		<title>Lousa Mágica</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Lousa_M%C3%A1gica"/>
				<updated>2009-07-14T21:47:16Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: /* Cadeia de ferramentas utilizada */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
* [[Exemplos Práticos]]&lt;br /&gt;
&lt;br /&gt;
= O que é =&lt;br /&gt;
&lt;br /&gt;
Um exemplo básico de mídia tangível utilizando Arduino e Processing em que cinco botões irão representar esquerda, direita, cima, baixo e reset que de acordo com quais botões estiverem pressionados, uma linha seja desenhada na tela na direção respectiva ao botão e a tecla reset servirá para apagar a tela de modo que se possa fazer um desenho contínuo na tela.&lt;br /&gt;
A posição dos botões na montagem fica a critério de que montar, entretanto no código deve-se tomar o cuidado de que a sequência escrita pelo arduino na porta serial e lida pelo processing é a seguinte: EDCBR (Esquerda, Direita, Cima, Baixo, Reset).&lt;br /&gt;
&lt;br /&gt;
= Problemas =&lt;br /&gt;
&lt;br /&gt;
Caso haja mal contato na montagem devido a fios soltos e contatos mal ligados, poderá haver mal funcionamento do programa fazendo com que o ponto ande sozinho ou que a tela apague sem a vontade do usuário.&lt;br /&gt;
Se estiver tudo montado e não houver resposta na tela ao pressionar os botões, é recomendado que se encerre a execução do programa e desligue da alimentação o arduino e verifique se não há curto-circuito e algum problema associado ao circuito.&lt;br /&gt;
&lt;br /&gt;
= Exercício de aprendizagem (Resolver após concluir esse exemplo) =&lt;br /&gt;
&lt;br /&gt;
Implemente um botão que ao ser pressionado faça com que a cor alterne entre Branco e Preto, ou seja, ora é branco ora é preto, sendo controlado por um toque, de modo que se possa locomover pela tela com os outros botões sem rabiscá-la. Desse modo é possível escrever letras separadas uma das outras na tela simulando um espaço.&lt;br /&gt;
&lt;br /&gt;
= Requisitos =&lt;br /&gt;
&lt;br /&gt;
* 5 Resistores de 100 Ohms&lt;br /&gt;
* 5 Chaves tac (PushButton)&lt;br /&gt;
* Fios para se fazerem as ligações&lt;br /&gt;
&lt;br /&gt;
= Cadeia de ferramentas utilizada =&lt;br /&gt;
&lt;br /&gt;
As setas vermelhas indicam as ferramentas utilizadas na cadeia de ferramentas para se trabalhar com mídias e hardware.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:LousaToolchain.png]]&lt;br /&gt;
&lt;br /&gt;
= Usando os componentes do ABaCo =&lt;br /&gt;
&lt;br /&gt;
Com base na cadeia de ferramentas mostrada no diagrama acima, o primeiro passo é construir o '''Projeto Teórico''' com a '''Montagem Virtual do Circuito''' e utilizando o QUCS.&lt;br /&gt;
Na aba Componentes no QUCS e Componentes Soltos os items utilizados para montagem são: Porta do subcircuito, Resistor e Switch. E em Fontes foi escolhido Fonte de Tensão CC. E foi usado o Ground(Terra) que está na barra superior do programa. Para mudar o desenho de um componente é necessário clicar com o botão direito sobre o componente e ir em Edit Properties (Editar Propriedades). Os switchs são as chaves tac (PushButton). Os resistores R1,R2,R3,R4 e R5 são iguais e valem 100 Ohms.&lt;br /&gt;
&lt;br /&gt;
O circuito está mostrado abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Imagem:LousaCirc.png]]&lt;br /&gt;
&lt;br /&gt;
Quando todas as chaves estão soltas, então as 5 portas do arduino estão recebendo tensão, que tem a corrente limitada pelos resistores R1,R2,R3,R4 e R5, entretanto quando uma das chaves é pressionada, então toda a corrente vai para o terra e portanto a tensão que o arduino lê naquela porta é zero. Portanto a reta deve ser desenhada quando o nível lógico lido é zero. Nível lógico significa estar entre um nível de tensão ou outro, caso esteja entre 3 e 5 volts então é nível lógico 1 (há tensão) caso esteja entre 0 e 2 volts então o nível lógico é zero (não há tensão, apesar de ter um pouco) e caso esteja entre 2 e 3 volts, então esse intervalo não é definido e projetistas devem evitar cair nesse intervalo.&lt;br /&gt;
&lt;br /&gt;
Agora que o diagrama está montado, pode-se então partir para a '''Montagem Real do Circuito''' no '''Protoboard''' tomando o devido cuidado para não haver curto-circuitos e eliminação de um componente por estar com seus terminais no mesmo potencial (mesma coluna).&lt;br /&gt;
será necessário apenas o Arduino e o Protoboard, a fonte de tensão não será necessária, pois o Arduino possui uma alimentação que supre a demanda do circuito.&lt;br /&gt;
&lt;br /&gt;
A imagem abaixo ilustra o circuito montado no protoboard, o circuito não precisa estar montado exatamente da mesma forma, existem N formas de se montar.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:LousaReal.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A '''Alimentação''' agora se torna necessária e será usada a alimentação do Arduino de 5 Volts e o programa será feito no '''Ambiente de Programação (IDE)''' '''Arduino Programming Language''' e '''Processing Interfaceamento'''.&lt;br /&gt;
&lt;br /&gt;
Código completo:&lt;br /&gt;
&lt;br /&gt;
 /*&lt;br /&gt;
 *  Copyright (C) 2009 Solano Alves&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 *  it under the terms of the GNU General Public License as published by&lt;br /&gt;
 *  the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 *  (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is distributed in the hope that it will be useful,&lt;br /&gt;
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 *  GNU General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 *  You should have received a copy of the GNU General Public License&lt;br /&gt;
 *  along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
 int Esq=12;&lt;br /&gt;
 int Dir=9;&lt;br /&gt;
 int Cim=11;&lt;br /&gt;
 int Bai=10;&lt;br /&gt;
 int Res=8;&lt;br /&gt;
 &lt;br /&gt;
 int var;&lt;br /&gt;
 &lt;br /&gt;
 void setup(){&lt;br /&gt;
  pinMode(Esq,INPUT);&lt;br /&gt;
  pinMode(Dir,INPUT);&lt;br /&gt;
  pinMode(Cim,INPUT);&lt;br /&gt;
  pinMode(Bai,INPUT);&lt;br /&gt;
  pinMode(Res,INPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void loop(){&lt;br /&gt;
   &lt;br /&gt;
   delay(150);&lt;br /&gt;
   Serial.print(digitalRead(Esq));&lt;br /&gt;
   Serial.print(digitalRead(Dir));&lt;br /&gt;
   Serial.print(digitalRead(Cim));&lt;br /&gt;
   Serial.print(digitalRead(Bai));&lt;br /&gt;
   Serial.print(digitalRead(Res));&lt;br /&gt;
   Serial.print(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
O código do programa para ser embarcado no '''Arduino''' está separado em seções:&lt;br /&gt;
&lt;br /&gt;
A seção abaixo declara variáveis que conterão inteiros representando as portas do Arduino as quais receberão as entradas das chaves liga-desliga.&lt;br /&gt;
&lt;br /&gt;
 int Esq=12;&lt;br /&gt;
 int Dir=9;&lt;br /&gt;
 int Cim=11;&lt;br /&gt;
 int Bai=10;&lt;br /&gt;
 int Res=8;&lt;br /&gt;
 int var;&lt;br /&gt;
&lt;br /&gt;
A seção abaixo diz que essas portas irão exercer a função de Entrada(INPUT), ou seja, as portas vão estar prontas pra dizer se há tensão nelas ou não. E a função Serial.begin(9600) abre uma comunicação serial, para que o processing possa ler depois, a uma velocidade de 9600 bits por segundo. Tudo que está dentro de void setup(){ } só será executado na primeira vez que o programa for iniciado, geralmente funções de configuração.&lt;br /&gt;
&lt;br /&gt;
 void setup(){&lt;br /&gt;
  pinMode(Esq,INPUT);&lt;br /&gt;
  pinMode(Dir,INPUT);&lt;br /&gt;
  pinMode(Cim,INPUT);&lt;br /&gt;
  pinMode(Bai,INPUT);&lt;br /&gt;
  pinMode(Res,INPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
A seção abaixo diz que a cada loop (iteração ou passagem) é para o programa aguardar 150 milisegundos antes de ler as portas verificando se há tensão ou não. A função Serial.print escreve na saída serial se a porta está com tensão (1) ou está sem tensão (0).&lt;br /&gt;
A função Serial.print não pula uma linha quando é executada, ao contrário da Serial.println, portanto as 5 leituras serão feitas e na saída serial o padrão será (NNNNN) em que N representa 0 ou 1. O ultimo Serial.print com um &amp;quot;\n&amp;quot; diz que assim que escrever os 5 digitos, pule uma linha, para que o processing possa ler de 5 em 5 digitos.&lt;br /&gt;
&lt;br /&gt;
 void loop(){&lt;br /&gt;
   delay(150);&lt;br /&gt;
   Serial.print(digitalRead(Esq));&lt;br /&gt;
   Serial.print(digitalRead(Dir));&lt;br /&gt;
   Serial.print(digitalRead(Cim));&lt;br /&gt;
   Serial.print(digitalRead(Bai));&lt;br /&gt;
   Serial.print(digitalRead(Res));&lt;br /&gt;
   Serial.print(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora basta compilar clicando no botão Play - Verify do Arduino e então File &amp;gt; Upload to I/O Board.&lt;br /&gt;
&lt;br /&gt;
Código completo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /*&lt;br /&gt;
 *  Copyright (C) 2009 Solano Alves&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 *  it under the terms of the GNU General Public License as published by&lt;br /&gt;
 *  the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 *  (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is distributed in the hope that it will be useful,&lt;br /&gt;
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 *  GNU General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 *  You should have received a copy of the GNU General Public License&lt;br /&gt;
 *  along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
 import processing.serial.*;&lt;br /&gt;
 &lt;br /&gt;
 Serial porta;&lt;br /&gt;
 String dados;&lt;br /&gt;
 int x,y,xant,yant; &lt;br /&gt;
 &lt;br /&gt;
 void setup(){&lt;br /&gt;
   println(Serial.list());&lt;br /&gt;
   porta = new Serial(this, Serial.list()[1], 9600);&lt;br /&gt;
   size(500,500);&lt;br /&gt;
   stroke(255);&lt;br /&gt;
   strokeWeight(1.5);&lt;br /&gt;
   strokeCap(SQUARE);&lt;br /&gt;
   background(0);&lt;br /&gt;
   x= width/2;&lt;br /&gt;
   xant = x;&lt;br /&gt;
   y= height/2;&lt;br /&gt;
   yant = y;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 void draw(){&lt;br /&gt;
   dados = porta.readString();&lt;br /&gt;
   println(dados);&lt;br /&gt;
   if( dados != null ){&lt;br /&gt;
     if( dados.charAt(0) == '0' ) x-=5;&lt;br /&gt;
     if( dados.charAt(1) == '0' ) x+=5;&lt;br /&gt;
     if( dados.charAt(2) == '0' ) y-=5;&lt;br /&gt;
     if( dados.charAt(3) == '0' ) y+=5;&lt;br /&gt;
     if( dados.charAt(4) == '0' ) background(255,0,0);&lt;br /&gt;
     stroke(255,255,255);&lt;br /&gt;
     line(xant,yant,x,y);&lt;br /&gt;
     xant = x;&lt;br /&gt;
     yant = y;&lt;br /&gt;
   }&lt;br /&gt;
     delay(180);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O código a ser usado no processing para que esse exemplo de mídia tangível seja finalizado é o que se segue dividido em seções explicadas:&lt;br /&gt;
&lt;br /&gt;
Essa declaração importa as ferramentas necessárias para que se possa ler a porta serial na qual o Arduino está escrevendo.&lt;br /&gt;
&lt;br /&gt;
 import processing.serial.*;&lt;br /&gt;
&lt;br /&gt;
Essas declarações criam uma variável porta para que se saiba em qual porta o arduino está escrevendo, uma variável dados que vai conter os 5 digitos que o Arduino enviou através da porta serial e por fim x,y,xant,yant que é a posição atual (x,y) do ponto a ser desenhado e a posição anterior (xant,yant) para que se possa desenhar uma reta entre esses dois pontos.&lt;br /&gt;
&lt;br /&gt;
 Serial porta;&lt;br /&gt;
 String dados;&lt;br /&gt;
 int x,y,xant,yant;&lt;br /&gt;
&lt;br /&gt;
Novamente tudo que estiver dentro de void setup(){} será executado uma única vez, geralmente funções de configuração, e o que está sendo feito dentro de setup é mostrar com a função println todas as portas disponíveis para comunicação, assim é possível ver se a que você está usando no Arduino está listada pelo processing, feito isso e sabido a porta usada então é criada a comunicação dizendo que quem cria é o próprio programa (this, este mesmo), a porta é a segunda da lista, caso fosse a primeira então deveria ser Serial.list()[0] e com velocidade 9600 bits por segundo.&lt;br /&gt;
Size diz o tamanho da tela, stroke a cor da linha, strokeWeight a espessura da linha, strokeCap a forma com que a linha terá, background o fundo da tela e x,y,xant,yant as posições iniciais do ponto a ser movido pelas chaves liga-desliga.&lt;br /&gt;
Para mais detalhes das funções consulte a referência da linguagem processing http://processing.org/reference/.&lt;br /&gt;
&lt;br /&gt;
 void setup(){&lt;br /&gt;
   println(Serial.list());&lt;br /&gt;
   porta = new Serial(this, Serial.list()[1], 9600);&lt;br /&gt;
   size(500,500);&lt;br /&gt;
   stroke(255);&lt;br /&gt;
   strokeWeight(1.5);&lt;br /&gt;
   strokeCap(SQUARE);&lt;br /&gt;
   background(0);&lt;br /&gt;
   x= width/2;&lt;br /&gt;
   xant = x;&lt;br /&gt;
   y= height/2;&lt;br /&gt;
   yant = y;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
O método( onde funções são executadas ) draw serve para desenhar na tela, ou seja, se há um desenho a ser feito, ele deve ser declarado no método draw. Nele então lê-se serialmente o que o arduino está dizendo em forma de String(texto) e imprime na tela o que foi lido, verifica-se com if se o que foi lido existe (caso não exista é null) e caso exista verifica letra por letra se é 1 ou 0. Caso for 1 então o botão foi pressionado, caso contrário não. Por exemplo se o botão esquerdo for pressionado então dados.charAt(0) será 1 e a variável x será decrementada (subtraída) de 5 unidades fazendo o ponto se deslocar pra esquerda na tela.&lt;br /&gt;
A função stroke garante que a linha continue branca e então desenha a linha com coordenadas iniciais (xant,yant) e coordenadas finais (x,y). E então pega-se o ponto que foi modificado e diz que ele é anterior de modo que na próxima passagem ele seja usado como ponto inicial para se construir a linha. delay(180) diz para aguardar 180 milisegundos a cada desenho.&lt;br /&gt;
&lt;br /&gt;
 void draw(){&lt;br /&gt;
   dados = porta.readString();&lt;br /&gt;
   println(dados);&lt;br /&gt;
   if( dados != null ){&lt;br /&gt;
     if( dados.charAt(0) == '0' ) x-=5;&lt;br /&gt;
     if( dados.charAt(1) == '0' ) x+=5;&lt;br /&gt;
     if( dados.charAt(2) == '0' ) y-=5;&lt;br /&gt;
     if( dados.charAt(3) == '0' ) y+=5;&lt;br /&gt;
     if( dados.charAt(4) == '0' ) background(255,0,0);&lt;br /&gt;
     stroke(255,255,255);&lt;br /&gt;
     line(xant,yant,x,y);&lt;br /&gt;
     xant = x;&lt;br /&gt;
     yant = y;&lt;br /&gt;
   }&lt;br /&gt;
     delay(180);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora basta clicar em Play-Run no processing e pressionar os botões para ver o funcionamento na tela.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Arquivo:LousaToolchain.png</id>
		<title>Arquivo:LousaToolchain.png</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Arquivo:LousaToolchain.png"/>
				<updated>2009-07-14T21:46:36Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: foi enviada uma nova versão de &amp;quot;Imagem:LousaToolchain.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Lousa_M%C3%A1gica</id>
		<title>Lousa Mágica</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Lousa_M%C3%A1gica"/>
				<updated>2009-07-14T21:40:31Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
* [[Exemplos Práticos]]&lt;br /&gt;
&lt;br /&gt;
= O que é =&lt;br /&gt;
&lt;br /&gt;
Um exemplo básico de mídia tangível utilizando Arduino e Processing em que cinco botões irão representar esquerda, direita, cima, baixo e reset que de acordo com quais botões estiverem pressionados, uma linha seja desenhada na tela na direção respectiva ao botão e a tecla reset servirá para apagar a tela de modo que se possa fazer um desenho contínuo na tela.&lt;br /&gt;
A posição dos botões na montagem fica a critério de que montar, entretanto no código deve-se tomar o cuidado de que a sequência escrita pelo arduino na porta serial e lida pelo processing é a seguinte: EDCBR (Esquerda, Direita, Cima, Baixo, Reset).&lt;br /&gt;
&lt;br /&gt;
= Problemas =&lt;br /&gt;
&lt;br /&gt;
Caso haja mal contato na montagem devido a fios soltos e contatos mal ligados, poderá haver mal funcionamento do programa fazendo com que o ponto ande sozinho ou que a tela apague sem a vontade do usuário.&lt;br /&gt;
Se estiver tudo montado e não houver resposta na tela ao pressionar os botões, é recomendado que se encerre a execução do programa e desligue da alimentação o arduino e verifique se não há curto-circuito e algum problema associado ao circuito.&lt;br /&gt;
&lt;br /&gt;
= Exercício de aprendizagem (Resolver após concluir esse exemplo) =&lt;br /&gt;
&lt;br /&gt;
Implemente um botão que ao ser pressionado faça com que a cor alterne entre Branco e Preto, ou seja, ora é branco ora é preto, sendo controlado por um toque, de modo que se possa locomover pela tela com os outros botões sem rabiscá-la. Desse modo é possível escrever letras separadas uma das outras na tela simulando um espaço.&lt;br /&gt;
&lt;br /&gt;
= Requisitos =&lt;br /&gt;
&lt;br /&gt;
* 5 Resistores de 100 Ohms&lt;br /&gt;
* 5 Chaves tac (PushButton)&lt;br /&gt;
* Fios para se fazerem as ligações&lt;br /&gt;
&lt;br /&gt;
= Cadeia de ferramentas utilizada =&lt;br /&gt;
&lt;br /&gt;
As setas vermelhas indicam as ferramentas utilizadas na cadeia de ferramentas para se trabalhar com mídias e hardware.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:LousaToolchain.png|700px]]&lt;br /&gt;
&lt;br /&gt;
= Usando os componentes do ABaCo =&lt;br /&gt;
&lt;br /&gt;
Com base na cadeia de ferramentas mostrada no diagrama acima, o primeiro passo é construir o '''Projeto Teórico''' com a '''Montagem Virtual do Circuito''' e utilizando o QUCS.&lt;br /&gt;
Na aba Componentes no QUCS e Componentes Soltos os items utilizados para montagem são: Porta do subcircuito, Resistor e Switch. E em Fontes foi escolhido Fonte de Tensão CC. E foi usado o Ground(Terra) que está na barra superior do programa. Para mudar o desenho de um componente é necessário clicar com o botão direito sobre o componente e ir em Edit Properties (Editar Propriedades). Os switchs são as chaves tac (PushButton). Os resistores R1,R2,R3,R4 e R5 são iguais e valem 100 Ohms.&lt;br /&gt;
&lt;br /&gt;
O circuito está mostrado abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Imagem:LousaCirc.png]]&lt;br /&gt;
&lt;br /&gt;
Quando todas as chaves estão soltas, então as 5 portas do arduino estão recebendo tensão, que tem a corrente limitada pelos resistores R1,R2,R3,R4 e R5, entretanto quando uma das chaves é pressionada, então toda a corrente vai para o terra e portanto a tensão que o arduino lê naquela porta é zero. Portanto a reta deve ser desenhada quando o nível lógico lido é zero. Nível lógico significa estar entre um nível de tensão ou outro, caso esteja entre 3 e 5 volts então é nível lógico 1 (há tensão) caso esteja entre 0 e 2 volts então o nível lógico é zero (não há tensão, apesar de ter um pouco) e caso esteja entre 2 e 3 volts, então esse intervalo não é definido e projetistas devem evitar cair nesse intervalo.&lt;br /&gt;
&lt;br /&gt;
Agora que o diagrama está montado, pode-se então partir para a '''Montagem Real do Circuito''' no '''Protoboard''' tomando o devido cuidado para não haver curto-circuitos e eliminação de um componente por estar com seus terminais no mesmo potencial (mesma coluna).&lt;br /&gt;
será necessário apenas o Arduino e o Protoboard, a fonte de tensão não será necessária, pois o Arduino possui uma alimentação que supre a demanda do circuito.&lt;br /&gt;
&lt;br /&gt;
A imagem abaixo ilustra o circuito montado no protoboard, o circuito não precisa estar montado exatamente da mesma forma, existem N formas de se montar.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:LousaReal.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A '''Alimentação''' agora se torna necessária e será usada a alimentação do Arduino de 5 Volts e o programa será feito no '''Ambiente de Programação (IDE)''' '''Arduino Programming Language''' e '''Processing Interfaceamento'''.&lt;br /&gt;
&lt;br /&gt;
Código completo:&lt;br /&gt;
&lt;br /&gt;
 /*&lt;br /&gt;
 *  Copyright (C) 2009 Solano Alves&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 *  it under the terms of the GNU General Public License as published by&lt;br /&gt;
 *  the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 *  (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is distributed in the hope that it will be useful,&lt;br /&gt;
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 *  GNU General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 *  You should have received a copy of the GNU General Public License&lt;br /&gt;
 *  along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
 int Esq=12;&lt;br /&gt;
 int Dir=9;&lt;br /&gt;
 int Cim=11;&lt;br /&gt;
 int Bai=10;&lt;br /&gt;
 int Res=8;&lt;br /&gt;
 &lt;br /&gt;
 int var;&lt;br /&gt;
 &lt;br /&gt;
 void setup(){&lt;br /&gt;
  pinMode(Esq,INPUT);&lt;br /&gt;
  pinMode(Dir,INPUT);&lt;br /&gt;
  pinMode(Cim,INPUT);&lt;br /&gt;
  pinMode(Bai,INPUT);&lt;br /&gt;
  pinMode(Res,INPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void loop(){&lt;br /&gt;
   &lt;br /&gt;
   delay(150);&lt;br /&gt;
   Serial.print(digitalRead(Esq));&lt;br /&gt;
   Serial.print(digitalRead(Dir));&lt;br /&gt;
   Serial.print(digitalRead(Cim));&lt;br /&gt;
   Serial.print(digitalRead(Bai));&lt;br /&gt;
   Serial.print(digitalRead(Res));&lt;br /&gt;
   Serial.print(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
O código do programa para ser embarcado no '''Arduino''' está separado em seções:&lt;br /&gt;
&lt;br /&gt;
A seção abaixo declara variáveis que conterão inteiros representando as portas do Arduino as quais receberão as entradas das chaves liga-desliga.&lt;br /&gt;
&lt;br /&gt;
 int Esq=12;&lt;br /&gt;
 int Dir=9;&lt;br /&gt;
 int Cim=11;&lt;br /&gt;
 int Bai=10;&lt;br /&gt;
 int Res=8;&lt;br /&gt;
 int var;&lt;br /&gt;
&lt;br /&gt;
A seção abaixo diz que essas portas irão exercer a função de Entrada(INPUT), ou seja, as portas vão estar prontas pra dizer se há tensão nelas ou não. E a função Serial.begin(9600) abre uma comunicação serial, para que o processing possa ler depois, a uma velocidade de 9600 bits por segundo. Tudo que está dentro de void setup(){ } só será executado na primeira vez que o programa for iniciado, geralmente funções de configuração.&lt;br /&gt;
&lt;br /&gt;
 void setup(){&lt;br /&gt;
  pinMode(Esq,INPUT);&lt;br /&gt;
  pinMode(Dir,INPUT);&lt;br /&gt;
  pinMode(Cim,INPUT);&lt;br /&gt;
  pinMode(Bai,INPUT);&lt;br /&gt;
  pinMode(Res,INPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
A seção abaixo diz que a cada loop (iteração ou passagem) é para o programa aguardar 150 milisegundos antes de ler as portas verificando se há tensão ou não. A função Serial.print escreve na saída serial se a porta está com tensão (1) ou está sem tensão (0).&lt;br /&gt;
A função Serial.print não pula uma linha quando é executada, ao contrário da Serial.println, portanto as 5 leituras serão feitas e na saída serial o padrão será (NNNNN) em que N representa 0 ou 1. O ultimo Serial.print com um &amp;quot;\n&amp;quot; diz que assim que escrever os 5 digitos, pule uma linha, para que o processing possa ler de 5 em 5 digitos.&lt;br /&gt;
&lt;br /&gt;
 void loop(){&lt;br /&gt;
   delay(150);&lt;br /&gt;
   Serial.print(digitalRead(Esq));&lt;br /&gt;
   Serial.print(digitalRead(Dir));&lt;br /&gt;
   Serial.print(digitalRead(Cim));&lt;br /&gt;
   Serial.print(digitalRead(Bai));&lt;br /&gt;
   Serial.print(digitalRead(Res));&lt;br /&gt;
   Serial.print(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora basta compilar clicando no botão Play - Verify do Arduino e então File &amp;gt; Upload to I/O Board.&lt;br /&gt;
&lt;br /&gt;
Código completo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /*&lt;br /&gt;
 *  Copyright (C) 2009 Solano Alves&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 *  it under the terms of the GNU General Public License as published by&lt;br /&gt;
 *  the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 *  (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is distributed in the hope that it will be useful,&lt;br /&gt;
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 *  GNU General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 *  You should have received a copy of the GNU General Public License&lt;br /&gt;
 *  along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
 import processing.serial.*;&lt;br /&gt;
 &lt;br /&gt;
 Serial porta;&lt;br /&gt;
 String dados;&lt;br /&gt;
 int x,y,xant,yant; &lt;br /&gt;
 &lt;br /&gt;
 void setup(){&lt;br /&gt;
   println(Serial.list());&lt;br /&gt;
   porta = new Serial(this, Serial.list()[1], 9600);&lt;br /&gt;
   size(500,500);&lt;br /&gt;
   stroke(255);&lt;br /&gt;
   strokeWeight(1.5);&lt;br /&gt;
   strokeCap(SQUARE);&lt;br /&gt;
   background(0);&lt;br /&gt;
   x= width/2;&lt;br /&gt;
   xant = x;&lt;br /&gt;
   y= height/2;&lt;br /&gt;
   yant = y;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 void draw(){&lt;br /&gt;
   dados = porta.readString();&lt;br /&gt;
   println(dados);&lt;br /&gt;
   if( dados != null ){&lt;br /&gt;
     if( dados.charAt(0) == '0' ) x-=5;&lt;br /&gt;
     if( dados.charAt(1) == '0' ) x+=5;&lt;br /&gt;
     if( dados.charAt(2) == '0' ) y-=5;&lt;br /&gt;
     if( dados.charAt(3) == '0' ) y+=5;&lt;br /&gt;
     if( dados.charAt(4) == '0' ) background(255,0,0);&lt;br /&gt;
     stroke(255,255,255);&lt;br /&gt;
     line(xant,yant,x,y);&lt;br /&gt;
     xant = x;&lt;br /&gt;
     yant = y;&lt;br /&gt;
   }&lt;br /&gt;
     delay(180);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O código a ser usado no processing para que esse exemplo de mídia tangível seja finalizado é o que se segue dividido em seções explicadas:&lt;br /&gt;
&lt;br /&gt;
Essa declaração importa as ferramentas necessárias para que se possa ler a porta serial na qual o Arduino está escrevendo.&lt;br /&gt;
&lt;br /&gt;
 import processing.serial.*;&lt;br /&gt;
&lt;br /&gt;
Essas declarações criam uma variável porta para que se saiba em qual porta o arduino está escrevendo, uma variável dados que vai conter os 5 digitos que o Arduino enviou através da porta serial e por fim x,y,xant,yant que é a posição atual (x,y) do ponto a ser desenhado e a posição anterior (xant,yant) para que se possa desenhar uma reta entre esses dois pontos.&lt;br /&gt;
&lt;br /&gt;
 Serial porta;&lt;br /&gt;
 String dados;&lt;br /&gt;
 int x,y,xant,yant;&lt;br /&gt;
&lt;br /&gt;
Novamente tudo que estiver dentro de void setup(){} será executado uma única vez, geralmente funções de configuração, e o que está sendo feito dentro de setup é mostrar com a função println todas as portas disponíveis para comunicação, assim é possível ver se a que você está usando no Arduino está listada pelo processing, feito isso e sabido a porta usada então é criada a comunicação dizendo que quem cria é o próprio programa (this, este mesmo), a porta é a segunda da lista, caso fosse a primeira então deveria ser Serial.list()[0] e com velocidade 9600 bits por segundo.&lt;br /&gt;
Size diz o tamanho da tela, stroke a cor da linha, strokeWeight a espessura da linha, strokeCap a forma com que a linha terá, background o fundo da tela e x,y,xant,yant as posições iniciais do ponto a ser movido pelas chaves liga-desliga.&lt;br /&gt;
Para mais detalhes das funções consulte a referência da linguagem processing http://processing.org/reference/.&lt;br /&gt;
&lt;br /&gt;
 void setup(){&lt;br /&gt;
   println(Serial.list());&lt;br /&gt;
   porta = new Serial(this, Serial.list()[1], 9600);&lt;br /&gt;
   size(500,500);&lt;br /&gt;
   stroke(255);&lt;br /&gt;
   strokeWeight(1.5);&lt;br /&gt;
   strokeCap(SQUARE);&lt;br /&gt;
   background(0);&lt;br /&gt;
   x= width/2;&lt;br /&gt;
   xant = x;&lt;br /&gt;
   y= height/2;&lt;br /&gt;
   yant = y;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
O método( onde funções são executadas ) draw serve para desenhar na tela, ou seja, se há um desenho a ser feito, ele deve ser declarado no método draw. Nele então lê-se serialmente o que o arduino está dizendo em forma de String(texto) e imprime na tela o que foi lido, verifica-se com if se o que foi lido existe (caso não exista é null) e caso exista verifica letra por letra se é 1 ou 0. Caso for 1 então o botão foi pressionado, caso contrário não. Por exemplo se o botão esquerdo for pressionado então dados.charAt(0) será 1 e a variável x será decrementada (subtraída) de 5 unidades fazendo o ponto se deslocar pra esquerda na tela.&lt;br /&gt;
A função stroke garante que a linha continue branca e então desenha a linha com coordenadas iniciais (xant,yant) e coordenadas finais (x,y). E então pega-se o ponto que foi modificado e diz que ele é anterior de modo que na próxima passagem ele seja usado como ponto inicial para se construir a linha. delay(180) diz para aguardar 180 milisegundos a cada desenho.&lt;br /&gt;
&lt;br /&gt;
 void draw(){&lt;br /&gt;
   dados = porta.readString();&lt;br /&gt;
   println(dados);&lt;br /&gt;
   if( dados != null ){&lt;br /&gt;
     if( dados.charAt(0) == '0' ) x-=5;&lt;br /&gt;
     if( dados.charAt(1) == '0' ) x+=5;&lt;br /&gt;
     if( dados.charAt(2) == '0' ) y-=5;&lt;br /&gt;
     if( dados.charAt(3) == '0' ) y+=5;&lt;br /&gt;
     if( dados.charAt(4) == '0' ) background(255,0,0);&lt;br /&gt;
     stroke(255,255,255);&lt;br /&gt;
     line(xant,yant,x,y);&lt;br /&gt;
     xant = x;&lt;br /&gt;
     yant = y;&lt;br /&gt;
   }&lt;br /&gt;
     delay(180);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora basta clicar em Play-Run no processing e pressionar os botões para ver o funcionamento na tela.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Cadeia_de_desenvolvimento</id>
		<title>Cadeia de desenvolvimento</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Cadeia_de_desenvolvimento"/>
				<updated>2009-07-14T21:37:19Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
A cadeia de ferramentas abaixo ilustra a base para o projeto ABaCo utilizando software livre.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Toolchain.png]]&lt;br /&gt;
&lt;br /&gt;
Para cada exemplo prático serão ressaltadas as ferramentas escolhidas na Toolchain.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Cadeia_de_desenvolvimento</id>
		<title>Cadeia de desenvolvimento</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Cadeia_de_desenvolvimento"/>
				<updated>2009-07-14T21:37:01Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
A cadeia de ferramentas abaixo ilustra a base para o projeto ABaCo utilizando software livre.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Toolchain.png]]&lt;br /&gt;
&lt;br /&gt;
Para cada exemplo prático será ressaltado as ferramentas escolhidas na Toolchain.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Cadeia_de_desenvolvimento</id>
		<title>Cadeia de desenvolvimento</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Cadeia_de_desenvolvimento"/>
				<updated>2009-07-14T21:35:57Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
A cadeia de ferramentas abaixo ilustra a base para o projeto ABaCo utilizando software livre.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Toolchain.png]]&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Arquivo:Toolchain.png</id>
		<title>Arquivo:Toolchain.png</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Arquivo:Toolchain.png"/>
				<updated>2009-07-14T21:35:32Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: foi enviada uma nova versão de &amp;quot;Imagem:Toolchain.png&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Cadeia_de_desenvolvimento</id>
		<title>Cadeia de desenvolvimento</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Cadeia_de_desenvolvimento"/>
				<updated>2009-07-14T20:53:13Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
A cadeia de ferramentas abaixo ilustra a base para o projeto ABaCo utilizando software livre.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Cadeia_de_desenvolvimento</id>
		<title>Cadeia de desenvolvimento</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Cadeia_de_desenvolvimento"/>
				<updated>2009-07-14T20:52:50Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: Nova página: Apropriação em Bancada Computacional (ABaCo)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Apropria%C3%A7%C3%A3o_em_Bancada_Computacional_(ABaCo)</id>
		<title>Apropriação em Bancada Computacional (ABaCo)</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Apropria%C3%A7%C3%A3o_em_Bancada_Computacional_(ABaCo)"/>
				<updated>2009-07-14T20:52:28Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: /* O ABaCo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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.&lt;br /&gt;
&lt;br /&gt;
Esta wiki divide o projeto ABaCo em tópicos didáticos que buscam explicar de um modo simples cada parte que o compõe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= O ABaCo =&lt;br /&gt;
&lt;br /&gt;
O projeto ABaCo segue uma [[cadeia de desenvolvimento]] elaborada com base em Software livre.&lt;br /&gt;
&lt;br /&gt;
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)]].&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
O projeto incentiva a criação de [[mídias tangíveis]] bem como em paralelo o uso da [[filosofia de software livre]].&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Filosofia_de_software_livre</id>
		<title>Filosofia de software livre</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Filosofia_de_software_livre"/>
				<updated>2009-07-14T20:51:22Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
* Como o projeto vai ser desenvolvido baseado na filosofia de software livre, é de grande importância esclarecer alguns pontos que dizem respeito a ela. Segundo a cartilha de Software Livre do Projeto Software Livre Bahia [1], software livre não é uma questão de preço, mas sim de liberdade, que segue as seguintes liberdades definidas pela Free Software Fundation [2]:&lt;br /&gt;
&lt;br /&gt;
# A liberdade de executar o programa, para qualquer propósito; &lt;br /&gt;
# 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; &lt;br /&gt;
# A liberdade de redistribuir cópias de modo que você possa beneficiar o próximo; &lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
Um programa que segue essas quatro liberdades pode ser condiderado livre. Entretanto isto 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 algumas vezes são suficientes para que o hardware seja Hardware Aberto, mas devido ao conceito de hardware aberto ser novo, não há concordância sobre ele. Algo interessante que poucas vezes é citado quando explicado o porquê do software livre é o fato de que o conhecimento usado pelo programador para se contruir um software/hardware, muitas vezes pode ser obtido por ele sem custo algum, como por exemplo o uso de uma serie de fourier, operação com matrizes para jogos etc. Desde as teorias matemáticas, físicas, químicas et cetera até a própria escrita que ele tem com 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? &lt;br /&gt;
Um texto escrito por Pedro Antonio Dourado de Rezende[3] explica por outra linha de raciocínio:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Hardware Aberto ou licença para hardware é algo em discussão atualmente e as licenças de software não se aplicam devidamente a eles. Uma licença para hardware conhecida é a TAPR Open Hardware License e pode ser melhor entendida no site http://www.tapr.org/ohl.html.&lt;br /&gt;
&lt;br /&gt;
* Para trabalhos relacionados a produção artística não necessariamente ligada à programação, pode-se usar a licença Creative-Commons[4] que mescla alguns dos princípios explicados acima, entretanto adaptadas ao tipo de produção artística.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;O Creative Commons disponibiliza licenças que abrangem um espectro de possibilidades entre a proibição total dos usos sobre uma obra - todos os direitos reservados - e o domínio público - nenhum direito reservado. Nossas licenças ajudam você a manter seu direito autoral ao mesmo tempo em que permite certos usos de sua obra - um licenciamento com &amp;quot;alguns direitos reservados&amp;quot;.&amp;quot; [5]&lt;br /&gt;
&lt;br /&gt;
= Referências Bibliográficas =&lt;br /&gt;
&lt;br /&gt;
# Colaborativo. Projeto Software Livre Bahia. Disponível em: &amp;lt;http://twiki.dcc.ufba.br/bin/view/PSL&amp;gt;. Acesso em: 7 nov. 2008. &lt;br /&gt;
# Free Software Foundation. Disponível em: &amp;lt;http://www.fsf.org/&amp;gt;. Acesso em: 7 nov. 2008.&lt;br /&gt;
# REZENDE, P. A. D. A eucaristia digital, jun. 2004. Disponível em: &amp;lt;http://observatorio.ultimosegundo.ig.com.br/artigos.asp?cod=281ENO001&amp;gt;. Acesso em: 7 nov. 2008.&lt;br /&gt;
# Creative Commons. Disponível em: &amp;lt;http://www.creativecommons.org.br/&amp;gt;. Acesso em: 31 maio 2009. &lt;br /&gt;
# Sobre Creative Commons. Disponível em: &amp;lt;http://www.creativecommons.org.br/index.php?option=com_content&amp;amp;task=view&amp;amp;id=21&amp;amp;Itemid=33&amp;gt;. Acesso em: 31 maio 2009.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Lousa_M%C3%A1gica</id>
		<title>Lousa Mágica</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Lousa_M%C3%A1gica"/>
				<updated>2009-07-14T20:23:55Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
= O que é =&lt;br /&gt;
&lt;br /&gt;
Um exemplo básico de mídia tangível utilizando Arduino e Processing em que cinco botões irão representar esquerda, direita, cima, baixo e reset que de acordo com quais botões estiverem pressionados, uma linha seja desenhada na tela na direção respectiva ao botão e a tecla reset servirá para apagar a tela de modo que se possa fazer um desenho contínuo na tela.&lt;br /&gt;
A posição dos botões na montagem fica a critério de que montar, entretanto no código deve-se tomar o cuidado de que a sequência escrita pelo arduino na porta serial e lida pelo processing é a seguinte: EDCBR (Esquerda, Direita, Cima, Baixo, Reset).&lt;br /&gt;
&lt;br /&gt;
= Problemas =&lt;br /&gt;
&lt;br /&gt;
Caso haja mal contato na montagem devido a fios soltos e contatos mal ligados, poderá haver mal funcionamento do programa fazendo com que o ponto ande sozinho ou que a tela apague sem a vontade do usuário.&lt;br /&gt;
Se estiver tudo montado e não houver resposta na tela ao pressionar os botões, é recomendado que se encerre a execução do programa e desligue da alimentação o arduino e verifique se não há curto-circuito e algum problema associado ao circuito.&lt;br /&gt;
&lt;br /&gt;
= Exercício de aprendizagem (Resolver após concluir esse exemplo) =&lt;br /&gt;
&lt;br /&gt;
Implemente um botão que ao ser pressionado faça com que a cor alterne entre Branco e Preto, ou seja, ora é branco ora é preto, sendo controlado por um toque, de modo que se possa locomover pela tela com os outros botões sem rabiscá-la. Desse modo é possível escrever letras separadas uma das outras na tela simulando um espaço.&lt;br /&gt;
&lt;br /&gt;
= Requisitos =&lt;br /&gt;
&lt;br /&gt;
* 5 Resistores de 100 Ohms&lt;br /&gt;
* 5 Chaves tac (PushButton)&lt;br /&gt;
* Fios para se fazerem as ligações&lt;br /&gt;
&lt;br /&gt;
= Cadeia de ferramentas utilizada =&lt;br /&gt;
&lt;br /&gt;
As setas vermelhas indicam as ferramentas utilizadas na cadeia de ferramentas para se trabalhar com mídias e hardware.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:LousaToolchain.png|700px]]&lt;br /&gt;
&lt;br /&gt;
= Usando os componentes do ABaCo =&lt;br /&gt;
&lt;br /&gt;
Com base na cadeia de ferramentas mostrada no diagrama acima, o primeiro passo é construir o '''Projeto Teórico''' com a '''Montagem Virtual do Circuito''' e utilizando o QUCS.&lt;br /&gt;
Na aba Componentes no QUCS e Componentes Soltos os items utilizados para montagem são: Porta do subcircuito, Resistor e Switch. E em Fontes foi escolhido Fonte de Tensão CC. E foi usado o Ground(Terra) que está na barra superior do programa. Para mudar o desenho de um componente é necessário clicar com o botão direito sobre o componente e ir em Edit Properties (Editar Propriedades). Os switchs são as chaves tac (PushButton). Os resistores R1,R2,R3,R4 e R5 são iguais e valem 100 Ohms.&lt;br /&gt;
&lt;br /&gt;
O circuito está mostrado abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Imagem:LousaCirc.png]]&lt;br /&gt;
&lt;br /&gt;
Quando todas as chaves estão soltas, então as 5 portas do arduino estão recebendo tensão, que tem a corrente limitada pelos resistores R1,R2,R3,R4 e R5, entretanto quando uma das chaves é pressionada, então toda a corrente vai para o terra e portanto a tensão que o arduino lê naquela porta é zero. Portanto a reta deve ser desenhada quando o nível lógico lido é zero. Nível lógico significa estar entre um nível de tensão ou outro, caso esteja entre 3 e 5 volts então é nível lógico 1 (há tensão) caso esteja entre 0 e 2 volts então o nível lógico é zero (não há tensão, apesar de ter um pouco) e caso esteja entre 2 e 3 volts, então esse intervalo não é definido e projetistas devem evitar cair nesse intervalo.&lt;br /&gt;
&lt;br /&gt;
Agora que o diagrama está montado, pode-se então partir para a '''Montagem Real do Circuito''' no '''Protoboard''' tomando o devido cuidado para não haver curto-circuitos e eliminação de um componente por estar com seus terminais no mesmo potencial (mesma coluna).&lt;br /&gt;
será necessário apenas o Arduino e o Protoboard, a fonte de tensão não será necessária, pois o Arduino possui uma alimentação que supre a demanda do circuito.&lt;br /&gt;
&lt;br /&gt;
A imagem abaixo ilustra o circuito montado no protoboard, o circuito não precisa estar montado exatamente da mesma forma, existem N formas de se montar.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:LousaReal.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A '''Alimentação''' agora se torna necessária e será usada a alimentação do Arduino de 5 Volts e o programa será feito no '''Ambiente de Programação (IDE)''' '''Arduino Programming Language''' e '''Processing Interfaceamento'''.&lt;br /&gt;
&lt;br /&gt;
Código completo:&lt;br /&gt;
&lt;br /&gt;
 /*&lt;br /&gt;
 *  Copyright (C) 2009 Solano Alves&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 *  it under the terms of the GNU General Public License as published by&lt;br /&gt;
 *  the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 *  (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is distributed in the hope that it will be useful,&lt;br /&gt;
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 *  GNU General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 *  You should have received a copy of the GNU General Public License&lt;br /&gt;
 *  along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
 int Esq=12;&lt;br /&gt;
 int Dir=9;&lt;br /&gt;
 int Cim=11;&lt;br /&gt;
 int Bai=10;&lt;br /&gt;
 int Res=8;&lt;br /&gt;
 &lt;br /&gt;
 int var;&lt;br /&gt;
 &lt;br /&gt;
 void setup(){&lt;br /&gt;
  pinMode(Esq,INPUT);&lt;br /&gt;
  pinMode(Dir,INPUT);&lt;br /&gt;
  pinMode(Cim,INPUT);&lt;br /&gt;
  pinMode(Bai,INPUT);&lt;br /&gt;
  pinMode(Res,INPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void loop(){&lt;br /&gt;
   &lt;br /&gt;
   delay(150);&lt;br /&gt;
   Serial.print(digitalRead(Esq));&lt;br /&gt;
   Serial.print(digitalRead(Dir));&lt;br /&gt;
   Serial.print(digitalRead(Cim));&lt;br /&gt;
   Serial.print(digitalRead(Bai));&lt;br /&gt;
   Serial.print(digitalRead(Res));&lt;br /&gt;
   Serial.print(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
O código do programa para ser embarcado no '''Arduino''' está separado em seções:&lt;br /&gt;
&lt;br /&gt;
A seção abaixo declara variáveis que conterão inteiros representando as portas do Arduino as quais receberão as entradas das chaves liga-desliga.&lt;br /&gt;
&lt;br /&gt;
 int Esq=12;&lt;br /&gt;
 int Dir=9;&lt;br /&gt;
 int Cim=11;&lt;br /&gt;
 int Bai=10;&lt;br /&gt;
 int Res=8;&lt;br /&gt;
 int var;&lt;br /&gt;
&lt;br /&gt;
A seção abaixo diz que essas portas irão exercer a função de Entrada(INPUT), ou seja, as portas vão estar prontas pra dizer se há tensão nelas ou não. E a função Serial.begin(9600) abre uma comunicação serial, para que o processing possa ler depois, a uma velocidade de 9600 bits por segundo. Tudo que está dentro de void setup(){ } só será executado na primeira vez que o programa for iniciado, geralmente funções de configuração.&lt;br /&gt;
&lt;br /&gt;
 void setup(){&lt;br /&gt;
  pinMode(Esq,INPUT);&lt;br /&gt;
  pinMode(Dir,INPUT);&lt;br /&gt;
  pinMode(Cim,INPUT);&lt;br /&gt;
  pinMode(Bai,INPUT);&lt;br /&gt;
  pinMode(Res,INPUT);&lt;br /&gt;
  Serial.begin(9600);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
A seção abaixo diz que a cada loop (iteração ou passagem) é para o programa aguardar 150 milisegundos antes de ler as portas verificando se há tensão ou não. A função Serial.print escreve na saída serial se a porta está com tensão (1) ou está sem tensão (0).&lt;br /&gt;
A função Serial.print não pula uma linha quando é executada, ao contrário da Serial.println, portanto as 5 leituras serão feitas e na saída serial o padrão será (NNNNN) em que N representa 0 ou 1. O ultimo Serial.print com um &amp;quot;\n&amp;quot; diz que assim que escrever os 5 digitos, pule uma linha, para que o processing possa ler de 5 em 5 digitos.&lt;br /&gt;
&lt;br /&gt;
 void loop(){&lt;br /&gt;
   delay(150);&lt;br /&gt;
   Serial.print(digitalRead(Esq));&lt;br /&gt;
   Serial.print(digitalRead(Dir));&lt;br /&gt;
   Serial.print(digitalRead(Cim));&lt;br /&gt;
   Serial.print(digitalRead(Bai));&lt;br /&gt;
   Serial.print(digitalRead(Res));&lt;br /&gt;
   Serial.print(&amp;quot;\n&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora basta compilar clicando no botão Play - Verify do Arduino e então File &amp;gt; Upload to I/O Board.&lt;br /&gt;
&lt;br /&gt;
Código completo:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /*&lt;br /&gt;
 *  Copyright (C) 2009 Solano Alves&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is free software: you can redistribute it and/or modify&lt;br /&gt;
 *  it under the terms of the GNU General Public License as published by&lt;br /&gt;
 *  the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
 *  (at your option) any later version.&lt;br /&gt;
 *&lt;br /&gt;
 *  This program is distributed in the hope that it will be useful,&lt;br /&gt;
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
 *  GNU General Public License for more details.&lt;br /&gt;
 *&lt;br /&gt;
 *  You should have received a copy of the GNU General Public License&lt;br /&gt;
 *  along with this program.  If not, see &amp;lt;http://www.gnu.org/licenses/&amp;gt;.&lt;br /&gt;
 */&lt;br /&gt;
 &lt;br /&gt;
 import processing.serial.*;&lt;br /&gt;
 &lt;br /&gt;
 Serial porta;&lt;br /&gt;
 String dados;&lt;br /&gt;
 int x,y,xant,yant; &lt;br /&gt;
 &lt;br /&gt;
 void setup(){&lt;br /&gt;
   println(Serial.list());&lt;br /&gt;
   porta = new Serial(this, Serial.list()[1], 9600);&lt;br /&gt;
   size(500,500);&lt;br /&gt;
   stroke(255);&lt;br /&gt;
   strokeWeight(1.5);&lt;br /&gt;
   strokeCap(SQUARE);&lt;br /&gt;
   background(0);&lt;br /&gt;
   x= width/2;&lt;br /&gt;
   xant = x;&lt;br /&gt;
   y= height/2;&lt;br /&gt;
   yant = y;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 void draw(){&lt;br /&gt;
   dados = porta.readString();&lt;br /&gt;
   println(dados);&lt;br /&gt;
   if( dados != null ){&lt;br /&gt;
     if( dados.charAt(0) == '0' ) x-=5;&lt;br /&gt;
     if( dados.charAt(1) == '0' ) x+=5;&lt;br /&gt;
     if( dados.charAt(2) == '0' ) y-=5;&lt;br /&gt;
     if( dados.charAt(3) == '0' ) y+=5;&lt;br /&gt;
     if( dados.charAt(4) == '0' ) background(255,0,0);&lt;br /&gt;
     stroke(255,255,255);&lt;br /&gt;
     line(xant,yant,x,y);&lt;br /&gt;
     xant = x;&lt;br /&gt;
     yant = y;&lt;br /&gt;
   }&lt;br /&gt;
     delay(180);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O código a ser usado no processing para que esse exemplo de mídia tangível seja finalizado é o que se segue dividido em seções explicadas:&lt;br /&gt;
&lt;br /&gt;
Essa declaração importa as ferramentas necessárias para que se possa ler a porta serial na qual o Arduino está escrevendo.&lt;br /&gt;
&lt;br /&gt;
 import processing.serial.*;&lt;br /&gt;
&lt;br /&gt;
Essas declarações criam uma variável porta para que se saiba em qual porta o arduino está escrevendo, uma variável dados que vai conter os 5 digitos que o Arduino enviou através da porta serial e por fim x,y,xant,yant que é a posição atual (x,y) do ponto a ser desenhado e a posição anterior (xant,yant) para que se possa desenhar uma reta entre esses dois pontos.&lt;br /&gt;
&lt;br /&gt;
 Serial porta;&lt;br /&gt;
 String dados;&lt;br /&gt;
 int x,y,xant,yant;&lt;br /&gt;
&lt;br /&gt;
Novamente tudo que estiver dentro de void setup(){} será executado uma única vez, geralmente funções de configuração, e o que está sendo feito dentro de setup é mostrar com a função println todas as portas disponíveis para comunicação, assim é possível ver se a que você está usando no Arduino está listada pelo processing, feito isso e sabido a porta usada então é criada a comunicação dizendo que quem cria é o próprio programa (this, este mesmo), a porta é a segunda da lista, caso fosse a primeira então deveria ser Serial.list()[0] e com velocidade 9600 bits por segundo.&lt;br /&gt;
Size diz o tamanho da tela, stroke a cor da linha, strokeWeight a espessura da linha, strokeCap a forma com que a linha terá, background o fundo da tela e x,y,xant,yant as posições iniciais do ponto a ser movido pelas chaves liga-desliga.&lt;br /&gt;
Para mais detalhes das funções consulte a referência da linguagem processing http://processing.org/reference/.&lt;br /&gt;
&lt;br /&gt;
 void setup(){&lt;br /&gt;
   println(Serial.list());&lt;br /&gt;
   porta = new Serial(this, Serial.list()[1], 9600);&lt;br /&gt;
   size(500,500);&lt;br /&gt;
   stroke(255);&lt;br /&gt;
   strokeWeight(1.5);&lt;br /&gt;
   strokeCap(SQUARE);&lt;br /&gt;
   background(0);&lt;br /&gt;
   x= width/2;&lt;br /&gt;
   xant = x;&lt;br /&gt;
   y= height/2;&lt;br /&gt;
   yant = y;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
O método( onde funções são executadas ) draw serve para desenhar na tela, ou seja, se há um desenho a ser feito, ele deve ser declarado no método draw. Nele então lê-se serialmente o que o arduino está dizendo em forma de String(texto) e imprime na tela o que foi lido, verifica-se com if se o que foi lido existe (caso não exista é null) e caso exista verifica letra por letra se é 1 ou 0. Caso for 1 então o botão foi pressionado, caso contrário não. Por exemplo se o botão esquerdo for pressionado então dados.charAt(0) será 1 e a variável x será decrementada (subtraída) de 5 unidades fazendo o ponto se deslocar pra esquerda na tela.&lt;br /&gt;
A função stroke garante que a linha continue branca e então desenha a linha com coordenadas iniciais (xant,yant) e coordenadas finais (x,y). E então pega-se o ponto que foi modificado e diz que ele é anterior de modo que na próxima passagem ele seja usado como ponto inicial para se construir a linha. delay(180) diz para aguardar 180 milisegundos a cada desenho.&lt;br /&gt;
&lt;br /&gt;
 void draw(){&lt;br /&gt;
   dados = porta.readString();&lt;br /&gt;
   println(dados);&lt;br /&gt;
   if( dados != null ){&lt;br /&gt;
     if( dados.charAt(0) == '0' ) x-=5;&lt;br /&gt;
     if( dados.charAt(1) == '0' ) x+=5;&lt;br /&gt;
     if( dados.charAt(2) == '0' ) y-=5;&lt;br /&gt;
     if( dados.charAt(3) == '0' ) y+=5;&lt;br /&gt;
     if( dados.charAt(4) == '0' ) background(255,0,0);&lt;br /&gt;
     stroke(255,255,255);&lt;br /&gt;
     line(xant,yant,x,y);&lt;br /&gt;
     xant = x;&lt;br /&gt;
     yant = y;&lt;br /&gt;
   }&lt;br /&gt;
     delay(180);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Agora basta clicar em Play-Run no processing e pressionar os botões para ver o funcionamento na tela.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Exemplos_Pr%C3%A1ticos</id>
		<title>Exemplos Práticos</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Exemplos_Pr%C3%A1ticos"/>
				<updated>2009-07-14T20:23:46Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
Abaixo estão os exemplos envolvendo o projeto ABaCo&lt;br /&gt;
&lt;br /&gt;
* [[Lousa Mágica]]&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Apropria%C3%A7%C3%A3o_em_Bancada_Computacional_(ABaCo)</id>
		<title>Apropriação em Bancada Computacional (ABaCo)</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Apropria%C3%A7%C3%A3o_em_Bancada_Computacional_(ABaCo)"/>
				<updated>2009-07-14T20:23:32Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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.&lt;br /&gt;
&lt;br /&gt;
Esta wiki divide o projeto ABaCo em tópicos didáticos que buscam explicar de um modo simples cada parte que o compõe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= O ABaCo =&lt;br /&gt;
&lt;br /&gt;
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)]].&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
O projeto incentiva a criação de [[mídias tangíveis]] bem como em paralelo o uso da [[filosofia de software livre]].&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Apropria%C3%A7%C3%A3o_em_Bancada_Computacional_(ABaCo)</id>
		<title>Apropriação em Bancada Computacional (ABaCo)</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Apropria%C3%A7%C3%A3o_em_Bancada_Computacional_(ABaCo)"/>
				<updated>2009-07-14T20:22:57Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: /* O ABaCo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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.&lt;br /&gt;
&lt;br /&gt;
Esta wiki divide o projeto ABaCo em tópicos didáticos que buscam explicar de um modo simples cada parte que o compõe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= O ABaCo =&lt;br /&gt;
&lt;br /&gt;
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)]].&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
O projeto incentiva a criação de [[mídias tangíveis]] bem como em paralelo o uso da [[filosofia de software livre]].&lt;br /&gt;
&lt;br /&gt;
Alguns [[exemplos]] estão disponíveis para que se possa esclarecer o uso do ABaCo para construção de mídias tangíveis.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Filosofia_de_software_livre</id>
		<title>Filosofia de software livre</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Filosofia_de_software_livre"/>
				<updated>2009-07-14T20:22:00Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: Nova página: * Apropriação em Bancada Computacional (ABaCo)  * Como o projeto vai ser desenvolvido baseado na filosofia de software livre, é de grande importância esclarecer alguns pontos q...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
* Como o projeto vai ser desenvolvido baseado na filosofia de software livre, é de grande importância esclarecer alguns pontos que dizem respeito a ela. Segundo a cartilha de Software Livre do Projeto Software Livre Bahia [1], software livre não é uma questão de preço, mas sim de liberdade, que segue as seguintes liberdades definidas pela Free Software Fundation [2]:&lt;br /&gt;
&lt;br /&gt;
# A liberdade de executar o programa, para qualquer propósito; &lt;br /&gt;
# 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; &lt;br /&gt;
# A liberdade de redistribuir cópias de modo que você possa beneficiar o próximo; &lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
Um programa que segue essas quatro liberdades pode ser condiderado livre. Entretanto isto 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 algumas vezes são suficientes para que o hardware seja Hardware Aberto, mas devido ao conceito de hardware aberto ser novo, não há concordância sobre ele. Algo interessante que poucas vezes é citado quando explicado o porquê do software livre é o fato de que o conhecimento usado pelo programador para se contruir um software/hardware, muitas vezes pode ser obtido por ele sem custo algum, como por exemplo o uso de uma serie de fourier, operação com matrizes para jogos etc. Desde as teorias matemáticas, físicas, químicas et cetera até a própria escrita que ele tem com 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? &lt;br /&gt;
Um texto escrito por Pedro Antonio Dourado de Rezende[3] explica por outra linha de raciocínio:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;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.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Para trabalhos relacionados a produção artística não necessariamente ligada à programação, pode-se usar a licença Creative-Commons[4] que mescla alguns dos princípios explicados acima, entretanto adaptadas ao tipo de produção artística.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;O Creative Commons disponibiliza licenças que abrangem um espectro de possibilidades entre a proibição total dos usos sobre uma obra - todos os direitos reservados - e o domínio público - nenhum direito reservado. Nossas licenças ajudam você a manter seu direito autoral ao mesmo tempo em que permite certos usos de sua obra - um licenciamento com &amp;quot;alguns direitos reservados&amp;quot;.&amp;quot; [5]&lt;br /&gt;
&lt;br /&gt;
= Referências Bibliográficas =&lt;br /&gt;
&lt;br /&gt;
# Colaborativo. Projeto Software Livre Bahia. Disponível em: &amp;lt;http://twiki.dcc.ufba.br/bin/view/PSL&amp;gt;. Acesso em: 7 nov. 2008. &lt;br /&gt;
# Free Software Foundation. Disponível em: &amp;lt;http://www.fsf.org/&amp;gt;. Acesso em: 7 nov. 2008.&lt;br /&gt;
# REZENDE, P. A. D. A eucaristia digital, jun. 2004. Disponível em: &amp;lt;http://observatorio.ultimosegundo.ig.com.br/artigos.asp?cod=281ENO001&amp;gt;. Acesso em: 7 nov. 2008.&lt;br /&gt;
# Creative Commons. Disponível em: &amp;lt;http://www.creativecommons.org.br/&amp;gt;. Acesso em: 31 maio 2009. &lt;br /&gt;
# Sobre Creative Commons. Disponível em: &amp;lt;http://www.creativecommons.org.br/index.php?option=com_content&amp;amp;task=view&amp;amp;id=21&amp;amp;Itemid=33&amp;gt;. Acesso em: 31 maio 2009.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/M%C3%ADdias_tang%C3%ADveis</id>
		<title>Mídias tangíveis</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/M%C3%ADdias_tang%C3%ADveis"/>
				<updated>2009-07-14T20:21:29Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
Segundo a definição de [1], 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 de circuitos elétricos em conjunto com programação embarcada para que haja o interesse do aprendiz no desenvolvimento de tecnologias pensando no usuário, aplicando os princípios de design de interação.&lt;br /&gt;
&lt;br /&gt;
O conceito de mídias tangíveis também abrange tanto a área de estudantes quando de profissionais do ensino, uma vez que conteúdos complexos de se explicar na teoria, podem ser facilmente transpostos com práticas interativas de modo que esse arcabouço, que vem a ser o projeto ABaCo, seja um meio fácil de tornar a criação dessas práticas mais simples.&lt;br /&gt;
&lt;br /&gt;
O uso de mídias tangíveis sempre tem como premissa a facilidade e a economia de tempo para realizar determinadas tarefas, como mostra [2] com o projeto no qual os slides de uma apresentação qualquer são impressos em cartões com código de barras identificadores, então quando necessário a apresentação de um slide especifico, passa-se o código de barras em um leitor tendo como resultado o slide desejado apropriado mostrado na tela, evitando assim a localização do mesmo nos diretórios, evitando constrangimentos em grandes apresentações.&lt;br /&gt;
&lt;br /&gt;
Outra aplicação apropriada é o ensino através de mídias tangíveis como cita [3] utilizando do ensino de geometria para crianças que recebem peças para montar uma determinada forma geométrica reconhecida por um computador o qual auxilia as crianças a atingirem os objetivos fornecendo dicas.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
# ULLMER, B. e ISHI, H. Emerging frameworks for tangible user interfaces, Vol. 39, No. 3-4, 2000. Disponível em: &amp;lt;http://www.research.ibm.com/journal/sj/393/part3/ullmer.html&amp;gt;. Acesso em: 5 nov. 2008.&lt;br /&gt;
# CHURCHILL, E. F. e NELSON, L. Tangibly Simple, Architecturally Complex: Evaluating a Tangible Presentation Aid, fev. 2003. Disponível em: &amp;lt;http://www.sigchi.org/chi2003/docs/tangiblysimple.pdf?searchterm=tangible+interfaces&amp;gt;. Acesso em: 6 abril 2009.&lt;br /&gt;
# SCARLATOS, L. L. An Application of Tangible Interfaces in Collaborative Learning Environments, 1999. Disponível em: &amp;lt;http://ms.cc.sunysb.edu/~lscarlatos/TICLE/ticle.html&amp;gt;. Acesso em: 6 abril 2009.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/M%C3%ADdias_tang%C3%ADveis</id>
		<title>Mídias tangíveis</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/M%C3%ADdias_tang%C3%ADveis"/>
				<updated>2009-07-14T20:21:16Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: Nova página: * Projeto Apropriação em Bancada Computacional (ABaCo)  Segundo a definição de [1], interfaces tangíveis relacionam o uso de um sistema de artefatos físicos para o controle d...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Projeto Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
Segundo a definição de [1], 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 de circuitos elétricos em conjunto com programação embarcada para que haja o interesse do aprendiz no desenvolvimento de tecnologias pensando no usuário, aplicando os princípios de design de interação.&lt;br /&gt;
&lt;br /&gt;
O conceito de mídias tangíveis também abrange tanto a área de estudantes quando de profissionais do ensino, uma vez que conteúdos complexos de se explicar na teoria, podem ser facilmente transpostos com práticas interativas de modo que esse arcabouço, que vem a ser o projeto ABaCo, seja um meio fácil de tornar a criação dessas práticas mais simples.&lt;br /&gt;
&lt;br /&gt;
O uso de mídias tangíveis sempre tem como premissa a facilidade e a economia de tempo para realizar determinadas tarefas, como mostra [2] com o projeto no qual os slides de uma apresentação qualquer são impressos em cartões com código de barras identificadores, então quando necessário a apresentação de um slide especifico, passa-se o código de barras em um leitor tendo como resultado o slide desejado apropriado mostrado na tela, evitando assim a localização do mesmo nos diretórios, evitando constrangimentos em grandes apresentações.&lt;br /&gt;
&lt;br /&gt;
Outra aplicação apropriada é o ensino através de mídias tangíveis como cita [3] utilizando do ensino de geometria para crianças que recebem peças para montar uma determinada forma geométrica reconhecida por um computador o qual auxilia as crianças a atingirem os objetivos fornecendo dicas.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
# ULLMER, B. e ISHI, H. Emerging frameworks for tangible user interfaces, Vol. 39, No. 3-4, 2000. Disponível em: &amp;lt;http://www.research.ibm.com/journal/sj/393/part3/ullmer.html&amp;gt;. Acesso em: 5 nov. 2008.&lt;br /&gt;
# CHURCHILL, E. F. e NELSON, L. Tangibly Simple, Architecturally Complex: Evaluating a Tangible Presentation Aid, fev. 2003. Disponível em: &amp;lt;http://www.sigchi.org/chi2003/docs/tangiblysimple.pdf?searchterm=tangible+interfaces&amp;gt;. Acesso em: 6 abril 2009.&lt;br /&gt;
# SCARLATOS, L. L. An Application of Tangible Interfaces in Collaborative Learning Environments, 1999. Disponível em: &amp;lt;http://ms.cc.sunysb.edu/~lscarlatos/TICLE/ticle.html&amp;gt;. Acesso em: 6 abril 2009.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Apropria%C3%A7%C3%A3o_em_Bancada_Computacional_(ABaCo)</id>
		<title>Apropriação em Bancada Computacional (ABaCo)</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Apropria%C3%A7%C3%A3o_em_Bancada_Computacional_(ABaCo)"/>
				<updated>2009-07-14T20:21:01Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: /* O ABaCo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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.&lt;br /&gt;
&lt;br /&gt;
Esta wiki divide o projeto ABaCo em tópicos didáticos que buscam explicar de um modo simples cada parte que o compõe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= O ABaCo =&lt;br /&gt;
&lt;br /&gt;
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)]].&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
O projeto incentiva a criação de [[mídias tangíveis]] bem como em paralelo o uso da [[filosofia de software livre]].&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Inicia%C3%A7%C3%A3o_Cient%C3%ADfica</id>
		<title>Iniciação Científica</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Inicia%C3%A7%C3%A3o_Cient%C3%ADfica"/>
				<updated>2009-07-14T20:19:44Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Apropriação em Bancada Computacional (ABaCo)]] - Arduino, Processing e outras tecnologias &amp;lt;br /&amp;gt;Estudante: Solano Alves de Aguiar Junior &amp;lt;br /&amp;gt;Professor: [[Luiz Ernesto Merkle]]&lt;br /&gt;
&lt;br /&gt;
* [[Clusters em Bioinformática]] - Configuração em ambiente Linux e programação em MPI &amp;lt;br /&amp;gt;Estudante: Luís Guilherme B. Mendes &amp;lt;br /&amp;gt;Professora: Myriam Regattieri B. S. Delgado&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Interfaceamento_com_processing</id>
		<title>Interfaceamento com processing</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Interfaceamento_com_processing"/>
				<updated>2009-07-14T20:19:21Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;É 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.&lt;br /&gt;
Nos exemplos que se seguem será abordado a maneira de realizar tal comunicação.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Diagrama_para_impress%C3%A3o</id>
		<title>Diagrama para impressão</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Diagrama_para_impress%C3%A3o"/>
				<updated>2009-07-14T20:18:51Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: Nova página: Apropriação em Bancada Computacional (ABaCo)  Uma vez montado o circuito no protoboard, todo o esquema então pode ser passado a um programa para que, caso haja interesse, o circ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* PCB - Printed Circuit Board Layout Tool [1]&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
# PCB. http://sourceforge.net/projects/pcb/. Acesso em 26 de setembro de 2008.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/ABaCo_tamb%C3%A9m_tem_seu_custo</id>
		<title>ABaCo também tem seu custo</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/ABaCo_tamb%C3%A9m_tem_seu_custo"/>
				<updated>2009-07-14T20:17:57Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Abaco.jpg]]&lt;br /&gt;
&lt;br /&gt;
A imagem acima ilustra a parte física necessária para o projeto ABaCo&lt;br /&gt;
&lt;br /&gt;
# Arduino e cabo USB para conexão com computador&lt;br /&gt;
# Multimetro Digital para medir as grandezas associadas aos circuitos&lt;br /&gt;
# Protoboard para a montagem física do circuito sem a necessidade de uma placa impressa&lt;br /&gt;
# Ferramentas: Cabo de rede para construção de cabos para interligar os componentes no protoboard &lt;br /&gt;
# Ferramentas: Alicate para auxiliar na construção dos fios que interligarão o circuito&lt;br /&gt;
# Ferramentas: Pinça para retirar resistores do protoboard e/ou manipulação de pequenos componentes&lt;br /&gt;
# Componentes: Resistores&lt;br /&gt;
# Fonte de alimentação para alimentar o circuito&lt;br /&gt;
&lt;br /&gt;
Abaixo segue a especificação dos componentes recomendados para o uso no projeto ABaCo junto ao preço aproximado de cada elemento:&lt;br /&gt;
Observação: A fonte de alimentação para o projeto deve ser construída por uma pessoa experiente.&lt;br /&gt;
&lt;br /&gt;
* Arduino Duemilaenove R$ 150,00&lt;br /&gt;
* Freeduíno R$ 85,00&lt;br /&gt;
* Alicate de corte diagonal 4 1/2'' (4,5 polegadas) R$ 6,00&lt;br /&gt;
* Protoboard ICEL 840 furos com Bornes (terminais para fontes) R$ 31,00&lt;br /&gt;
* Mutimetro digital Minipa ET1002 R$ 24,00&lt;br /&gt;
* Pinça reta TS-14, ponta fina, anti-estática R$ 6,00&lt;br /&gt;
* Resistores(10 unidades) R$ 0,30&lt;br /&gt;
* Fonte de alimentação (Retificação-Transformador) R$ 25,00&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/ABaCo_tamb%C3%A9m_tem_seu_custo</id>
		<title>ABaCo também tem seu custo</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/ABaCo_tamb%C3%A9m_tem_seu_custo"/>
				<updated>2009-07-14T20:17:36Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Abaco.jpg]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
# Arduino e cabo USB para conexão com computador&lt;br /&gt;
# Multimetro Digital para medir as grandezas associadas aos circuitos&lt;br /&gt;
# Protoboard para a montagem física do circuito sem a necessidade de uma placa impressa&lt;br /&gt;
# Ferramentas: Cabo de rede para construção de cabos para interligar os componentes no protoboard &lt;br /&gt;
# Ferramentas: Alicate para auxiliar na construção dos fios que interligarão o circuito&lt;br /&gt;
# Ferramentas: Pinça para retirar resistores do protoboard e/ou manipulação de pequenos componentes&lt;br /&gt;
# Componentes: Resistores&lt;br /&gt;
# Fonte de alimentação para alimentar o circuito&lt;br /&gt;
&lt;br /&gt;
Abaixo segue a especificação dos componentes recomendados para o uso no projeto ABaCo junto ao preço aproximado de cada elemento:&lt;br /&gt;
Observação: A fonte de alimentação para o projeto deve ser construída por uma pessoa experiente.&lt;br /&gt;
&lt;br /&gt;
* Arduino Duemilaenove R$ 150,00&lt;br /&gt;
* Freeduíno R$ 85,00&lt;br /&gt;
* Alicate de corte diagonal 4 1/2'' (4,5 polegadas) R$ 6,00&lt;br /&gt;
* Protoboard ICEL 840 furos com Bornes (terminais para fontes) R$ 31,00&lt;br /&gt;
* Mutimetro digital Minipa ET1002 R$ 24,00&lt;br /&gt;
* Pinça reta TS-14, ponta fina, anti-estática R$ 6,00&lt;br /&gt;
* Resistores(10 unidades) R$ 0,30&lt;br /&gt;
* Fonte de alimentação (Retificação-Transformador) R$ 25,00&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/ABaCo_tamb%C3%A9m_tem_seu_custo</id>
		<title>ABaCo também tem seu custo</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/ABaCo_tamb%C3%A9m_tem_seu_custo"/>
				<updated>2009-07-14T20:16:32Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: Nova página: Apropriação em Bancada Computacional (ABaCo)  Abaixo segue a especificação dos componentes recomendados para o uso no projeto ABaCo junto ao preço aproximado de cada elemento:...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
Abaixo segue a especificação dos componentes recomendados para o uso no projeto ABaCo junto ao preço aproximado de cada elemento:&lt;br /&gt;
Observação: A fonte de alimentação para o projeto deve ser construída por uma pessoa experiente.&lt;br /&gt;
&lt;br /&gt;
* Arduino Duemilaenove R$ 150,00&lt;br /&gt;
* Freeduíno R$ 85,00&lt;br /&gt;
* Alicate de corte diagonal 4 1/2'' (4,5 polegadas) R$ 6,00&lt;br /&gt;
* Protoboard ICEL 840 furos com Bornes (terminais para fontes) R$ 31,00&lt;br /&gt;
* Mutimetro digital Minipa ET1002 R$ 24,00&lt;br /&gt;
* Pinça reta TS-14, ponta fina, anti-estática R$ 6,00&lt;br /&gt;
* Resistores(10 unidades) R$ 0,30&lt;br /&gt;
* Fonte de alimentação (Retificação-Transformador) R$ 25,00&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Interfaceamento_com_processing</id>
		<title>Interfaceamento com processing</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Interfaceamento_com_processing"/>
				<updated>2009-07-14T20:16:01Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* PCB - Printed Circuit Board Layout Tool [1]&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
# PCB. http://sourceforge.net/projects/pcb/. Acesso em 26 de setembro de 2008.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Interfaceamento_com_processing</id>
		<title>Interfaceamento com processing</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Interfaceamento_com_processing"/>
				<updated>2009-07-14T20:15:51Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* PCB - Printed Circuit Board Layout Tool [1]&lt;br /&gt;
&lt;br /&gt;
# PCB. http://sourceforge.net/projects/pcb/. Acesso em 26 de setembro de 2008.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Interfaceamento_com_processing</id>
		<title>Interfaceamento com processing</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Interfaceamento_com_processing"/>
				<updated>2009-07-14T20:15:19Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: Nova página: Apropriação em Bancada Computacional (ABaCo)  Uma vez montado o circuito no protoboard, todo o esquema então pode ser passado a um programa para que, caso haja interesse, o circ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* PCB - Printed Circuit Board Layout Tool [8]&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Diagrama%C3%A7%C3%A3o(Layout_do_circuito)</id>
		<title>Diagramação(Layout do circuito)</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Diagrama%C3%A7%C3%A3o(Layout_do_circuito)"/>
				<updated>2009-07-14T20:13:49Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: Nova página: Apropriação em Bancada Computacional (ABaCo)  Se o interesse for apenas em construir o layout(desenho técnico do circuito) do projeto, com os componentes, pode-se usar o Gschem ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
* gEDA - GPL’d suite of electronic design automation&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Software_de_simula%C3%A7%C3%A3o</id>
		<title>Software de simulação</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Software_de_simula%C3%A7%C3%A3o"/>
				<updated>2009-07-14T20:13:03Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
= QUCS =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Para mudar a linguagem do programa para Português acesse File &amp;gt; Application Settings e selecione em Language: Português.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Qucs3.jpg]]&lt;br /&gt;
&lt;br /&gt;
Seu uso para simulações simples é relativamente simples baseado em etapas:&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Qucs1.jpg]]&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:QUCS2.jpg]]&lt;br /&gt;
&lt;br /&gt;
* E por fim então clica-se para começar a simulação em Simulação&amp;gt;Simular ou F2. Irá abrir uma página em branco e o item &amp;quot;diagramas&amp;quot; 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.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Software_de_simula%C3%A7%C3%A3o</id>
		<title>Software de simulação</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Software_de_simula%C3%A7%C3%A3o"/>
				<updated>2009-07-14T20:12:47Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: Nova página: Apropriação em Bancada Computacional (ABaCo)  QUCS é um diagramador, assim como KLogic e XCircuit, de circuitos open-source fácil de usar e foi escolhido para compor o arcabou...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Para mudar a linguagem do programa para Português acesse File &amp;gt; Application Settings e selecione em Language: Português.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Qucs3.jpg]]&lt;br /&gt;
&lt;br /&gt;
Seu uso para simulações simples é relativamente simples baseado em etapas:&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Qucs1.jpg]]&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:QUCS2.jpg]]&lt;br /&gt;
&lt;br /&gt;
* E por fim então clica-se para começar a simulação em Simulação&amp;gt;Simular ou F2. Irá abrir uma página em branco e o item &amp;quot;diagramas&amp;quot; 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.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Linguagem_de_programa%C3%A7%C3%A3o_do_Arduino</id>
		<title>Linguagem de programação do Arduino</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Linguagem_de_programa%C3%A7%C3%A3o_do_Arduino"/>
				<updated>2009-07-14T20:12:02Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: Nova página: Apropriação em Bancada Computacional (ABaCo)  O ambiente de programação Arduíno é baseado na IDE do processing e a linguagem de programação do arduino é baseada nas lingua...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Computador</id>
		<title>Computador</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Computador"/>
				<updated>2009-07-14T20:11:11Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: Nova página: Apropriação em Bancada Computacional (ABaCo)  O componente da bancada no qual todos os estudos serão realizados tais como simulações, programação do software a ser embarcado...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Arduino</id>
		<title>Arduino</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Arduino"/>
				<updated>2009-07-14T20:10:19Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
Segundo BANZI(2008)[1] 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.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Software de controle multiplataforma, ou seja, possui versões para Windows, Linux e Macintosh.&lt;br /&gt;
* Baseado na IDE Processing que é voltada para designers e artistas, portanto fácil de usar.&lt;br /&gt;
* A comunicação é feita através da porta USB, não necessitando da porta serial, já extintas em computadores novos, como similares ao arduino.&lt;br /&gt;
* 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.&lt;br /&gt;
* A comunidade que usa o Arduino é grande e ativa, com isso ajudas e problemas podem ser solucionados mais facilmente.&lt;br /&gt;
* O Arduino foi desenvolvido em um ambiente educacional, consequentemente é adaptado a novos entusiastas conseguirem o que desejam rapidamente.&lt;br /&gt;
&lt;br /&gt;
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 &lt;br /&gt;
&lt;br /&gt;
http://www.wiring.org.co/.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Arduino.jpg]]&lt;br /&gt;
&lt;br /&gt;
O Arduino tem três regiões principais que estão em torno de um quadrado com bordas vermelhas na imagem acima.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
O botão na região central direita do arduino serve para resetá-lo.&lt;br /&gt;
&lt;br /&gt;
= Referências =&lt;br /&gt;
&lt;br /&gt;
# BANZI, M. Getting Started with Arduino, Out. 2008.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Arduino</id>
		<title>Arduino</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Arduino"/>
				<updated>2009-07-14T20:09:45Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
Segundo BANZI(2008)[1] 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.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Software de controle multiplataforma, ou seja, possui versões para Windows, Linux e Macintosh.&lt;br /&gt;
* Baseado na IDE Processing que é voltada para designers e artistas, portanto fácil de usar.&lt;br /&gt;
* A comunicação é feita através da porta USB, não necessitando da porta serial, já extintas em computadores novos, como similares ao arduino.&lt;br /&gt;
* 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.&lt;br /&gt;
* A comunidade que usa o Arduino é grande e ativa, com isso ajudas e problemas podem ser solucionados mais facilmente.&lt;br /&gt;
* O Arduino foi desenvolvido em um ambiente educacional, consequentemente é adaptado a novos entusiastas conseguirem o que desejam rapidamente.&lt;br /&gt;
&lt;br /&gt;
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 &lt;br /&gt;
&lt;br /&gt;
http://www.wiring.org.co/.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Arduino.jpg]]&lt;br /&gt;
&lt;br /&gt;
O Arduino tem três regiões principais que estão em torno de um quadrado com bordas vermelhas na imagem acima.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
O botão na região central direita do arduino serve para resetá-lo.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Arduino</id>
		<title>Arduino</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Arduino"/>
				<updated>2009-07-14T20:09:27Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: Nova página: Apropriação em Bancada Computacional (ABaCo)  Segundo BANZI(2008)[7] o Arduino é uma plataforma de computação física(tangível) opensource que através de um hardware fornece...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
Segundo BANZI(2008)[7] 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.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Software de controle multiplataforma, ou seja, possui versões para Windows, Linux e Macintosh.&lt;br /&gt;
* Baseado na IDE Processing que é voltada para designers e artistas, portanto fácil de usar.&lt;br /&gt;
* A comunicação é feita através da porta USB, não necessitando da porta serial, já extintas em computadores novos, como similares ao arduino.&lt;br /&gt;
* 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.&lt;br /&gt;
* A comunidade que usa o Arduino é grande e ativa, com isso ajudas e problemas podem ser solucionados mais facilmente.&lt;br /&gt;
* O Arduino foi desenvolvido em um ambiente educacional, consequentemente é adaptado a novos entusiastas conseguirem o que desejam rapidamente.&lt;br /&gt;
&lt;br /&gt;
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 &lt;br /&gt;
&lt;br /&gt;
http://www.wiring.org.co/.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Arduino.jpg]]&lt;br /&gt;
&lt;br /&gt;
O Arduino tem três regiões principais que estão em torno de um quadrado com bordas vermelhas na imagem acima.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
O botão na região central direita do arduino serve para resetá-lo.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Prot%C3%B3tipo</id>
		<title>Protótipo</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Prot%C3%B3tipo"/>
				<updated>2009-07-14T20:08:10Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: Nova página: Apropriação em Bancada Computacional (ABaCo)  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,...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/O_que_%C3%A9_o_Projeto_ABaCo</id>
		<title>O que é o Projeto ABaCo</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/O_que_%C3%A9_o_Projeto_ABaCo"/>
				<updated>2009-07-14T20:07:49Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: /* Prototipação */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Projeto Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
= O que é =&lt;br /&gt;
&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Computador =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Arduino =&lt;br /&gt;
Segundo BANZI(2008)[7] 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.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* Software de controle multiplataforma, ou seja, possui versões para Windows, Linux e Macintosh.&lt;br /&gt;
* Baseado na IDE Processing que é voltada para designers e artistas, portanto fácil de usar.&lt;br /&gt;
* A comunicação é feita através da porta USB, não necessitando da porta serial, já extintas em computadores novos, como similares ao arduino.&lt;br /&gt;
* 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.&lt;br /&gt;
* A comunidade que usa o Arduino é grande e ativa, com isso ajudas e problemas podem ser solucionados mais facilmente.&lt;br /&gt;
* O Arduino foi desenvolvido em um ambiente educacional, consequentemente é adaptado a novos entusiastas conseguirem o que desejam rapidamente.&lt;br /&gt;
&lt;br /&gt;
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 &lt;br /&gt;
&lt;br /&gt;
http://www.wiring.org.co/.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Arduino.jpg]]&lt;br /&gt;
&lt;br /&gt;
O Arduino tem três regiões principais que estão em torno de um quadrado com bordas vermelhas na imagem acima.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
# 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.&lt;br /&gt;
&lt;br /&gt;
O botão na região central direita do arduino serve para resetá-lo.&lt;br /&gt;
&lt;br /&gt;
= Ambiente de programação Arduino =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Interfaceamento Processing - Arduino =&lt;br /&gt;
&lt;br /&gt;
É 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.&lt;br /&gt;
Nos exemplos que se seguem será abordado a maneira de realizar tal comunicação.&lt;br /&gt;
&lt;br /&gt;
= Fonte de alimentação =&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
= QUCS (Quite Universal Circuit Simulator) =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Para mudar a linguagem do programa para Português acesse File &amp;gt; Application Settings e selecione em Language: Português.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Qucs3.jpg]]&lt;br /&gt;
&lt;br /&gt;
Seu uso para simulações simples é relativamente simples baseado em etapas:&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Qucs1.jpg]]&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:QUCS2.jpg]]&lt;br /&gt;
&lt;br /&gt;
* E por fim então clica-se para começar a simulação em Simulação&amp;gt;Simular ou F2. Irá abrir uma página em branco e o item &amp;quot;diagramas&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
= Hardware Base =&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== Leitura de Resistores ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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%.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Resistores.png]]&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
# Amarelo no primeiro anel representa 4&lt;br /&gt;
# Violeta no segundo anel representa 7&lt;br /&gt;
# Marrom no terceiro anel representa 10&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
É recomendado que se compre a série de 10 a 10k Ohms.&lt;br /&gt;
&lt;br /&gt;
== Protoboard ==&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Protoboard2.jpg]]&lt;br /&gt;
[[Imagem:Protoboard.jpg]]&lt;br /&gt;
&lt;br /&gt;
De maneira simples o protoboard pode ser explicado como se segue:&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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).&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Software para criar o layout do projeto =&lt;br /&gt;
&lt;br /&gt;
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: &lt;br /&gt;
&lt;br /&gt;
* gEDA - GPL’d suite of electronic design automation&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
* PCB - Printed Circuit Board Layout Tool [8]&lt;br /&gt;
&lt;br /&gt;
= Componentes físicos do projeto ABaCo =&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Abaco.jpg]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
# Arduino e cabo USB para conexão com computador&lt;br /&gt;
# Multimetro Digital para medir as grandezas associadas aos circuitos&lt;br /&gt;
# Protoboard para a montagem física do circuito sem a necessidade de uma placa impressa&lt;br /&gt;
# Ferramentas: Cabo de rede para construção de cabos para interligar os componentes no protoboard &lt;br /&gt;
# Ferramentas: Alicate para auxiliar na construção dos fios que interligarão o circuito&lt;br /&gt;
# Ferramentas: Pinça para retirar resistores do protoboard e/ou manipulação de pequenos componentes&lt;br /&gt;
# Componentes: Resistores&lt;br /&gt;
# Fonte de alimentação para alimentar o circuito&lt;br /&gt;
&lt;br /&gt;
== Custo dos componentes ==&lt;br /&gt;
&lt;br /&gt;
Abaixo segue a especificação dos componentes recomendados para o uso no projeto ABaCo junto ao preço aproximado de cada elemento:&lt;br /&gt;
Observação: A fonte de alimentação para o projeto deve ser construída por uma pessoa experiente.&lt;br /&gt;
&lt;br /&gt;
* Arduino Duemilaenove R$ 150,00&lt;br /&gt;
* Freeduíno R$ 85,00&lt;br /&gt;
* Alicate de corte diagonal 4 1/2'' (4,5 polegadas) R$ 6,00&lt;br /&gt;
* Protoboard ICEL 840 furos com Bornes (terminais para fontes) R$ 31,00&lt;br /&gt;
* Mutimetro digital Minipa ET1002 R$ 24,00&lt;br /&gt;
* Pinça reta TS-14, ponta fina, anti-estática R$ 6,00&lt;br /&gt;
* Resistores(10 unidades) R$ 0,30&lt;br /&gt;
* Fonte de alimentação (Retificação-Transformador) R$ 25,00&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Referências Bibliográficas =&lt;br /&gt;
&lt;br /&gt;
# Arduino. http://www.arduino.cc/. Acesso em 01 de setembro de 2008. &lt;br /&gt;
# Quite Universal Circuit Simulator - QUCS.http://qucs.sourceforge.net/. Acesso em 5 de setembro de 2008. &lt;br /&gt;
# gEDA. http://www.geda.seul.org/. Acesso em 26 de setembro de 2008.&lt;br /&gt;
# KLogic. http://www.a-rostin.de/. Acesso em 15 de setembro de 2008. &lt;br /&gt;
# XCircuit. http://opencircuitdesign.com/xcircuit/. Acesso em 15 de setembro de 2008.&lt;br /&gt;
# MERKLE, L. E. MÍDIAS TANGÍVEIS E TECNOLOGIAS LIVRES NA EDUCAÇÃO INTERDISCIPLINAR, jun. 2008.&lt;br /&gt;
# BANZI, M. Getting Started with Arduino, Out. 2008.&lt;br /&gt;
# PCB. http://sourceforge.net/projects/pcb/. Acesso em 26 de setembro de 2008.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Protoboard</id>
		<title>Protoboard</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Protoboard"/>
				<updated>2009-07-14T20:06:59Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Protoboard2.jpg]]&lt;br /&gt;
[[Imagem:Protoboard.jpg]]&lt;br /&gt;
&lt;br /&gt;
De maneira simples o protoboard pode ser explicado como se segue:&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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).&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Protoboard</id>
		<title>Protoboard</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Protoboard"/>
				<updated>2009-07-14T20:06:28Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: Nova página: 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 ele...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Imagem:Protoboard2.jpg]]&lt;br /&gt;
[[Imagem:Protoboard.jpg]]&lt;br /&gt;
&lt;br /&gt;
De maneira simples o protoboard pode ser explicado como se segue:&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
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).&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Resistores</id>
		<title>Resistores</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Resistores"/>
				<updated>2009-07-14T20:06:01Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Apropriação em Bancada Computacional (ABaCo)]]&lt;br /&gt;
&lt;br /&gt;
Um resistor é um componente eletrônico que possui uma resistência a passagem de corrente o que faz com que uma diferença de potencial apareça sobre seus terminais. É de grande utilidade para projetos eletrônicos, pois serve basicamente como um limitador de corrente, a fim de não queimar o circuito, e também como divisor de tensão, a fim de se obter uma determinada tensão quando se tem outra.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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%.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Resistores.png]]&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
# Amarelo no primeiro anel representa 4&lt;br /&gt;
# Violeta no segundo anel representa 7&lt;br /&gt;
# Marrom no terceiro anel representa 10&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
É recomendado que se compre a série de 10 a 10k Ohms.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Resistores</id>
		<title>Resistores</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Resistores"/>
				<updated>2009-07-14T20:04:04Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Um resistor é um componente eletrônico que possui uma resistência a passagem de corrente o que faz com que uma diferença de potencial apareça sobre seus terminais. É de grande utilidade para projetos eletrônicos, pois serve basicamente como um limitador de corrente, a fim de não queimar o circuito, e também como divisor de tensão, a fim de se obter uma determinada tensão quando se tem outra.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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%.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Resistores.png]]&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
# Amarelo no primeiro anel representa 4&lt;br /&gt;
# Violeta no segundo anel representa 7&lt;br /&gt;
# Marrom no terceiro anel representa 10&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
É recomendado que se compre a série de 10 a 10k Ohms.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Resistores</id>
		<title>Resistores</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Resistores"/>
				<updated>2009-07-14T20:03:36Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: Nova página: Um resistor é um componente eletrônico que possui uma resistência a passagem de corrente o que faz com que uma diferença de potencial apareça sobre seus terminais. É de grande ut...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Um resistor é um componente eletrônico que possui uma resistência a passagem de corrente o que faz com que uma diferença de potencial apareça sobre seus terminais. É de grande utilidade para projetos eletrônicos, pois serve basicamente como um limitador de corrente, afim de não queimar o circuito, e também como divisor de tensão, afim de se obter uma determinada tensão quando se tem outra.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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%.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
[[Imagem:Resistores.png]]&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
# Amarelo no primeiro anel representa 4&lt;br /&gt;
# Violeta no segundo anel representa 7&lt;br /&gt;
# Marrom no terceiro anel representa 10&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
É recomendado que se compre a série de 10 a 10k Ohms.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Apropria%C3%A7%C3%A3o_em_Bancada_Computacional_(ABaCo)</id>
		<title>Apropriação em Bancada Computacional (ABaCo)</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Apropria%C3%A7%C3%A3o_em_Bancada_Computacional_(ABaCo)"/>
				<updated>2009-07-14T20:00:18Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: /* O ABaCo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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.&lt;br /&gt;
&lt;br /&gt;
Esta wiki divide o projeto ABaCo em tópicos didáticos que buscam explicar de um modo simples cada parte que o compõe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= O ABaCo =&lt;br /&gt;
&lt;br /&gt;
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)]].&lt;br /&gt;
&lt;br /&gt;
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]].&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Apropria%C3%A7%C3%A3o_em_Bancada_Computacional_(ABaCo)</id>
		<title>Apropriação em Bancada Computacional (ABaCo)</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Apropria%C3%A7%C3%A3o_em_Bancada_Computacional_(ABaCo)"/>
				<updated>2009-07-14T19:58:07Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: /* O ABaCo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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.&lt;br /&gt;
&lt;br /&gt;
Esta wiki divide o projeto ABaCo em tópicos didáticos que buscam explicar de um modo simples cada parte que o compõe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= O ABaCo =&lt;br /&gt;
&lt;br /&gt;
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)]].&lt;br /&gt;
&lt;br /&gt;
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]].&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	<entry>
		<id>http://dainf.ct.utfpr.edu.br/wiki/index.php/Apropria%C3%A7%C3%A3o_em_Bancada_Computacional_(ABaCo)</id>
		<title>Apropriação em Bancada Computacional (ABaCo)</title>
		<link rel="alternate" type="text/html" href="http://dainf.ct.utfpr.edu.br/wiki/index.php/Apropria%C3%A7%C3%A3o_em_Bancada_Computacional_(ABaCo)"/>
				<updated>2009-07-14T19:57:07Z</updated>
		
		<summary type="html">&lt;p&gt;Solanoalves: /* O ABaCo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;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.&lt;br /&gt;
&lt;br /&gt;
Esta wiki divide o projeto ABaCo em tópicos didáticos que buscam explicar de um modo simples cada parte que o compõe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= O ABaCo =&lt;br /&gt;
&lt;br /&gt;
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)]].&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Solanoalves</name></author>	</entry>

	</feed>