collapse

* Links de Robótica

* Posts Recentes

Palavras Cruzadas por Hugu
[Hoje às 00:54]


[Projecto] Bomba Airsoft por jm_araujo
[Ontem às 16:54]


Apresentação por Tech_JA
[Ontem às 09:19]


Medir Agua que está no Poço por filjoa
[21 de Setembro de 2017, 20:58]


URGENTE - display de 7 segmentos com backpack por helderjsd
[20 de Setembro de 2017, 12:30]


Preços e fabricantes de pcb por Sérgio_Sena
[19 de Setembro de 2017, 10:20]


Isaac Asimov - I, Robot por senso
[18 de Setembro de 2017, 03:41]


ic SL440 da Plessey? por senso
[16 de Setembro de 2017, 13:11]


Compra Colectiva RS-Amidata por brunus
[15 de Setembro de 2017, 22:31]


Ideias para construir um quadrúpede simples por zordlyon
[15 de Setembro de 2017, 10:18]

Autor Tópico: Ligar Rele  (Lida 3260 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline chefmoisas

  • Mini Robot
  • *
  • Mensagens: 16
Ligar Rele
« em: 17 de Dezembro de 2012, 23:48 »
Boa noite

Estou a tentar conectar este rele, mas o que activa o mesmo é o ground logo não sei como activar uma porta digital para esta servir como groud. Consigo alterar o rele para ser activado por 5v ou vou ter de usar mesmo o groud???

O rele em causa é como este

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.390
  • Helpdesk do sitio
Re: Ligar Rele
« Responder #1 em: 18 de Dezembro de 2012, 00:01 »
Quando metes um pino a LOW ele fica efectivamente ligado á massa, e quando está a HIGH está ligado á tensão de alimentação do micro, se for 5v, tens 5v no pino.
Avr fanboy

Offline Dave

  • Mini Robot
  • *
  • Mensagens: 363
    • "O Engenhocas"
Re: Ligar Rele
« Responder #2 em: 18 de Dezembro de 2012, 08:51 »
Monta algo assim.

Quando Data estiver em alto, o transístor entra em condução e faz accionar o relé.
Quando Data estiver em baixo, o transistor entra em corte e, como não passa corrente pela bobina do relé, ele abre.

David Martins
Eng. Electrotécnica e de Computadores, UBI

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.088
    • Tróniquices
Re: Ligar Rele
« Responder #3 em: 18 de Dezembro de 2012, 09:29 »
Onde está a datasheet disso? Isso parecer ter opto-acopladores.

Offline Tech_JA

  • Mini Robot
  • *
  • Mensagens: 537
Re: Ligar Rele
« Responder #4 em: 18 de Dezembro de 2012, 10:54 »
e o jumper que tem parece ser para comutar o comum: se é o VCC ou se é o GND

Offline chefmoisas

  • Mini Robot
  • *
  • Mensagens: 16
Re: Ligar Rele
« Responder #5 em: 18 de Dezembro de 2012, 19:45 »
Quando metes um pino a LOW ele fica efectivamente ligado á massa, e quando está a HIGH está ligado á tensão de alimentação do micro, se for 5v, tens 5v no pino.


Senso Tinhas razão, o rele activa quando está ligado ou não em HIGH e LOW

Agora estou com outra duvida, quero que o rele active a determinada hora mas está a faltar-me algo no codigo

Aqui está ele
Código: [Seleccione]

/*-----( Import needed libraries )-----*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include "RTClib.h"
/*-----( Declare Constants )-----*/
/*-----( Declare objects )-----*/
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27
/*-----( Declare Variables )-----*/
RTC_DS1307 RTC;
int moonlight = 0;
int barra = 1;
int branco = 2;
int azul = 3;
int verde = 4;
int vermelho = 5;
int skimmer = 6;
int livre = 7;

void setup()   /*----( SETUP: RUNS ONCE )----*/
{
  pinMode(moonlight, OUTPUT);
  pinMode(barra, OUTPUT);
  pinMode(branco, OUTPUT);
  pinMode(azul, OUTPUT);
  pinMode(verde, OUTPUT);
  pinMode(vermelho, OUTPUT);
  pinMode(skimmer, OUTPUT);
  pinMode(livre, OUTPUT);
  lcd.init();
  lcd.backlight();
  Serial.begin(9600);
  Wire.begin();
  RTC.begin();

  if (!RTC.isrunning())
  {
    RTC.adjust(DateTime(__DATE__, __TIME__));
  }
}


void loop()
{
  DateTime agora = RTC.now();
  String relogio_data = "";
  String relogio_hora = "/";
 
  int dia = agora.day();
  int mes = agora.month();
  int ano = agora.year();
 
  relogio_data += ArrumaZero(dia);
  relogio_data += "/";
  relogio_data += ArrumaZero(mes);
  relogio_data += "/";
  relogio_data += ano;
 
  int hora = agora.hour();
  int minuto = agora.minute();
  int segundo = agora.second();
  if (hora >= 19 && hora < 20) digitalWrite(moonlight, LOW);
else digitalWrite(moonlight, HIGH);
  relogio_hora += ArrumaZero(hora);
  relogio_hora += ":";
  relogio_hora += ArrumaZero(minuto);

 
  lcd.setCursor(0, 0);
  lcd.print(relogio_data);
  lcd.print(relogio_hora);
  delay(500);
 
  relogio_hora += ArrumaZero(hora);
  relogio_hora += ":";
  relogio_hora += ArrumaZero(minuto);

 
  lcd.setCursor(0, 0);
  lcd.print(relogio_data);
  lcd.print(relogio_hora);
  delay(500);

}


String ArrumaZero(int i)
{
  String ret;
  if (i < 10) ret += "0";
  ret += i;
  return ret;
}

O que activa ou não o rele é esta parte do codigo
Código: [Seleccione]
  if (hora >= 19 && hora < 20) digitalWrite(moonlight, LOW);
else digitalWrite(moonlight, HIGH);

Ou seja quero que a porta 0 das 19 horas até às 10 horas fique em GND mas não está a fazer-lo.

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 1.920
Re: Ligar Rele
« Responder #6 em: 18 de Dezembro de 2012, 22:58 »
Conforme tens só vai ficar ativo o relé às 19h, quando passa para as 20h ele é desligado.

Offline beirao

  • Mini Robot
  • *
  • Mensagens: 1.483
Re: Ligar Rele
« Responder #7 em: 18 de Dezembro de 2012, 23:03 »
Se não está a fazer isso, o que está a fazer?

Se meteres o pin a LOW sem horas nem nada o relé ativa? se funcionar, então é do código, senão é hardware.
viste que corrente o relé precisa para ser ativo?
"O único lugar onde o sucesso vem antes do trabalho, é no dicionário" - Albert Einstein

Offline chefmoisas

  • Mini Robot
  • *
  • Mensagens: 16
Re: Ligar Rele
« Responder #8 em: 18 de Dezembro de 2012, 23:09 »
Se não está a fazer isso, o que está a fazer?

Se meteres o pin a LOW sem horas nem nada o relé ativa? se funcionar, então é do código, senão é hardware.
viste que corrente o relé precisa para ser ativo?

Já testei o rele e quando ligo directo a um pino low ele activa !!! Logo o problema é do código.
Conforme tens só vai ficar ativo o relé às 19h, quando passa para as 20h ele é desligado.

Dropes se vires a hora a que eu coloquei o post era mesmo para testar que o rele entre as 19 e as 20 estava desligado caso contrário estaria sempre activo. No entanto o rele nunca desliga !!!

Offline beirao

  • Mini Robot
  • *
  • Mensagens: 1.483
Re: Ligar Rele
« Responder #9 em: 18 de Dezembro de 2012, 23:40 »
E será que a hora está correta? consegues saber a hora em tempo real?
"O único lugar onde o sucesso vem antes do trabalho, é no dicionário" - Albert Einstein

Offline chefmoisas

  • Mini Robot
  • *
  • Mensagens: 16
Re: Ligar Rele
« Responder #10 em: 19 de Dezembro de 2012, 00:50 »
E será que a hora está correta? consegues saber a hora em tempo real?

Sim está correcta , ela aparece no LCD

Offline beirao

  • Mini Robot
  • *
  • Mensagens: 1.483
Re: Ligar Rele
« Responder #11 em: 19 de Dezembro de 2012, 00:59 »
nunca mexi em arduino, mas o pin do rele está bem definido como "0" ?
"O único lugar onde o sucesso vem antes do trabalho, é no dicionário" - Albert Einstein

Offline rglove

  • Mini Robot
  • *
  • Mensagens: 526
Re: Ligar Rele
« Responder #12 em: 19 de Dezembro de 2012, 01:31 »
Não será pelo facto de estares a usar o pino como rx para a ligação serial?
Ou usas o pino como output ou usas para a ligação serial.
Acho que isso está a causar confusão, porque estás a declarar uma ligação serial (em que supostamente o pino 0 é um input) e estás a declarar esse pino como output ao mesmo tempo...

Experimenta mudar para outro qualquer e diz se já funciona  ;)

Offline chefmoisas

  • Mini Robot
  • *
  • Mensagens: 16
Re: Ligar Rele
« Responder #13 em: 19 de Dezembro de 2012, 10:59 »
Não será pelo facto de estares a usar o pino como rx para a ligação serial?
Ou usas o pino como output ou usas para a ligação serial.
Acho que isso está a causar confusão, porque estás a declarar uma ligação serial (em que supostamente o pino 0 é um input) e estás a declarar esse pino como output ao mesmo tempo...

Experimenta mudar para outro qualquer e diz se já funciona  ;)
Rglove

Tens toda a razão !!! Deixei de usar o pino 0 e ficou tudo ok !!!

Offline rglove

  • Mini Robot
  • *
  • Mensagens: 526
Re: Ligar Rele
« Responder #14 em: 19 de Dezembro de 2012, 13:17 »
Ainda bem!
Mas podes manter no pino 0. Acho que não estás a usar a ligação serial para nada, podes apagar a linha que diz "Serial.begin(???);" e usar o pino 0 como output, se for mais cómodo.