Codeslot met klavier RFID lezer en LCD

Arduino specifieke Software
Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Codeslot met klavier RFID lezer en LCD

Berichtdoor Koepel » 23 Mei 2017, 08:32

Je hebt wel pech hoor, dat deel voor de EEPROM in de voorbeeld sketch zit niet goed in elkaar.

Je kunt dit doen:
Code: Alles selecteren
byte n;
n = EEPROM.read(0);       // positie nul, aantal in lijst

Serial.print( "aantal in lijst = ");
Serial.print( n);


Vervolgens alles lezen door die 'n' te gebruiken.
Code: Alles selecteren
for( int i=0; i<n; i++)
{
  int offset = 1 + ( i * 4);  // bereken de offset

  AUX[0] = EEPROM.read( offset + 0);
  AUX[1] = EEPROM.read( offset + 1);
  AUX[2] = EEPROM.read( offset + 2);
  AUX[3] = EEPROM.read( offset + 3);

  // vergelijk deze waarden met de huidige waarde
  .....
}

Advertisement

Berichten: 32
Geregistreerd: 18 Jan 2017, 19:58

Re: Codeslot met klavier RFID lezer en LCD

Berichtdoor DG300flyer » 23 Mei 2017, 15:34

Dag Koepel ,
We komen dichterbij denk ik , ik heb de code die u doorgaf in de sketch toegevoegd :

byte n;
n = EEPROM.read(0); // positie nul, aantal in lijst

Serial.print( "aantal in lijst = ");
Serial.print( n);

en dat geeft in de serial monitor hetvolgende :

aantal in lijst = 51aantal in lijst = 51aantal in lijst = 51aantal in lijst = 510
aantal in lijst = 51aantal in lijst = 51aantal in lijst = 51aantal in lijst = 510
aantal in lijst = 51aantal in lijst = 51aantal in lijst = 51aantal in lijst = 51CODE GEPAARD
8012718576aux2
55
COD8012718576COD8012718576COD024719625COD8012718576TAG INLEZEN
8012718576aantal in lijst = 55aantal in lijst = 55aantal in lijst = 550
aantal in lijst = 55aantal in lijst = 55aantal in lijst = 55aantal in lijst = 550
aantal in lijst = 55aantal in lijst = 55aantal in lijst = 55aantal in lijst = 550
aantal in lijst = 55aantal in lijst = 55aantal in lijst = 55aantal in lijst = 550
aantal in lijst = 55aantal in lijst = 55aantal in lijst = 55aantal in lijst = 550
aantal in lijst = 55aantal in lijst = 55aantal in lijst = 55aantal in lijst = 550
aantal in lijst = 55aantal in lijst = 55aantal in lijst = 55aantal in lijst = 550
aantal in lijst = 55aantal in lijst = 55aantal in lijst = 55aantal in lijst = 550
aantal in lijst = 55aantal in lijst = 55aantal in lijst = 55aantal in lijst = 550
aantal in lijst = 55aantal in lijst = 55aantal in lijst = 55aantal in lijst = 550
aantal in lijst = 55aantal in lijst = 55aantal in lijst = 55aantal in lijst = 550
aantal in lijst = 55aantal in lijst = 55aantal in lijst = 55aantal in lijst = 550
aantal in lijst = 55aantal in lijst = 55aantal in lijst = 55aantal in lijst = 550
aantal in lijst = 55aantal in lijst = 55aantal in lijst = 55aantal in lijst = 55CODE GEPAARD
8012718576aux2
59
COD8012718576COD8012718576COD024719625
Dit is maar een gedeelte van de melding.
Bij het toevoegen van de andere code :
krijg ik bij het compileren de volgende melding :

exit status 1
'n' was not declared in this scope

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Codeslot met klavier RFID lezer en LCD

Berichtdoor Koepel » 23 Mei 2017, 16:07

Zelfs wanneer je alleen een komma zou verplaatsen, dan zie ik graag de hele sketch opnieuw.
Begrijp je de code die ik gaf ? Dat is op dit moment het belangrijkste. Of de sketch werkt of niet, dat doet er nu even niet toe.

Bij het schrijven van een nieuwe tag lees je dan eerst EEPROM positie nul voor het aantal (of misschien heb je dat aantal al in een globale variabele), daarna de offset voor de nieuwe berekenen, en dan 4 byte schrijven. Vervolgens EEPROM positie nul eentje ophogen.

Er is iets nodig om de lijst schoon te maken. Volgens mij zit dat niet eens in het voorbeeld.
Wat dacht je er van als je een 'c' (van 'clear list') via de seriële monitor intypt, dat de lijst dan leeg gemaakt wordt ?
Code: Alles selecteren
if( Serial.available())
{
  int inChar = Serial.read();
  if( inChar == 'c')
  {
    EEPROM.write( 0, 0);      // write zero to position zero
    Serial.println( "Lijst leeg gemaakt");
  }
}

Vorige

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: usifeirumofoz en 19 gasten