Paso 3: código!!!!
/** Conexiones RFID - RFID tx---> ardunio de rx(3)
*
* GSM - GSM rx---> arduino 8
* Tx GSM---> arduino 7
*
* MOTOR - C2B---> arduino 4
* C2A---> ardunio 5
*
* RGB LED - A0--> rojo
* A1--> verde
* zumbador 6
*/
#include
RfidSerial SoftwareSerial (3, 2);
SoftwareSerial SIM900 (7, 8);
int aBAL = 1000;
bBAL int = 1500;
cBAL int = 2000;
Cadena a;
const int ledPin = 13;
void setup() {}
pinMode (6, salida);
pinMode (A0, salida);
pinMode (A1, salida);
pinMode (A2, salida);
pinMode (4, salida);
pinMode (5, salida);
digitalWrite (4, alto);
digitalWrite (5, alto);
digitalWrite (6, bajo);
Serial.Begin(9600);
pinMode (ledPin, salida);
SIM900. comenzar (19200);
SIM900. Imprimir ("AT + CMGF = 1\r");
rfidSerial.begin(9600);
digitalWrite (A2, alto);
Delay(1000);
digitalWrite (A2, LOW);
Serial.println ("WAITNG para vehículos...");
}
void loop() {}
digitalWrite (A2, alto);
Delay(1000);
digitalWrite (A2, LOW);
digitalWrite (A0, alto);
{while(rfidSerial.Available())}
un = rfidSerial.readString(); / / lee los datos entrantes como cadena
rfidSerial.print ("vehículo RFID leer");
rfidSerial.print(a);
Delay(1000);
digitalWrite (ledPin, HIGH);
Delay(1000);
SIM900. println ("AT + CMGS = \"8970220880\ ""); CAMBIAR EL NÚMERO A SER ENVIADOS AQUÍ
Delay(1000);
//--------------------------------------------______________________________________________
{if(a=="03908807\r\n")}
Serial.println ("Esto es A");
aBAL = aBAL-30;
Si (aBAL > = 30) {}
void openGATE();---
digitalWrite (A0, LOW);
digitalWrite (A1, alto);
digitalWrite (6, alto);
Delay(1000);
digitalWrite (4, bajo);
Delay(750);
digitalWrite (4, alto);
Delay(2000);
//}
SIM900. Imprimir ("Hola, muchas gracias, para usar MG carretera peaje de Rs.30/ - deducido el saldo es Rs.");
SIM900.Print(aBAL);
}
Else {}
void closeGATE();
digitalWrite (A1, LOW);
digitalWrite (6, bajo);
digitalWrite (A0, alto);
Delay(1000);
digitalWrite (5, bajo);
Delay(750);
digitalWrite (5, alto);
Delay(2000);
//-----------
SIM900. Imprimir ("Hola, gracias, para usar MG carretera peaje su BALANCE es demasiado bajo por favor recargue!");
}
retrasar (1000);
SIM900. println ((char) 26);
retrasar (1000);
SIM900. println ();
digitalWrite (ledPin, LOW);
}
//--------------------------------------------____________________________________________________________________________________________
else {} if(a=="13703425\r\n")
Serial.println ("Esto es B");
bBAL = bBAL-30;
Si (bBAL > = 30) {}
void openGATE();
digitalWrite (A0, LOW);
digitalWrite (A1, alto); digitalWrite (6, alto);
Delay(1000);
digitalWrite (4, bajo);
Delay(750);
digitalWrite (4, alto);
Delay(2000);
//--------------------
SIM900. Imprimir ("Hola, muchas gracias b, para uso MG carretera peaje de Rs.30/ - deducido el saldo es Rs.");
SIM900.Print(bBAL);
}
Else {//void closeGATE();
digitalWrite (A1, LOW);
digitalWrite (A0, alto);
digitalWrite (6, bajo);
Delay(1000);
digitalWrite (5, bajo);
Delay(750);
digitalWrite (5, alto);
Delay(2000);
//-------------------
SIM900. Imprimir ("¡ Hola, gracias b, para usar MG carretera peaje su BALANCE es demasiado bajo por favor recargue!");
}
retrasar (1000);
SIM900. println ((char) 26);
retrasar (1000);
SIM900. println ();
digitalWrite (ledPin, LOW);
}
//-------------------------------------------________________________________________________________________________
else {} if(a=="03908806\r\n")
Serial.println ("Esto es C");
cBAL = cBAL-30;
Si (cBAL > = 30) {}
void openGATE();
digitalWrite (A0, LOW);
digitalWrite (A1, alto); digitalWrite (6, alto);
Delay(1000);
digitalWrite (4, bajo);
Delay(750);
digitalWrite (4, alto);
Delay(2000);
//---------------
SIM900. Imprimir ("Hola, muchas gracias c, para uso MG carretera peaje de Rs.30/ - deducido el saldo es Rs.");
SIM900.Print(cBAL);
}
Else {}
void closeGATE();
digitalWrite (A1, LOW);
digitalWrite (A0, alto);
digitalWrite (6, bajo);
Delay(1000);
digitalWrite (5, bajo);
Delay(750);
digitalWrite (5, alto);
Delay(2000);
//---------------
SIM900. Imprimir ("¡ Hola, gracias c, para uso MG carretera peaje su BALANCE es demasiado bajo por favor recargue!");
}
//-------------------
}
//-------------------------------------------
Else {/ / no mal la tarjeta o
digitalWrite (A0, alto);
Delay(1000);
digitalWrite (A0, LOW);
Delay(2000);
}
retrasar (1000);
SIM900. println ((char) 26);
retrasar (1000);
SIM900. println ();
digitalWrite (ledPin, LOW);
Delay(5000);
void closeGATE();
digitalWrite (A1, LOW);
digitalWrite (A0, alto); digitalWrite (6, bajo);
Delay(1000);
digitalWrite (5, bajo);
Delay(750);
digitalWrite (5, alto);
Delay(2000);
}
}