domingo, julho 26, 2009

Arduino Board

A plaquinha Italiana

(Este post estava esquecido em rascunho fazia muito tempo, arrumei ele um pouco e está aqui)

Certa vez, "boiando" pela internet, cai num site de uma plaquinha italiana chamada Arduino...

Bom, pra que não sabe, "O Arduino é uma plataforma de prototipagem eletrônica open-source que se baseia em hardware e software flexíveis e fáceis de usar" (retirado do site oficial).

Com ele dá pra fazer um monte de coisa, o que "der na telha"... Tem entradas/saídas digitais; entradas analógicas com 1024 níveis; saídas PWM com 256 níveis; 8k, 16k ou mais de memória (7k e 14k com o bootloader). Só usar a criatividade.

Na verdade é um microcontrolador que pode ser programado facilmente por um ambiente em java, usando uma linguagem que parece com o C e que o programa é gravado no microprocessador por uma conexão USB ou serial (pluga a placa no pc e grava o programa).

Me interessei mais ainda... já que desisti depois de várias tentativas frustradas de tentar gravar um PIC (com certeza o problema era eu e não o PIC).

Pronto. Decidi que tinha que testar uma dessas.

Bom, você pode comprar uma placa pronta (original U$30,00 + frete) ou fazer como eu, comprar os componentes e ficar louco montando montar uma Single-Sided Serial Board ou Severino.


Fazendo uma

Primeiro baixei o Manual do Arduino Severino

Depois fui procurar por componentes... (isso foi quase à 2 anos... em outubro/2009)
O microprocessador que eu comprei foi o Atmega168 (mas pode ser o Atmega8 também) desse site http://shop.moderndevice.com/products/atmega168
Comprei 3 pra garantir certo grau de "desastrabilidade" de minha parte, eles já vem com o bootloader do Arduino (bootloader Diecimila) gravado (19,40 dólares com o frete e chegou em 12 dias). Dá pra comprar sem o bootloader mas dai tem que gravar ele com um gravador de AVR ou com uma gambia que vai conectada na porta paralela (não sei onde vi, mas nao encontrei mais pra colocar aqui)
O resto das peças encontrei em uma eletrônica aqui da minha cidade e em placas velhas.

Na página 10 do manual do Severino tem o circuito pronto pra ser impresso, com as dimensões corretas. Pensei em serigrafar e depois corroer, mas lembrei de uma técnica que me falaram uma vez... "Googlei" um pouco e fiz. Consiste em imprimir o circuito com uma impressora a laser, virar o lado impresso para a placa e passar o ferro-de-passar encima do papel até que o toner grude na parte cobreada. Depois de algumas tentativas consegui que a ficasse poucas trilhas pra arrumar com uma caneta de escrever em CD.
Cortei "porcamente" a placa com a micro-retífica (Dremel) e coloquei pra corroer no percloreto que estava guardado fazia uns 5 anos... o que era pra demorar uns 20 minutos no máximo, levou umas 3 horas, mas deu certo.
Depois de corroído cortei a placa bem retinha e usei a técnica do ferro na parte de cima, com o segundo desenho da página 10 do manual...
Furei com uma broca da micro-retífica e pronto.

Soldei tudo no lugar e liguei. Com o bootloader Diecimila gravado, o Led13 da placa pisca uma vez a cada 2 segundos... belezaaaaaa piscava assim =D

Placa pronta


O Software pra gravar

Coloquei um jumper no JP4 (Auto Reset) e outro no JP0 na posição 2-3 (Serial Enable) e pluguei na porta serial...

Uso Kubuntu (usava, agora uso Ubuntu mesmo) no meu computador, então baixei o Arduino 0017 Linux(32bit) daqui http://arduino.cc/en/Main/Software(agora tem o 0022)

Li no Tutorial de Instalação do Arduino no Linux que era pra instalar o gcc-avr e o avr-libc
(Lá pede o Java, mas eu já tinha)

executei:
sudo apt-get install gcc-avr avr-libc

Descompactei o Arduino 0017 e executei pelo terminal ./arduino

Interface do ambiente de desenvolvimento

Abri um exemplo de sketch (chamam assim os programas) em File > Sketchbook > Examples > Digital > Blink, que faz o Led13 da ficar em loop ligado 1 segundo e desligado 1 segundo.
Selecionei em Tools > Serial Port, a porta certa e em Tools > Board > Arduino Diecimila...

Cliquei em (já empolgado) Upload to I/O Board e...

E apareceram esses erros:

avrdude: stk500_getsync(): not in sync: resp=0x30
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

Depois de muito procurar o que era (na internet não tem nada de concreto) peguei o multímetro e comecei a testar o cabo serial, as trilhas e tudo. Baseado na ideia que o TX não estava funcionando achei um maldido pedacinho da trilha do RX que corroeu e deixou uma fresta que nem dava pra ver direito, coloquei um pouco de solda encima e liguei denovo. Funcionou, "upou" o sketch e o Led13 comecou a piscar de acordo com o programa.


O Arduino de verdade mesmo
...

Finalmente resolvi comprar um Arduino original, comprei do mesmo site onde comprei os microprocessadores http://www.moderndevice.com

Placa Arduino Duemilanove, tem até o mapa da Itália no verso.


Ultimamente comprei muita coisa relacionada ao Arduino e afins no sparkfun.com

domingo, janeiro 13, 2008

Joystick - Esquema elétrico

À pedidos, tá ae o esquema elétrico do joystick de volante.
Muito atrasado mas tá feito...



Explicações: Os resistores variáveis talvez precisam que seja trocada a combinação dos fios, mas isso pode ser testado na hora. O resistor variável do acelerador precisa do interruptor para inverter o curso dele, alguns jogos "entendem" ao contrário, não se sabe a causa disso, mas o interruptor resolve.


Explicações: As 8 bolinhas do desenho acima representam as trilhas que vão conectadas naquela "membrana" do teclado, são dois plásticos com trilhas, um encima outro embaixo, observe bem e conecte trilhas de uma das membranas nas primeiras 4 bolinhas e de outra membrana nas outras 4 bolinhas. Tenha cuidado pra que as teclas usadas nas trilhas sejam "válidas", de preferência que sejam letras, números ou acentos. Teclas como Num Lock, Print Screen, F1 até F12 e outras não funcionam direito em alguns jogos.
"btnX" no desenho acima podem ser usado pra outras funções, alias, qualquer tecla no desenho acima pode ser usada pra qualquer função, use a criatividade...

Não é complicado né? os esquemas são bem simples, e estão exatamente como foram feitos. Alias, primeiro se faz... depois se projeta o que foi feito... sauhuhsauhshusuhshua

=D

domingo, agosto 26, 2007

GoE - Gambia over Ethernet

Antes de começar leia isso:

O Power over Ethernet (PoE) transmite até 15W pelo cabo de rede, tem até um padrão que regulamenta isso, o IEEE 802.3af, os aparelhos que suportam esse padrão injetam/recebem energia nos dois pares 1-2 e 3-6, que são utilizados também pra transmitir dados. O uso dos pares de dados 1-2 e 3-6 permite o uso do PoE em redes giga.

http://www.linuxmall.com.br/index.php?product_id=3141

Agora a coisa(!) feita:
(não... eu não fiz um PoE de verdade)

Durante uma aula (não vou falar que disciplina foi...) desenhei isso ai embaixo (não tente entender a letra). Ele (a coisa) transmite energia pelo cabo de rede que nem o PoE explicado no começo do post, só que usa os pares 4-5 e 7-8, que normalmente em redes 10/100 não são usados.

O princípio é simples, 2 conectores emenda de cabo de rede, com os fios dos pares 4-5 e 7-8. Um deles ligado no transformador do aparelho, e outro com os mesmos fios só que ligados no conector do aparelho a ser alimentado, os pares dos dados seguem seu caminho normalmente...

Isso serviu para colocar um ponto de acesso sem ter uma tomada perto dele e também sem passar um cabo de energia junto com o cabo de rede, aproveitando assim a mesma tomada de onde o hub estava, passando a energia pelo mesmo cabo dos dados.




Os conectores emenda utilizados:



Abrindo eles pra mexer:



Destacando os pares 4-5 (positivo) e 7-8 (negativo) para a energia, os pares 1-2 e 3-6 continuam no lugar para os dados. Quem for fazer, cuidado para não inverter os pares ou fazer o cabo de rede com alguns fios no lugar errado. Se o cabo for crossover ( em uma das pontas troca-se o 1 com o 3 e o 2 com o 6) não tem problema, pode ser usado também.



O transformador do ponto de acesso. A parte do conector fica junto com o aparelho e a parte do transformador fica na mesma tomada que o hub.



Todo o conjunto ainda não soldado.



Juntando os fios.




Pronto, só conectar os cabos de rede e tá feito. Desenhei de que lado vem a energia e que lado sai/entra só os dados, e ainda coloquei o nome GoE (Gambia over Ethernet).



Funcionando. Olha as luzinhas ligadas...



=D

domingo, julho 29, 2007

Gambiarras de férias [Parte 2 - Relógio diferente]

Continuando... a segunda "gambia" das férias do meio do ano.

A idéia veio de um francês que fez um relógio assim também, mas muito mais "bonito"... só não lembro o site onde tinha, se lembrar ou alguem souber me avise que eu coloco o link aqui.

Depois de ver o relógio na internet, pensamos em fazer um com imãs e CDs...

Primeiro precisa-se de uma "máquina" de relógio:



2 CDs:



2 rolamentos velhos de skate ou bicicleta:



2 imãs, os ponteiros do relógio e o primeiro problema... os minutos TEM que ser o ponteiro menor, se não ele iria "atropelar" o ponteiro das horas (tem uma maneira de resolver isso mas é praticamente inviável neste caso):



Colando os imãs nos ponteiros:



Fixando o relógio em um dos CDs, o ponteiro menor é os minutos e o maior as horas:



Cortando os espaçadores para fixar o segundo CD encima do primeiro, qualquer cano serve, desde que seja cortado do tamanho exato pra que os imãs não raspem na parte de trás do segundo CD:



Espaçadores prontos:



Colando:



Pronto. Perceba que os imãs seguram os rolamentos do outro lado do CD, conforme o relógio vai se movendo os rolamentos vão junto:



Ali é 14 horas e uns 2 minutos...
O rolamento externo é as horas e o rolamento interno é os minutos.


Já faz mais de um mês que o relógio tá funcionando, e de tanto os rolamentos andarem, o CD já está desgastando por onde eles passam.

=D

Gambiarras de férias [Parte 1 - OdôCalc]

As férias do meio do ano serviram pra fazer (ou só pra postar o que tava feito =P ), vamos à primeira gambiarra, o Odômetro com Calculadora pra Bicicleta, batizado de OdôCalc.

"Quanto quilometros será que eu andei de bicicleta hoje?"
"SDS (Só Deus sabe)..."

Bom, primeiro junte os materiais, precisa de:
- 1 calculadora
- 1 sensor de alarme, aqueles que funcionam com imã.
- 1 imã de HD de preferência (substituindo o original que vem com o sensor)
- 1 metro de fio (pode ser de cabo de rede, usa um par)
- fita adesiva ou abraçadeira

pra fazer, você também vai precisar de soldador (aqueles pra componentes eletrônicos) e solda.

A idéia é fazer um interruptor (sensor de alarme) paralelo ao botão de = (igual) da calculadora. Para isso procure as trilhas do botão de igual para soldar o par de fios:



Fios soldados na placa da calculadora. Ali eu coloquei um conector, mas pode ser ligado diretamente também:





Os dois conectores. Se você dar um "curto" neles, é o mesmo que apertar o botão de igual:



Soldando o conector:




Pronto (a parte da calculadora =P )



Agora soldando o sensor. O sensor é ativado quando um imã passa na frente dele, e é ele que vai "apertar" (essa foi feia) o botão de igual cada vez que a roda da bicicleta girar.




Prendendo o par de fios e o sensor no garfo da bicicleta:






Agora o imã de HD. Foi usado um imã de HD porque o que vem com o sensor é meio fraquinho, e tem que por muito perto um do outro pra não falhar quando tá rápido:



Imã preso com arame na roda. O imã tem que passar bem na frente do sensor cada vez que a roda girar:



Calculadora grudada com fita:



Pronto, agora é só você medir o diâmetro perímetro do pneu da bicicleta, no meu caso tinha 2,04m. Digite o diâmetro perímetro na calculadora pressione + e depois = (1 vez) as próximas vezes que o sensor fechar curto, a calculadora vai somar o diâmetro perímetro que você digitou... e assim sucessivamente a cada volta que a roda fizer.

E como sempre um videozinho pra provar que funciona:





=D

À pedidos, daqui uns dias vou postar o esquema elétrico com as conexões do joystick, é só terminar de desenhar.

sábado, março 24, 2007

O joystick de mouse evoluiu! [parte 8 - juntando tudo e fazendo funcionar]

Último...
obs: Se você está lendo isso, e não viu os outros 7 posts anteriores, vá para o primeiro e começe a ler em ordem...

Fazendo a parte elétrica... soldando tudo:





Esse emaranhado de fios, liga o teclado, que eu expliquei na parte 2 (aquele teclado com um conector acoplado), aos botões (da parte 4). E a porta game do pc ao acelerador, freio, direção, embreagem e "borboletas". Os dois cabos de rede ali, um vai para o teclado, e outro para a porta game.





Detalhes da caixa de marchas, onde se vê os interruptores.



Conectores seriais, que foram usados para ligar a caixa de marchas à mesa, e a mesa ao teclado.



Tudo pronto!




E pra terminar... champagne... depois que tudo funcionou é claro...
E funcionou passado da meia-noite... e que dormir que nada, jogar é melhor.
=D

E um video pra vocês verem como a gambiarra funciona:



Pronto... =D