Fórum
- Busca avançada
- Informacoes
- Regras
- PMF
- Glossário
- Dicas e Dúvidas
- Tutoriais
- Tutoriais
- Build Reports
- Desafio RoboCore
- Discussoes
- Arduino
- Albatross
- Técnicas
- Gerais
- Competições
- Iniciantes
- CAD/CAM/CAE
- Classificados
- Compra
- Venda
- Troca
- Vagas de Emprego
- Suporte
- Erros
- Sugestões
Autor
Mensagem
Pessoal, estou desenvolvendo um projeto de relógio de ponto para a faculdade e tive alguns problemas no código. Para este projeto estou utilizando um ESP8266 com WiFi, um LCD e um sensor RFID RC522, a ideia principal é, passar o cartão RFID no leitor e o mesmo enviar um registro para uma planilha do google. O projeto funciona em partes. Quando um usuário passa a primeira vez o registro é enviado para a planilha, porém, ao tentar passar novamente o registro não é feito, ou seja, está funcionando apenas uma vez o registro. A leitura do cartão funciona mais de uma vez, o leitor reconhece, aparece a mensagem no LCD, porém, não faz o registro depois da primeira vez. Eu sou bem iniciante na programação ainda então pode ser um erro grotesco kkkkkk. Abaixo estarei deixando o código, vou apenas censurar alguns tokens específicos para manter o projeto seguro. *Obs: deixei apenas dois usuários no código, porém, terão mais pessoas registradas. ///// #include <SPI.h> #include <Wire.h> #include <MFRC522.h> #include <LiquidCrystal_I2C.h> #include <ESP8266WiFi.h> #include <WiFiClientSecure.h> /////////////// const char* ssid = "***************"; const char* password = "************"; const char* host = "script.google.com"; const int httpsPort = 443; WiFiClientSecure client; String GAS_ID = "****************************************"; /////////////// #define RST_PIN D3 #define SS_PIN D4 MFRC522 rfid(SS_PIN, RST_PIN); MFRC522::MIFARE_Key key; byte readCard[4]; LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3, POSITIVE); String Thiago ="2271AB59"; String Wesli ="32AAA21"; String tagID =""; void setup() { Serial.begin(115200); SPI.begin(); rfid.PCD_Init(); lcd.begin(16,2); pinMode(D8,OUTPUT); lcd.clear(); lcd.setCursor(0,0); lcd.print("TESLA ENGENHARIA"); lcd.setCursor(0,1); lcd.print("BEM-VINDO(A)!"); WiFi.begin(ssid, password); Serial.println(""); Serial.print("Connecting"); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.print("."); } client.setInsecure(); Serial.print("connecting to "); Serial.println(host); if (!client.connect(host, httpsPort)) { Serial.println("connection failed"); return;} } void loop() { while (getID()) { lcd.clear(); if (tagID == Thiago) { digitalWrite(D8,HIGH); delay(800); digitalWrite(D8,LOW); delay(400); lcd.setCursor(0,0); lcd.print(" BEM-VINDO: "); lcd.setCursor(0,1); lcd.print(" THIAGO C!"); delay(1500); String url = "/macros/s/" + GAS_ID + "/exec?nome=Thiago%20Campos"; client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "User-Agent: BuildFailureDetectorESP8266\r\n" + "Connection: close\r\n\r\n"); String line = client.readStringUntil('\n'); while (client.connected()) { String line = client.readStringUntil('\n'); if (line == "\r") { Serial.println("headers received");} break;} } if (tagID == Wesli) { digitalWrite(D8,HIGH); delay(800); digitalWrite(D8,LOW); delay(400); lcd.setCursor(0,0); lcd.print(" BEM-VINDO: "); lcd.setCursor(0,1); lcd.print(" THIAGO C!"); delay(1500); String url = "/macros/s/" + GAS_ID + "/exec?nome=Wesli%20Rodrigues"; client.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "User-Agent: BuildFailureDetectorESP8266\r\n" + "Connection: close\r\n\r\n"); String line = client.readStringUntil('\n'); while (client.connected()) { String line = client.readStringUntil('\n'); if (line == "\r") { Serial.println("headers received");} break;} } else { delay(500); lcd.clear(); lcd.setCursor(0,0); lcd.print("TAG INVALIDA"); lcd.setCursor(0,1); lcd.print("TENTE NOVAMENTE"); delay(1500); } lcd.clear(); lcd.setCursor(0,0); lcd.print("TESLA ENGENHARIA"); lcd.setCursor(0,1); lcd.print("BEM-VINDO(A)!"); } } boolean getID(){ if ( !rfid.PICC_IsNewCardPresent()){ return false; } if( !rfid.PICC_ReadCardSerial()){ return false; } tagID =""; for ( uint8_t i = 0; i < 4; i++) { tagID.concat(String(rfid.uid.uidByte[i], HEX)); } tagID.toUpperCase(); rfid.PICC_HaltA(); return true; }
|
|
|
Todos os horários são GMT - 3 Horas | Você não tem permissão para escrever novas mensagens v não tem permissão para responder às mensagens Você não tem permissão para editar suas mensagens Você não tem permissão para deletar suas mensagens Você não tem permissão para classificar tópicos Você não tem permissão para classificar mensagens Você não tem permissão para votar em enquetes Anexar downloads : Proibido Fazer Download de Arquivos: Proibido |
Powered by phpBB © 2001 phpBB Group
ROBOCORE TECNOLOGIA
A RoboCore foi criada em 2008 com o intuito de incentivar o desenvolvimento tecnologico, fabricando e fornecendo peças para automação e robótica de alta qualidade a preços acessíveis.
RoboCore Tecnologia LTDA
CNPJ 10.383.409/0001-98
D-U-N-S Certified: 89-963-8833
Santana de Parnaiba/SP - Brasil
CNPJ 10.383.409/0001-98
D-U-N-S Certified: 89-963-8833
Santana de Parnaiba/SP - Brasil
NOSSAS REDES SOCIAIS
LINKS ÚTEIS
POLÍTICAS DA LOJA
CENTRAL DE ATENDIMENTO
ROBOCORE® 2023. Todos os direitos reservados