)
relé 2 - ligar e desligar sozinho após 15 segundos (levantar os vidros)
relé 3 - ligar e desligar sozinho após 2 segundos (ligar o motor)
relé 4 - ligar e desligar sozinho após 1 segundo (abrir a porta)
relé 5 - ligar e desligar sozinho após 1 segundo (fechar a porta)
relé 6 - ligar e desligar sozinho após 1 segundo (abrir a mala)
relé 7 - liga e desliga normalmente (ON/OFF) alimenta a ignição (painel)
relé 8 - liga e desliga normalmente (ON/OFF) - alimenta o rádio
Nota: Só consegui temporizar o último relé, como fazer com os demais?
Segue abaixo o projeto para alteração:
====================================================================
#include <SoftwareSerial.h> //Inlcui a biblioteca SoftwareSerial.h
#define RxD 0 //Define RxD como 0 #define TxD 1 //Define TxD como 1
#define RELE 1 2 #define RELE 2 3 #define RELE 4 4 #define RELE 5 5 #define RELE 6 6 #define RELE 7 7 #define RELE 8 8 #define RELE 9 9
SoftwareSerial blueToothSerial(RxD,TxD); //Instância a biblioteca SoftwareSerial.h
void setup() {
pinMode(2, OUTPUT); //Configura o pino 2 como saída pinMode(3, OUTPUT); //Configura o pino 3 como saída pinMode(4, OUTPUT); //Configura o pino 4 como saída pinMode(5, OUTPUT);//Configura o pino 5 como saída pinMode(6, OUTPUT);//Configura o pino 6 como saída pinMode(7, OUTPUT);//Configura o pino 7 como saída pinMode(8, OUTPUT);//Configura o pino 8 como saída pinMode(9, OUTPUT);//Configura o pino 9 como saída parear_dispositivo(); //Executa a função para parear o dispositivo }
void loop() { char letra; //Variável char para armazenar o caractere recebido
if(blueToothSerial.available()) //Se algo for recebido pela serial do módulo bluetooth { letra = blueToothSerial.read();
if(letra == 'A') digitalWrite(2, HIGH); else if(letra == 'a') digitalWrite(2, LOW); else if(letra == 'B') digitalWrite(3, HIGH); else if(letra == 'b') digitalWrite(3, LOW); else if(letra == 'C') digitalWrite(4, HIGH); else if(letra == 'c') digitalWrite(4, LOW); else if(letra == 'D') digitalWrite(5, HIGH); else if(letra == 'd') digitalWrite(5, LOW); else if(letra == 'E') digitalWrite(6, HIGH); else if(letra == 'e') digitalWrite(6, LOW); else if(letra == 'F') digitalWrite(7, HIGH); else if(letra == 'f') digitalWrite(7, LOW); else if(letra == 'G') digitalWrite(8, HIGH); else if(letra == 'g') digitalWrite(8, LOW); else if(letra == 'H') digitalWrite(9, HIGH); delay(2000); digitalWrite(9, LOW); } }
void parear_dispositivo() { blueToothSerial.begin(9600); // Configura o baud rate do bluetooth como 9600 blueToothSerial.print("\r\n+STWMOD=0\r\n"); // Configura o módulo bluetooth para trabalhar como slave blueToothSerial.print("\r\n+STNA=SeedBTShield\r\n"); // Configura o nome do disopsitivo bluetooth blueToothSerial.print("\r\n+STOAUT=1\r\n"); // Permite que outros dispositivos encontrem o módulo bluetooth blueToothSerial.print("\r\n+STAUTO=0\r\n"); // Desabilita a auto conexão delay(2000); // Aguarda 2 segundos blueToothSerial.print("\r\n+INQ=1\r\n"); // Habilita modo de paridade delay(2000); // Aguarda 2 segundos blueToothSerial.flush(); // Dá um flush na serial do módulo bluetooth }…
Adicionado por Rodney Hertz ao 12:37 em 20 abril 2015
adaptei o código para mais 1, no total de 3 LEDS. Sendo que está dando esse erro " strcontains was not declared " nesta seguinte parte :
// LED 2 (pin 7) if ( StrContains(HTTP_req, "LED2=1")) { LED_state[1] = 1; // save LED state
digitalWrite(7, HIGH);
}
Anexei o código alterado, e original, e a pagina intex alterada. Se alguém poder ajudar.. agradeço !
…
Adicionado por Luiz Sena ao 10:42 em 22 fevereiro 2017
; // define comando para sentido anti-horário#define habilita_motor digitalWrite(7, LOW); // define comando para habilitar motor#define inibe_motor digitalWrite(7, HIGH); // define comando para desligar motor int velocidade = 0; // Variável que informa a velocidade do motor // 0 = motor parado e 1024 = velocidade máxima; int habilita = 0; //Variável que guarda o resultado dos comando dos botões de liga e desliga // Se 0 = Para Motor // Se 1 = Roda o Motor int sentido = 1; // Variável que informa o sentido de giro do motor // se 1 = Sentido Horário // Se 2 = Sentido anti-horário int modo_de_operacao = 0; // Variável que guarda a combinação dos botões para o programa saber o que fazer#define sentido_horario digitalWrite(5, HIGH); // define comando para sentido horário#define sentido_antihorario digitalWrite(5, LOW); // define comando para sentido anti-horário#define habilita_motor digitalWrite(7, LOW); // define comando para habilitar motor#define inibe_motor digitalWrite(7, HIGH); // define comando para desligar motor int velocidade = 0; // Variável que informa a velocidade do motor // 0 = motor parado e 1024 = velocidade máxima; int habilita = 0; //Variável que guarda o resultado dos comando #define sentido_horario digitalWrite(5, HIGH); // define comando para sentido horário#define sentido_antihorario digitalWrite(5, LOW); // define comando para sentido anti-horário#define habilita_motor digitalWrite(7, LOW); // define comando para habilitar motor#define inibe_motor digitalWrite(7, HIGH); // define comando para desligar motor int velocidade = 0; // Variável que informa a velocidade do motor // 0 = motor parado e 1024 = velocidade máxima; int habilita = 0; //Variável que guarda o resultado dos comando dos botões de liga e desliga // Se 0 = Para Motor // Se 1 = Roda o Motor int sentido = 1; // Variável que informa o sentido de giro do motor // se 1 = Sentido Horário // Se 2 = Sentido anti-horário int modo_de_operacao = 0; // Variável que guarda a combinação dos botões para o programa saber o que fazer // Essa variável pode ter 3 valores // 0 -> desliga motor // 1 -> Liga o Motor no Sentido Horário // 2 -> Liga o Motor no sentido Anti-horáriovoid setup() { pinMode(5,OUTPUT); pinMode(6,OUTPUT); // Configura pinos 5, 6 e 7 como saídas digitais pinMode(7,OUTPUT);} void loop() { if (digitalRead(8)==1) // Verifica se o botão liga (primeiro botão) foi pressionado habilita = 1; // Se sim altera a variável habilita para 1 = Liga motor if( digitalRead(9) == 1) // Verifica se o botão desliga (segundo botão) foi pressionado habilita = 0; // Se sim altera a variável habilita para 0 = Desliga motor if (digitalRead(10)==1) // Verifica se o botão Horário (terceiro botão) foi pressionado sentido = 1; // Se sim altera a variável sentido para 1 = Sentido Horário if( digitalRead(11) == 1) // Verifica se o botão anti-Horário (quarto botão) foi pressionado sentido = 2; // Se sim altera a variável sentido para 2 = Sentido anti-horário modo_de_operacao = sentido * habilita; // Neste ponto cruzamos as informações das chaves // e geramos 3 possíveis combinações: // 2 x 1 = 2 \ // 1 x 1 = 1 \ Os resultados podem ser // 1 x 0 = 0 / 0, ou 2 // 2 x 0 = 0 / switch (modo_de_operacao) //Verifica o valor da variável modo_de_operacao { case 0: // Se for 0 inibe_motor // Para o motor digitalWrite(6, LOW); // Para de enviar pulsos para o Driver break; case 1: // Se for 1 habilita_motor // Liga o motor sentido_horario // Liga o sentido horário velocidade = analogRead(A0); // Lê o valor do potenciômetro tone(6, velocidade); // Envia o valor do potenciômetro em forma de frequencia para o driver break; case 2: // Se for 2 habilita_motor // Liga o motor sentido_antihorario // Liga o sentido anti-horário velocidade = analogRead(A0); // Lê o valor do potenciômetro tone(6, velocidade); // Envia o valor do potenciômetro em forma de frequencia para o driver break; } }dos botões de liga e desliga // Se 0 = Para Motor // Se 1 = Roda o Motor int sentido = 1; // Variável que informa o sentido de giro do motor // se 1 = Sentido Horário // Se 2 = Sentido anti-horário int modo_de_operacao = 0; // Variável que guarda a combinação dos botões para o programa saber o que fazer // Essa variável pode ter 3 valores // 0 -> desliga motor // 1 -> Liga o Motor no Sentido Horário // 2 -> Liga o Motor no sentido Anti-horáriovoid setup() { pinMode(5,OUTPUT); pinMode(6,OUTPUT); // Configura pinos 5, 6 e 7 como saídas digitais pinMode(7,OUTPUT);} void loop() { if (digitalRead(8)==1) // Verifica se o botão liga (primeiro botão) foi pressionado habilita = 1; // Se sim altera a variável habilita para 1 = Liga motor if( digitalRead(9) == 1) // Verifica se o botão desliga (segundo botão) foi pressionado habilita = 0; // Se sim altera a variável habilita para 0 = Desliga motor if (digitalRead(10)==1) // Verifica se o botão Horário (terceiro botão) foi pressionado sentido = 1; // Se sim altera a variável sentido para 1 = Sentido Horário if( digitalRead(11) == 1) // Verifica se o botão anti-Horário (quarto botão) foi pressionado sentido = 2; // Se sim altera a variável sentido para 2 = Sentido anti-horário modo_de_operacao = sentido * habilita; // Neste ponto cruzamos as informações das chaves // e geramos 3 possíveis combinações: // 2 x 1 = 2 \ // 1 x 1 = 1 \ Os resultados podem ser // 1 x 0 = 0 / 0, ou 2 // 2 x 0 = 0 / switch (modo_de_operacao) //Verifica o valor da variável modo_de_operacao { case 0: // Se for 0 inibe_motor // Para o motor digitalWrite(6, LOW); // Para de enviar pulsos para o Driver break; case 1: // Se for 1 habilita_motor // Liga o motor sentido_horario // Liga o sentido horário velocidade = analogRead(A0); // Lê o valor do potenciômetro tone(6, velocidade); // Envia o valor do potenciômetro em forma de frequencia para o driver break; case 2: // Se for 2 habilita_motor // Liga o motor sentido_antihorario // Liga o sentido anti-horário velocidade = analogRead(A0); // Lê o valor do potenciômetro tone(6, velocidade); // Envia o valor do potenciômetro em forma de frequencia para o driver break; } } // Essa variável pode ter 3 valores // 0 -> desliga motor // 1 -> Liga o Motor no Sentido Horário // 2 -> Liga o Motor no sentido Anti-horáriovoid setup() { pinMode(5,OUTPUT); pinMode(6,OUTPUT); // Configura pinos 5, 6 e 7 como saídas digitais pinMode(7,OUTPUT);} void loop() { if (digitalRead(8)==1) // Verifica se o botão liga (primeiro botão) foi pressionado habilita = 1; // Se sim altera a variável habilita para 1 = Liga motor if( digitalRead(9) == 1) // Verifica se o botão desliga (segundo botão) foi pressionado habilita = 0; // Se sim altera a variável habilita para 0 = Desliga motor if (digitalRead(10)==1) // Verifica se o botão Horário (terceiro botão) foi pressionado sentido = 1; // Se sim altera a variável sentido para 1 = Sentido Horário if( digitalRead(11) == 1) // Verifica se o botão anti-Horário (quarto botão) foi pressionado sentido = 2; // Se sim altera a variável sentido para 2 = Sentido anti-horário modo_de_operacao = sentido * habilita; // Neste ponto cruzamos as informações das chaves // e geramos 3 possíveis combinações: // 2 x 1 = 2 \ // 1 x 1 = 1 \ Os resultados podem ser // 1 x 0 = 0 / 0, ou 2 // 2 x 0 = 0 / switch (modo_de_operacao) //Verifica o valor da variável modo_de_operacao { case 0: // Se for 0 inibe_motor // Para o motor digitalWrite(6, LOW); // Para de enviar pulsos para o Driver break; case 1: // Se for 1 habilita_motor // Liga o motor sentido_horario // Liga o sentido horário velocidade = analogRead(A0); // Lê o valor do potenciômetro tone(6, velocidade); // Envia o valor do potenciômetro em forma de frequencia para o driver break; case 2: // Se for 2 habilita_motor // Liga o motor sentido_antihorario // Liga o sentido anti-horário velocidade = analogRead(A0); // Lê o valor do potenciômetro tone(6, velocidade); // Envia o valor do potenciômetro em forma de frequencia para o driver break; } }…
Adicionado por almir locks ao 10:19 em 4 janeiro 2019
or serial valores de 7 em sete, a cada segundo e não de um.
Quando executei ele fez assim
0
1
2
3
4
5
6
7
pausa de 1 segundo
8
9
10
11
12
13
14
pausa de 1 segundo
... E POR AI EM DIANTE.
Quando ele deveria aparecer assim:
0
pausa de 1 segundo
1
pausa de 1 segundo
2
pausa de 1 segundo
e por ai vai....
Mas valeu, vamos continuar tentando....
…
Adicionado por Weider Duarte ao 14:52 em 30 outubro 2017
da 1 -> Sinal receptor RF
entrada 2 -> botão para armazenar códigos dos chaveiros RF
saída 3,4,5,6 -> valor do caixa livre em BCD ( para entrada do decodificador BCD para display 7 segmentos ).
Sds,
…