ola garagistas!

tenho um codigo q funciona normal na ide versao 0023 do arduino

mas da erro nas versoes 1.0. pra cima

alguem pode me dar um help ?

segue o codigo:

int numero;
int ledPin = 13;
unsigned long ultimo_tempo = 0;
int aciona = false;

#define RELE1 2
#define PASSWORD 1234 // Define a senha

int RELE1_STATE = LOW;


//=======================================================
// ENTRADAS DTMF DIGITAIS
//=======================================================
int pinBit01 = 7;
int pinBit02 = 6;
int pinBit03 = 5;
int pinBit04 = 4;
int pinBitSts= 3;

int bit01 = 0;
int bit02 = 0;
int bit03 = 0;
int bit04 = 0;
int bitSts= 0;


boolean proceed = false; //Flag que habilita o funcionamento dos comandos mediante senha digitada corretamente - inicializa falso!

String tmpPass =' '; //Armazenamento da senha digitada no celular!

String password = "1234"; // Defina sua senha aqui - pode ser de quaisquer números de digitos!

void setup() {

// Serial.begin(9600);

pinMode(RELE1, OUTPUT);
pinMode(9,INPUT);
pinMode(8,INPUT);

digitalWrite(RELE1, LOW);

// Serial.println("Aguardando comando...");
}


void loop() {

bitSts= digitalRead(pinBitSts);
bit01 = digitalRead(pinBit01);
bit02 = digitalRead(pinBit02);
bit03 = digitalRead(pinBit03);
bit04 = digitalRead(pinBit04);

numero = (bit01 * 1) + (bit02 * 2) + (bit03 * 4) + (bit04 * 8);

if (bitSts == HIGH && numero < 13) {

//Serial.print("Recebido: ");
switch (numero){
case 1:
// Serial.println("1");
tmpPass += '1'; //Adiciona o número digitado em tmpPass

/* COMANDO PARA RELE1 */
if (proceed == true) // Se proceed é verdadeiro (a senha foi digitada corretamente) comando é executado!
{
RELE1_STATE = !RELE1_STATE; // Troca de estado (HIGH/LOW) cada vez que pressionar o botão.
digitalWrite(RELE1, RELE1_STATE); //Liga-desliga Relé.
}
break;

case 2:
// Serial.println("2");
tmpPass += '2'; //Adiciona o número digitado em tmpPass
break;

case 3:
// Serial.println("3");
tmpPass += '3'; //Adiciona o número digitado em tmpPass
break;

case 4:
// Serial.println("4");
tmpPass += '4'; //Adiciona o número digitado em tmpPass
break;

case 5:
// Serial.println("5");
tmpPass += '5'; //Adiciona o número digitado em tmpPass
break;

case 6:
// Serial.println("6");
tmpPass += '6'; //Adiciona o número digitado em tmpPass
break;

case 7:
// Serial.println("7");
tmpPass += '7'; //Adiciona o número digitado em tmpPass
break;

case 8:
// Serial.println("8");
tmpPass += '8'; //Adiciona o número digitado em tmpPass
break;

case 9:
// Serial.println("9");
tmpPass += '9'; //Adiciona o número digitado em tmpPass
break;

case 10:
//Serial.println("0");
tmpPass += '0'; //Adiciona o número digitado em tmpPass
break;

case 11: // Caractere '*'
// Serial.println("*");
tmpPass =' '; //Limpa para armazenar a senha novamente!
proceed = false; //Desabilita todos os comandos até que a senha seja digitada novamente!
break;

case 12: // Caractere '#'
// Serial.println("#");

tmpPass = tmpPass.trim();//Retira os espaços em branco - ver caractere '*'!

if (tmpPass == password) { // Se a senha digitada for igual a senha armazenada...
//Serial.println("Senha correta!");
proceed = true; //Habilita todos os comandos via telemóvel
}else{
// Serial.println("Senha ERRADA!");
proceed = false; //Desabilita todos os comandos via telemóvel
}

/*
//Caso queira ver a saida da senha é só descomentar
Serial.print("tmpPass= ");
Serial.println(tmpPass);
Serial.print("password= ");
Serial.println(password);
*/

break;
}



// Zeram todas as variáveis
numero = 0;
bit01 = 0;
bit02 = 0;
bit03 = 0;
bit04 = 0;
bitSts= 0;
delay (500);
}


}

sei q mudou muita coisa de uma pra outro mas nao consigo fazer esse funcionar na ide mais nova por favor me ajudem !!!
desde ja obrigado!!!

Exibições: 340

Responder esta

Respostas a este tópico

Olá,

Copie as mensagens de erro que aparecem ao tentar compilar.

Abraço.

segue ai o erro caro  Wiechert 

 

bloqueador_com_dtmf:30: error: invalid conversion from 'char' to 'const char*'
bloqueador_com_dtmf:30: error: initializing argument 1 of 'String::String(const char*)'
bloqueador_com_dtmf.pde: In function 'void loop()':
bloqueador_com_dtmf:122: error: invalid conversion from 'char' to 'const char*'
bloqueador_com_dtmf:122: error: initializing argument 1 of 'String& String::operator=(const char*)'
bloqueador_com_dtmf:129: error: no match for 'operator=' in 'tmpPass = tmpPass.String::trim()'
D:\Users\miguel\Desktop\arduino\arduino-1.0.5-r2\hardware\arduino\cores\arduino/WString.h:83: note: candidates are: String& String::operator=(const String&)
D:\Users\miguel\Desktop\arduino\arduino-1.0.5-r2\hardware\arduino\cores\arduino/WString.h:84: note: String& String::operator=(const char*)


Olá,

Fiz as correções, agora tá compilando sem erros na IDE 1.6.0.

http://pastebin.com/GFUe8DSR

  1. int numero;
  2. int ledPin = 13;
  3. unsigned long ultimo_tempo = 0;
  4. int aciona = false;
  5. #define RELE1 2
  6. #define PASSWORD 1234 // Define a senha
  7. int RELE1_STATE = LOW;
  8.  
  9. //=======================================================
  10. // ENTRADAS DTMF DIGITAIS
  11. //=======================================================
  12. int pinBit01 = 7;
  13. int pinBit02 = 6;
  14. int pinBit03 = 5;
  15. int pinBit04 = 4;
  16. int pinBitSts= 3;
  17. int bit01 = 0;
  18. int bit02 = 0;
  19. int bit03 = 0;
  20. int bit04 = 0;
  21. int bitSts= 0;
  22.  
  23. boolean proceed = false; //Flag que habilita o funcionamento dos comandos mediante senha digitada corretamente - inicializa falso!
  24. String tmpPass =" "; //Armazenamento da senha digitada no celular!
  25. String password = "1234"; // Defina sua senha aqui - pode ser de quaisquer números de digitos!
  26. void setup() {
  27.  
  28. // Serial.begin(9600);
  29.  
  30. pinMode(RELE1, OUTPUT);
  31. pinMode(9,INPUT);
  32. pinMode(8,INPUT);
  33. digitalWrite(RELE1, LOW);
  34. // Serial.println("Aguardando comando...");
  35. }
  36.  
  37. void loop() {
  38.  
  39. bitSts= digitalRead(pinBitSts);
  40. bit01 = digitalRead(pinBit01);
  41. bit02 = digitalRead(pinBit02);
  42. bit03 = digitalRead(pinBit03);
  43. bit04 = digitalRead(pinBit04);
  44. numero = (bit01 * 1) + (bit02 * 2) + (bit03 * 4) + (bit04 * 8);
  45. if (bitSts == HIGH && numero < 13) {
  46.  
  47. //Serial.print("Recebido: ");
  48. switch (numero){
  49. case 1:
  50. // Serial.println("1");
  51. tmpPass += '1'; //Adiciona o número digitado em tmpPass
  52.  
  53. /* COMANDO PARA RELE1 */
  54. if (proceed == true) // Se proceed é verdadeiro (a senha foi digitada corretamente) comando é executado!
  55. {
  56. RELE1_STATE = !RELE1_STATE; // Troca de estado (HIGH/LOW) cada vez que pressionar o botão.
  57. digitalWrite(RELE1, RELE1_STATE); //Liga-desliga Relé.
  58. }
  59. break;
  60.  
  61. case 2:
  62. // Serial.println("2");
  63. tmpPass += '2'; //Adiciona o número digitado em tmpPass
  64. break;
  65.  
  66. case 3:
  67. // Serial.println("3");
  68. tmpPass += '3'; //Adiciona o número digitado em tmpPass
  69. break;
  70.  
  71. case 4:
  72. // Serial.println("4");
  73. tmpPass += '4'; //Adiciona o número digitado em tmpPass
  74. break;
  75.  
  76. case 5:
  77. // Serial.println("5");
  78. tmpPass += '5'; //Adiciona o número digitado em tmpPass
  79. break;
  80.  
  81. case 6:
  82. // Serial.println("6");
  83. tmpPass += '6'; //Adiciona o número digitado em tmpPass
  84. break;
  85.  
  86. case 7:
  87. // Serial.println("7");
  88. tmpPass += '7'; //Adiciona o número digitado em tmpPass
  89. break;
  90.  
  91. case 8:
  92. // Serial.println("8");
  93. tmpPass += '8'; //Adiciona o número digitado em tmpPass
  94. break;
  95.  
  96. case 9:
  97. // Serial.println("9");
  98. tmpPass += '9'; //Adiciona o número digitado em tmpPass
  99. break;
  100.  
  101. case 10:
  102. //Serial.println("0");
  103. tmpPass += '0'; //Adiciona o número digitado em tmpPass
  104. break;
  105.  
  106. case 11: // Caractere '*'
  107. // Serial.println("*");
  108. tmpPass =" "; //Limpa para armazenar a senha novamente!
  109. proceed = false; //Desabilita todos os comandos até que a senha seja digitada novamente!
  110. break;
  111.  
  112. case 12: // Caractere '#'
  113. // Serial.println("#");
  114.  
  115. tmpPass.trim();//Retira os espaços em branco - ver caractere '*'!
  116.  
  117. if (tmpPass == password) { // Se a senha digitada for igual a senha armazenada...
  118. //Serial.println("Senha correta!");
  119. proceed = true; //Habilita todos os comandos via telemóvel
  120. }else{
  121. // Serial.println("Senha ERRADA!");
  122. proceed = false; //Desabilita todos os comandos via telemóvel
  123. }
  124.  
  125. /*
  126. //Caso queira ver a saida da senha é só descomentar
  127. Serial.print("tmpPass= ");
  128. Serial.println(tmpPass);
  129. Serial.print("password= ");
  130. Serial.println(password);
  131. */
  132.  
  133. break;
  134. }
  135.  
  136.  
  137. // Zeram todas as variáveis
  138. numero = 0;
  139. bit01 = 0;
  140. bit02 = 0;
  141. bit03 = 0;
  142. bit04 = 0;
  143. bitSts= 0;
  144. delay (500);
  145. }
  146.  
  147.  
  148. }

Abraço.

opa vlw mesmo weichert obrigadao!!!

vou testar na pratica agr vlw!!!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço