sexta-feira, 31 de dezembro de 2010

Arduino com servo - Parte 6

O ano está acabando e essa será a última postagem de 2010, a próxima só em 2011 pessoal, hoje venho postar um exemplo de utilização do arduino com um servo de posição (180º), resolvi postar aqui para o pessoal um exemplo, neste caso usaremos a biblioteca SoftwareServo.h, mas você também pode criar usando apenas a biblioteca Servo.h.
Vamos precisar de:
- 1 servo motor de posição;
- 1 arduino com o código já na memória (o meu está rodando em modo standalone);
- 1 potenciômetro;
- fios para conexão;
- protoboard;
Primeiramente coloque o potenciômetro na protoboard, repare que ele possui 3 pinos, o pino da esquerda você liga no negativo (fio preto nas imagens), o a direita você liga no positivo (fio vermelho), e o pino central você liga em uma das entradas analógicas do arduino (fio verde).
O servo, no meu caso segue o padrão Futaba, então o preto é o negativo, o vermelho o positivo e o branco é o sinal nesse caso ligado a uma das saídas digitais do arduino.
Nas imagens a baixo você pode ver a montagem do circuito, nesta primeira imagem podemos ver o circuito completo, o servo e o potenciômetro conectados ao arduino em modo Standalone bem como a bateria para alimentação do circuito.
 
 Nas imagens a baixo temos a foto apenas do Arduino em modo standalone e os fios conectados à ele.
 
Como código para funcionar, vamos utilizar este:

#include <SoftwareServo.h>
SoftwareServo myservo;  // cria o objeto servo para controlar um servo
int potpin = 0;  // pino analógico utilizado para conectar o potenciômetro
int val;    // variavel para ler o valor do pino analógico
void setup()
{
  myservo.attach(5);  // atribui o servo no pino 5 para o objeto servo
}

void loop()
{
  val = analogRead(potpin); // lê o valor do potenciômetro (valor entre 0 e 1023)
  val = map(val, 0, 1023, 0, 179); // escala os valores para serem usado com o servo (valores entre 0 e 180)
  myservo.write(val); // seta a posição do servo de acordo com o valor da escala
  delay(15); //aguarda o servo chegar a posição
  SoftwareServo::refresh();
}

Copie o código para o programa do arduino, compile e faça o upload para a placa. O resultado você pode ver no vídeo a baixo, onde a linha preta no potenciômetro indica posição na qual o servo fica na metade de seu curso de 180º.
O LED vermelho indica que a placa está ligada, e o LED verde que pisca é o do pino 13 do arduino.
É isso pessoal, até a próxima, um feliz 2011 para todos.

Fonte:
- usando biblioteca Softwareservo.h;
- usando biblioteca Servo.h;

quinta-feira, 30 de dezembro de 2010

Separação de categoria do blog

Quem vem acompanhando o blog nos últimos meses percebeu que as postagens sobre arduino estavam na mesma categoria que robótica. Agora o que fiz foi separar as coisas, então todas as postagens sobre arduino passaram para uma categoria exclusiva -Arduino- assim o pessoal que visita o blog e quer visualizar apenas as postagens sobre a plataforma não precisa mais ficar passando varias páginas de postagens de robótica para encontrar aquelas que falam exclusivamente do assunto desejado, e para quem desejar, pode acessar todas as postagens sobre arduino através deste link.
E aguardem pessoal, a próxima postagem sobre Arduino está sendo escrita, preciso apenas terminar ela e adicionar algumas imagens, logo ela estará disponivel aqui no blog.
Até mais.

terça-feira, 7 de dezembro de 2010

Mozilla adota filhotes de panda vermelho

Lendo pela internet algumas notícias, descubro que a Mozilla Foudation (aquela que faz o Firefox..) em uma campanha para promover o navegador adotou, em parceria com o Zoológico de Knoxville, 2 filhotes de panda vermelho para criar o projeto Firefox Live, além de campanha de marketing para promover o navgador trata-se também de uma iniciativa para alertar sobre o risco de extinção do panda vermelho
No site está disponivel via streaming o conteúdo de 6 câmeras que mostram os pandas vermelhos, e o internauta pode participar de um concurso para dar nome aos filhotes, a empresa também prometeu dar "presentes" aos pandas à medida que o número de downloads do navegador Firefox a partir do site aumentar.


 Sério gente, eu já vi esse vídeo umas 4 vezes e ainda acho que transformers está começando.. talvez seja a trilha sonora ou a forma da narração..
Por hoje é isso, até a próxima.
Fontes:
- notícia no site infowester;
- site do projeto firefox live;

quinta-feira, 25 de novembro de 2010

Google me dando os parabéns

Nessa segunda-feira (22/11) estava de aniversário e logo após fazer login no Google, aparece um doodle diferente na minha página inicial. Não, não era o do dia da independência do Líbano (imagem abaixo), este só aparece para os Libaneses nessa data (jura...).
O doodle que aparecia para mim era esse (coloquei o mouse sobre a imagem para vocês verem que era para mim mesmo):
 
Pela minha breve pesquisa, isso está funcionando no Google desde o dia 16 de Outubro, segundo texto do blog oficial do Google: 

"A birthday surprise
Because doodles are such a fun part of the search experience, we thought we’d share a fun little way Google will help celebrate your birthday. When you include your date of birth on your Google profile, you may notice a special treat on the Google homepage on your birthday (be sure to sign in). Click on the doodle for another birthday surprise!
"  

E antes que perguntem.. pelo fato de eu ter acessado rapidamente minha conta, esqueci de clicar em cima  do doodle para ver o que acontecia, alguém ai que já tenha visto isso me diz por favor...
Quanto à novas postagens com Arduino, aguardem um pouco, já estão sendo preparadas.. e assim que terminar elas publico aqui no blog, também vou ver se atualizo as imagens das 2 últimas postagens sobre arduino com fotos de maior definição.
Um abraço, Até a próxima.

Fonte:
- Blog oficial do Google;

sábado, 6 de novembro de 2010

Arduino StandAlone - Parte 5

A postagem de hoje é sobre a montagem do Arduino na forma Standalone, que para quem não sabe é a montagem na qual o microcontrolador AtMega do Arduino roda o programa em sua memória sem estar na placa Arduino própriamente dita.
A montagem é muito fácil e são necessários poucos componentes eletrônicos.
Lista de componentes:
- 1 Resistor de 10KΩ e 1/4W;
- 1 cristal de 16Mhz;
- 2 capacitores cerâmicos de 22pF;
- 1 push button (botão de pressão);
Opcionais:
- 1 soquete de 28 pinos;
- Protoboard;
- 1 resistor de 240Ω e 1/4W;
- 1 LED;
Os componentes:
Na imagem a seguir temos os componentes principais para a montagem.
Esquema de montagem:
Para efetuar a montagem acompanhe a imagem abaixo da montagem na protoboard:
  Nesta imagem você pode ver a montagem correta, onde temos do lado direito:
- Terminais 20 e 21 são ligados no positivo (fios vermelho);
- Terminal 22 ligado no negativo (fio preto);
E do lado esquerdo temos:
- Terminais 9 e 10 são interligados com o cristal de 16Mhz;
- Terminais 9 e 10 são ligados após o cristal com o negativo, através dos capacitores cerâmicos;
- Terminal 8 ligado no negativo;
- Terminal 7 ligado no positivo;
- O 1º terminal é ligado ao positivo atravéz do resistor, e depois da saída do resistor é ligado a saída do botão de pressão. O outro terminal do botão de pressão é ligado ao negativo, quando pressionado ele faz a conexão do terminal 1 com o negativo, resetando o microcontrolador;
Na imagem a seguir temos um esquema elétrico da montagem (o resistor e o botão de pressão não aparecem).
Nesta imagem você pode ver que o sistema é ligado a 5V apenas, então para isso você deve utilizar um regulador de tensão, utilize o LM7805 que já é o suficiente, outra coisa que você pode notar é que está escrito "Atmega 8" bo esquema, mas o Arduino Duemilanove possui um Atmega 328, mas não se preocupe pois a pinagem é a mesma para os dois.
Na imagem a seguir você pode ver a montagem que fiz em uma mini-protoboard.
Para o atmega rodar em modo standalone ligo ele à uma fonte de 5V, normalmente a saída/entrada de 5V da versão que fiz em uma placa perfurada (imagem a baixo):
Aqui uma imagem melhor de outra placa, mas feita com a máquina fotográfica (a anterior foi feita com o celular).
Nesta imagem você pode ver uma saída/entrada de tensão de 5V e também duas saídas de 5V (os 2 conjuntos de conectores fêmea lado a lado onde aparece um - e +) utilizo elas para alimentar dispositivos como servo módulos que podem ser conectados ao arduino. Nas duas imagens a seguir você pode ver a fonte de 9V onde ligo a placa, bem como a mesma alimentando a montagem standalone na protoboard.

 
Pinagem do AtMega328:
Na imagem a baixo você pode ver a pinagem do microcontrolador bem como sua correspondente saída na placa Arduino (Duemilanove);

Vídeos de funcionamento:
A seguir dois vídeos que fiz com o celular para mostrar o funcionamento da placa com o microcontrolador em modo standalone, e o último foi feito com a máquina fotográfica.






Até aqui a gente viu como montar o arduino em forma StandAlone, mas tenha atenção: esta forma é apenas para utilização "básica", se você deseja utilizar algum shield deve ter cuidado em montar na placa perfurada (ou confeccionar sua placa) e fazer a ligação dos terminais coincidirem com as saídas dos pinos da placa Arduino original além de adicionar os pinos de voltagem (reset, 3.3V, 5V, ground, Vin).
Até a próxima.
Fontes:
- Arduino Playground: Standalone;  
- Building an Arduino on a Breadboard;
- Standalone Arduino / ATMega chip on breadboard;

Post editado em 27/12/2010 - adição de novas imagens e vídeo.

quinta-feira, 21 de outubro de 2010

Procure o "Politico Honesto" no Google

Está com duvida ainda quanto em quem votoar no segundo turno?? Simples o Google te ajuda!
Digite no google "politico honesto" como na imagem a seguir (vou por screens para  ajudar, vá que alguém não saiba fazer isso!).

Feito isso clique em "Estou com sorte".
Olha o resultado: 
 Legal, descobri por acaso enquanto navegava. Até a próxima, fui....
Fonte:
 - http://gulp.com.br/artigo/politico-honesto-nao-encontrado;

quinta-feira, 30 de setembro de 2010

Ponte H para Arduino

Depois de mais de um mês, estou de volta, nesse período o blog não ficou jogado às traças, pelo contrário, aproveitei para atualizar a interface (caso você ainda não tenha notado). Visual novo, mais espaço para texto e imagens, e a imagem superior (header) fiz no GIMP (não gosto do Photoshop), fiz simples pois não queria uma imagem pesada demais para que carregasse mais rápido as páginas do blog. Chega de papo, e vamos ao principal.
A postagem de hoje é sobre a construção de um dispositivo muito útil em diversas aplicações, inclusive para que sua placa Arduino possa acionar motores. Vamos utilizar circuitos integrados para esta montagem, então é melhor você dar uma olhada no datasheet de cada um (não se preocupe, eu coloco o link para cada) para escolher o melhor para seu caso.
Atenção: Esta postagem não tem a intenção de ser uma "receita de bolo", mas dar informações necessárias para que você possa construir sua própria Ponte H. Então você terá que estudar mais, fazer mais procuras pela internet e assim montar corretamente o circuito.

O que é uma Ponte H?
Uma Ponte H nada mais é do que um circuito utilizado para acionar motores DC (corrente contínua), o sinal para a ativação dos motores pode provir de um microcontrolador, radio controle, etc. Neste caso, nosso sinal irá provir de uma placa arduino, com o sinal (PWM ou não) a Ponte H irá acionar os motores a ela conectados, geralmente um ou dois, existem vários circuitos de Ponte H, aqui iremos abordar  dois tipos, ambos com CIs (circuito integrado) de baixo custo e fácil de encontrar, Pontes H com transistores não serão abordadas, são mais simples e apresentam limitações.
Atenção: As Ponte H abordadas aqui não podem ser utilizadas para motores que necessitam mais corrente do que o que o CI suporta, e antes que você pergunte, não, estas ponte H não podem ser usadas em robôs de combate pois a corrente consumida por estes motores é muito alta (muitas vezes mais de 10 Amperes). 

Por que utilizar uma Ponte H?
A corrente elétrica fornecida na saída de microcontroladores (nesse caso o ATmega do Arduino) é muito baixa, e muitas vezes pode ser usada apenas para acender LEDs, fora isso você deve usar um circuito maior para poder acionar motores, relés, lâmpadas, etc.
Quando digo que a corrente é muito pequena, é porque ela é pequena mesmo, por exemplo a corrente na saída do ATmega é de apenas 40mA constantes, mas como talvez você saiba, quando se liga um motor a corrente de partida é maior que a corrente nominal, ou seja, para seu motor entrar em rotação ele vai precisar de uma corrente maior do que a corrente normal de funcionamento para quebrar a inércia do eixo, isso na maioria das vezes (alguns motores demoram para atingir sua velocidade normal de funcionamento, suas correntes de partidas são menores ou iguais a corrente nominal de funcionamento).
No nosso caso o ATmega envia o sinal (fraco) para a Ponte H, que envia um sinal "forte" o suficiente para colocar (e manter) em rotação motores elétricos.

Quais são os Circuitos Integrados?
Neste tópico vamos abordar 2 Circuitos Integrados que você pode encontrar facilmente (se não encontrar em uma eletrônica procure na internet, existem vários vendedores e sai mais barato) são eles:
O L293:

E o L298:

O primeiro você vai encontrar com várias denominações como L293, L293B, L293E, L293D. E o segundo com denominações como L298, L298N, entre outros.. Preste atenção para comprar o correto, neste caso o L293B e o L298N.
Atenção: É possível que quando você for comprar o L298 (caso seja sua escolha) não encontre na eletrônica, e no mesmo instante o vendedor lhe ofereça o L297 no lugar deste. Diga NÃO! O L297 serve para controlar motores de passo, possue pinagem diferente e não serve para nosso caso.
Para baixar o datasheet do L293B clique aqui, e para baixar o do L298 clique aqui.
Talvez você já conheça o L293B pois é o mesmo CI que utilizei na construção do meu segundo robô seguidor de luz (postagem aqui), e ambos os CI eu comprei no Mercado Livre pois não encontrei nas eletrônicas da minha cidade.
O L293B suporta 1A na saída e o L298N suporta 2A, para ambos sugiro a utilização de um dissipador, para melhorar a dissipação do calor gerado e evitar que o CI queime.

As imagens: 
As imagens não estão muito boas, pois tive que tirar foto com o celular, mas com certeza é melhor que nada. A seguir uma imagem da minha primeira Ponte H, utilizando o CI L293B:

Nessa  imagem temos 5 Bornes utilizados para alimentação (1), entrada de sinal (2) e saída de sinal (2), e de componentes ainda temos:
- 2 capacitores pequenos: 1 para a entrada de tensão do CI e outro para a alimentação da saídas;
- 2 capacitores cerâmicos: para a filtragem de ruídos nas saídas;
- 2 capacitores eletrolíticos: Para a regulação de voltagem;
- 1 regulador de voltagem (LM7805): mantém tudo funcionando em 5V;
- 1 L293B: o CI da nossa ponte H;

E aqui 2 imagens da outra ponte H que montei, dessa vez utilizando o CI L298N:

Nessa foto você pode ver que adicionei capacitores cerâmicos também na entrada de tensão do CI, isso porque era recomendado no datasheet do mesmo
E a segunda imagem (vista de trás do dissipador):

Com estas imagens você conseguiram ter uma idéia de como é uma ponte H, descobriram para que serve e já sabem mais ou menos quais os componentes utilizar, a partir de agora você precisa definir qual tipo montar (qual o CI) e a partir disso ler mais a respeito na web e claro passar em uma eletrônica e comprar os componentes.
Um abraço e até mais.

Fontes: 
- Datasheets dos CIs (links na postagem);
- Controlando motores com L293D; (agora corrigido!)
- Esquema Ponte H com L298 - material enviado ao site robocore (criado por mim);

sábado, 4 de setembro de 2010

Arduino versão 0019 Liberada



Acaba de ser liberada a nova versão do ambiente de desenvolvimento para Arduino, a nova versão (0019) além de trazer novidades no núcleo do programa e nas bibliotecas, traz ainda novidades na interface, além de novos exemplos adicionados ao programa.


Algumas novidades das bibliotecas:
- Adicionada biblioteca SPI.
- Revisão da biblioteca Ethernet; Que agora depende da biblioteca SPI. (sketches anteriores devem ser atualizados).
- Adicionado méthodo Serial.peek(). 

Algumas das alterações na interface:
- Inclusão das placas Arduino Pro 5V and Arduino Fio ao menu de placas.
- Inclusão de controle sobre o scrolling automatico no serial monitor.
- Correção de tabs com mesmo nome mas de extensões diferentes.

Para ver todas as novidades da versão clique aqui. E para efetuar o download acesse este link e escolha seu sistema operacional.
Por hoje é isso, até a próxima...

sexta-feira, 3 de setembro de 2010

Google Lança Versão final do Chrome


Google liberou a versão 6 estável do Chrome, se você quiser testar aqui está o link. Entre as novidades está a opção de sincronia de extensões, preenchimento automático de formulários e sincronia de preenchimento automático, além de uma interface ainda mais simplificada (se é que isso era possível..).  Uma das mudanças na interface é o deslocamento do botão “adicione aos favoritos”, que antes ficava à esquerda da barra de endereço, e agora é um ícone dentro da própria barra. 
Outra coisa que notei foi que nesta versão deixou de existir o atalho do teclado para o gerenciador de favoritos (Ctrl + Shift + B), caso você pressione estas teclas a unica coisa que vai acontecer é sua barra de favoritos aparecer e desaparecer.
De qualquer forma ainda não consegui visualizar a "super hiper mega power velocidade de navegação.." é porque minha internet da Oi é uma droga mesmo!. 
E enquanto eu fazia o upload da imagem a cima... olha o descuido na interface da janela de upload..
"Nenhum a...cionado" ?????? WTF?
Para você ter uma idéia melhor... essa é a mesma janela só que no Firefox...
Uma coisa realmente notável é o tempo para o programa abrir.. é quase que instantâneo... o firefox era assim mas de uns tempos pra cá a coisa mudou..
Eu vou seguir usando o Chrome como navegador principal durante mais alguns dias para ver todo o seu potencial, enquanto isso o Firefox eu uso um pouco menos, mas este continua sendo meu navegador favorito principal.
Até mais....

Atualização emergencial da interface

Caso você esteja visualizando esta postagem diretamente no blog, já percebeu que ele está de cara nova. Não, eu não mudei a interface porque eu queria, foi porque o domínio onde estavam hospedados os 3 principais arquivos da interface do blog não terá mais continuidade, então como o blogger não conseguia carregar estes arquivos, fez com que o blog se torna-se instável. 
Entre outros problemas a página ficava muito tempo carregando e o histórico de postagens aparecia pela metade, então utilizei um template pronto do blog, mas que dei uma editada básica, para deixar "menos ruim" possível. Antes que falem, eu tentei hospedar em vários servidores gratuitos estes arquivos mas a interface só funcionava durante alguns minutos e depois o problema voltava.
Nesta mudança tive que dar adeus a algumas seções do blog, deixando apenas as principais: uma lista das últimas atualizações, a ferramenta de busca do Google para pesquisar no blog, as páginas do blog, arquivo das postagens, notícias e seções do blog.
Mas também aproveito a oportunidade para dizer que estou pensando em mudar para o Wordpress que me permite mais alterações, ou quem sabe mudar logo para um site.
Sim, eu disse um site, a final de contas por mais que seja útil e correto o conteúdo de um blog, as chances do mesmo poder aparecer em alguma bibliografia é muito pequena. 
Estou montando um layout (do zero...) para um possível site com área para download de materiais de pessoas cadastradas.. um sistema completo, mas como estou fazendo sozinho isso vai demorar um pouco até eu disponibilizar o link em um servidor gratuito para vocês poderem acessar.
Até lá.. aproveitem e adaptem-se à nova interface.
Fui....

quinta-feira, 12 de agosto de 2010

Arduino - Parte 4

Depois de um bom tempo, aqui estou... neste período que fiquei longe do blog estava estudando (muito) sobre o Arduino, já montei uma Ponte-H, para utilizar no meu e já fiz vários testes, aliás a postagem sobre a Ponte-H está como rascunho ainda no blog, falta eu inserir imagens e terminar algumas edições, e mais recentemente (essa semana) terminei a montagem da minha primeira placa Arduino para rodar em modo Standalone.
Eu estava precisando da placa arduino dessa forma tanto para uso pessoal como para um projeto que estou trabalhando em paralelo, assim que possuir disponibilidade de horário farei uma postagem em como montar uma placa Arduino para rodar em modo standalone, com componentes, preço e esquema.
A postagem de hoje é sobre a programação do Arduino, então chega de papo furado e vamos ao que interessa:
Um programa criado no Arduino pode ser dividido em três partes principais: Estrutura, Valores e Funções. Na parte da estrutura podemos dizer que todo código criado para o Arduino deve obrigatoriamente possuir duas funções: void Setup e void LooP.

- A palavra void é usada somente na declaração de funções. Ele indica que a função deve retornar qualquer informação para a função a partir da qual foi chamada. 

- A função void Setup é chamada quando o sketch inicia - sketch é o nome que o arduino usa para um programa. Ela é utilizada para iniciar variáveis, PinMode, e iniciar o uso de bibliotecas. Esta função é executada somente uma vez quando a placa é energizada ou cada vez que a placa é "resetada".
Exemplo: 
void setup()   {               
  // declara o pino digital como saída:
  pinMode(ledPin, OUTPUT);    
}

- A função void Loop faz o que seu prórpio nome sugere, loops consecutivos permitindo seu programa executar as operações que aqui estão.
Exemplo:
void loop()                    
{
  digitalWrite(ledPin, HIGH);   // Liga o LED
  delay(1000);                         // aguarda um segundo
  digitalWrite(ledPin, LOW);    // desliga o LED
  delay(1000);                         // aguarda um segundo
}
Ainda na parte de "Estruturas", temos: Estruturas de controle, operadores aritméticos, operadores de comparação, operadores booleanos, operadores bit a bit, operadores compostos, dentre outros...

Na parte de "Valores", temos as variáveis e constantes, mas de primeiro momento vamos ver apenas as constantes HIGH e LOW bem como INPUT e OUTPUT.

HIGH: O siginificado de High é um pouco diferente dependendo se o pino é configurado como "input" ou "output". Quando um pino é configurado como saída (output) com o pinMode e o valor de digitalWrite é setado como HIGH, o microcontrolador envia uma voltagem de 5V para este pino.
Quando um pino é configurado como entrada (input) com o pinMode e leitura com o digitalRead, o microcontrolador irá reportar High se uma tensão de 3V ou mais está presente no pino.

LOW: o significado de LOW também pode ser diferente, dependendo se um pino é definido como "input" ou "output". Quando um pino é configurado como uma entrada com pinMode, e leitura com digitalRead, o microcontrolador irá reportar LOW se uma tensão de 2 volts ou menos estiver presente neste pino.
Quando um pino é configurado como a saída (output) com pinMode, e definido como LOW com digitalWrite, a tensão neste pino é de 0 volts.

INPUT: Os pinos configurados como input com o pinMode, estão em um estado de alta impedância, isso faz com que eles sejam uteis para ler o valor de um sensor, mas não para acender um LED.

OUTPUT: Os pinos configurados como output com o pinMode, estão em um estado de baixa impedância, isso significa que eles podem fornecer uma quantidade significativa de corrente para outros circuitos. Os pinos configurados como Output podem fornecer uma corrente de até 40 mA (miliamperes) para outros dispositivos/circuitos. A quantodade de corrente fornecida pelos pinos do Atmega é muito pequena para acionar motores então algum circuito extra será necessário.

Ainda temos a parte das funções que envolvem as entradas e saídas analógicas e digitais, funções de tempo, cálculo, números randômicos (aleatórios), etc. Mas estes ficam para outra hora, quem sabe.
Para finalizar deixo o código fonte do exemplo blink que já vem no software Arduino, apenas com os comentários em português. Você pode analizá-lo e notar o uso das funções vistas neste artigo.

int ledPin =  13;    // LED conectado no pino digital 13
// A função setup() roda uma vez, quando o sketch inicia
void setup()  
{               
  // inicializa o pino digital como saída
  pinMode(ledPin, OUTPUT);    
}

// a função loop()  é executada repetidas vezes,
// enquanto o Arduino estiver com energia.
void loop()                    
{
  digitalWrite(ledPin, HIGH);    // Liga o LED
  delay(1000);                          // aguarda um segundo para próxima instrução
  digitalWrite(ledPin, LOW);     // Desliga o LED
  delay(1000);                          // aguarda um segundo para próxima instrução
 }

P.S.: Neste exemplo é utilizada uma função de tempo, a função delay(), que pausa o programa por um período de tempo especificado em milisegundos. Nota: Da mesma forma que existem 60 minutos em uma hora, existem 1.000 milissegundos em um segundo.
Então, até a próxima.

Fontes:
- Arduino reference (Referência da Linguagem do Arduino);
- Código de exemplo "Blink" disponível no software Arduino;

sábado, 26 de junho de 2010

As compras na Sparkfun chegaram

Olá pessoal, para meus projetos em eletrônica e robótica estava precisando de algumas coisas que não são tão fáceis de achar.. Primeiro saí atrás de uma ponte H mais potente que eu pudesse utilizar na minha placa Arduino para acinonar 2 motores separadamente, o CI escolhido era o L298, mesma função que o L293 utilizado no meu 2º robô seguidor de luz, a vantagem é que este suporta até 2 Ampéres por canal contra 1 do L293.
O problema é que não se encontra em qualquer esquina esse CI, fui nas eletrônicas da cidade e nada, lá na eletrônica do Miro tinha só o L297, mas esse é para motores de passo (esses motores que tem no HD do computador de vocês) e meus motores são DC com escovas, então fui para a internet.. Encontrei no Mercado Livre (ML) do mesmo vendedor que eu comprei os L293 (que também não tinha nas eletrônicas aqui da cidade) .
Comprei os CIs, mais alguns componentes e... para o meu projeto do ROV movido a vapor comprei na SparkFun 2 Kits Tamiya Tank Treads, que no bom português, são aquelas esteiras de veículos militares (aquilo que os "milicos" chamam de "lagarta"...), mais uma transmissão dupla e mais 2 mini-breadboards de 170 pontos.
As compras do ML chegaram no sábado passado (dia 19/06/2010) já as compras da SparkFun chegaram ontem (dia 25/06/2010), ambas foram feitas no mesmo dia (16/06/2010), as compras da sparkfun chegaram em uma caixa vermelha da loja (como a da foto ao lado) muito bem acondicionadas mas com os lacres originais violados pois quando chega no Brasil a nossa querida Receita Federal abre os pacotes para conferir a mercadoria com a nota-fiscal... enchem de folhas de impostos (como sempre), mais umas folhas da receita federal, lacram novamente e despacham para que o pacote siga seu caminho.. (as compras ficaram uns 3 dias em São Paulo para isso...).
Mas tudo bem, as mercadorias estão ok, cabeça tranquila pois os impostos de importação foram pagos, agora é só botar a mão na massa.
Tank Treads:
Eu tinha 2 esteiras velhas aqui em casa de uma retro-escavadeira com esterias dos tempos de infância (o brinquedo quebrou a muitos anos e sim, eu guardei as esteiras!), o problema é que era ruim de fazer elas funcionarem com os motores sem apresentar problemas, então resolvi comprar as esteiras da Tamiya.
Comprei 2 caixas (cada caixa dá para 1 veículo), assim posso terminar o ROV e o conjunto que me sobra vou utilizar para montar o robô que vai ser controlado com o Arduino (por isso comprei também as ponte-H). Segue foto das esteiras:
1) Caixa por fora:
2) Conteúdo da caixa:
 Lembrando que até o momento as únicas partes compradas desse meu projeto foram o conjunto de motor e transmissão dupla e estas esteiras, o rádio controle eu já tinha, e o resto estou desenvolvendo conforme necessário.
Quando começei este projeto (final de Fevereiro deste ano) eu tinha a intenção de terminá-lo até o começo de Abril mas muitos problemas surgiram no decorrer e o trabalho também toma tempo (robótica e eletrônica para mim é hobby, se eu fizesse por dinheiro seria trabalho!) então agora não vou fazer previsão de término do projeto, mas assim que eu possuir grandes novidades sobre o mesmo eu coloco aqui no blog.
Aproveitando a oportunidade, já aviso que as postagens sobre Arduino deram uma pausa porque estou planejando um "upgrade" na minha área de trabalho com eletrônica a fim de centralizar tudo (hoje PCs ficam em uma parte da casa e materiais de eletrônica em outra), então quando tudo estiver mais arrumado vou ter mais tempo para pesquisas/estudos sobre arduino para postar aqui no bolg.
Mas antes que falem que "larguei de mão" o arduino, não mesmo, é que estou também envolvido no projeto de doutorado de um amigo meu, e estamos projetando um sistema com Arduino, aliás talvez até tenhamos que utilizar um Arduino xBee (um módulo sem fio para o Arduino) então vai depender do CNPq aprovar a proposta de projeto (tomara que aprove!).
Só avisando, pessoal o bolg não está largado às traças é que o tempo  necessário para pruduzir uma postagem séria, decente, com referências de pesquisas e sem "internetês" é grande e o tempo que tenho disponível é pequeno...
Bom pessoal, um abraço e até a próxima.
Fontes: (produtos comprados)

quarta-feira, 9 de junho de 2010

Mudando o plano de fundo do seu google

Estes dias estava acompanhando uma notícia do Google de que poderia ser alterado o plano de fundo da página de buscas, a novidade foi primeiro para o Google no Estados Unidos, e foi se espalhando, nesta segunda-feira (pelo que lembro) a novidade chegou no Brasil e hoje consegui fazer a alteração do meu.
Segue a baixo a imagem do antes:
E depois.
(Quem acompanha o Blog e/ou me conhece sabe o quanto gosto de Nightwish..)

Para alterar o fundo você deve clicar no canto inferior esquerdo onde diz "Alterar o plano de fundo", e uma janela como a mostrada a seguir aparece:
Nela você pode escolher uma imagem entre as que estão disponíveis, escolher uma de seu albúm do Picassa ou enviar uma imagem de seu computador.
O problema é que esta imagem só aparece por alguns instantes porque você precisa estar logado na sua conta do Google, mas assim que loga, você vai ter que fazer alguma busca, ou por acaso você entra na sua conta e deixa ela ali aberta....
E antes que alguém diga que copiou do Bing, e daí, fizeram melhor a final de contas posso deixar a imagem que eu quiser.
Então até a próxima pessoal.
Fonte:
- Blog oficial do Google;

domingo, 6 de junho de 2010

Robô seguidor de Luz - 2º projeto


Pois é pessoal, tomei um pouco de "vergonha na cara" e resolvi aprimorar o projeto do robô seguidor de luz, lembram? Aquele que postei neste post no ano passado e que prometi fazer uma postagem complementar.. Pois é, este post vai ser para mostrar a nova versão (com fotos agora!) e também como complemento daquela postagem.
Materiais básicos:
- 1 Circuito Intergrado L293B (Datasheet aqui);
- 2 motores com redução; (utilizei uma transmissão dupla Tamiya como pode ser visto nas imagens)
- 2 LDRs;
- Bateria de 9V para alimentação; 

Materiais opcionais: (variam de acordo com sua criatividade e conhecimento em eletrônica)
- 2 LEDs;
- 2 Resistores de 470Ω;
- 1 soquete (torneado ou não) de 16 pinos;
- 1 Circuito Intergrado LM7805;
- 2 Capacitores eletroliticos 16V 1000uF;
- dissipador de calor para os CIs;
- outros...

O robô:
Este robô possui o funcionamento igual à sua versão anterior, a diferença principal está no Circuito  Intergrado (CI) que faz o seu controle, o CI em questão é um L293B que nada mais é que uma ponte H (Wkipédia caso você não saiba do que estou falando) que controla os motores.
Funciona assim, quando o LDR direito recebe mais luz que o esquerdo, a ponte ativa o motor esquerdo com uma velocidade maior, dessa forma o robô vira para o lado direito. Quando recebe mais luz no LDR esquerdo, a ponte ativa o motor direito e o robô volta-se na direção da fonte luminosa que encontra-se no lado esquerdo.
Quando a fonte de luz está na frente do robô, ambos LDR recebem a mesma intencidade luminosa e ativam ambos os motores que fazem o robô andar para frente, caso não tenha fonte luminosa e o ambiente seja pouco iluminado, o robô permanecerá parado no local.


O circuito:
O ponto A pelo Datasheet é o Vs que é a alimentação dos motores, você pode alimentar este pino com uma voltagem de 4,5V até 36V.
O ponto B pelo Datasheet é o Vss que é a alimentação do CI que também pode ser alimentado com uma voltagem entre 4,5V e 36V, mas cuide porque dependendo da voltagem o CI pode aquecer e ser danificado. o ideal é ser alimentado com 5V.
Os pontos C são referentes a alimentação dos LDR (input 1 e input 4 no datasheet) e também devem ser alimentados com uma voltagem baixa, a mesma do pino de alimentação do CI (ponto B).

Imagens do meu robô: (clique sobre as imagens para ampliar)

1) Visão geral do robô - superior: 

2) Visão lateral
3) Visão frontal com os LDR, e sim eu usei cola-quente para prender o Rodízio Giratório que fiz (talvez alguém conheça isso como "roda boba")
4) Visão mais detalhada dos componentes.
Utilizei um LM7805 para regular a voltagem de alimentação dos sensores e do CI L293B em 5V, os motores são alimentados com 9V diretos da bateria, mas futuramente vou diminuir esta voltagem para prevenir danos aos mesmos.
5) Visão traseira com os motores;
6) Visão inferior com a transmissão dupla Tamiya, na foto a transmissão do robô está com uma configuração 114:1, mas talvez eu ainda altere isso para 344:1 para ganhar em torque e precisão.
7) Visão dos compenentes sem o CI L293B, apenas o soquete, caso o CI queime posso trocá-lo facilmente.
8) Imagem do CI L293B

Levei cerca de 2 a 3 semanas para fazer este robô, pois estava com pouco tempo para dedicar ao projeto, pois não é só sentar e montar como se fossem peças Lego, tem que fazer um desenho (a idéia original), listar e arrumar os materiais, e ir adaptando o projeto conforme necessário.
Na segunda foto você pode ver 2 interruptores, um serve para ligar e desligar (o da direita) e o outro da esquerda é para selecionar o "destino" da corrente, pois a ideia é adicionar outro circuito no robô dando a ele 2 modos de operação, então a estrutura já está adaptada, necessitando poucas alterações.
Pretendo ainda criar uma "bolha" para deixar apenas os LDR para fora, e o resto ficar tapado pela bolha.
Orçamento: Sinceramente eu não parei ainda para somar todos os gastos, pois a maioria dos componentes e materiais eu já tinha, mas sem dúvida os maiores preços foram na transmissão e na ponte H, calculando "por cima" deve ter dado um total de R$ 80,00 neste robô!
Acredite ou não, já tenho idéias para o próximo robô, que será bem mais avançado, vou utilizar minha placa Arduino Duemilanove, alguns motores, uma ponte H, muitas horas de programação e muita coisa ainda...
Caso tenha ficado alguma dúvida é só perguntar....
Por hoje é só, um abraço e até mais.
Edição dia 13/06/2010:
Um agradecimento a Rodrigo Duque Estrada, usuário rdesda do forum Robocore.net, pela postagem do circuito original que modifiquei para a construção deste robô.

sexta-feira, 28 de maio de 2010

Arduino - Parte 3

Chegamos a 3ª postagem sobre Arduino, caso tenha perdido as postagens anteriores, leia a 1ª postagem aqui, e a 2ª postagem aqui. Até o momento você já sabe o que é Arduino, a que se pode fazer com uma placa Arduino, onde comprar no Brasil, e também aprendeu sobre a placa Arduino Duemilanove.
Na postagem de hoje vamos começar a botar a mão na massa, primeiro vamos instalar a nossa placa Arduino no computador e aprender sobre a interface do software de programação:
Instalando a placa Arduino no Windows:
Vamos seguir o passo-a-passo que deve existir em todos os cantos da internet, mas com a diferença que durante o "andar da carruagem" eu vou ir comentando o que aconteceu comigo... (Porque eu sempre tenho problemas com essas coisas?!...).
1º) Pegue o Cabo USB e a sua placa Arduino:

Primeiro conecte seu cabo USB na placa Arduino, pois fica mais fácil depois conectar apenas no computador. 
2º) Baixe a versão mais recente do programa:
Acesse este site e baixe a versão mais atual do programa (no momento é: Arduino 0018). Preferencialmente descompacte a pasta para a unidade C: de seu computador, cuidando para manter a estrutura das subpastas da mesma.

3º) Instale o JAVA:
É isso mesmo, nenhum outro tutorial fala isso, o ambiente de desenvolvimento do Arduino é implementado em Java, então você deve instalar o JRE na sua máquina para funcionar. Para isso acesse este link e baixe a versão mais atual do java para sua máquina.
4) Conecte a placa no computador:
Agora que você já instalou o Java na sua máquina, conecte a placa no computador através do cabo USB, se estiver tudo certo o LED de alimentação irá acender (caso tenha dúvida da localização, veja a postagem anterior onde explico as principais partes da placa Arduino Duemilanove).
5) Instale os Drivers:
É nesta parte que "nem tudo são flores", devo ter lido uns 10 tutoriais de como fazer isso, e assistido uns 5 vídeos no Youtube sobre esse processo, agora eu pergunto: Para que eles serviram? - Para absolutamente nada!!
Todos os tutoriais dizem, conectar a placa no PC, instalar o drive do Chip FTDI, e depois o do ATmega e pronto, assim parece fácil, mas de cara percebi que não ia ser tão simples assim. Tanto na vez que conectei a placa no computador (Windows XP) quanto na vez que conectei no notebook (Windows 7) tive problemas, ambos sistemas não reconheceram o dispositivo e não mostravam o maldito "balão" onde a gente clica para instalar manualmente os drivers, apenas aparecia a mensagem de dispositivo não reconhecido.
Neste momento já estava "P" da vida (sim...eu me estresso facilmente!) então resolvi ir direto no site do fabricante do chip FTDI, que é o responsavel pela comunicação USB com a placa, e é este driver que deve ser instalado antes.  
Acessei essa página e baixei a versão mais atual do driver (a versão que vem com o software Arduíno pode não ser a mais atual), tentei instalar umas 3 vezes, depois reiniciei o PC e "magicamente" funcionou, o computador reconheceu a placa e terminou de instalar os drivers. (Na prática não foi tão fácil e rápido assim..)
Abri o software Arduino e fiz upload do exemplo "Blink" para a placa,  para testar. Problema 1 resolvido, problema 2: instalar os drivers no Windows 7.
Quem disse que isso foi fácil.... nossa, passei mais de uma hora tentando instalar (não adianta perguntar, fiz de tudo que até esqueci), quando finalmente instalei os drivers e fiz o upload do exemplo "Blink" e percebi que estava funcionando normalmente, depois tive que desligar o notebook para sair, quando volto ligo novamente o note conecto a placa e adivinha..... O Windows 7 não reconheceu o dispositivo (mas, essa droga já não estava instalada?), e eu perdi mais uma meia hora para fazer voltar a funcionar.
Instalei tudo novamente e pelo menos não tive mais problemas, nem no PC e nem no note.
6) A interface da Aplicação:
Na imagem a seguir vemos a interface do programa:
 De cima para baixo temos a Barra de Titulo que mostra o nome de sua aplicação (chamada de Sketch pelo software) e a versão do aplicativo (neste caso 0018), depois temos a Barra de Menus onde o principal é o menu Tools, onde selecionamos o modelo da placa e a porta de comunicação (a porta que devemos usar aparece no momento da instalação do driver), depois disso temos uma simples barra de ferramenta que será comentada a seguir com mais detalhes, e na área em branco, temos nosso espaço para programação, é nesta parte que escrevemos o código.
7) A barra de Ferramentas:

Nesta barra temos as principais tarefas a nossa disposição, para saber o significado de algum botão, basta passar o mouse sobre o mesmo e logo após o último botão irá aparecer ser significado.
Os principais que devemos saber o significado são respectivamente o primeiro botão, que serve para compilar o código e o penúltimo que serve para fazer o upload do código para a placa.
Também temos a disposição um botão para abrir (seta para cima) e um botão para salvar (seta para baixo) um Sketch.
Para não ficar uma "tripa" maior ainda a postagem, a parte de trabalhar no código e fazer o upload do mesmo para a placa fica para a próxima. Até mais....
Fonte:
- http://arduino.cc/en/Guide/Windows;

segunda-feira, 17 de maio de 2010

Arduino - Parte 2

No post anterior, você começou a aprender sobre o Arduino, o que é, o que pode ser construído, onde comprar no Brasil e viu alguns projetos que se pode fazer, essa postagem é para vocês se familiarizarem com o Arduino Duemilanove, a minha placa chegou semana passada na quinta-feira. 
Porque Duemilanove? 
O nome da placa significa 2009 em Italiano, e foi o ano de lançamento da mesma, substituda da Diecimila.
Caracteristicas:
Microcontrolador: ATmega328
Voltagem operacional: 5V
Voltagem de alimentação (recomendada): 7-12V
Voltagem de alimentação (limites): 6-20V
Pinos I/O digitais: 14 (dos quais 6 podem ser saídas PWM)
Pinos de entrada analógica: 6
Corrente contínua por pino I/O: 40 mA
Corrente contínua para o pino 3.3V: 50 mA
Memória flash: 32 KB (2KB usados para o bootloader)
SRAM: 2 KB
EEPROM: 1 KB
Velocidade de clock: 16 MHz
Partes da Placa:

1 - Bandeira da Itália: a placa Arduino Duemilanove possui 2 tipos o "a" (no lugar da bandeira diz apenas "made in Italy") e o "b" (possui a bandeira da Itália - a minha é desse modelo).
2 - Entrada USB: é do tipo AB, daqueles de impressoras USB, esta porta USB possui ainda um fusível de proteção, se alguma coisa fizer com que seja aplicada uma corrente maior que 500mA na porta USB do seu computador, o fusivel corta a corrente até que o curto ou a sobrecarga seja removida.
3 - Chip FTDI: Chip responsável pela conversão de serial para USB, sem este chip sua placa teria uma saída serial e não USB. (site do fabricante do chip) O primeiro driver a ser instalado no PC é o deste chip.
4 - LEDs TX e RX: Estes leds indicam quando há uma comunicação entre o computador e a placa arduino, mais especificamente, quando o chip FTDI está "trabalhando", pois o RX indica que o chip está recebendo sinal e o TX que está transmitindo (por exemplo uma "resposta" para o computador).
5 - Botão Reset: Nas versões anteriores do arduino, antes de se transferir um programa para o chip tinha-se que resetá-lo antes, na arduino duemilanove isso não é mais preciso, mas o botão permanece, coso você precise utilizá-lo.
6 - Power LED: Este LED possui a função de indicar quando sua placa esta sendo alimentada, seja através da posta USB ou de uma fonte externa (bateria, transformador, etc).
7 - Regulador de Voltagem: Se não estou enganado este deve ser o regulador de voltagem da placa, caso esteja sendo alimentada por uma fonte externa de energia, a alimentação recomendada é de 7 até 12V, mas o arduino pode operar com uma tensão entre 6 e 20V.
8 - Não sei o nome correto disso, mas ele atua selecionando a origem da energia (fonte externa ou USB) aoutomaticamente, nas versões anteriores (como Decimila) tinha-se que selecionar manualmente a alimentação da placa, este chip faz isso automaticamente na versão Duemilanove.
9 - Conector: Para conectar a uma fonte externa sua placa arduino, cuide porque o positivo deve ser a parte central do conector.
10 - Chip ATmega328: o modelo do chip pode variar, mas de qualquer forma, é aqui que tudo funciona, a memoria do arduino está aqui (ela é dividida em Flash, EEPROM, e SRAM).
11 - Cristal: Cristal oscilador de 16Mhz.
12 - LED do pino 13: o pino 13 da placa (não do chip) possui um LED e um resistor, então para você fazer o "olá mundo" no arduino não precisa necessariamente de um LED conectado à placa para ver funcionar (como nas versões anteriores), a versão duemilanove já possui este LED.
13 - Pinos Digitais: 14 pinos de entrada/saída digital, dos quais 6 podem ser saídas PWM;
14 - Pinos de entrada analógica: 6 pinos de entrada analógica;
 Alimentação: 
O Arduino Duemilanove pode ser alimentado pela conexão USB ou por qualquer fonte de alimentação externa. A fonte de alimentação é selecionada automaticamente. Alimentação externa (não-USB) pode ser tanto de uma fonte ou de uma bateria. A fonte pode ser conectada com um plug de 2,1mm (centro positivo) no conector de alimentação. Cabos vindos de uma bateria podem ser inseridos nos pinos Gnd (terra) e Vin (entrada de voltagem) do conector de alimentação.
A placa pode operar com uma alimentação externa de 6 a 20 volts. Entretanto, se a alimentação for inferior a 7 volts o pino 5V pode fornecer menos de 5 volts e a placa pode ficar instável. Se a alimentação for superior a 12 volts o regulador de voltagem pode super-aquecer e avariar a placa desta forma a alimentação recomendada é de 7 a 12 volts.
Memória:
O chip ATmega328 possui uma memória flash de 32KB (2KB são utilizados pelo bootloader), 2KB de SRAM e mais 1KB de EEPROM.
Entrada e Saída:
Cada um dos 14 pinos digitais do Duemilanove pode ser usado como entrada ou saída usando as funções de pinMode(), digitalWrite(), e digitalRead(). Estes pinos operam com 5 volts. e cada um pode fornecer ou receber um máximo de 40 mA.
Comunicação:
Segundo o site da Multilógica, representante oficial do Arduino no Brasil, "com o Arduino Duemilanove a comunicação com um computador, com outro Arduino ou com outros microcontroladores é muito simplificada. O ATmega328 permite comunicação serial no padrão UART TTL (5V), que está disponível nos pinos digitais 0 (RX) e 1 (TX). Um chip FTDI FT232RL na placa encaminha esta comunicação serial através do USB e os  drives FTDI (incluído no software do Arduino) fornece uma porta COM virtual para o software no computador. O software Arduino inclui um monitor serial que permite que dados simples de texto sejam enviados à placa Arduino. Os LEDs RX e TX da placa piscam quando os dados estão sendo transferidos ao computador pelo chip FTDI e a conexão USB (mas não quando há comunicação serial pelos pinos 0 e 1)."
Programação:
O Arduino Duemilanove pode ser programado com o software Arduino através de seu computador,  o chip ATmega328 do Arduino vem pré-gravado com um bootloader que permite enviar novos programas sem o uso de um programador de hardware externo. Mais detalhes da programação nos próximos posts.
Bootloader:
É um pequeno programa, tambem chamado de sistema de inicialização, que foi carregado para o microcontrolador em sua placa. O bootloader fica ativo por poucos segundos enquanto a placa é reinicializada, após isso ele começa a rodar o programa que você fez o upload mais recente para a placa.
É, acho que por hoje chega... agora você já conhece muito bem sua placa Arduino Duemilanove, mas, caso esteja interessado em aprender um pouco mais, segue as fontes de pesquisa. 
Um abraço e até a próxima.
Fontes

sexta-feira, 7 de maio de 2010

Arduino - Parte 1

Olá pessoal, esta é a primeira de uma série de postagens sobre Arduino que irei escrevendo conforme vou aprendendo sobre o mesmo, minha placa Arduino deve chegar semana que vem, até lá vou ler muita coisa para já ter uma base. Meus outros dois projetos estão em stand by por enquanto, um por falta de tempo, e o outro por falta de umas peças ainda... pretendo até o fim do mês terminar pelo menos um deles (se eu encontrar as malditas peças). Bom, vamos logo ao assunto:
O que é Arduino?
Arduino é uma plataforma de hardware open source baseado em um microcontrolador com suporte a conexão via serial ou USB com o computador para receber programas, uma placa Arduino é tudo o que você precisa para iniciar no mundo da eletrônica e programação de microcontroladores.     
Antes que você resolva ler o parágrafo anterior novamente, não, você não leu errado, eu realmente escrevi "hardware open source", você deve estar acostumado a ver software open source onde o código fonte está disponivel para quem deseja alterar, neste caso o hardware (a placa Arduino) funciona da mesma forma, você pode encontrar dezenas de esquemas de placas Arduino, escolher a que mais lhe agrada e montá-la peça por peça, ou compre um dos modelos já existentes para começar.
O poder do Arduino:
Por ser um hardware open source, você encontrará inúmeras aplicações com arduino na internet, e a maioria completamente documentada em seus menores detalhes para que você também possa reproduzir o feito em sua casa. Com uma placa Arduino você pode fazer desde o simples "Hello World" que no caso do Arduino é fazer um LED piscar, até controlar aeronaves não tripuladas (sim, já encontrei textos falando sobre isso!).
Como começar com Arduino?
O primeiro passo seria você adquirir uma placa arduino (pelo que já li na internet a mais fácil de utilizar seria a Duemilanove - 2009 em italiano), ler a documentação e os tutoriais e começar pelo básico como fazer um LED piscar. Não adianta de cara você querer criar um robô mais poderoso que a skynet que saia destruindo tudo que você não vai conseguir, ou você acha que na primeira aula de programação ao invés do "Olá mundo!" você já escreve um programa com 5 mil linhas de código?!
Onde Comprar?
Para quem mora no Brasil, existem 2 maneiras de adquirir uma placa Arduino (uma mais cara que a outra como tudo dessa droga de país...), ambas oficiais indicados pela própria página oficial do arduino.
1ª) Unite: http://www.unitecorp.eng.br/faces/ProdArduino.jsp (nunca ouvi falar dessa loja, mas já tenho em mente algumas coisas para comprar nela).
2ª) Multilógica: http://www.multilogica-shop.com/ (já comprei várias coisas dessa loja, leva uns 3 dias mais ou menos para chegar, é super rápido e tranquilo de comprar).
Você também pode comprar de sites extrangeiros mas os problemas começam ai: valor do frete, tempo para chegar as peças, etc, etc...
O problema do preço:
Talvez o único ponto contra ao arduino seria o preço, que no Brasil é um assalto... quer um exemplo? lá fora encontra-se placas Arduino por cerca de $30 a $40 enquanto as mesmas saem por quase R$ 150,00 aqui no país. Assim que tiver a oportunidade (e tempo) vou para o exterior (Uruguai ou Paraguai :p ) para comprar outras placas Arduino e mais algumas coisas que saem 3 vezes mais caras do que o "normal" nos outros países. A maioria dos projetos com Arduino no Brasil, recebem patrocínio de empresas e muitas vezes capital extrangeiro, o pessoal aprende com dinheiro de fora nos cursos que algumas universidades oferecem aqui no país e depois desaparecem...
Exemplos de aplicações com Arduino:
Segue alguns vídeos e links de coisas possiveis de se fazer com o Arduino, tudo encontrado depois de uma breve pesquisa na internet, alguns são vídeo-tutoriais que além de mostrar o "produto" ensina a contruir...
- Controlando um servo de posição com arduino e um potênciometro:


- Controlando a cor de um LED RGB com Ipod Touch


- Música tema do Mário tocada com 3 motores de passo com Arduino:



- Controlando LED RGB com Arduino e Processing;
- Controlando Arduino com PHP via porta serial;

Bom pessoal, este post foi só para ter um "primeiro contato" com o Arduino para quem nunca ouviu falar ou não sabia direito o que era e acho melhor parar por aqui senão o post fica quilométrico dada a quantidade de materiais de arduino que se encontra na internet, então para finalizar, como sempre algumas fontes:
- Arduino - Página oficial;
- Blog do Spock;
- Arduino na wikipédia;
- Freeduino.org o maior acervo de tutoriais com arduino;
- Site do Ricardo Dias (estudante de Engenharia Eletrônica e Telecomunicações da Universidade de Aveiro - Portugal);

quinta-feira, 29 de abril de 2010

Half-Life 2 Deathmatch de Graça

Depois de 3 semanas estou de volta com uma ótima notícia, ano passado (lá por Junho ou Julho) a Valve liberou de graça os jogos Half-Life 2 Deathmatch e Half-Life Lost Coast, o problema é que para baixar eles de graça só podia ser computadores com placas de vídeo ATI ou NVidia, isso ainda continua, mas dá para contornar (como sempre), vá em algum computador que possua placa de vídeo ATI ou NVidia (até no notebook do vizinho pode ser) e faça Login na sua conta do Steam. Depois clique em um dos links a seguir conforme a placa de vídeo do computador que você está:
-> Download do pacote Half-Life 2: Lost Coast e Deathmatch para placas gráficas da NVIDIA.
-> Download do pacote Half-Life 2: Lost Coast e Deathmatch para placas gráficas da ATI
Você não precisa se preocupar se vai baixar o certo ou o errado, o sistema não permite que você baixe de uma placa sendo que você possui a outra.... após clicar para adicionar na sua conta do Steam o programa vai abrir e começar a baixar os arquivos. 
A partir deste momento você pode fechar o Steam e voltar para seu computador em casa, abra sua conta no Steam e lá vai estar para baixar os jogos, independentemente da placa de vídeo que seu computador possuir.
  Aproveite pois como já faz quase um ano que ambos estão disponíveis de graça a qualquer momento pode não funcionar mais, ai então só comprando.. para comprar Loast Coast clique aqui, e para comprar a versão Deathmatch clique aqui, mas não se preocupe pois os preços estão muito baixos dos dois, então caso não funcione mais o download gratuito é só pagar uns $ 10,0 para comprar.  
 Sobre os Jogos
Lost Coast: É um epsódio à parte da sequência de Half-Life onde Gordon Freeman explora uma costa perdida entre escombros e perigos. Foi originalmente planejado para fazer parte do capítulo Highway 17 do jogo, mas acabou sendo cortado do produto final.

DeathMatch: Jogar contra o computador é muito bom, mas chega uma hora que aquilo se torna monótono e você quer enfrentar oponentes reais, isso é possivel atravéz do modo DeathMatch, o objetivo da versão Multiplayer é matar os outros jogadores, seja jogando um objeto com a Gravity Gun ou pelo clássico pé de cabra. Também há uma versão onde os jogadores são divididos em times.
 Bom, eu já adicionei ambos na minha conta no Steam, a minha única dúvida no momento é se compro uma placa de video melhor ou se compro um gabinete com algumas melhorias (mais memória, processador dual core,etc), incluindo uma bela placa de vídeo offboard....
Até a próxima...
Fonte: Baixaki