schuifdeur

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

schuifdeur

Berichtdoor Lpeeke » 18 Apr 2019, 08:14

Beste,
Ik ben bezig met het maken van een schuifdeur. In mijn arduino programma gaat de poort al open naar links. deze stopt op de schakelaarlinks. De deur moet dan 30 seconden daar blijven en dan terug naar rechts dichtgaan. Tot wanneer de schakelaarrechts word ingedrukt. Ik weet niet hoe ik de deur 30 seconden open moet laten staan en dan moet dichtdoen.
Willen jullie mij iets laten weten hoe ik dit verder moet programmeren? Het programma ziet u hieronder.
Alvast bedankt

#include <SoftwareSerial.h>

SoftwareSerial RFID(2 , 3); // RX=2 and TX=3



int i;
int relaismotorlinks = 4;
int toestandKnop2 = 0;
int schakelaarlinks = 5;
int relaismotorrechts = 6;
int schakelaarrechts= 13;


void setup()

{

RFID.begin(9600); // start serial to RFID reader

Serial.begin(9600); // start serial to PC

digitalWrite(relaismotorlinks, OUTPUT); //ledpin is output
digitalWrite(RFID, INPUT); //knop is input
digitalWrite(schakelaarlinks, INPUT);
digitalWrite(relaismotorrechts, OUTPUT);
digitalWrite(schakelaarrechts, INPUT);
}

void loop()

{

if (RFID.available() > 0)

{

i = RFID.read();

Serial.print(i, DEC);

Serial.print(" - ");
}

int toestandKnop2 = digitalRead(2); // 'lees' de waarde op pin 2
Serial.print("toestand knop2: "); // schrijf de tekst op de monitor
Serial.println(toestandKnop2); // laat de waarde van pin 2
// (0 of 1) zien op de monitor
if (digitalRead(RFID) == HIGH) { // als knop1 ingedrukt wordt
digitalWrite(relaismotorlinks, LOW); // led uit
}
if
(digitalRead(schakelaarlinks) == HIGH){ // als knop 2 ingedrukt wordt
digitalWrite(relaismotorlinks, HIGH); //anders: led uit

}

}

Advertisement

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

Re: schuifdeur

Berichtdoor shooter » 18 Apr 2019, 11:26

als eerste maar even je eindschakelaars:
beter is om deze met pull up aan de input te hangen (moet je even opzoeken ) dan wordt de melding weliswaar omgedraaid maar scheelt aan bedrading en schema.
verder zul je even in de gaten moeten krijgen welke toestanden je kunt creeren.
zoals poort loopt open, poort is open etc.
verder moet je gaan zoeken naar blink without delay (met een timer miilis()) als de deur namelijk open staat en je raakt de rfid aan, dan moet de timer resetten.
ik geef expres niet de oplossing (die geeft koepel wel) want als je het zelf uitzoekt heb je er veel meer aan.
paul deelen
shooter@home.nl

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

Re: schuifdeur

Berichtdoor Lpeeke » 18 Apr 2019, 23:08

Beste,

Ik heb geprobeerd hoe u het heeft gezegd maar ik weet niet goed hoe ik daaraan moet beginnen. Ik Heb dit wel geprobeerd maar ik denk dat er een fout in mijn programma zit. Namelijk de relais is al op voorhand aangetrokken als ik mijn programma upload. Deze kan ik ook op geen enkele manier uitschakelen. Daarom kan de rfid reader geen contact maken. Kan u soms kijken waar mijn fout zit en mij uitleggen hoe dit in elkaar zit. Hieronder vind je mijn programma.

Alvast bedankt

#include <SoftwareSerial.h>

SoftwareSerial RFID(2 , 3); // RX=2 and TX=3



int i;
int relaismotorlinks = 4;
int toestandKnop2 = 0;
int schakelaarlinks = 6;
int relaismotorrechts = 5;
int schakelaarrechts = 7;


void setup()

{

RFID.begin(9600); // start serial to RFID reader

Serial.begin(9600); // start serial to PC

pinMode(relaismotorlinks, OUTPUT); //ledpin is output
pinMode(RFID, INPUT); //knop is input
pinMode(schakelaarlinks, INPUT);
pinMode(relaismotorrechts, OUTPUT);
pinMode(schakelaarrechts, INPUT);

}
void loop()

{

if (RFID.available() > 0)

{

i = RFID.read();

Serial.print(i, DEC);

Serial.print(" - ");
}
if ((RFID) == HIGH) { // als knop1 ingedrukt wordt
{
digitalWrite(relaismotorlinks,HIGH ); // led uit
}
if((relaismotorlinks) == HIGH)
{
digitalWrite(schakelaarlinks,LOW );
}
if ((schakelaarlinks) == HIGH)
{
delay(30000);
digitalWrite(relaismotorrechts,HIGH );
digitalWrite(schakelaarrechts,LOW );
}
if((schakelaarrechts) == HIGH)
{
digitalWrite(relaismotorrechts,LOW );
}
}
}

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

Re: schuifdeur

Berichtdoor shooter » 20 Apr 2019, 21:30

dat ligt vaak aan de relais module die gebruikt wordt.
begin eens wat simpeler: ofwel zet alleen maar eens pin4,5 op een output!
als nu de relais aangaan moet je ze in de setup uitzetten door er een HIGH naar toe te sturen.
laat de loop(){} even leeg.
als dit goed is, dan kun je weer een verder.
RFID werkt ook behoorlijk anders je moet kijken wat i is, dat is afhankelijk van wat er gelezen wordt.
je moet ook kijken wat er gebeurt als de rfidblijft sturen.
gebruik bijv output 13 want dan kun je zien of je ingang goed werkt.
paul deelen
shooter@home.nl

Terug naar Forum suggesties

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 7 gasten