Show Posts
Pages: 1 2 [3] 4 5 ... 22
31  International / Portugues / Re: Automação residencial em módulos on: January 17, 2014, 05:43:10 pm
Então, mesmo sem nada conectado ele não aparece nada, fica do jeito que postei acima. É como se travasse, algo assim...
32  International / Portugues / Re: Automação residencial em módulos on: January 17, 2014, 05:29:26 pm
Estou achando que o meu "Mega" está ruim... não estou conseguindo fazer o nRF24L01+ funcionar, pensei que poderia ser o shield que eu fiz, mas mesmo sem o shield e mais nada conectado, o resultado do pingpair.pde é o mesmo:

Code:
RF24/examples/pingpair/
ROLE: Pong back
STATUS = 0x00 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=0 TX_FULL=0
RX_ADDR_P0-1

Segue o resultado de um slave também com o nRF24L01+ desconectado:

Code:
RF24/examples/pingpair/
ROLE: Pong back
STATUS = 0xff RX_DR=1 TX_DS=1 MAX_RT=1 RX_P_NO=7 TX_FULL=1
RX_ADDR_P0-1 = 0xffffffffff 0xffffffffff
RX_ADDR_P2-5 = 0xff 0xff 0xff 0xff
TX_ADDR = 0xffffffffff
RX_PW_P0-6 = 0xff 0xff 0xff 0xff 0xff 0xff
EN_AA = 0xff
EN_RXADDR = 0xff
RF_CH = 0xff
RF_SETUP = 0xff
CONFIG = 0xff
DYNPD/FEATURE = 0xff 0xff
Data Rate = 1MBPS
Model = nRF24L01
CRC Length = 16 bits
PA Power = PA_MAX

A boa notícia é que aparentemente as placas slaves estão OK. Segue resultado com o nRF24L01+ conectado:

Code:
RF24/examples/pingpair/
ROLE: Pong back
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 = 0xf0f0f0f0d2 0xf0f0f0f0e1
RX_ADDR_P2-5 = 0xc3 0xc4 0xc5 0xc6
TX_ADDR = 0xf0f0f0f0d2
RX_PW_P0-6 = 0x20 0x20 0x00 0x00 0x00 0x00
EN_AA = 0x3f
EN_RXADDR = 0x03
RF_CH = 0x4c
RF_SETUP = 0x07
CONFIG = 0x7f
DYNPD/FEATURE = 0x3f 0x04
Data Rate = 1MBPS
Model = nRF24L01+
CRC Length = 16 bits
PA Power = PA_MAX

Ainda não consegui fazer dois slaves se comunicarem, mas acho (espero) que é questão de tempo. Seguem os testes!
33  International / Portugues / Re: Automação residencial em módulos on: January 15, 2014, 07:11:45 pm
Todos os componentes principais chegaram (fotos em anexo)! Faltam apenas alguns soquetes, conectores, pinos, resistores e capacitores. Além de alguns ATMega328. Além da paciência de montar, soldar e testar tudo, hehehe.
34  International / Portugues / Re: Automação residencial em módulos on: January 15, 2014, 02:21:54 pm
Não consigo ver imagens do imageshack de onde estou, mas o circuito é como este:

http://www.cuin.com.br/2012/08/rele-de-estado-solido-para-arduino-open-hardware/

Sobre o snubber, comprei o TRIAC BTA24-600BW, que é um TRIAC snubberless. Pelo o que li, esses novos componentes não precisam de circuitos snubber para a maioria dos casos.
35  International / Portugues / Re: Dúvida simples - Iniciante on: January 15, 2014, 11:51:11 am
Bem lembrado, Lago! Outro problema são os GNDs com referências diferentes. Talvez seja bom também unir os GNDs, não? Mas aí acho que vai depender do dispositivo.
36  International / Portugues / Re: Dúvida simples - Iniciante on: January 15, 2014, 11:13:18 am
Conecte a perna positiva (anodo) do led a um pino do Arduino através de uma resistência. Dessa forma, quando o led acender, o pino ficará em HIGH, e quando estiver apagado, LOW.

Se falei besteira, alguém me corrija! xD
37  International / Portugues / Re: Automação residencial em módulos on: January 15, 2014, 11:07:29 am
Estou utilizando um "relé de estado sólido" (MOC + TRIAC). Tem funcionado muito bem, rápido, simples, barato, e sem o barulho do relé!

Achei a solução tão boa que não entendi porque as pessoas não a utilizam ao invés do relé, porque não consegui identificar desvantagem, hehehe. Quer dizer, uma vantagem do relé é que é possível fazer um circuito "three way" com interruptor comum utilizando ele, mas como será tudo "automatizado", essa vantagem perde o sentido.
38  International / Portugues / Re: Problema ao decodificar controle remoto de A/C on: January 14, 2014, 03:19:09 pm
Sua memória RAM acabou. Você tem 6 arrays de 200 ints cada. Só aí você tem 200 * 6 * 2 = 2400 bytes. A memória RAM do Arduino Uno é de apenas 2 KB. Tente utilizar o progmem para colocar essas constantes na memoria flash ao invés da memória RAM para ver no que dá.
39  International / Portugues / Re: Comunicação entre 4 arduinos (ou pelo menos 3) on: January 09, 2014, 05:17:37 pm
Procure pela biblioteca RF24Network. Ela faz tudo que você precisa.

Na verdade, como sua aplicação é bem simples, nem precisa usar essa biblioteca. Os nRF24L01+ podem ouvir 6 canais ao mesmo tempo, e enviar comandos para um canal. O grande lance é que você pode mudar os canais a qualquer momento (geralmente o de envio de comando).

Mas recomendo a biblioteca RF24Network. Ela facilita bastante a comunicação multi ponto, ficando parecido com os XBees.
40  International / Portugues / Re: [DUVIDA] Pushbutton para salvar temporariamente uma variavel on: January 09, 2014, 05:32:56 am
Tem varias coisinhas erradas no seu código. Tenta esse e dá uma estudada melhor smiley-wink.

Code:
const int LM35 = A0; // Pino Analog onde vai ser ligado ao pino 2 do LM35
const int REFRESH_RATE = 2000;  //Tempo de atualização entre as leituras
const float CELSIUS_BASE = 0.4887585532746823069403714565; //Base de conversão para Graus Celsius ((5/1023) * 100)
int buttonPin = 9; //Define o pino de entrada do botão
int buttonMode = 0; //Variavel para atribuir o estado do botão Ligado ou delisgado

int buttonHasPressed = 0; // Variavel para pegar apenas o primeiro clique
int timesButtonClicked = 0; // Variavel para saber quantas vezes o botao foi apertado

float mean_1 = 0; // Declaracao global, para o valor ser mantido mesmo depois da funcao loop() terminar
float mean_2 = 0; // Declaracao global, para o valor ser mantido mesmo depois da funcao loop() terminar

void setup() {   
Serial.begin(9600);
pinMode(buttonPin, INPUT_PULLUP); //Define o pino como entrada PULLUP (ligar botao no GND)
pinMode(LM35, INPUT);  // Define o pino analogico do LM35 como entrada


void loop() {
Serial.print("Temperatura: "); 
Serial.println(readTemperature());

  buttonMode = digitalRead(buttonPin); //Leitura do botão HIGH ou LOW
   
   if((buttonMode == LOW) && (buttonHasPressed == 0) && (timesButtonClicked == 0)) {
   // Se o botao for pressionado, nao foi apertado no ciclo anterior e ainda nao foi clicado no ciclo...
     mean_1 = readTemperature();
     buttonHasPressed = 1;  // O botao foi pressionado
     timesButtonClicked = 1;  // O botao foi clicado uma vez
     Serial.println(readTemperature()); //Imprime o resultado da função
   }

   if((buttonMode == LOW) && (buttonHasPressed == 0) && (timesButtonClicked == 1)) {
   // Se o botao for pressionado, nao foi apertado no ciclo anterior e foi clicado uma vez no ciclo...
     mean_1 = readTemperature();
     buttonHasPressed = 1;  // O botao foi pressionado
     timesButtonClicked = 2;  // O botao foi clicado duas vezes
     Serial.println(readTemperature()); //Imprime o resultado da função
   }

   if((buttonMode == LOW) && (buttonHasPressed == 0) && (timesButtonClicked == 2)) {
   // Se o botao for pressionado, nao foi apertado no ciclo anterior e foi clicado duas vezes no ciclo...
     buttonHasPressed = 1;  // O botao foi pressionado
     timesButtonClicked = 0;  // O botao ja foi clicado 3 vezes. Zerar contador para iniciar proximo ciclo
     float mean_3 = (mean_1 + mean_2) / 2.0f;  // Ja que esta trabalhando com float, coloque todos os numeros como float
     Serial.println(mean_3); //Imprime o resultado da função
   }

   if (buttonMode == HIGH)
   {
   // Se o botao nao foi pressionado...
     buttonHasPressed = 0;  // O botao nao foi pressionado
   }
 
  delay(REFRESH_RATE);
}

float readTemperature(){   
return (analogRead(LM35) * CELSIUS_BASE); 
}

41  International / Portugues / Re: Automação residencial em módulos on: January 08, 2014, 07:32:08 pm
bubulindo, seu Mega é original ou cópia? O meu é uma cópia, comprei no dx.com, e ele não está apresentando esse problema de instabilidade. Deixei funcionando uns 2 dias direto e funcionava tudo numa boa.

Não lembro se eu tinha te recomendado essa outra biblioteca, estou usando ela e estava funcionando bem. Esse cara também percebeu a questão do rádio desligando, e fez uns outros ajustes também.

Por aqui estou enrolando para soldar outra placa e fazer o teste de comunicação entre elas, hehehe. Mas por enquanto, o que testei funcionou, rs.
42  International / Portugues / Re: Como ligar dois arduinos com fios? on: December 30, 2013, 01:18:53 pm
De que distâncias estamos falando? Procure sobre o protocolo RS-485. Mas já vou avisando, esse protocolo também precisa de dispositivos externos (chip MAX485, por exemplo).
43  International / Portugues / Re: Automação residencial em módulos on: December 29, 2013, 02:26:25 pm
As placas levaram um mês e meio mais ou menos para chegar. A fonte DC / DC comprei pronta mesmo, saiu US$ 1,20 cada. Achei mais prático do que montar uma fonte na placa.

Sobre o One Touch, estudei um pouco mais o que eu comprei, e acho que ele é capacitivo mesmo, não é reflexivo não. Pelo menos o que eu comprei (3 pads) tem apenas um led para indicar onde fica o botão a noite, e por trás do led tem uma área que acredito que serve como botão touch (capacitivo).

Depois vou testar os botões capacitivos com esse conjunto da placa + fonte DC / DC. O meu problema é que os botões estão relativamente muito próximos (estou considerando o máximo de 6 botões no espelho de cerca de 15 x 15 cm, espaço entre os botões de cerca de 0,5 cm), mas vamos ver no que vai dar.

Depois vejo o seu código com mais calma.
44  International / Portugues / Re: Automação residencial em módulos on: December 28, 2013, 10:46:09 am
As PCBs chegaram smiley-grin. Já montei uma, segue foto em anexo.

Só tenho que ajustar o capacitor do programador serial para funcionar o auto reset, e testar o nRF24l01+. O acionamento de lâmpadas já foi testado e está funcionando smiley-grin.

Mas não consegui entender como o interruptor on touch funciona... primeiro que fui testar o em um interruptor e o esquema estava errado, tem que ligar o fio verde na fase, não é? O esquema de um interruptor simples fala em ligar somente os fios vermelho na fase, preto no neutro, e branco no retorno.

Segundo que não entendi como ele percebe o toque, hehehe. Você já fez um esquema parecido, mardden?
45  International / Portugues / Re: Problema com IRremote on: December 26, 2013, 09:01:55 am
Há um outro problema no código que o HugoPT te passou. Tenta esse:

Code:
void loop() {
 char z = 0;
 if(Serial.available() >0) z= Serial.read();
 if (z == 'c') {
    for (int i = 0; i < 1; i++) {
      irsend.sendRaw(tvon,100,38);
      delay(40);
     
    }
  }
}    
Pages: 1 2 [3] 4 5 ... 22