boa tarde meus amigos,

estou com um problema no desenvolvimento de um código,

envolve um arduino uno + teclado 4x4 + arduino shield GSM 900.

se alguém poder me orientar

Exibições: 373

Responder esta

Respostas a este tópico

segue o erro em enexo

Anexos

Oi GS, boa tarde.

Posso te orientar sim.

Leia o tópico: http://labdegaragem.com/forum/topics/sugest-o-de-como-postar

Rui

Oi GS, 

Voce criou uma instância chamada kdp, mas nestas linhas está usando outra instância.

keypad.getKey();   e  switch (keypad.getState()){ 

A sintaxe da instrução keypad.getKey();  é  char xpto = keypad.getKey(); 

este trecho está todo errado:

void checkPassword(){
if (password.evaluate()){
void teclado()

}

Aqui falta a definição deste porta4        digitalWrite(porta4, HIGH);

Rui

alterei mais acho q vis cacaca

não compilou]

rsss

#include <Password.h> //http://www.arduino.cc/playground/uploads/Code/Password.zip
#include <Keypad.h> //http://www.arduino.cc/playground/uploads/Code/Keypad.zip
#include "SIM900.h"
#include "sms.h"
#include "SoftwareSerial.h"
#include "sms.h"
const byte ROWS = 4; // Quatro linhas por...
const byte COLS = 4; // Quatro colunas.
// Define o Keypad (mapa do circuito do teclado).
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
// Conecta o teclado matricial em linha 0, linha 1, linha 2, linha 3 e linha 4...
//dos pinos do arduino.
byte rowPins[ROWS] = {14, 15, 16, 17 };
// Conecta o teclado matricial em coluna 0, coluna 1, coluna 2, coluna 3 e...
//coluna 4 do arduino.
byte colPins[COLS] = {18, 19, 7, 6 };
// Cria um objto Keypad.(mapeamento do teclado)

char xpto = keypad.getKey();
//Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

Password password = Password( "3550" ); //Senha

SMSGSM sms;
boolean started=false;
char smsbuffer[160];
char n[20];
int inc=10;
int porta1 = 13;
int porta2 = 12;
int porta3 = 11;
int garagem = 10;
//inserir o número telefonico
char number[]="+554999594541";
void setup()
{
pinMode(porta1,OUTPUT);
pinMode(porta2,OUTPUT);
pinMode(porta3,OUTPUT);
pinMode(garagem,OUTPUT);
//Serial connection.
Serial.begin(9600);
Serial.println("GSM Shield testing.");
//Start configuration of shield with baudrate.
if (gsm.begin(2400)){
Serial.println("\nstatus=READY");
started=true;
}
else Serial.println("\nstatus=IDLE");
if(started){
delsms();
}
};
void loop()
{
Keypad.getKey();
}
//Eventos especiais
void keypadEvent(KeypadEvent eKey){
switch (Keypad.getState()){
case PRESSED:

Serial.print("Digite: ");
Serial.println(eKey);
switch (eKey){
case '*':
checkPassword();
break;
case '#':
password.reset();
break;
default:
password.append(eKey);
}
}
}
void checkPassword(){
if (password.evaluate()){
void teclado(){

}


Serial.println("Sucesso");
delay(2000);
int pos=0;
//Serial.println("Loop");
if(started){
pos=sms.IsSMSPresent(SMS_ALL);
if(pos){
Serial.println("IsSMSPresent at pos ");
Serial.println(pos);
sms.GetSMS(pos,n,smsbuffer,100);
Serial.println(n);
Serial.println(smsbuffer);
if(!strcmp(smsbuffer,"B1")){
Serial.println("BLOQUEADO");
digitalWrite(porta1,LOW);
delay(100);
if (sms.SendSMS(number, "LAMP 1 APAGADA"))
Serial.println("\nSMS sent OK");
}
if(!strcmp(smsbuffer,"L1")){
Serial.println("LIBERADO");
digitalWrite(porta1,HIGH);
delay(100);
if (sms.SendSMS(number, "LAMP 1 ACESSA"))
Serial.println("\nSMS sent OK");
}
if(!strcmp(smsbuffer,"B2")){
Serial.println("BLOQUEADO");
digitalWrite(porta2,LOW);
delay(100);
if (sms.SendSMS(number, "LAMP 2 APAGADA"))
Serial.println("\nSMS sent OK");
}
if(!strcmp(smsbuffer,"L2")){
Serial.println("LIBERADO");
digitalWrite(porta2,HIGH);
delay(100);
if (sms.SendSMS(number, "LAMP 2 ACESSA"))
Serial.println("\nSMS sent OK");
}
if(!strcmp(smsbuffer,"B3")){
Serial.println("BLOQUEADO");
digitalWrite(porta3,LOW);
delay(100);
if (sms.SendSMS(number, "LAMP 3 APAGADA"))
Serial.println("\nSMS sent OK");
}
if(!strcmp(smsbuffer,"L3")){
Serial.println("LIBERADO");
digitalWrite(porta3,HIGH);
delay(100);
if (sms.SendSMS(number, "LAMP 3 ACESSA"))
Serial.println("\nSMS sent OK");
}
else if(!strcmp(smsbuffer,"B4")){
Serial.println("fechado");
digitalWrite(garagem,LOW);
delay(100);
if (sms.SendSMS(number, "garagem fechada"))
Serial.println("\nSMS sent OK");
}
else if(!strcmp(smsbuffer,"L4")){
Serial.println("aberto");
digitalWrite(garagem,HIGH);
delay(100);
if (sms.SendSMS(number, "garagem aberta"))
Serial.println("\nSMS sent OK");
}
delsms();
}
}
}
void teclado(){

if (sms.SendSMS(number, " senha da garagem foi acionada, cheguei em casa agora"))
Serial.println("\nSMS sent OK");
//Por aqui parametro desta função
}
void delsms(){
Serial.println("delsms");
for (int i=0; i<10; i++){ //do it max 10 times
int pos=sms.IsSMSPresent(SMS_ALL);
if (pos!=0){
Serial.print("\nFind SMS at the pos ");
Serial.println(pos);
if (sms.DeleteSMS(pos)==1){
Serial.print("\nDeleted SMS at the pos ");
Serial.println(pos);
}
else
{
Serial.print("\nCant del SMS at the pos ");
Serial.println(pos);
}
}
}
}

GS,
acho que você não leu o tópico que recomendei
Pois lá, uma das recomendações era de não postar codes na área de texto do tópico.
Rui

desculpe

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço