Olá boa tarde sou novo aki tbm tenho pouco conhecimento sobre arduino principalmente na programação dos códigos, portando preciso de uma ajudinha pra concluir um projeto de Automação Residencial que estou montando e minha dificuldade é de unir dois ou mais códigos em um só, para que o arduino execute alternadamente. Segue abaixo Código 1 e Código 2. Desde já agradeço.

CÓDIGO 1

 // Programa : Automação Residencial por controle IR
// Autor : Ismael Viana
#include <IRremote.h>
int RECV_PIN = 11; //Ligado ao pino do receptor IR (pino S)
int armazenavalor = 0;
int pinorele1 = 2; //Pino do Arduino ligado ao IN1 da placa de relés
int pinorele2 = 3; //Pino do Arduino ligado ao IN2 da placa de relés
int pinorele3 = 4; //Pino do Arduino ligado ao IN3 da placa de relés
int pinorele4 = 5; //Pino do Arduino ligado ao IN4 da placa de relés
int pinorele5 = 6; //Pino do Arduino ligado ao IN5 da placa de relés
int pinorele6 = 7; //Pino do Arduino ligado ao IN6 da placa de relés
int pinorele7 = 8; //Pino do Arduino ligado ao IN7 da placa de relés
int pinorele8 = 9; //Pino do Arduino ligado ao IN8 da placa de relés
int pinorele9 = 10; //Pino do Arduino ligado ao IN9 da placa de relés
int pinorele10 = 11; //Pino do Arduino ligado ao IN10 da placa de relés
int pinorele11 = 12; //Pino do Arduino ligado ao IN11 da placa de relés
int pinorele12 = 13; //Pino do Arduino ligado ao IN12 da placa de relés
int pinorele13 = 14; //Pino do Arduino ligado ao IN13 da placa de relés
int pinorele14 = 15; //Pino do Arduino ligado ao IN14 da placa de relés
int pinorele15 = 16; //Pino do Arduino ligado ao IN15 da placa de relés
int pinorele16 = 17; //Pino do Arduino ligado ao IN16 da placa de relés

int estadorele1 = HIGH; //Armazena o estado do relé 1
int estadorele2 = HIGH; //Armazena o estado do relé 2
int estadorele3 = HIGH; //Armazena o estado do relé 3
int estadorele4 = HIGH; //Armazena o estado do relé 4
int estadorele5 = HIGH; //Armazena o estado do relé 5
int estadorele6 = HIGH; //Armazena o estado do relé 6
int estadorele7 = HIGH; //Armazena o estado do relé 7
int estadorele8 = HIGH; //Armazena o estado do relé 8
int estadorele9 = HIGH; //Armazena o estado do relé 9
int estadorele10 = HIGH; //Armazena o estado do relé 10
int estadorele11 = HIGH; //Armazena o estado do relé 11
int estadorele12 = HIGH; //Armazena o estado do relé 12
int estadorele13 = HIGH; //Armazena o estado do relé 13
int estadorele14 = HIGH; //Armazena o estado do relé 14
int estadorele15 = HIGH; //Armazena o estado do relé 15
int estadorele16 = HIGH; //Armazena o estado do relé 16

IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
pinMode(pinorele1, OUTPUT); //Define os pino dos reles como saída
pinMode(pinorele2, OUTPUT);
pinMode(pinorele3, OUTPUT);
pinMode(pinorele4, OUTPUT);
pinMode(pinorele5, OUTPUT);
pinMode(pinorele6, OUTPUT);
pinMode(pinorele7, OUTPUT);
pinMode(pinorele8, OUTPUT);
pinMode(pinorele9, OUTPUT);
pinMode(pinorele10, OUTPUT);
pinMode(pinorele11, OUTPUT);
pinMode(pinorele12, OUTPUT);
pinMode(pinorele13, OUTPUT);
pinMode(pinorele14, OUTPUT);
pinMode(pinorele15, OUTPUT);
pinMode(pinorele16, OUTPUT);
digitalWrite(pinorele1, estadorele1); //Coloca os pinos dos reles em
digitalWrite(pinorele2, estadorele2); //estado baixo (rele desligado)
digitalWrite(pinorele3, estadorele3);
digitalWrite(pinorele4, estadorele4);
digitalWrite(pinorele5, estadorele5);
digitalWrite(pinorele6, estadorele6);
digitalWrite(pinorele7, estadorele7);
digitalWrite(pinorele8, estadorele8);
digitalWrite(pinorele9, estadorele9);
digitalWrite(pinorele10, estadorele10);
digitalWrite(pinorele11, estadorele11);
digitalWrite(pinorele12, estadorele12);
digitalWrite(pinorele13, estadorele13);
digitalWrite(pinorele14, estadorele14);
digitalWrite(pinorele15, estadorele15);
digitalWrite(pinorele16, estadorele16);

Serial.begin(9600); //Inicializa a serial
irrecv.enableIRIn(); // Inicializa o receptor IR
}
void loop()
{
//Verifica se o sensor IR recebeu algum sinal
if (irrecv.decode(&results))
{
//Mostra na serial o valor lido pelo sensor IR
Serial.print("Valor lido : ");
Serial.println(results.value, HEX);
//Armazena o sinal recebido pelo sensor IR
armazenavalor = (results.value);
switch (armazenavalor)
{
  case 0xFF30CF: //Verifica se a tecla 1 foi acionada
estadorele1 = !estadorele1;
//Aciona rele 1 e liga dispositivo 1
digitalWrite(pinorele1, estadorele1);
break;
 
   case 0xFF18E7: //Verifica se a tecla 2 foi acionada
estadorele2 = !estadorele2;
//Aciona rele 2 e liga dispositivo 2
digitalWrite(pinorele2, estadorele2);
break;
    case 0xFF7A85: //Verifica se a tecla 3 foi acionada
estadorele3 = !estadorele3;
//Aciona rele 3 e liga dispositivo 3
digitalWrite(pinorele3, estadorele3);
break;
    case 0xFF10EF: //Verifica se a tecla 4 foi acionada
estadorele4 = !estadorele4;
//Aciona rele 4 e liga dispositivo 4
digitalWrite(pinorele4, estadorele4);
break;
     case 0xFF38C7: //Verifica se a tecla 5 foi acionada
estadorele5 = !estadorele5;
//Aciona rele 5 e liga dispositivo 5
digitalWrite(pinorele5, estadorele5);
break;
      case 0xFF5AA5: //Verifica se a tecla 6 foi acionada
estadorele6 = !estadorele6;
//Aciona rele 6 e liga dispositivo 6
digitalWrite(pinorele6, estadorele6);
break;
       case 0xFF42BD: //Verifica se a tecla 7 foi acionada
estadorele7 = !estadorele7;
//Aciona rele 7 e liga dispositivo 7
digitalWrite(pinorele7, estadorele7);
break;
       case 0xFF4AB5: //Verifica se a tecla 8 foi acionada
estadorele8 = !estadorele8;
//Aciona rele 8 e liga dispositivo 8
digitalWrite(pinorele8, estadorele8);
break;
       case 0xFF52AD: //Verifica se a tecla 9 foi acionada
estadorele9 = !estadorele9;
//Aciona rele 9 e liga dispositivo 9
digitalWrite(pinorele9, estadorele9);
break;
       case 0xFF6897: //Verifica se a tecla 10 foi acionada
estadorele10 = !estadorele10;
//Aciona rele 10 e liga dispositivo 10
digitalWrite(pinorele10, estadorele10);
break;
        case 0xFF9867: //Verifica se a tecla 11 foi acionada
estadorele11 = !estadorele11;
//Aciona rele 11 e liga dispositivo 11
digitalWrite(pinorele11, estadorele11);
break;
       case 0xFFB04F: //Verifica se a tecla 12 foi acionada
estadorele12 = !estadorele12;
//Aciona rele 12 e liga dispositivo 12
digitalWrite(pinorele12, estadorele12);
break;
       case 0xFFA857: //Verifica se a tecla 13 foi acionada
estadorele13 = !estadorele13;
//Aciona rele 13 e liga dispositivo 13
digitalWrite(pinorele13, estadorele13);
break;
       case 0xFF906F: //Verifica se a tecla 14 foi acionada
estadorele14 = !estadorele14;
//Aciona rele 14 e liga dispositivo 14
digitalWrite(pinorele14, estadorele14);
break;
       case 0xFF02FD: //Verifica se a tecla 15 foi acionada
estadorele15 = !estadorele15;
//Aciona rele 15 e liga dispositivo 15
digitalWrite(pinorele15, estadorele15);
break;
       case 0xFFC23D: //Verifica se a tecla 16 foi acionada
estadorele16 = !estadorele16;
//Aciona rele 16 e liga dispositivo 16
digitalWrite(pinorele16, estadorele16);
break;

case 0xFFA25D: //Verifica se a tecla ON foi acionada
//Liga todos os reles, colocando as portas em nivel alto
digitalWrite(pinorele1, HIGH);
digitalWrite(pinorele2, HIGH);
digitalWrite(pinorele3, HIGH);
digitalWrite(pinorele4, HIGH);
digitalWrite(pinorele5, HIGH);
digitalWrite(pinorele6, HIGH);
digitalWrite(pinorele7, HIGH);
digitalWrite(pinorele8, HIGH);
digitalWrite(pinorele9, HIGH);
digitalWrite(pinorele10, HIGH);
digitalWrite(pinorele11, HIGH);
digitalWrite(pinorele12, HIGH);
digitalWrite(pinorele13, HIGH);
digitalWrite(pinorele14, HIGH);
digitalWrite(pinorele15, HIGH);
digitalWrite(pinorele16, HIGH);

//Seta o estado de todos os reles para alto (Ligados)
estadorele1 = HIGH;
estadorele2 = HIGH;
estadorele3 = HIGH;
estadorele4 = HIGH;
estadorele5 = HIGH;
estadorele6 = HIGH;
estadorele7 = HIGH;
estadorele8 = HIGH;
estadorele9 = HIGH;
estadorele10 = HIGH;
estadorele11 = HIGH;
estadorele12 = HIGH;
estadorele13 = HIGH;
estadorele14 = HIGH;
estadorele15 = HIGH;
estadorele16 = HIGH;
break;

case 0xFFE21D: //Verifica se a tecla OFF foi acionada
//Desiga todos os reles, colocando as portas em nivel baixo
digitalWrite(pinorele1, LOW);
digitalWrite(pinorele2, LOW);
digitalWrite(pinorele3, LOW);
digitalWrite(pinorele4, LOW);
digitalWrite(pinorele5, LOW);
digitalWrite(pinorele6, LOW);
digitalWrite(pinorele7, LOW);
digitalWrite(pinorele8, LOW);
digitalWrite(pinorele9, LOW);
digitalWrite(pinorele10, LOW);
digitalWrite(pinorele11, LOW);
digitalWrite(pinorele12, LOW);
digitalWrite(pinorele13, LOW);
digitalWrite(pinorele14, LOW);
digitalWrite(pinorele15, LOW);
digitalWrite(pinorele16, LOW);

//Seta o estado de todos os reles para baixo (Desligados)
estadorele1 = LOW;
estadorele2 = LOW;
estadorele3 = LOW;
estadorele4 = LOW;
estadorele5 = LOW;
estadorele6 = LOW;
estadorele7 = LOW;
estadorele8 = LOW;
estadorele9 = LOW;
estadorele10 = LOW;
estadorele11 = LOW;
estadorele12 = LOW;
estadorele13 = LOW;
estadorele14 = LOW;
estadorele15 = LOW;
estadorele16 = LOW;
break;

}
irrecv.resume(); //Le o próximo valor
}
}

CÓDIGO 2

 // Programa : Automação Residencial por Bluetooth
// Autor : Ismael Viana
 void setup()
 {
   //pinMode(1,OUTPUT);
   pinMode(2,OUTPUT);
   pinMode(3,OUTPUT);
   pinMode(4,OUTPUT);
   pinMode(5,OUTPUT);
   pinMode(6,OUTPUT);
   pinMode(7,OUTPUT);
   pinMode(8,OUTPUT);
   pinMode(9,OUTPUT);
   pinMode(10,OUTPUT);
   pinMode(11,OUTPUT);
   pinMode(12,OUTPUT);
   pinMode(13,OUTPUT);
   pinMode(14,OUTPUT);
   pinMode(15,OUTPUT);
   pinMode(16,OUTPUT);
   Serial.begin(9600);
 }

 void loop()
{
  char c = Serial.read();
 
  if (c == 'a')digitalWrite(1,HIGH);
  if (c == 'b')digitalWrite(1,HIGH);
  if (c == 'c')digitalWrite(3,HIGH);
  if (c == 'd')digitalWrite(4,HIGH);
  if (c == 'e')digitalWrite(5,HIGH);
  if (c == 'f')digitalWrite(6,HIGH);
  if (c == 'g')digitalWrite(7,HIGH);
  if (c == 'h')digitalWrite(8,HIGH);
  if (c == 'i')digitalWrite(9,HIGH);
  if (c == 'j')digitalWrite(10,HIGH);
  if (c == 'k')digitalWrite(11,HIGH);
  if (c == 'l')digitalWrite(12,HIGH);
  if (c == 'm')digitalWrite(13,HIGH);
  if (c == 'n')digitalWrite(14,HIGH);
  if (c == 'o')digitalWrite(15,HIGH);
  if (c == 'p')digitalWrite(16,HIGH);
 
  if (c == 'A')digitalWrite(1,LOW);
  if (c == 'B')digitalWrite(2,LOW);
  if (c == 'C')digitalWrite(3,LOW);
  if (c == 'D')digitalWrite(4,LOW);
  if (c == 'E')digitalWrite(5,LOW);
  if (c == 'F')digitalWrite(6,LOW);
  if (c == 'G')digitalWrite(7,LOW);
  if (c == 'H')digitalWrite(8,LOW);
  if (c == 'I')digitalWrite(9,LOW);
  if (c == 'J')digitalWrite(10,LOW);
  if (c == 'K')digitalWrite(11,LOW);
  if (c == 'L')digitalWrite(12,LOW);
  if (c == 'M')digitalWrite(13,LOW);
  if (c == 'N')digitalWrite(14,LOW);
  if (c == 'O')digitalWrite(15,LOW);
  if (c == 'P')digitalWrite(16,LOW);
 
  delay(1000);
}

Exibições: 364

Respostas a este tópico

A unica maneira de lhe ajudar, pois esse ainda é um problema meu também, é lhe indicar esse vídeo. 

como juntar varios codigos arduino em 1 só para unir varios projetos PT 1

https://www.youtube.com/watch?v=GgnoUQOXMc4

rduinocdigoscdigos/forum/topic/show?id=6223006%3ATopic%3A369920&xg_source=msg 

Junçao de codigos

http://labdegaragem.com/group/arduinocdigoscdigos/forum/topic/show?...

Obrigado Eduardo pela ajuda já deu pra ter uma luz, vou lá tentar terminar meu projeto.

Deus te ajude, sei que é dificil, o pessoal pensa que somos preguiçosos

anexa o codigo ai  pra eu da uma olhada   seu segundo codigo esta faltando parte

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço