Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SPI.h>
- #include <SD.h>
- #include <Wire.h>
- #include <LiquidCrystal_I2C.h>
- #include <EEPROM.h>
- #include <SoftwareSerial.h>
- #define botao 9
- bool flag = LOW;
- File myFile;
- File myFile2;
- int acao = 0;
- int del = 1;
- int cont = 0;
- int regresso = 0;
- int gravar = 0;
- int istatus = 0;
- int config = 0;
- int contador = EEPROM.read(1);
- int contrast = EEPROM.read(10);
- ///Portas do Diplay
- LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //modelo para display 16x2 LiquidCrystal_I2C lcd(0x3F,2,1,0,4,5,6,7,3, POSITIVE); 20x4
- //Portas do Bluetoosh
- SoftwareSerial portOne(A0, A1);
- void setup()
- {
- Serial.begin(9600);
- portOne.begin(9600);
- if (contrast == 0) {
- EEPROM.write(10, 85 );
- contrast = EEPROM.read(10);
- }
- lcd.setBacklight(HIGH);///Brilho da Visor
- lcd.begin(16, 2);
- lcd.print("Iniciando...");
- if (!SD.begin(4)) { ////PINO SDCS do Leitor SD
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("Falha ao Iniciar");
- lcd.setCursor(0, 1);
- lcd.print("Cartao Ausente!");
- delay(999999999);
- return;
- }
- pinMode(13, OUTPUT);
- pinMode(10, OUTPUT);
- pinMode(botao, INPUT_PULLUP);
- pinMode(3, OUTPUT); //Pino do buzzer
- pinMode(A2, INPUT);
- pinMode(A3, INPUT);
- digitalWrite(A2, HIGH);
- digitalWrite(A3, HIGH);
- delay(1000);
- lcd.clear();
- }
- void loop()
- {
- if (!digitalRead(botao)) {
- digitalWrite (10, LOW); // Significa que o LED será ligado.
- for (int i = 0 ; i < EEPROM.length() ; i++) {
- EEPROM.write(i, 0);
- }
- lcd.clear();
- lcd.setCursor(3, 0);
- lcd.print("RESET TOTAL!");
- lcd.setCursor(5, 1);
- lcd.print("Aguarde....");
- delay(5000);
- asm volatile (" jmp 0");
- }
- if (digitalRead(A2) == LOW) {
- flag = HIGH;
- EEPROM.write(1, (contador + 1) );
- contador = EEPROM.read(1);
- istatus = 1;
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("PRONTO OBRIGADO!");
- lcd.setCursor(5, 1);
- lcd.print("Aguarde....");
- tone(3, 262, 200); //DO
- delay(200);
- tone(3, 294, 300); //RE
- delay(200);
- tone(10, 330, 300); //MI
- delay(200);
- tone(3, 349, 300); //FA
- delay(300);
- tone(3, 349, 300); //FA
- delay(300);
- tone(3, 349, 300); //FA
- delay(300);
- tone(3, 262, 100); //DO
- delay(200);
- tone(3, 294, 300); //RE
- delay(200);
- tone(3, 262, 100); //DO
- delay(200);
- tone(3, 294, 300); //RE
- delay(300);
- tone(3, 294, 300); //RE
- delay(300);
- tone(3, 294, 300); //RE
- delay(300);
- tone(310, 262, 200); //DO
- delay(200);
- tone(3, 392, 200); //SOL
- delay(200);
- tone(3, 349, 200); //FA
- delay(200);
- tone(3, 330, 300); //MI
- delay(300);
- tone(3, 330, 300); //MI
- delay(300);
- tone(3, 330, 300); //MI
- delay(300);
- tone(3, 262, 200); //DO
- delay(200);
- tone(3, 294, 300); //RE
- delay(200);
- tone(30, 330, 300); //MI
- delay(200);
- tone(3, 349, 300); //FA
- delay(300);
- tone(3, 349, 300); //FA
- delay(300);
- tone(3, 349, 300); //FA
- delay(300);
- }
- if (digitalRead(A3) == LOW) {
- if (flag == HIGH)
- {
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("..ULTIMA SENHA!.");
- delay(3000);
- istatus = 1;
- flag = LOW;
- }
- }
- if (istatus == 0) {
- if (cont == 1) {
- digitalWrite (10, HIGH); // Significa que o LED será ligado.
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print(">ACESSE O WIFI<"); // Tela de Menu Inicial
- lcd.setCursor(0, 1);
- lcd.print("PRESSIONE BOTAO!");
- }
- if (cont == 500) {
- lcd.setCursor(0, 3);
- lcd.print(" ");
- }
- }
- if (istatus == 1) {
- if (cont == 1) {
- digitalWrite (10, LOW); // Significa que o LED será Apagado.
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("DIGITE A SENHA:");
- lcd.setCursor(0, 1);
- lcd.print(codigos(contador));
- lcd.print(" /TEMPO:");
- lcd.print(30 - regresso);
- }
- if (cont == 350) {
- //lcd.setCursor(0, 0);
- }
- if (regresso == 30) {
- istatus = 0;
- regresso = 0;
- lcd.clear();
- lcd.setCursor(1, 0);
- lcd.print("AGRADECEMOS A");
- lcd.setCursor(1, 1);
- lcd.print("PREFERENCIAS!");
- delay(3000);
- istatus = 0;
- }
- if (cont == 999) {
- regresso = regresso + 1;
- }
- }
- delay(1);
- cont++;
- if (cont >= 1000) {
- cont = 0;
- }
- if (portOne.available()) {
- char r = portOne.read();
- if (r == 'c') {
- EEPROM.write(1, (contador + 1) );
- contador = EEPROM.read(1);
- istatus = 1;
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("SENHA BLUETOOTH");
- lcd.setCursor(0, 1);
- lcd.print("Aguarde.........");
- delay(200);
- tone(3, 262, 200); //DO
- delay(200);
- tone(3, 294, 300); //RE
- delay(200);
- tone(10, 330, 300); //MI
- delay(200);
- tone(3, 349, 300); //FA
- delay(300);
- tone(3, 349, 300); //FA
- delay(300);
- tone(3, 349, 300); //FA
- delay(300);
- tone(3, 262, 100); //DO
- delay(200);
- tone(3, 294, 300); //RE
- delay(200);
- tone(3, 262, 100); //DO
- delay(200);
- tone(3, 294, 300); //RE
- delay(300);
- tone(3, 294, 300); //RE
- delay(300);
- tone(3, 294, 300); //RE
- delay(300);
- tone(310, 262, 200); //DO
- delay(200);
- tone(3, 392, 200); //SOL
- delay(200);
- tone(3, 349, 200); //FA
- delay(200);
- tone(3, 330, 300); //MI
- delay(300);
- tone(3, 330, 300); //MI
- delay(300);
- tone(3, 330, 300); //MI
- delay(300);
- tone(3, 262, 200); //DO
- delay(200);
- tone(3, 294, 300); //RE
- delay(200);
- tone(30, 330, 300); //MI
- delay(200);
- tone(3, 349, 300); //FA
- delay(300);
- tone(3, 349, 300); //FA
- delay(300);
- tone(3, 349, 300); //FA
- delay(300);
- }
- if (r == '(') {
- gravar = 1;
- }
- if (r == ')') {
- gravar = 0;
- }
- if (gravar == 1) {
- if (del == 1) {
- myFile.close();
- delay(10);
- SD.remove("CODIGOS.TXT");
- delay(10);
- EEPROM.write(1, 0);
- contador = EEPROM.read(1);
- del = 0;
- }
- myFile = SD.open("CODIGOS.TXT", FILE_WRITE);
- if (myFile) {
- myFile.print(r);
- myFile.close();
- }
- }
- if (config == 1) {
- if (del == 1) {
- myFile.close();
- delay(10);
- SD.remove("CODIGOS.TXT");
- delay(10);
- EEPROM.write(1, 0);
- contador = EEPROM.read(1);
- del = 0;
- }
- myFile = SD.open("CODIGOS.TXT", FILE_WRITE);
- if (myFile) {
- myFile.print(r);
- myFile.close();
- }
- }
- acao = 1;
- } else {
- //lcd.clear();
- acao = 0;
- del = 1;
- }
- }
- String codigos(int num) {
- myFile = SD.open("CODIGOS.TXT");
- if (myFile) {
- String conteudo;
- int x = 0;
- while (myFile.available()) {
- char caractere = myFile.read();
- if (caractere != ',') {
- conteudo.concat(caractere);
- } else {
- x++;
- if (num == x) {
- myFile.close();
- return conteudo;
- }
- conteudo = "";
- }
- }
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("MAQUINA OFF-LINE");
- lcd.setCursor(1, 1);
- lcd.print("Proibido Usar!");
- delay(999999999);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement