Met rfid schuifdeur openen

Geef hier suggesties voor extra onderwerpen of andere dingen die je graag gewijzigd zou willen zien
Berichten: 24
Geregistreerd: 16 Apr 2019, 21:51

Met rfid schuifdeur openen

Berichtdoor Lpeeke » 24 Apr 2019, 19:32

Beste,

Bij het openen van mijn schuifpoort heb ik mijn programma al geschreven. Nu gebruik ik voor het draaien van de motor naar links een rfid reader op aangesloten. Maar deze heb ik nu ingesteld als een gewone schakelaar. Nu is mijn vraag : Hoe kan ik een chipnummer in mijn programma zetten zodat de schuifdeur opent op 1 chipnummer (bv: 947000000494063) en niet op alle chips wat nu wel het geval is. Hieronder ziet u mijn voorlopig programma.

Alvast bedankt.


const byte RFID = 6;
const byte schakelaarlinks = 7;
const byte schakelaarrechts = 8;
const int motorlinks = 4;
const int motorPinrechts = 5;

boolean frontButtonState = 0;
boolean backButtonState = 0;
boolean onOffButtonState = 0;



/**
setup inputs for switches and outs for motor pins
serial begin to read the switches to test for errors
*/
void setup() {
// initialize the pin as an inputs:
pinMode(motorlinks, OUTPUT);
pinMode(motorPinrechts, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(RFID, INPUT);
pinMode(schakelaarlinks, INPUT);
pinMode(schakelaarrechts, INPUT);
Serial.begin(9600);
}

/**
this function turns motor foward
*/
void drawMovesForward() {
// turn motor foward:
digitalWrite(motorlinks, LOW);
digitalWrite(motorPinrechts, HIGH);
}

/**
this function turns motor backwards
*/
void drawMovesBackward() {
// turn motor in other direction:
digitalWrite(motorlinks, HIGH);
digitalWrite(motorPinrechts, LOW);
}

/**
Stop the motor form moving
*/
void stopDrawFromMoving() {
digitalWrite(motorlinks, HIGH);
digitalWrite(motorPinrechts,HIGH);

}


/**

*/
void loop() {

frontButtonState = digitalRead(RFID);
backButtonState = digitalRead(schakelaarlinks);
onOffButtonState = digitalRead(schakelaarrechts);



if (onOffButtonState == HIGH) {
if ( frontButtonState == LOW ) {
drawMovesForward();

}

else if (backButtonState == LOW ) {
digitalWrite(motorlinks, HIGH);
delay(10000);
drawMovesBackward();
}

}
else {
if ( frontButtonState == HIGH ) {

stopDrawFromMoving();
}

else if (backButtonState == HIGH ) {
stopDrawFromMoving();
}
}
}

Advertisement

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Met rfid schuifdeur openen

Berichtdoor shooter » 26 Apr 2019, 13:20

een rfid komt terug met een code, en een library leest die code en dan kun jij er van alles meedoen.
je begint dus eerst met een drukknop zoals je nu doet, en vervangt dat dan door een commando uit de library.
het is ook goed mogelijk om meerdere codes te lezen.
paul deelen
shooter@home.nl

Berichten: 24
Geregistreerd: 16 Apr 2019, 21:51

Re: Met rfid schuifdeur openen

Berichtdoor Lpeeke » 29 Apr 2019, 21:08

Nu wil ik in mijn programma eerst een veiligheidsensor plaatsen zodat wanner er iets tussen de deur zit hij stopt voor 10 seconden. Ik denk dat ik dat op de manier hieronder moet programmeren. Maar dit werkt niet. Wilt u mij nog even helpen?
Alvast bedankt

void loop() {

frontButtonState = digitalRead(RFID);
backButtonState = digitalRead(schakelaarlinks);
onOffButtonState = digitalRead(schakelaarrechts);



if (onOffButtonState == HIGH) {
if ( frontButtonState == LOW ) {
drawMovesForward();

}

else if (backButtonState == LOW ) {
digitalWrite(motorlinks, HIGH);
delay(10000);
drawMovesBackward();
digitalRead(veiligheidsensor== HIGH);
digitalWrite(motorPinrechts, LOW);
delay(10000);
}

}
else {
if ( frontButtonState == HIGH ) {

stopDrawFromMoving();
}

else if (backButtonState == HIGH ) {
stopDrawFromMoving();
}
}
}

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Met rfid schuifdeur openen

Berichtdoor shooter » 30 Apr 2019, 11:25

je zult dus eerst moeten afvragen of het veilig is en daarna pas of het ook mag.
Kijk eens goed naar je if vragen.
het wordt dus een soort vertakkingboom met voorwaarden, en die veiligheid staat dus aan het begin.
Er zal best iemand komen met toestandsdiagram en zo. Maar schrijf de software zelf dan snap je wat er gebeurt.
paul deelen
shooter@home.nl

Berichten: 24
Geregistreerd: 16 Apr 2019, 21:51

Re: Met rfid schuifdeur openen

Berichtdoor Lpeeke » 01 Mei 2019, 21:50

Beste,

Ik heb mijn veiligheidssensor proberen overal te plaatsen maar op geen enkele plaats doet wat hij zou moeten doen. Zou u misschien kunnen zeggen of het voor mijn drawMovesBackward(); moet of er achter. Persoonlijk denk ik er achter. Kunt u mij ook zeggen of mijn volgorde van mijn veiligheidsblok juist is?

Alvast bedankt

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Met rfid schuifdeur openen

Berichtdoor shooter » 03 Mei 2019, 00:21

eerst veiligheid dus IF safe {dan kun je gaan bewegen, hierbinnen kun je dus de rest van de voorwaarden zoals open dicht etc.
} else {stop alles}.
en dat komt dus in de loop.
paul deelen
shooter@home.nl

Berichten: 24
Geregistreerd: 16 Apr 2019, 21:51

Re: Met rfid schuifdeur openen

Berichtdoor Lpeeke » 03 Mei 2019, 22:07

Beste,

Als ik dat probeer in mijn loop te zetten lukt het nog steeds niet. Kunt u mij toevallig vertellen tussen welke regels ik deze moet plaatsen?

Alvast bedankt

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Met rfid schuifdeur openen

Berichtdoor shooter » 04 Mei 2019, 20:47

loop()
{
if veilig
{
if rfid(open){
poort open
}
}
}
druk maar eens op cntrl T dan zie je het verspringende programma.
leest makkelijker.
paul deelen
shooter@home.nl

Berichten: 24
Geregistreerd: 16 Apr 2019, 21:51

Re: Met rfid schuifdeur openen

Berichtdoor Lpeeke » 09 Mei 2019, 08:18

beste,

Hieronder ziet u mijn programma. Kunt u soms zeggen of dat mijn veiligheidsensor nu op de juiste plaats staat?

PS: De toets ctr + T is zeer gemakkelijk te gebruiken.

Alvast bedankt




void loop() {

frontButtonState = digitalRead(RFID);
backButtonState = digitalRead(schakelaarlinks);
onOffButtonState = digitalRead(schakelaarrechts);



if (onOffButtonState == HIGH) {
if ( frontButtonState == LOW ) {
drawMovesForward();

}

else if (backButtonState == LOW ) {
digitalWrite(motorlinks, HIGH);
delay(10000);
drawMovesBackward();
}
if(veiligheidsensor==HIGH){
digitalWrite(motorlinks, LOW);
delay(5000);
drawMovesBackward();
}
}
else {
if ( frontButtonState == HIGH ) {

stopDrawFromMoving();
}

else if (backButtonState == HIGH ) {
stopDrawFromMoving();
}
}
}

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Met rfid schuifdeur openen

Berichtdoor shooter » 09 Mei 2019, 12:05

waarschijnlijk niet maar dit is niet het complete programma en de namen zeggen mij niet veel, dus een schema hoe het in elkaar zit zal helpen net zoals een schema met acties die je wilt in je programma.
paul deelen
shooter@home.nl

Terug naar Forum suggesties

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 10 gasten