sábado, 17 de março de 2012

ReleShield para Arduíno


Releshield é um módulo construido com 2 Relés miniaturas de potência, com 1 contato reversível, com capacidade de acionar cargas de até 7A/ 220VAC, foi construido para se integrar ao Arduino sem a necessidade de conexões via jumpers, somente sendo necessário encaixar o Shield direto no Arduino e ligar os equipamentos a ser controlado nos conectores instalados na parte traseira do Shield (figura 1), isto permite de uma maneira fácil criar aplicações de controle de cargas externas como:
Luminárias, Ventiladores, Eletrodomésticos, Portões de garagem, entre outros.
O Releshield é controlado diretamente pelo Arduino através de 2 pinos IOs , Pinos Digitais 7 e 8 em seu circuito á dois Leds que indicam o estado dos Reles.
Led aceso = Rele Ligado
Obs. Os Pinos Digitais 7 e 8 não poderão ser utilizados por outro periférico.
A alimentação do Shield é feita através de 5VDC vindo da placa do Arduino.
Obs. Caso esteja utilizando outros periféricos alimentados pelo Arduino talvez seja necessário utilizar uma fonte externa.

Este Releshield pode ser usado em robótica, controle industrial, casas inteligentes, etc.
Compatível com o Arduino ONU e Duemilanove.
Para acionar os reles deve se colocar o pino referente ao Rele desejável em High como descrito abaixo.
void setup(){ pinMode(Rele1,OUTPUT); }
void loop(){ digitalWrite(Rele2, HIGH); }

Exemplo 1
Exemplo Blink Lâmpada:

#define Rele1 7 // Define pino de saida para rele 1
#define Rele2 8 // Define pino de saida para rele 2
void setup(){
pinMode(Rele1,OUTPUT);
pinMode(Rele2,OUTPUT);
}
void loop(){
digitalWrite(Rele2, HIGH);
delay(1000);
digitalWrite(Rele2, LOW);
delay(1000);
}


Exemplo 2:

Acionamento através da porta serial utilizando VB 2010.


/*
RelayShield V.01
Acionamento de Reles através de vindo da porta serial.
Este exemplo é de domínio publico.
Por: Mauricio Ortega
mauortega@gmail.com
*/
#define rele1 7
#define rele2 8
int dados[3], IDbyte, i, rele ,cmd;
void setup() {
//Define reles como saida
pinMode(rele1, OUTPUT);
pinMode(rele2, OUTPUT);
// Inicia serial, 9600 baud
Serial.begin(9600);
}
void loop() {
// Aguarda dados pela serial (min 3 bytes)
if (Serial.available() > 2) {
// Lê o Primeiro byte
IDbyte = Serial.read();
// Se for (254) ...
if (IDbyte == 254) {
// ... então carrega os dois bytes seguintes
for ( i = 0; i < 2; i++) {
dados[i] = Serial.read();
}
rele = dados[0]; // Atribui valor do 2º byte na varial rele
cmd = dados[1]; // Atribui valor do 2º byte na varial cmd
switch (rele) {
case 1:
digitalWrite(rele1, cmd); //Atribui valor de cmd no pino referente ao rele 1
break;
case 2:
digitalWrite(rele2, cmd); //Atribui valor de cmd no pino referente ao rele 1
break;
cmd = 0;
}
}
}
}





Este ReleShield esta disponível na loja do Laboratório de Garagem.




segunda-feira, 22 de junho de 2009

Controlando Relays via USB serial

Em construção....................

quinta-feira, 18 de junho de 2009

Utilizando o Bootloader do Arduino com Bascom-AVR

Vou explicar como é possível utilizar a placa do Arduino & Bascom-avr via porta USB.

Após ver na internet alguns fóruns falando tão bem do Arduino eu comprei uma placa e comecei a testá-la, é muito interessante o programa é baseado em C e Processing, a placa é muito bem fabricada e é programada via serial ou USB, tem todos os pinos do Atmega168 disponíveis em conectores, tem muitas placas de expansão a venda na internet aumentando a possibilidade de utilizar comercialmente.
Mas devido à demora em dominar o programa eu tive a idéia de utilizar o Bascom, pois já o utilizo com muita frequência, também encontrei o problema de tamanho do programa gerado pelo compilador do Arduino era muito maior que os gerados em Bascom, então após alguns testes eu descobri que o Arduino utilizava o Avrdude para gravar o Atmega ai tudo ficou mais fácil.

Para que a Avrdude grave um Atmega teria que enviar os parâmetros de configuração.
Ex. vrdude.conf -p m168 -b 19200 -c stk500v1 -F –P...........

Mas como fazer o Bascom enviar estes dados? A solução que encontrei foi criar um arquivo .bat que carregasse o Hex criado no Bascom e as configurações para o Avrdude gravar o
Atmega168.

Para criar este arquivo eu fiz um programa em VB, este programa alem de gravar o arquivo bat com as configurações, também seleciona a porta serial destinada ao Arduino e salva na pasta C:/AvrDude/ é super simples de utilizar....

Após algumas explicações vamos ao que interessa...........

Para poder utilizar o Bascom e o Arduino será necessário baixar os arquivos relacionados abaixo.