optische sensor op relais aansluiten

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

Re: optische sensor op relais aansluiten

Berichtdoor Lpeeke » 13 Jun 2019, 15:46

Beste

Het is me jammer genoeg nog steeds niet gelukt. In de link, hieronder ziet u het elektrisch schema. Kunnen jullie mij soms zeggen wat ik verkeert doe?

https://scontent-bru2-1.xx.fbcdn.net/v/ ... e=5D85AE34

Alvast bedankt

Advertisement

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

Re: optische sensor op relais aansluiten

Berichtdoor shooter » 13 Jun 2019, 23:17

teken dit nog eens !
het contact van de sensor moet natuurlijk wel door de spoel van het relais. met een voeding voor het relais en dan het contact naar de arduino.
dus alleen het conatct naar de arduino.
paul deelen
shooter@home.nl

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

Re: optische sensor op relais aansluiten

Berichtdoor Lpeeke » 17 Jun 2019, 16:55

hallo,

Ik zag al wat dat de grote fout was mijn signaal ging niet in mijn relais. Dit probleem is dus al van de baan.
Nu een ander probleem met mijn programma. Ik wil dus zorgen dat een schuifdeur opent daar 3 seconden blijft staan en dan weer sluit. Hiervoor had ik een signaal van de optische sensor nodig. Maar mijn signaal om de schuifdeur te mogen openen is langs buiten een optische sensor en langs binnen een PIR sensor. Nu werkt mijn programma maar hij blijft detecteren dat het beginsignaal een 1 stuurt. Nu vraag ik mij af of ik een pull down weerstand moet gebruiken of het een probleem in mijn programma is. Ik denk een probleem in mijn programma omdat ik met de sensors wel een led kan laten branden. Hieronder ziet u mijn programma.µ

Alvast bedankt

Code: Alles selecteren
byte binnensensor = 10 ;
byte buitensensor = 9 ;
const byte schakelaaropen = 7;
const byte schakelaardicht = 8;
const int motoropen = 3;
const int motordicht = 4;

boolean schakelaaropenState = 0;
boolean schakelaardichtState = 0;
boolean buitensensorState = 0;
boolean binnensensorState = 0;

void setup() {

  pinMode(motoropen, OUTPUT);
  pinMode(motordicht, OUTPUT);

  pinMode(schakelaaropen, INPUT);
  pinMode(schakelaardicht, INPUT);
  pinMode(buitensensor, INPUT);
  pinMode(binnensensor, INPUT);
  Serial.begin(9600);
}


void openpoort() {
  if (digitalRead (buitensensor == HIGH))
    if (digitalRead (binnensensor == HIGH))
      digitalWrite(motoropen, HIGH);
  digitalWrite(motordicht, LOW);
  Serial.println("openen");
  while (digitalRead(schakelaaropen) == 1) {};
  Serial.println("af");
  digitalWrite(motoropen, LOW);
  digitalWrite(motordicht, LOW);
}


void dichtpoort() {
  digitalWrite(motoropen, LOW);
  digitalWrite(motordicht, HIGH);
  while (digitalRead(schakelaardicht) == 1);
  digitalWrite(motoropen, LOW);
  digitalWrite(motordicht, LOW);
}

void loop() {

  schakelaaropenState = digitalRead(schakelaaropen);
  schakelaardichtState = digitalRead(schakelaardicht);
  buitensensorState = digitalRead(buitensensor);
  binnensensorState = digitalRead(binnensensor);
  Serial.print("buitensensorState is: "); Serial.println(buitensensorState);
  Serial.print("binnensensorState is: "); Serial.println(buitensensorState);
  Serial.print("schakelaardichtState is: "); Serial.println(schakelaardichtState);
  Serial.print("schakelaaropenState is: "); Serial.println(schakelaaropenState);


  openpoort();
  Serial.println("wachten");
  delay(3000);
  Serial.println("dicht");
  dichtpoort();
  Serial.println("gedaan");
}

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

Re: optische sensor op relais aansluiten

Berichtdoor shooter » 17 Jun 2019, 19:10

schrijf eehns wat er moet gebeuren als een sensor aan gaat. er staat in de loop niet genoeg.
telkens afvragen wat er moet gebeuren en dan pas naar een functie toe. dus in de loop knopje zetten van poort oopen. Dan in de functie poort open sturen tot de poort open is.
dan weer terug naar de loop
en wachten tot dicht kan.
paul deelen
shooter@home.nl

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

Re: optische sensor op relais aansluiten

Berichtdoor Lpeeke » 17 Jun 2019, 19:33

wordt je void loop dan zo?:


Code: Alles selecteren
void dichtpoort() {
  digitalWrite(motoropen, HIGH);
  digitalWrite(motordicht, LOW);
  while (digitalRead(schakelaardicht) == 1);
  digitalWrite(motoropen, HIGH);
  digitalWrite(motordicht, HIGH);
}

void loop() {

  schakelaaropenState = digitalRead(schakelaaropen);
  schakelaardichtState = digitalRead(schakelaardicht);
  buitensensorState = digitalRead(buitensensor);
  binnensensorState = digitalRead(binnensensor);
  Serial.print("buitensensorState is: "); Serial.println(buitensensorState);
  Serial.print("binnensensorState is: "); Serial.println(buitensensorState);
  Serial.print("schakelaardichtState is: "); Serial.println(schakelaardichtState);
  Serial.print("schakelaaropenState is: "); Serial.println(schakelaaropenState);

if (digitalRead (buitensensor == HIGH))
  openpoort();
  Serial.println("wachten");
  while (digitalRead(schakelaaropen) == 1) {};
  delay(3000);
  Serial.println("dicht");
  dichtpoort();
  Serial.println("gedaan");
}


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

Re: optische sensor op relais aansluiten

Berichtdoor shooter » 18 Jun 2019, 10:32

je zult al die serial. prints moeten vertragen omdat er anders wat overloopt, maar het lijkt wel aardig. ik mis wel de poortopen functie.
en wat is 1 is dat open of aan?
paul deelen
shooter@home.nl

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

Re: optische sensor op relais aansluiten

Berichtdoor Lpeeke » 18 Jun 2019, 13:52

Beste,

Ik heb mijn serial prints allemaal weggedaan en de 1 vervangen door HIGH. Nu wil ik dit programma testen en concludeer ik dat deze nog steeds hetzelfde doet als ervoor maar nu wacht hij als hij open is ook geen 3 seconden meer :? . Hebt u soms een idee waar mijn fout kan aan liggen in mijn programma? Hieronder ziet u mijn programma

Alvast bedankt
Code: Alles selecteren
byte binnensensor = 10 ;
byte buitensensor = 9 ;
const byte schakelaaropen = 7;
const byte schakelaardicht = 8;
const int motoropen = 3;
const int motordicht = 4;

boolean schakelaaropenState = 0;
boolean schakelaardichtState = 0;
boolean buitensensorState = 0;
boolean binnensensorState = 0;

void setup() {

  pinMode(motoropen, OUTPUT);
  pinMode(motordicht, OUTPUT);

  pinMode(schakelaaropen, INPUT);
  pinMode(schakelaardicht, INPUT);
  pinMode(buitensensor, INPUT);
  pinMode(binnensensor, INPUT);
  Serial.begin(9600);
}


void openpoort() {
  digitalWrite(motoropen, HIGH);
  digitalWrite(motordicht, LOW);
  while (digitalRead(schakelaaropen) == HIGH);
  digitalWrite(motoropen, LOW);
  digitalWrite(motordicht, LOW);
}


void dichtpoort() {
  digitalWrite(motoropen, HIGH);
  digitalWrite(motordicht, LOW);
  while (digitalRead(schakelaardicht) == HIGH);
  digitalWrite(motoropen, HIGH);
  digitalWrite(motordicht, HIGH);
}

void loop() {

  schakelaaropenState = digitalRead(schakelaaropen);
  schakelaardichtState = digitalRead(schakelaardicht);
  buitensensorState = digitalRead(buitensensor);
  binnensensorState = digitalRead(binnensensor);

  if (digitalRead (buitensensor == HIGH));
     (digitalRead (buitensensor == HIGH));
  openpoort();
  delay(3000);
  dichtpoort();
}

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

Re: optische sensor op relais aansluiten

Berichtdoor Lpeeke » 18 Jun 2019, 16:13

Beste,

Ik heb mijn serial prints allemaal weggedaan en de 1 vervangen door HIGH. Nu wil ik dit programma testen en concludeer ik dat deze nog steeds hetzelfde doet als ervoor maar nu wacht hij als hij open is ook geen 3 seconden meer :? . Hebt u soms een idee waar mijn fout kan aan liggen in mijn programma? Hieronder ziet u mijn programma

Alvast bedankt

Code: Alles selecteren
byte binnensensor = 10 ;
byte buitensensor = 9 ;
const byte schakelaaropen = 7;
const byte schakelaardicht = 8;
const int motoropen = 3;
const int motordicht = 4;

boolean schakelaaropenState = 0;
boolean schakelaardichtState = 0;
boolean buitensensorState = 0;
boolean binnensensorState = 0;

void setup() {

  pinMode(motoropen, OUTPUT);
  pinMode(motordicht, OUTPUT);

  pinMode(schakelaaropen, INPUT);
  pinMode(schakelaardicht, INPUT);
  pinMode(buitensensor, INPUT);
  pinMode(binnensensor, INPUT);
  Serial.begin(9600);
}


void openpoort() {
  digitalWrite(motoropen, HIGH);
  digitalWrite(motordicht, LOW);
  while (digitalRead(schakelaaropen) == HIGH);
  digitalWrite(motoropen, LOW);
  digitalWrite(motordicht, LOW);
}


void dichtpoort() {
  digitalWrite(motoropen, LOW);
  digitalWrite(motordicht, HIGH);
  while (digitalRead(schakelaardicht) == HIGH);
  digitalWrite(motoropen, LOW);
  digitalWrite(motordicht, LOW);
}

void loop() {

  schakelaaropenState = digitalRead(schakelaaropen);
  schakelaardichtState = digitalRead(schakelaardicht);
  buitensensorState = digitalRead(buitensensor);
  binnensensorState = digitalRead(binnensensor);

  if (digitalRead (buitensensor == HIGH));
     (digitalRead (buitensensor == HIGH));
  openpoort();
  delay(3000);
  dichtpoort();
}

Gebruikers-avatar
Berichten: 631
Geregistreerd: 15 Nov 2015, 11:54

Re: optische sensor op relais aansluiten

Berichtdoor Gij Kieken » 18 Jun 2019, 18:15

Bekijk eens je if constructie https://www.arduino.cc/reference/en/lan ... ucture/if/
En hoe zijn je schakelaars nu aangesloten Pull-up of Pull-down?

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

Re: optische sensor op relais aansluiten

Berichtdoor Lpeeke » 18 Jun 2019, 18:27

Ze zijn aangesloten als een pull up.
Maar moet ik dan in plaats van een if een while gebruiken of nog iets anders? Als het if moet blijven kunt u het mij misschien even voor tonen hoe ik het dan wel juist programmeer?

Bedankt alvast

VorigeVolgende

Terug naar Forum suggesties

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 7 gasten