Resultados da busca - %E3%80%90%E2%94%8B%E5%A5%BD%E8%AE%A1%E5%88%922%E2%92%8F7%E2%92%8F01705%7B%E6%89%A3%E3%80%93%E3%80%91%E5%8D%8E%E5%AE%87%E5%A8%B1%E4%B9%90%E5%A5%96%E9%87%91%E6%98%AF%E5%A4%9A%E5%B0%91
er_interface.h:28,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFiSTA.h:29,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:34,
from K:\!Kaie\!Laboratório\Arduino\!!Arduino Skatches\ESP_-_Salva_Arquivo\ESP_-_Salva_Arquivo.ino:23:
C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ets_sys.h:189:105: error: conflicting declaration of C function 'void* malloc(size_t, const char*, int)'
void *pvPortMalloc(size_t xWantedSize, const char* file, int line) __attribute__((malloc, alloc_size(1)));
^
In file included from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/newlib/stdio.h:29:0,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0\cores\esp32/Arduino.h:27,
from sketch\ESP_-_Salva_Arquivo.ino.cpp:1:
C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/newlib/stdlib.h:101:21: note: previous declaration 'void* malloc(size_t)'
_PTR _EXFUN_NOTHROW(malloc,(size_t __size));
^
C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/newlib/_ansi.h:64:37: note: in definition of macro '_EXFUN_NOTHROW'
#define _EXFUN_NOTHROW(name, proto) name proto _NOTHROW
^
In file included from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/os_type.h:28:0,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/user_interface.h:28,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFiSTA.h:29,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:34,
from K:\!Kaie\!Laboratório\Arduino\!!Arduino Skatches\ESP_-_Salva_Arquivo\ESP_-_Salva_Arquivo.ino:23:
C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ets_sys.h:191:53: error: conflicting declaration of C function 'void free(void*, const char*, int)'
void vPortFree(void *ptr, const char* file, int line);
^
In file included from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/newlib/stdio.h:29:0,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0\cores\esp32/Arduino.h:27,
from sketch\ESP_-_Salva_Arquivo.ino.cpp:1:
C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/newlib/stdlib.h:90:22: note: previous declaration 'void free(void*)'
_VOID _EXFUN_NOTHROW(free,(_PTR));
^
C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/newlib/_ansi.h:64:37: note: in definition of macro '_EXFUN_NOTHROW'
#define _EXFUN_NOTHROW(name, proto) name proto _NOTHROW
^
In file included from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/os_type.h:28:0,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/user_interface.h:28,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFiSTA.h:29,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:34,
from K:\!Kaie\!Laboratório\Arduino\!!Arduino Skatches\ESP_-_Salva_Arquivo\ESP_-_Salva_Arquivo.ino:23:
C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ets_sys.h:207:37: error: conflicting declaration of C function 'void ets_install_putc1(void*)'
void ets_install_putc1(void* routine);
^
In file included from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h:120:0,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/freertos/freertos/FreeRTOS.h:99,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0\cores\esp32/Arduino.h:32,
from sketch\ESP_-_Salva_Arquivo.ino.cpp:1:
C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/esp32/rom/ets_sys.h:242:6: note: previous declaration 'void ets_install_putc1(void (*)(char))'
void ets_install_putc1(void (*p)(char c));
^
In file included from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/os_type.h:28:0,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/user_interface.h:28,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFiSTA.h:29,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:34,
from K:\!Kaie\!Laboratório\Arduino\!!Arduino Skatches\ESP_-_Salva_Arquivo\ESP_-_Salva_Arquivo.ino:23:
C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ets_sys.h:208:27: error: conflicting declaration of C function 'void ets_isr_mask(int)'
void ets_isr_mask(int intr);
^
In file included from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h:120:0,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/freertos/freertos/FreeRTOS.h:99,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0\cores\esp32/Arduino.h:32,
from sketch\ESP_-_Salva_Arquivo.ino.cpp:1:
C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/esp32/rom/ets_sys.h:477:6: note: previous declaration 'void ets_isr_mask(uint32_t)'
void ets_isr_mask(uint32_t mask);
^
In file included from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/os_type.h:28:0,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/user_interface.h:28,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFiSTA.h:29,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:34,
from K:\!Kaie\!Laboratório\Arduino\!!Arduino Skatches\ESP_-_Salva_Arquivo\ESP_-_Salva_Arquivo.ino:23:
C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ets_sys.h:209:29: error: conflicting declaration of C function 'void ets_isr_unmask(int)'
void ets_isr_unmask(int intr);
^
In file included from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h:120:0,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/freertos/freertos/FreeRTOS.h:99,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0\cores\esp32/Arduino.h:32,
from sketch\ESP_-_Salva_Arquivo.ino.cpp:1:
C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/esp32/rom/ets_sys.h:488:6: note: previous declaration 'void ets_isr_unmask(uint32_t)'
void ets_isr_unmask(uint32_t unmask);
^
In file included from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/os_type.h:28:0,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/user_interface.h:28,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFiSTA.h:29,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:34,
from K:\!Kaie\!Laboratório\Arduino\!!Arduino Skatches\ESP_-_Salva_Arquivo\ESP_-_Salva_Arquivo.ino:23:
C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ets_sys.h:216:68: error: conflicting declaration of C function 'bool ets_task(ETSTask, uint8, ETSEvent*, uint8)'
bool ets_task(ETSTask task, uint8 prio, ETSEvent *queue, uint8 qlen);
^
In file included from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h:120:0,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/freertos/freertos/FreeRTOS.h:99,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0\cores\esp32/Arduino.h:32,
from sketch\ESP_-_Salva_Arquivo.ino.cpp:1:
C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/esp32/rom/ets_sys.h:105:6: note: previous declaration 'void ets_task(ETSTask, uint8_t, ETSEvent*, uint8_t)'
void ets_task(ETSTask task, uint8_t prio, ETSEvent *queue, uint8_t qlen);
^
In file included from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/os_type.h:28:0,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/user_interface.h:28,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFiSTA.h:29,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:34,
from K:\!Kaie\!Laboratório\Arduino\!!Arduino Skatches\ESP_-_Salva_Arquivo\ESP_-_Salva_Arquivo.ino:23:
C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ets_sys.h:217:54: error: conflicting declaration of C function 'bool ets_post(uint8, ETSSignal, ETSParam)'
bool ets_post(uint8 prio, ETSSignal sig, ETSParam par);
^
In file included from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/freertos/freertos/FreeRTOSConfig.h:120:0,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/freertos/freertos/FreeRTOS.h:99,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0\cores\esp32/Arduino.h:32,
from sketch\ESP_-_Salva_Arquivo.ino.cpp:1:
C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/esp32/rom/ets_sys.h:119:12: note: previous declaration 'ETS_STATUS ets_post(uint8_t, ETSSignal, ETSParam)'
ETS_STATUS ets_post(uint8_t prio, ETSSignal sig, ETSParam par);
^
In file included from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/user_interface.h:38:0,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFiSTA.h:29,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:34,
from K:\!Kaie\!Laboratório\Arduino\!!Arduino Skatches\ESP_-_Salva_Arquivo\ESP_-_Salva_Arquivo.ino:23:
C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/gpio.h:40:29: error: redeclaration of 'GPIO_PIN_INTR_DISABLE'
GPIO_PIN_INTR_DISABLE = 0,
^
In file included from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/driver/driver/gpio.h:24:0,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/esp32/esp_sleep.h:19,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/esp32/esp_system.h:21,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/freertos/freertos/portable.h:126,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/freertos/freertos/FreeRTOS.h:105,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0\cores\esp32/Arduino.h:32,
from sketch\ESP_-_Salva_Arquivo.ino.cpp:1:
C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/esp32/rom/gpio.h:52:5: note: previous declaration 'GPIO_INT_TYPE GPIO_PIN_INTR_DISABLE'
GPIO_PIN_INTR_DISABLE = 0,
^
In file included from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/user_interface.h:38:0,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFiSTA.h:29,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:34,
from K:\!Kaie\!Laboratório\Arduino\!!Arduino Skatches\ESP_-_Salva_Arquivo\ESP_-_Salva_Arquivo.ino:23:
C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/gpio.h:41:29: error: redeclaration of 'GPIO_PIN_INTR_POSEDGE'
GPIO_PIN_INTR_POSEDGE = 1,
^
In file included from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/driver/driver/gpio.h:24:0,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/esp32/esp_sleep.h:19,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/esp32/esp_system.h:21,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/freertos/freertos/portable.h:126,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/freertos/freertos/FreeRTOS.h:105,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0\cores\esp32/Arduino.h:32,
from sketch\ESP_-_Salva_Arquivo.ino.cpp:1:
C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/esp32/rom/gpio.h:53:5: note: previous declaration 'GPIO_INT_TYPE GPIO_PIN_INTR_POSEDGE'
GPIO_PIN_INTR_POSEDGE = 1,
^
In file included from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/user_interface.h:38:0,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFiSTA.h:29,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:34,
from K:\!Kaie\!Laboratório\Arduino\!!Arduino Skatches\ESP_-_Salva_Arquivo\ESP_-_Salva_Arquivo.ino:23:
C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/gpio.h:42:29: error: redeclaration of 'GPIO_PIN_INTR_NEGEDGE'
GPIO_PIN_INTR_NEGEDGE = 2,
^
In file included from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/driver/driver/gpio.h:24:0,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/esp32/esp_sleep.h:19,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/esp32/esp_system.h:21,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/freertos/freertos/portable.h:126,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/freertos/freertos/FreeRTOS.h:105,
from C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0\cores\esp32/Arduino.h:32,
from sketch\ESP_-_Salva_Arquivo.ino.cpp:1:
C:\Users\amora\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0/tools/sdk/include/esp32/rom/gpio.h:54:5: note: previous declaration 'GPIO_INT_TYPE GPIO_PIN_INTR_NEGEDGE'
GPIO_PIN_INTR_NEGEDGE = 2,
^
In file included from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/user_interface.h:38:0,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFiSTA.h:29,
from C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:34,
from K:\!Kaie\!Laboratório\Arduino\!!Arduino Skatches\ESP_-_Salva_Arquivo\ESP_-_Salva_Arquivo.ino:23:
C:\Users\amora\OneDrive\Documentos\Arduino\libraries\ESP8266WiFi\src/gpio.h:43:29: error: redeclaration of 'GPIO_PIN_INTR_ANYEDGE'
GPIO_PIN_INTR_ANYEDGE = 3,
^…
omento da leitura do cartão, os dados lidos sejam gravados/armazenados em uma variável para utilização em outra parte do código que estou projetando.
No código atual, o sistema adotado faz a leitura dos dados através de um FOR e já exibi diretamente, tanto via serial como via LCD, sem serem armazenados em uma serial.
Segue o código abaixo para aqueles que puderem dar suas sugestões.
#include <LiquidCrystal.h> #include <SPI.h> #include <MFRC522.h>
//Pinos Reset e SS módulo MFRC522 #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN);
LiquidCrystal lcd(6, 7, 5, 4, 3, 2);
#define pino_botao_le A2 #define pino_botao_gr A3
MFRC522::MIFARE_Key key; int modo_le = 0;
void setup(){ pinMode(pino_botao_le, INPUT); pinMode(pino_botao_gr, INPUT); Serial.begin(9600); //Inicia a serial SPI.begin(); //Inicia SPI bus mfrc522.PCD_Init(); //Inicia MFRC522
//Inicializa o LCD 16x2 lcd.begin(16, 2); mensageminicial();
//Prepara chave - padrao de fabrica = FFFFFFFFFFFFh for (byte i = 0; i < 6; i++) key.keyByte[i] = 0xFF; }
void loop() { //Verifica se o botao modo leitura foi pressionado int modo_le = digitalRead(pino_botao_le); if (modo_le != 0) { lcd.clear(); Serial.println("Modo leitura selecionado"); lcd.setCursor(2, 0); lcd.print("Modo leitura"); lcd.setCursor(3, 1); lcd.print("selecionado"); while (digitalRead(pino_botao_le) == 1) {} delay(3000); modo_leitura(); } //Verifica se o botao modo gravacao foi pressionado int modo_gr = digitalRead(pino_botao_gr); if (modo_gr != 0) { lcd.clear(); Serial.println("Modo gravacao selecionado"); lcd.setCursor(2, 0); lcd.print("Modo gravacao"); lcd.setCursor(3, 1); lcd.print("selecionado"); while (digitalRead(pino_botao_gr) == 1) {} delay(3000); modo_gravacao(); } } void mensageminicial() { Serial.println("Selecione o modo leitura ou gravacao..."); Serial.println(); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Selecione o modo"); lcd.setCursor(0, 1); lcd.print("leitura/gravacao"); }
void mensagem_inicial_cartao() { Serial.println("Aproxime o seu cartao do leitor..."); lcd.clear(); lcd.print(" Aproxime o seu"); lcd.setCursor(0, 1); lcd.print("cartao do leitor"); }
void modo_leitura() { mensagem_inicial_cartao(); Serial.println(""); //Aguarda cartao while ( ! mfrc522.PICC_IsNewCardPresent()) { delay(100); } if ( ! mfrc522.PICC_ReadCardSerial()) { return; } //Mostra UID na serial Serial.print("UID da tag : "); String conteudo = ""; byte letra; for (byte i = 0; i < mfrc522.uid.size; i++) { Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "); Serial.print(mfrc522.uid.uidByte[i], HEX); conteudo.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ")); conteudo.concat(String(mfrc522.uid.uidByte[i], HEX)); } Serial.println();
//Obtem os dados do setor 1, bloco 4 = Nome byte sector = 1; byte blockAddr = 4; byte trailerBlock = 7; byte status; byte buffer[34]; byte size = sizeof(buffer);
//Autenticacao usando chave A status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, trailerBlock, &key, &(mfrc522.uid)); if (status != MFRC522::STATUS_OK) { Serial.print(F("PCD_Authenticate() failed: ")); Serial.println(mfrc522.GetStatusCodeName(status)); return; } status = mfrc522.MIFARE_Read(blockAddr, buffer, &size); if (status != MFRC522::STATUS_OK) { Serial.print(F("MIFARE_Read() failed: ")); Serial.println(mfrc522.GetStatusCodeName(status)); } //Mostra os dados do nome no Serial Monitor e LCD <=================================== Serial.print("NOME: "); lcd.clear(); lcd.setCursor(0, 0); for (byte i = 0; i < 16; i++) { Serial.print(char(buffer[i])); // <= Mostra os dados do cartão RFID via serial lcd.write(char(buffer[i])); // <= Mostra os dados do cartão RFID via LCD // <= GRAVAR EM UMA VARÍAVEL os dados do cartão RFID via LCD } Serial.print(nome); Serial.println();
//Obtem os dados do setor 0, bloco 1 = Sobrenome sector = 0; blockAddr = 1; trailerBlock = 3;
//Autenticacao usando chave A status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, trailerBlock, &key, &(mfrc522.uid)); if (status != MFRC522::STATUS_OK) { Serial.print(F("PCD_Authenticate() failed: ")); Serial.print(mfrc522.GetStatusCodeName(status)); return; } status = mfrc522.MIFARE_Read(blockAddr, buffer, &size); if (status != MFRC522::STATUS_OK) { Serial.print(F("MIFARE_Read() failed: ")); Serial.print(mfrc522.GetStatusCodeName(status)); } //Mostra os dados do CPF no Serial Monitor e LCD <====================================== Serial.print("CPF: "); lcd.setCursor(0, 1); for (byte i = 0; i < 16; i++) { Serial.print(char(buffer[i])); // <= Mostra os dados do cartão RFID via serial lcd.write(char(buffer[i])); // <= Mostra os dados do cartão RFID via LCD // <= GRAVAR EM UMA VARÍAVEL os dados do cartão RFID via LCD }
// Halt PICC mfrc522.PICC_HaltA(); // Stop encryption on PCD mfrc522.PCD_StopCrypto1(); delay(3000); Serial.println(""); Serial.println(""); mensageminicial(); }
void modo_gravacao() { mensagem_inicial_cartao(); //Aguarda cartao while ( ! mfrc522.PICC_IsNewCardPresent()) { delay(100); } if ( ! mfrc522.PICC_ReadCardSerial()) return;
//Mostra UID na serial Serial.print(F("UID do Cartao: ")); //Dump UID for (byte i = 0; i < mfrc522.uid.size; i++) { Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "); Serial.print(mfrc522.uid.uidByte[i], HEX); } //Mostra o tipo do cartao Serial.print(F("\nTipo do PICC: ")); byte piccType = mfrc522.PICC_GetType(mfrc522.uid.sak); Serial.println(mfrc522.PICC_GetTypeName(piccType));
byte buffer[34]; byte block; byte status, len;
Serial.setTimeout(20000L) ; Serial.println(F("Digite o CPF do USUARIO,em seguida o caractere: #")); lcd.clear(); lcd.print("Digite o CPF"); lcd.setCursor(0, 1); lcd.print("em seguida o #"); len = Serial.readBytesUntil('#', (char *) buffer, 16) ; for (byte i = len; i < 16; i++) buffer[i] = ' ';
block = 1; //Serial.println(F("Autenticacao usando chave A...")); status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(mfrc522.uid)); if (status != MFRC522::STATUS_OK) { Serial.print(F("PCD_Authenticate() failed: ")); Serial.println(mfrc522.GetStatusCodeName(status)); return; }
//Grava no bloco 1 status = mfrc522.MIFARE_Write(block, buffer, 16); if (status != MFRC522::STATUS_OK) { Serial.print(F("MIFARE_Write() failed: ")); Serial.println(mfrc522.GetStatusCodeName(status)); return; }
block = 2; //Serial.println(F("Autenticacao usando chave A...")); status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(mfrc522.uid)); if (status != MFRC522::STATUS_OK) { Serial.print(F("PCD_Authenticate() failed: ")); Serial.println(mfrc522.GetStatusCodeName(status)); return; }
//Grava no bloco 2 status = mfrc522.MIFARE_Write(block, &buffer[16], 16); if (status != MFRC522::STATUS_OK) { Serial.print(F("MIFARE_Write() failed: ")); Serial.println(mfrc522.GetStatusCodeName(status)); return; }
Serial.println(F("Digite o NOME do USUARIO, em seguida o caractere #")); lcd.clear(); lcd.print("Digite o NOME e"); lcd.setCursor(0, 1); lcd.print("em seguida o #"); len = Serial.readBytesUntil('#', (char *) buffer, 16); for (byte i = len; i < 16; i++) buffer[i] = ' '; block = 4; //Serial.println(F("Autenticacao usando chave A...")); status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(mfrc522.uid)); if (status != MFRC522::STATUS_OK) { Serial.print(F("PCD_Authenticate() failed: ")); Serial.println(mfrc522.GetStatusCodeName(status)); return; }
//Grava no bloco 4 status = mfrc522.MIFARE_Write(block, buffer, 16); if (status != MFRC522::STATUS_OK) { Serial.print(F("MIFARE_Write() failed: ")); Serial.println(mfrc522.GetStatusCodeName(status)); return; }
block = 5; //Serial.println(F("Authenticating using key A...")); status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, block, &key, &(mfrc522.uid)); if (status != MFRC522::STATUS_OK) { Serial.print(F("PCD_Authenticate() failed: ")); Serial.println(mfrc522.GetStatusCodeName(status)); return; }
//Grava no bloco 5 status = mfrc522.MIFARE_Write(block, &buffer[16], 16); if (status != MFRC522::STATUS_OK) { Serial.print(F("MIFARE_Write() failed: ")); Serial.println(mfrc522.GetStatusCodeName(status));return; } else { Serial.println(F("Dados gravados com sucesso!")); lcd.clear(); lcd.print("Gravacao OK!"); }
mfrc522.PICC_HaltA(); // Halt PICC mfrc522.PCD_StopCrypto1(); // Stop encryption on PCD delay(5000); mensageminicial(); };
Segue também o esquema de montagem…
Adicionado por RuyterCB ao 21:38 em 15 outubro 2016
pois como o RV disse, seu código tem diversos problemas. Claramente, o "grosso" do código foi obtido da internet, e alguns pontos foram ajustados sem muito critério.
A questão é que a forma básica como o código atual funciona, está totalmente equivocada, e é uma receita para não funcionar direito, fazendo aparecer efeitos colaterais esquisitos e inclusive resultados não tão confiáveis (atenção, pois vc pode ter a impressão que são confiáveis, mas será que são?).
Me adiantando, analisei em detalhes todo o código, para verificar os pontos problemáticos, e já prever como solucioná-los. E felizmente, constatei que isso é 100% possível e até simples.
O RV ("Minerin") já apontou alguns "problemas". Mas há muitos outros além daqueles que o RV listou (como eu disse, analisei o código em detalhes), e alguns são "graves" (mas como eu disse, perfeitamente resolvíveis).
Eu teria algumas perguntas a fim de esclarecer pontos duvidosos no código, e há também um ou dois pontos que são um tanto obscuros. Assim listando estes pontos, e iniciando pelos mais óbvios que apenas precisaria que vc confirmasse, e deixando por último os mais "obscuros", seguem as perguntas enumeradas:
1) diversos pontos no seu código sugerem que vc está usando o Arduino Mega. Vc confirma?
2) no pino "7" está conectado um Sensor DHT22, e segundo o código ele é usado para medir a Humidade e a Temperatura do Ar. Vc confirma que estas medições são realmente do "Ar" ? E é mesmo o DHT22 ou algum outro modelo DHT ?
3) no pino "8" está conectado um Sensor DS18B20, e segundo o código ele é usado para medir a Temperatura do Solo. Vc confirma que é realmente medição da Temperatura do Solo?
4) no pino "A1", segundo o código está conectado um Sensor da Humidade do Solo. Vc confirma isso? Como é este sensor? Ele é daqueles que o pessoal usa muito nos projetos com Arduino (tipo para medição da Humidade nos vasos de plantas) ?
5) no pino "2" segundo o código, está conectado um sensor "Hall", usado para medir a RPM de um Anemômetro. Vc confirma que é isto? (desculpe, eu sei que isto parece 100% óbvio, mas precisaria confirmar)
6) no pino "3" segundo o código, está conectado um "Reed Switch", usado para medir o índice de Chuva. Vc confirma isso? Se sim, vc poderia descrever em linhas básicas como ele funciona? (pergunto porque fiquei um pouco curioso sobre o funcionamento do próprio sensor)
7) no pino "A0" segundo o código, está conectado o Sinal Analógico do sensor de CO2 (um sensor "MQ135"). Vc confirma isso?
8) no pino "4" segundo o código, está conectado o Sinal Digital do sensor de CO2 (o mesmo "MQ135"). No entanto Gabriel, este sinal digital não é usado no código. Vc confirma isso?
Obs.: se ele realmente não estiver sendo usado (como eu realmente acho que não está, já que o CO2 já está sendo medido via sinal Analógico do mesmo sensor), então recomendo que ele seja desconectado do pino "4", deixando este pino "livre" para outros usos.
9) agora o mais misterioso de todos: no código o pino "5" é configurado como uma saída digital. Mas ele não é usado em nenhum momento no código. Tem realmente algo ligado neste pino, ou acabou "sobrando" aquela linha onde ele é configurado no "setup" do Arduino ?
Tenho algumas outras questões, mas são menos significativas neste momento, como por exemplo os diversos informes que são feitos pela Serial semelhante a um "debug", e também uma dúvida sobre um informe seletivo da quantidade de chuva. Mas acho melhor perguntar isso no post seguinte, se como eu disse anteriormente, vc permitir que eu colabore.
O código estava muito confuso e "misturado". Então pra que eu pudesse analisar e entender o que estava ali, acabei organizando todo ele. Em seguida, otimizei diversas operações ali existentes, aumentando a eficiência da execução. Também deixei mais claro o que cada trecho estava fazendo, e qual a função de cada item no Sistema. Isso seria o mínimo para que o funcionamento seja confiável (usando técnicas clássicas e portanto consagradas).
Fico no aguardo.
Abrçs,
Elcids…
Adicionado por Elcids Chagas ao 8:34 em 11 março 2020