toegang registratie
13 berichten
• Pagina 1 van 2 • 1, 2
- wendy2112
- Berichten: 9
- Geregistreerd: 22 Feb 2020, 14:07
- Woonplaats: Hellevoetsluis, The Netherlands
toegang registratie
Hallo,
Ik heb middels een 4-cijferige code op een matrix toetsenbord een toegang controle gemaakt. Dit werkt nu naar behoren maar ik wil graag bijhouden wie er binnen is en wie er weer vertrokken is.
Ik zoek dus een manier om de persoon (middels /haar inlog code) ergens op te slaan en later weer uit te kunnen lezen.
ter info hier mijn schets:
#include <Adafruit_GFX.h>
#include <Adafruit_SPITFT.h>
#include <Adafruit_SPITFT_Macros.h>
#include <gfxfont.h>
#include <FreeDefaultFonts.h>
#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;
#include <TFT_HX8357GLUE.h>
#include <UTFTGLUE.h>#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define BLACK 0x0000
#define WHITE 0xFFFF
#define GREY 0x8410
#define BLUE 0x001F
#define ORANGE 0xFA60
#define AQUA 0x04FF
#define PINK 0xF8FF
int groen = 22;
int wit = 24;
int rood = 26;
int x1=30;
int x2=31;
int x3=32;
int x4=33;
int y1=34;
int y2=35;
int y3=36;
int a=-1;
int b=-1;
int c=-1;
int d=-1;
void setup() {
uint16_t ID = tft.readID();
if (ID == 0xD3) ID = 0x9481;
tft.begin(ID);
tft.setRotation(-45);
tft.setTextSize(3);
tft.setTextColor(CYAN);
Serial.begin(9600);
pinMode(x1,OUTPUT);
pinMode(x2,OUTPUT);
pinMode(x3,OUTPUT);
pinMode(x4,OUTPUT);
pinMode(y1,INPUT);
pinMode(y2,INPUT);
pinMode(y3,INPUT);
pinMode(groen, OUTPUT);
pinMode(wit, OUTPUT);
pinMode(rood, OUTPUT);
}
void loop() {
digitalWrite(groen,LOW);
digitalWrite(rood,LOW);
digitalWrite(wit,HIGH);
tft.fillScreen(BLACK);
digitalWrite (x2,LOW);digitalWrite(x3,LOW);digitalWrite (x4,LOW);digitalWrite (x1,HIGH);
y1=digitalRead(34);if(y1==HIGH){if(a==-1){a=1000;b=99;}else if(b==-1){b=(a)+100;c=99;}else if(c==-1){c=(b)+10;d=99;}else if(d==-1){d=(c)+1;}}
y2=digitalRead(35);if(y2==HIGH){if(a==-1){a=2000;b=99;}else if(b==-1){b=(a)+200;c=99;}else if(c==-1){c=(b)+20;d=99;}else if(d==-1){d=(c)+2;}}
y3=digitalRead(36);if(y3==HIGH){if(a==-1){a=3000;b=99;}else if(b==-1){b=(a)+300;c=99;}else if(c==-1){c=(b)+30;d=99;}else if(d==-1){d=(c)+3;}}
digitalWrite (x1,LOW);digitalWrite (x3,LOW);digitalWrite (x4,LOW);digitalWrite (x2,HIGH);
y1=digitalRead(34);if(y1==HIGH){if(a==-1){a=4000;b=99;}else if(b==-1){b=(a)+400;c=99;}else if(c==-1){c=(b)+40;d=99;}else if(d==-1){d=(c)+4;}}
y2=digitalRead(35);if(y2==HIGH){if(a==-1){a=5000;b=99;}else if(b==-1){b=(a)+500;c=99;}else if(c==-1){c=(b)+50;d=99;}else if(d==-1){d=(c)+5;}}
y3=digitalRead(36);if(y3==HIGH){if(a==-1){a=6000;b=99;}else if(b==-1){b=(a)+600;c=99;}else if(c==-1){c=(b)+60;d=99;}else if(d==-1){d=(c)+6;}}
digitalWrite (x1,LOW);digitalWrite (x2,LOW);digitalWrite (x4,LOW);digitalWrite (x3,HIGH);
y1=digitalRead(34);if(y1==HIGH){if(a==-1){a=7000;b=99;}else if(b==-1){b=(a)+700;c=99;}else if(c==-1){c=(b)+70;d=99;}else if(d==-1){d=(c)+7;}}
y2=digitalRead(35);if(y2==HIGH){if(a==-1){a=8000;b=99;}else if(b==-1){b=(a)+800;c=99;}else if(c==-1){c=(b)+80;d=99;}else if(d==-1){d=(c)+8;}}
y3=digitalRead(36);if(y3==HIGH){if(a==-1){a=9000;b=99;}else if(b==-1){b=(a)+900;c=99;}else if(c==-1){c=(b)+90;d=99;}else if(d==-1){d=(c)+9;}}
digitalWrite (x1,LOW);digitalWrite (x2,LOW);digitalWrite (x3,LOW);digitalWrite (x4,HIGH);
y1=digitalRead(34);if(y1==HIGH){a=-1;b=-1;c=-1;d=-1;}
y2=digitalRead(35);if(y2==HIGH){if(a==-1){a=0000;b=99;}else if(b==-1){b=(a)+000;c=99;}else if(c==-1){c=(b)+00;d=99;}else if(d==-1){d=(c)+0;}}
y3=digitalRead(36);if(y3==HIGH){if(a==-1){a=0000;b=99;}else if(b==-1){b=(a)+000;c=99;}else if(c==-1){c=(b)+00;d=99;}else if(d==-1){d=(c)+0;}}
if(a==99){a=-1;}if(b==99){b=-1;}if(c==99){c=-1;}if(d==99){d=-1;}
tft.setCursor(100,100);
tft.print("WELKOM");
tft.setCursor( 120,140);
if(a>=0){tft.print("*");}
if(b>=0){tft.print("*");}
if(c>=0){tft.print("*");}
if(d>=0){tft.print("*");}
if (d==5109){digitalWrite(rood,LOW);digitalWrite(wit,LOW);digitalWrite(groen,HIGH);tft.fillScreen(BLACK);tft.setTextColor(GREEN);
tft.setCursor(0,80);tft.print("M.A.Lange");tft.setCursor(0,120); tft.print("toegang verleend");tft.setTextColor(CYAN);
delay(10000);a=-1;b=-1;c=-1;d=-1;}if (d==5104){digitalWrite(rood,LOW);digitalWrite(wit,LOW);digitalWrite(groen,HIGH);tft.fillScreen(BLACK);tft.setTextColor(GREEN);
tft.setCursor(0,80);tft.print("L.L. van Staveren");tft.setCursor(0,120); tft.print("toegang verleend");tft.setTextColor(CYAN);
delay(10000);a=-1;b=-1;c=-1;d=-1;}if(d==7307){digitalWrite(rood,LOW);digitalWrite(wit,LOW);digitalWrite(groen,HIGH);tft.fillScreen(BLACK);tft.setTextColor(GREEN);
tft.setCursor(0,80);tft.print("fam.van Staveren");tft.setCursor(0,120); tft.print("toegang verleend");tft.setTextColor(CYAN);
delay(10000);a=-1;b=-1;c=-1;d=-1;}if (d==1111){digitalWrite(rood,LOW);digitalWrite(wit,LOW);digitalWrite(groen,HIGH);tft.fillScreen(BLACK);tft.setTextColor(GREEN);
tft.setCursor(0,80);tft.print("gast1");tft.setCursor(0,120); tft.print("toegang verleend");tft.setTextColor(CYAN);
delay(10000);a=-1;b=-1;c=-1;d=-1;}if (d==2222){digitalWrite(rood,LOW);digitalWrite(wit,LOW);digitalWrite(groen,HIGH);tft.fillScreen(BLACK);tft.setTextColor(GREEN);
tft.setCursor(0,80);tft.print("gast2");tft.setCursor(0,120); tft.print("toegang verleend");tft.setTextColor(CYAN);
delay(10000);a=-1;b=-1;c=-1;d=-1;}if (d==3333){digitalWrite(rood,LOW);digitalWrite(wit,LOW);digitalWrite(groen,HIGH);tft.fillScreen(BLACK);tft.setTextColor(GREEN);
tft.setCursor(0,80);tft.print("gast3");tft.setCursor(0,120); tft.print("toegang verleend");tft.setTextColor(CYAN);
delay(10000);a=-1;b=-1;c=-1;d=-1;}else if (d>=0){digitalWrite(rood,HIGH);digitalWrite(wit,LOW);digitalWrite(groen,LOW);tft.fillScreen(BLACK);
tft.setCursor(0,80);tft.setTextColor(RED);tft.print("onbekende code");tft.setCursor(0,120);tft.print("toegang geweigerd");tft.setTextColor(CYAN);delay(5000);a=-1;b=-1;c=-1;d=-1;}
Ik ben benieuwd wie mij (als beginneling) kan helpen.
Ik heb middels een 4-cijferige code op een matrix toetsenbord een toegang controle gemaakt. Dit werkt nu naar behoren maar ik wil graag bijhouden wie er binnen is en wie er weer vertrokken is.
Ik zoek dus een manier om de persoon (middels /haar inlog code) ergens op te slaan en later weer uit te kunnen lezen.
ter info hier mijn schets:
#include <Adafruit_GFX.h>
#include <Adafruit_SPITFT.h>
#include <Adafruit_SPITFT_Macros.h>
#include <gfxfont.h>
#include <FreeDefaultFonts.h>
#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;
#include <TFT_HX8357GLUE.h>
#include <UTFTGLUE.h>#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define BLACK 0x0000
#define WHITE 0xFFFF
#define GREY 0x8410
#define BLUE 0x001F
#define ORANGE 0xFA60
#define AQUA 0x04FF
#define PINK 0xF8FF
int groen = 22;
int wit = 24;
int rood = 26;
int x1=30;
int x2=31;
int x3=32;
int x4=33;
int y1=34;
int y2=35;
int y3=36;
int a=-1;
int b=-1;
int c=-1;
int d=-1;
void setup() {
uint16_t ID = tft.readID();
if (ID == 0xD3) ID = 0x9481;
tft.begin(ID);
tft.setRotation(-45);
tft.setTextSize(3);
tft.setTextColor(CYAN);
Serial.begin(9600);
pinMode(x1,OUTPUT);
pinMode(x2,OUTPUT);
pinMode(x3,OUTPUT);
pinMode(x4,OUTPUT);
pinMode(y1,INPUT);
pinMode(y2,INPUT);
pinMode(y3,INPUT);
pinMode(groen, OUTPUT);
pinMode(wit, OUTPUT);
pinMode(rood, OUTPUT);
}
void loop() {
digitalWrite(groen,LOW);
digitalWrite(rood,LOW);
digitalWrite(wit,HIGH);
tft.fillScreen(BLACK);
digitalWrite (x2,LOW);digitalWrite(x3,LOW);digitalWrite (x4,LOW);digitalWrite (x1,HIGH);
y1=digitalRead(34);if(y1==HIGH){if(a==-1){a=1000;b=99;}else if(b==-1){b=(a)+100;c=99;}else if(c==-1){c=(b)+10;d=99;}else if(d==-1){d=(c)+1;}}
y2=digitalRead(35);if(y2==HIGH){if(a==-1){a=2000;b=99;}else if(b==-1){b=(a)+200;c=99;}else if(c==-1){c=(b)+20;d=99;}else if(d==-1){d=(c)+2;}}
y3=digitalRead(36);if(y3==HIGH){if(a==-1){a=3000;b=99;}else if(b==-1){b=(a)+300;c=99;}else if(c==-1){c=(b)+30;d=99;}else if(d==-1){d=(c)+3;}}
digitalWrite (x1,LOW);digitalWrite (x3,LOW);digitalWrite (x4,LOW);digitalWrite (x2,HIGH);
y1=digitalRead(34);if(y1==HIGH){if(a==-1){a=4000;b=99;}else if(b==-1){b=(a)+400;c=99;}else if(c==-1){c=(b)+40;d=99;}else if(d==-1){d=(c)+4;}}
y2=digitalRead(35);if(y2==HIGH){if(a==-1){a=5000;b=99;}else if(b==-1){b=(a)+500;c=99;}else if(c==-1){c=(b)+50;d=99;}else if(d==-1){d=(c)+5;}}
y3=digitalRead(36);if(y3==HIGH){if(a==-1){a=6000;b=99;}else if(b==-1){b=(a)+600;c=99;}else if(c==-1){c=(b)+60;d=99;}else if(d==-1){d=(c)+6;}}
digitalWrite (x1,LOW);digitalWrite (x2,LOW);digitalWrite (x4,LOW);digitalWrite (x3,HIGH);
y1=digitalRead(34);if(y1==HIGH){if(a==-1){a=7000;b=99;}else if(b==-1){b=(a)+700;c=99;}else if(c==-1){c=(b)+70;d=99;}else if(d==-1){d=(c)+7;}}
y2=digitalRead(35);if(y2==HIGH){if(a==-1){a=8000;b=99;}else if(b==-1){b=(a)+800;c=99;}else if(c==-1){c=(b)+80;d=99;}else if(d==-1){d=(c)+8;}}
y3=digitalRead(36);if(y3==HIGH){if(a==-1){a=9000;b=99;}else if(b==-1){b=(a)+900;c=99;}else if(c==-1){c=(b)+90;d=99;}else if(d==-1){d=(c)+9;}}
digitalWrite (x1,LOW);digitalWrite (x2,LOW);digitalWrite (x3,LOW);digitalWrite (x4,HIGH);
y1=digitalRead(34);if(y1==HIGH){a=-1;b=-1;c=-1;d=-1;}
y2=digitalRead(35);if(y2==HIGH){if(a==-1){a=0000;b=99;}else if(b==-1){b=(a)+000;c=99;}else if(c==-1){c=(b)+00;d=99;}else if(d==-1){d=(c)+0;}}
y3=digitalRead(36);if(y3==HIGH){if(a==-1){a=0000;b=99;}else if(b==-1){b=(a)+000;c=99;}else if(c==-1){c=(b)+00;d=99;}else if(d==-1){d=(c)+0;}}
if(a==99){a=-1;}if(b==99){b=-1;}if(c==99){c=-1;}if(d==99){d=-1;}
tft.setCursor(100,100);
tft.print("WELKOM");
tft.setCursor( 120,140);
if(a>=0){tft.print("*");}
if(b>=0){tft.print("*");}
if(c>=0){tft.print("*");}
if(d>=0){tft.print("*");}
if (d==5109){digitalWrite(rood,LOW);digitalWrite(wit,LOW);digitalWrite(groen,HIGH);tft.fillScreen(BLACK);tft.setTextColor(GREEN);
tft.setCursor(0,80);tft.print("M.A.Lange");tft.setCursor(0,120); tft.print("toegang verleend");tft.setTextColor(CYAN);
delay(10000);a=-1;b=-1;c=-1;d=-1;}if (d==5104){digitalWrite(rood,LOW);digitalWrite(wit,LOW);digitalWrite(groen,HIGH);tft.fillScreen(BLACK);tft.setTextColor(GREEN);
tft.setCursor(0,80);tft.print("L.L. van Staveren");tft.setCursor(0,120); tft.print("toegang verleend");tft.setTextColor(CYAN);
delay(10000);a=-1;b=-1;c=-1;d=-1;}if(d==7307){digitalWrite(rood,LOW);digitalWrite(wit,LOW);digitalWrite(groen,HIGH);tft.fillScreen(BLACK);tft.setTextColor(GREEN);
tft.setCursor(0,80);tft.print("fam.van Staveren");tft.setCursor(0,120); tft.print("toegang verleend");tft.setTextColor(CYAN);
delay(10000);a=-1;b=-1;c=-1;d=-1;}if (d==1111){digitalWrite(rood,LOW);digitalWrite(wit,LOW);digitalWrite(groen,HIGH);tft.fillScreen(BLACK);tft.setTextColor(GREEN);
tft.setCursor(0,80);tft.print("gast1");tft.setCursor(0,120); tft.print("toegang verleend");tft.setTextColor(CYAN);
delay(10000);a=-1;b=-1;c=-1;d=-1;}if (d==2222){digitalWrite(rood,LOW);digitalWrite(wit,LOW);digitalWrite(groen,HIGH);tft.fillScreen(BLACK);tft.setTextColor(GREEN);
tft.setCursor(0,80);tft.print("gast2");tft.setCursor(0,120); tft.print("toegang verleend");tft.setTextColor(CYAN);
delay(10000);a=-1;b=-1;c=-1;d=-1;}if (d==3333){digitalWrite(rood,LOW);digitalWrite(wit,LOW);digitalWrite(groen,HIGH);tft.fillScreen(BLACK);tft.setTextColor(GREEN);
tft.setCursor(0,80);tft.print("gast3");tft.setCursor(0,120); tft.print("toegang verleend");tft.setTextColor(CYAN);
delay(10000);a=-1;b=-1;c=-1;d=-1;}else if (d>=0){digitalWrite(rood,HIGH);digitalWrite(wit,LOW);digitalWrite(groen,LOW);tft.fillScreen(BLACK);
tft.setCursor(0,80);tft.setTextColor(RED);tft.print("onbekende code");tft.setCursor(0,120);tft.print("toegang geweigerd");tft.setTextColor(CYAN);delay(5000);a=-1;b=-1;c=-1;d=-1;}
Ik ben benieuwd wie mij (als beginneling) kan helpen.
Advertisement
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: toegang registratie
EEPROM als je bij stroomuitval toch nog wilt weten wie er binnen is/was of SD kaart. Dan zijn er nog verschillende FRAM chips op relatief goedkope modules. Dit is extern ram te benaderen via de SPI bus. Voordeel van dit soort chips is miljarden keren schrijven/lezen en de data blijft vast na spanningsuitval voor iets van 150 jaar. Dan maakt het niet meer uit wie er binnen was
- wendy2112
- Berichten: 9
- Geregistreerd: 22 Feb 2020, 14:07
- Woonplaats: Hellevoetsluis, The Netherlands
Re: toegang registratie
Dank je Nico,
Heb je misschien een voorbeeld schets hoe ik de data moet opslaan? Ik bedoel hoe je elke keer weer een opvolgend adres selecteerd in dat geheugen.
Iets van adres a+1?
Alvast bedankt.
Groet,
Leo van Staveren.
Heb je misschien een voorbeeld schets hoe ik de data moet opslaan? Ik bedoel hoe je elke keer weer een opvolgend adres selecteerd in dat geheugen.
Iets van adres a+1?
Alvast bedankt.
Groet,
Leo van Staveren.
- Gij Kieken
- Berichten: 631
- Geregistreerd: 15 Nov 2015, 11:54
Re: toegang registratie
Volg deze link enz... https://www.arduino.cc/en/Tutorial/EEPROMWrite
Re: toegang registratie
Wat is de reden om de tekst van de code zo te schrijven ?
Sommige stukken worden veel herhaald, die kunnen misschien in een functie geplaatst worden.
Gebruik je x1, x2, x3, x4 om knoppen in te lezen ?
Dit is vreemd:
cpp code
Het lijkt alsof je 'y1' hergebruikt. Je kunt beter de pinnen als 'const' declareren en iets anders gebruiken voor het lezen van die pin.
cpp code
De schrijfwijze (noem ik soms de "layout") van de tekst zou op deze manier kunnen:
cpp code
Het deel waar je de personen toegang verleent, dat kan in een functie. De codes en namen kunnen in een tabel (array of struct of combinatie).
Sommige stukken worden veel herhaald, die kunnen misschien in een functie geplaatst worden.
Gebruik je x1, x2, x3, x4 om knoppen in te lezen ?
Dit is vreemd:
cpp code
int y1 = 34;
pinMode(y1, INPUT);
y1 = digitalRead(34);
Het lijkt alsof je 'y1' hergebruikt. Je kunt beter de pinnen als 'const' declareren en iets anders gebruiken voor het lezen van die pin.
cpp code
const int y1Pin = 34;
pinMode(y1Pin, INPUT);
int y1 = digitalRead(y1Pin);
De schrijfwijze (noem ik soms de "layout") van de tekst zou op deze manier kunnen:
cpp code
y1 = digitalRead(34);
if (y1 == HIGH)
{
if (a == -1)
{
a = 1000;
b = 99;
}
else if (b == -1)
{
b = a + 100;
c = 99;
}
else if (c == -1)
{
c = b + 10;
d = 99;
}
else if (d == -1)
{
d = c + 1;
}
}
Het deel waar je de personen toegang verleent, dat kan in een functie. De codes en namen kunnen in een tabel (array of struct of combinatie).
- wendy2112
- Berichten: 9
- Geregistreerd: 22 Feb 2020, 14:07
- Woonplaats: Hellevoetsluis, The Netherlands
Re: toegang registratie
Gij Kieken schreef:Volg deze link enz... https://www.arduino.cc/en/Tutorial/EEPROMWrite
Hartelijk dank. Ik ga kieken hjoe ik dat kan doen. Heb nog veel te weinig ervaring maar al doende leert men.
- wendy2112
- Berichten: 9
- Geregistreerd: 22 Feb 2020, 14:07
- Woonplaats: Hellevoetsluis, The Netherlands
Re: toegang registratie
Koepel schreef:Wat is de reden om de tekst van de code zo te schrijven ?
Sommige stukken worden veel herhaald, die kunnen misschien in een functie geplaatst worden.
Gebruik je x1, x2, x3, x4 om knoppen in te lezen ?
Dit is vreemd:
cpp codeint y1 = 34;
pinMode(y1, INPUT);
y1 = digitalRead(34);
Het lijkt alsof je 'y1' hergebruikt. Je kunt beter de pinnen als 'const' declareren en iets anders gebruiken voor het lezen van die pin.
cpp codeconst int y1Pin = 34;
pinMode(y1Pin, INPUT);
int y1 = digitalRead(y1Pin);
De schrijfwijze (noem ik soms de "layout") van de tekst zou op deze manier kunnen:
cpp codey1 = digitalRead(34);
if (y1 == HIGH)
{
if (a == -1)
{
a = 1000;
b = 99;
}
else if (b == -1)
{
b = a + 100;
c = 99;
}
else if (c == -1)
{
c = b + 10;
d = 99;
}
else if (d == -1)
{
d = c + 1;
}
}
Het deel waar je de personen toegang verleent, dat kan in een functie. De codes en namen kunnen in een tabel (array of struct of combinatie).
Dank je. Weer wat opgestoken. Ik doe mijn best om het zo kort, mooi en overzichtelijk mogelijk te maken, maar moet nog een hoop leren!!! Toegang verlenen in een functie zal ik proberen uit te vogelen. Nogmaals bedankt voor de tips.
Re: toegang registratie
Ieder heeft zo zijn eigen stijl van de tekst.
Ik hou van open en ruim: https://gist.github.com/Koepel/f7d625a6e5c0481fc4c7a9c530c643ef.
Anderen schrijven het meer compact.
Het onderste deel van jouw sketch is het een beetje té compact
Het gaat erom dat je aan de sketch kunt zien wat er gebeurt, en dat je eenvoudig iets kunt wijzigen. Als je daarvoor meerdere statements op één regel zet, dan is dat natuurlijk prima.
Je hoeft niet meteen de EEPROM toe te voegen, je kunt eerst een test-sketch maken om de EEPROM te proberen.
Er is EEPROM.write() en EEPROM.read() die maar één byte doen.
Er is ook EEPROM.put() en EEPROM.get() die een hele variabele doen, ongeacht hoeveel byte dat wordt.
Arduino Reference: https://www.arduino.cc/en/Reference/EEPROM.
Ik hou van open en ruim: https://gist.github.com/Koepel/f7d625a6e5c0481fc4c7a9c530c643ef.
Anderen schrijven het meer compact.
Het onderste deel van jouw sketch is het een beetje té compact
Het gaat erom dat je aan de sketch kunt zien wat er gebeurt, en dat je eenvoudig iets kunt wijzigen. Als je daarvoor meerdere statements op één regel zet, dan is dat natuurlijk prima.
Je hoeft niet meteen de EEPROM toe te voegen, je kunt eerst een test-sketch maken om de EEPROM te proberen.
Er is EEPROM.write() en EEPROM.read() die maar één byte doen.
Er is ook EEPROM.put() en EEPROM.get() die een hele variabele doen, ongeacht hoeveel byte dat wordt.
Arduino Reference: https://www.arduino.cc/en/Reference/EEPROM.
- wendy2112
- Berichten: 9
- Geregistreerd: 22 Feb 2020, 14:07
- Woonplaats: Hellevoetsluis, The Netherlands
Re: toegang registratie
Dank je,
Ik sta open voor alle suggesties en probeer ze allemaal even uit. Dan kijk ik wat mij het beste bevalt en klamp ik me maar aan vast. het "average" voorbeeld vind ik heel goed bij analoge metingen en zal het zeker toepassen.
Verder doe ik alles even kalm aan. Ik ga eerst even met de huidige tips aan de slag, dan kom ik met de gewijzigde schets en zal ik heus wel wat meer vragen hebben. Ik ga me nu even bezig houden met de eeprom.
Ik sta open voor alle suggesties en probeer ze allemaal even uit. Dan kijk ik wat mij het beste bevalt en klamp ik me maar aan vast. het "average" voorbeeld vind ik heel goed bij analoge metingen en zal het zeker toepassen.
Verder doe ik alles even kalm aan. Ik ga eerst even met de huidige tips aan de slag, dan kom ik met de gewijzigde schets en zal ik heus wel wat meer vragen hebben. Ik ga me nu even bezig houden met de eeprom.
- wendy2112
- Berichten: 9
- Geregistreerd: 22 Feb 2020, 14:07
- Woonplaats: Hellevoetsluis, The Netherlands
Re: toegang registratie
Ik ben nog steeds aan het stoeien met de EEPROM. put, EEPROM.get en het printen.
Wie heeft er een idee wat ik fout doe?
Wie heeft er een idee wat ik fout doe?
- Code: Alles selecteren
#include <EEPROM.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SPITFT.h>
#include <Adafruit_SPITFT_Macros.h>
#include <gfxfont.h>
#include <FreeDefaultFonts.h>
#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;
#include <TFT_HX8357GLUE.h>
#include <UTFTGLUE.h>
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define BLACK 0x0000
#define WHITE 0xFFFF
#define GREY 0x8410
#define BLUE 0x001F
#define ORANGE 0xFA60
#define AQUA 0x04FF
#define PINK 0xF8FF
int groen = 22;
int wit = 24;
int rood = 26;
int x1 = 30;
int x2 = 31;
int x3 = 32;
int x4 = 33;
int y1 = 34;
int y2 = 35;
int y3 = 36;
int a = -1;
int b = -1;
int c = -1;
int d = -1;
int aanwezig = 0;
float f = 0.00f;
void setup() {
uint16_t ID = tft.readID();
if (ID == 0xD3) ID = 0x9481;
tft.begin(ID);
tft.setRotation(-45);
tft.setTextSize(3);
tft.setTextColor(CYAN);
Serial.begin(9600);
pinMode(x1, OUTPUT);
pinMode(x2, OUTPUT);
pinMode(x3, OUTPUT);
pinMode(x4, OUTPUT);
pinMode(y1, INPUT);
pinMode(y2, INPUT);
pinMode(y3, INPUT);
pinMode(groen, OUTPUT);
pinMode(wit, OUTPUT);
pinMode(rood, OUTPUT);
}
void loop() {
digitalWrite(groen, LOW);
digitalWrite(rood, LOW);
digitalWrite(wit, HIGH);
tft.fillScreen(BLACK);
digitalWrite (x2, LOW); digitalWrite(x3, LOW); digitalWrite (x4, LOW); digitalWrite (x1, HIGH);
y1 = digitalRead(34);
if (y1 == HIGH)
{
if (a == -1)
{
a = 1000;
b = 99;
}
else if (b == -1)
{
b = (a) + 100;
c = 99;
}
else if (c == -1)
{
c = (b) + 10;
d = 99;
}
else if (d == -1)
{
d = (c) + 1;
}
}
y2 = digitalRead(35);
if (y2 == HIGH)
{
if (a == -1)
{
a = 2000;
b = 99;
}
else if (b == -1)
{ b = (a) + 200;
c = 99;
}
else if (c == -1)
{
c = (b) + 20;
d = 99;
}
else if (d == -1) {
d = (c) + 2;
}
}
y3 = digitalRead(36);
if (y3 == HIGH)
{
if (a == -1)
{
a = 3000;
b = 99;
}
else if (b == -1)
{
b = (a) + 300;
c = 99;
}
else if (c == -1)
{
c = (b) + 30;
d = 99;
}
else if (d == -1)
{
d = (c) + 3;
}
}
digitalWrite (x1, LOW); digitalWrite (x3, LOW); digitalWrite (x4, LOW); digitalWrite (x2, HIGH);
y1 = digitalRead(34);
if (y1 == HIGH)
{
if (a == -1)
{
a = 4000;
b = 99;
}
else if (b == -1)
{
b = (a) + 400;
c = 99;
}
else if (c == -1)
{
c = (b) + 40;
d = 99;
}
else if (d == -1)
{
d = (c) + 4;
}
}
y2 = digitalRead(35);
if (y2 == HIGH)
{
if (a == -1)
{
a = 5000;
b = 99;
}
else if (b == -1)
{
b = (a) + 500;
c = 99;
}
else if (c == -1)
{
c = (b) + 50;
d = 99;
}
else if (d == -1)
{
d = (c) + 5;
}
}
y3 = digitalRead(36);
if (y3 == HIGH)
{
if (a == -1)
{
a = 6000;
b = 99;
}
else if (b == -1)
{
b = (a) + 600;
c = 99;
}
else if (c == -1)
{
c = (b) + 60;
d = 99;
}
else if (d == -1)
{
d = (c) + 6;
}
}
digitalWrite (x1, LOW); digitalWrite (x2, LOW); digitalWrite (x4, LOW); digitalWrite (x3, HIGH);
y1 = digitalRead(34);
if (y1 == HIGH)
{
if (a == -1)
{
a = 7000;
b = 99;
}
else if (b == -1)
{
b = (a) + 700;
c = 99;
}
else if (c == -1)
{
c = (b) + 70;
d = 99;
}
else if (d == -1)
{
d = (c) + 7;
}
}
y2 = digitalRead(35);
if (y2 == HIGH)
{
if (a == -1)
{
a = 8000;
b = 99;
}
else if (b == -1)
{
b = (a) + 800;
c = 99;
}
else if (c == -1)
{
c = (b) + 80;
d = 99;
} else if (d == -1)
{
d = (c) + 8;
}
}
y3 = digitalRead(36);
if (y3 == HIGH)
{ if (a == -1)
{
a = 9000;
b = 99;
}
else if (b == -1)
{
b = (a) + 900;
c = 99;
}
else if (c == -1)
{
c = (b) + 90;
d = 99;
}
else if (d == -1)
{
d = (c) + 9;
}
}
digitalWrite (x1, LOW); digitalWrite (x2, LOW); digitalWrite (x3, LOW); digitalWrite (x4, HIGH);
y1 = digitalRead(34);
if (y1 == HIGH)
{
a = -1;
b = -1;
c = -1;
d = -1;
}
/* if(a==-1)
{
a=0000;
b=99;
}
else if(b==-1)
{
b=(a)+000;
c=99;
}
else if(c==-1)
{
c=(b)+00;
d=99;
}
else if(d==-1)
{
d=(c)+0;
}*/
y2 = digitalRead(35);
if (y2 == HIGH)
{
if (a == -1)
{
a = 0000;
b = 99;
}
else if (b == -1)
{
b = (a) + 000;
c = 99;
}
else if (c == -1)
{
c = (b) + 00;
d = 99;
} else if (d == -1)
{
d = (c) + 0;
}
}
y3 = digitalRead(36);
if (y3 == HIGH)
{
if (a == -1)
{
a = 0000;
b = 99;
}
else if (b == -1)
{
b = (a) + 000;
c = 99;
} else if (c == -1)
{
c = (b) + 00;
d = 99;
}
else if (d == -1)
{
d = (c) + 0.1;
}
}
if (a == 99)
{
a = -1;
} if (b == 99)
{
b = -1;
}
if (c == 99)
{
c = -1;
}
if (d == 99)
{
d = -1;
}
tft.setCursor(100, 100);
tft.print("WELKOM");
tft.setCursor( 120, 140);
if (a >= 0)
{
tft.print("*");
}
if (b >= 0)
{
tft.print("*");
}
if (c >= 0)
{
tft.print("*");
}
if (d >= 0)
{
tft.print("*");
}
if (d == 5109)
{ digitalWrite(rood, LOW); digitalWrite(wit, LOW); digitalWrite(groen, HIGH); tft.fillScreen(BLACK); tft.setTextColor(GREEN);
tft.setCursor(0, 80);
tft.print("M.A.Lange"); tft.setCursor(0, 120); tft.print("toegang verleend"); tft.setTextColor(CYAN);
EEPROM.put(aanwezig, d);
for (int aanwezig = 0;
aanwezig < 255;
aanwezig++)
EEPROM.get(aanwezig, f);
Serial.println(f, 3);
delay(10000); a = -1; b = -1; c = -1; d = -1;
}
if (d == 5104) {
digitalWrite(rood, LOW); digitalWrite(wit, LOW); digitalWrite(groen, HIGH);
tft.fillScreen(BLACK); tft.setTextColor(GREEN); tft.setCursor(0, 80);
tft.print("L.L. van Staveren"); tft.setCursor(0, 120); tft.print("toegang verleend"); tft.setTextColor(CYAN);
EEPROM.put(aanwezig, d);
for (int aanwezig = 0;
aanwezig < 255;
aanwezig++)
EEPROM.get(aanwezig, f);
Serial.println(f,3);
Serial.println();
delay(10000); a = -1; b = -1; c = -1; d = -1;
}
/* if (d == 7307) {
digitalWrite(rood, LOW); digitalWrite(wit, LOW); digitalWrite(groen, HIGH);
tft.fillScreen(BLACK); tft.setTextColor(GREEN); tft.setCursor(0, 80);
tft.print("fam.van Staveren"); tft.setCursor(0, 120); tft.print("toegang verleend"); tft.setTextColor(CYAN);
delay(10000); a = -1; b = -1; c = -1; d = -1;
}
if (d == 1111) {
digitalWrite(rood, LOW); digitalWrite(wit, LOW); digitalWrite(groen, HIGH);
tft.fillScreen(BLACK); tft.setTextColor(GREEN); tft.setCursor(0, 80);
tft.print("gast1"); tft.setCursor(0, 120); tft.print("toegang verleend"); tft.setTextColor(CYAN);
delay(10000); a = -1; b = -1; c = -1; d = -1;
}
if (d == 2222) {
digitalWrite(rood, LOW); digitalWrite(wit, LOW); digitalWrite(groen, HIGH);
tft.fillScreen(BLACK); tft.setTextColor(GREEN); tft.setCursor(0, 80);
tft.print("gast2"); tft.setCursor(0, 120); tft.print("toegang verleend"); tft.setTextColor(CYAN);
delay(10000); a = -1; b = -1; c = -1; d = -1;
}
if (d == 3333) {
digitalWrite(rood, LOW); digitalWrite(wit, LOW); digitalWrite(groen, HIGH);
tft.fillScreen(BLACK); tft.setTextColor(GREEN); tft.setCursor(0, 80);
tft.print("gast3"); tft.setCursor(0, 120); tft.print("toegang verleend"); tft.setTextColor(CYAN);
delay(10000); a = -1; b = -1; c = -1; d = -1;
}*/
else if (d >= 0) {
digitalWrite(rood, HIGH); digitalWrite(wit, LOW); digitalWrite(groen, LOW);
tft.fillScreen(BLACK); tft.setTextColor(RED); tft.setCursor(0, 80);
tft.print("onbekende code"); tft.setCursor(0, 120); tft.print("toegang geweigerd"); tft.setTextColor(CYAN);
delay(5000); a = -1; b = -1; c = -1; d = -1;
}
}
13 berichten
• Pagina 1 van 2 • 1, 2
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 61 gasten