Postagem em destaque

Controle PID de Potência em Corrente Alternada - Arduino e TRIAC - Parte I

Este post é o primeiro de uma série de seis que escrevi tratando de controle de potência e PID (controle proporcional, integral e derivativo...

segunda-feira, 24 de setembro de 2012

RFID com Arduino

Dia desses alunos me pediram ajuda com um projeto de TCC: uma ferramentaria com acesso e empréstimo de ferramentas controlada por RFID.

Eles compraram o RFID Starter Kit da SparkFun, e eu me pus a testá-lo. Muito, muito simples.
O kit tem uma saída USB para ligação no PC. Funciona nos moldes da conexão USB do Arduino, ou seja, na verdade a comunicação é feita com o protocolo serial. Para testá-la nesse modo basta vc baixar algum programa gratuito desses de terminal TTY. As versões mais antigas do Windows (antes do Vista) vinham com o HyperTerminal, mas agora ele é vendido separadamente pela Hilgraeve.

Tem alternativa free? Claro, várias. Uma delas, a que usei, é o TeraTerm. É só baixar e instalar. Em seguida, conecte o kit RFID na porta USB do seu micro. Abra o TeraTerm,configurando o acesso serial e a porta correta:


No meu caso, COM4.

Depois do Ok, basta aproximar as tags do kit e o ID é exibido no terminal:


Agora, vamos ao Arduino.
Para usar o kit é necessário soldar pinos ou fios à plaquinha. No mínimo os terminais Vcc, Gnd e TX são utilizados. Olhando-se a plaquinha "por baixo" (do lado oposto ao sensor, o cubo escuro escrito ID-12 Innovations) pode-se ver a legenda da pinagem.

Soldados os pinos, conecte-os aos respectivos pinos no Arduino. Eu usei como pino de dados o pino 9 do Arduino, conforme figura:


Abaixo, vídeo da bagaça funcionando. Mais abaixo ainda, o código fonte. O interessante do fonte é o trabalho com duas portas seriais, uma para comunicação com o kit e outra para comunicação com o PC. Nesse caso, temos que usar a lib SoftSerial.h e criar uma outra porta, mySerialPort no meu caso. Eu usei o mesmo Tera Term para ler a saída do Arduino, mas claro que poderia ter usado o Serial Monitor do Arduino.

Moleza, não?



#include <SoftwareSerial.h>

const int SerInToArdu=9; 
const int SerOutFrmArdu=3;

SoftwareSerial mySerialPort(SerInToArdu,SerOutFrmArdu);

String tagID = "";

void setup()
{
  Serial.begin(9600);
  Serial.println("Aproxime uma tag RFID do leitor...");
  mySerialPort.begin(9600);
}

void loop()
{
  char incomingByte=char(0);

  if (mySerialPort.available() > 0) 
    for (;;)
    {
incomingByte = mySerialPort.read();
        if (((incomingByte > 47) && (incomingByte < 91)) || (incomingByte == 3))
        {
           if (incomingByte==3) // fim da transmissão
           {
             Serial.println(tagID); 
             tagID="";
             break;
           }  
           else                 
             tagID+=char(incomingByte);
        }
     }
}



segunda-feira, 17 de setembro de 2012

segunda-feira, 10 de setembro de 2012

Arduinonsense 2012


Regulamento do ArduiNonsense 2012


1-      Objetivo do concurso


O concurso visa reunir e divulgar trabalhos baseados em Arduino. Esses projetos deverão ter como características serem nonsense, quer dizer, eles tem que apresentar características como inutilidade e total falta de sentido prático.

2-      Os participantes


2.1- Poderá disputar qualquer interessado. Os membros da Comissão Organizadora poderão publicar seus trabalhos como parte do evento, mas não entrarão na classificação, serão publicados a título de exemplo e estímulo à comunidade.

2.2- Cada inscrito poderá enviar mais de um projeto

2.3- O trabalho poderá ter mais de um autor. Em caso de premiação, o prêmio será concedido ao grupo.

         

3-      Período do concurso


Os trabalhos poderão ser enviados no período de 11/09 a 31/10/2012.

      

4-      Forma de apresentação do trabalho


Todo o material a respeito do projeto deve ser entregue pela internet, e deve ser organizado da seguinte forma:

4.1- Um texto contendo a justificativa (motivação) para o desenvolvimento do projeto, lista dos materiais e métodos utilizados e a descrição do funcionamento do dispositivo.

4.2- Código fonte dos softwares criados para o projeto, tanto para rodar no Arduino quanto no PC, caso for cabível.

4.3- Fotografias e filmagens do projeto em ação

4.4- Esquema de conexão do projeto, no Fritzing, caso for cabível.

5-      Publicação dos trabalhos apresentados


Os trabalhos apresentados serão publicados no blog autômatoBr, www.automatobr.blogspot.com.br, tão logo sejam enviados.

6-   Direitos autorais


Ao submeter um trabalho ao concurso, o inscrito automaticamente concede o direito à publicação do material ao dono do blog autômatoBr, bem como em outros meios que a organização do concurso achar conveniente. O autor, claro, mantém os seus direitos autorais sobre sua obra, porém fará constar desta mensagem dizendo que todo o material publicado poderá ser empregado por qualquer pessoa  que a que ele tenha acesso em outros projetos de sua autoria, desde que citada a fonte. Os trabalhos serão publicados na medida em que forem sendo submetidos.

    

7-      Ineditismo


Os trabalhos apresentados não deverão ser necessariamente inéditos. Caso seja um trabalho anteriormente publicado este deve ser apresentado obrigatoriamente pelo autor original do trabalho. Poderá ser apresentado trabalho que seja baseado em projeto já publicado na internet, por autor que não seja o autor original. Nesse caso o projeto deve obedecer aos seguintes critérios:

7.1- Citar o trabalho original, indicando onde pode ser encontrado.

7.2- O autor original deve permitir o seu emprego em outros projetos.

7.3- O projeto deve ser significativamente uma evolução do projeto anteriormente publicado. A Comissão Organizadora irá decidir se o projeto é "suficientemente original" ou não.

   

8- Classificação dos trabalhos


Após o fim do período de inscrição a Comissão Organizadora terá uma semana para classificar os trabalhos conforme os seguinte critérios:

8.1 “Índice Nonsense”: será o que terá o maior peso, ou seja, quanto mais inútil, melhor.

8.2- Criatividade

8.3- Complexidade: quanto mais peças, circuitos, Arduinos e shields envolvidos, melhor.

8.4- Poderá ser concedida menção honrosa na categoria “Empilhamento de Shields” ao projeto que empregar o maior número de shields ao mesmo tempo. A concessão ou não desse prêmio ficará a critério da Comissão Organizadora.

8.5- Design do dispositivo: o dispositivo desenvolvido deverá ter um design interessante (não necessariamente bonito ou funcional)                                                                                                                                              

    

9-    Premiação


9.1- O primeiro colocado, segundo classificação nos critérios do item 8, receberá como prêmio um Edge Robotic Arm Kit. O kit, fornecido novo e desmontado na caixa, tem um valor aproximado no mercado brasileiro de R$ 400,00. 

9.2- Ao segundo e terceiros colocados serão oferecidos certificados atestando a classificação na competição.

9.3- Poderá ser concedida menção honrosa na categoria “Empilhamento de Shields” nos termos do item 8.4 acima.

9.4- O prêmio será entregue pelos Correios com as despesas de envio pagas pela Organização do concurso.

9.5- Caso não seja possível comprar o prêmio descrito no item 9.1, será oferecido um prêmio de valor equivalente.

10-      Cancelamento


A competição poderá ser cancelada, a critério da Organização, caso não hajam mais do que cinco trabalhos inscritos até o dia 15/10.
   

11-      Casos omissos


10.1- As questões que aparecerem e não estiverem contempladas nesse regulamento serão resolvidas, em caráter inapelável, por essa Comissão Organizadora.