wachten tot signaal stabiel is

Arduino specifieke Software
Berichten: 7
Geregistreerd: 08 Jan 2018, 18:45

wachten tot signaal stabiel is

Berichtdoor kay » 07 Mei 2018, 22:04

hallo ik ben bezig met het maken van een auto lamp aan en uit knop voor in de auto.

nau is mijn probleem dat als het op de rand zit van mijn getal voor de test nu dan begint di te knipperen dat wi ik niet. wat moet ik veranderen zodat hij het signaal seconde onder de moet zien voor dat di aan gaat.


hier is mijn de code wie ik gebruik
//set pin numbers
//const won't change
const int ledPin = 13; //the number of the LED pin
const int ldrPin = A0; //the number of the LDR pin



void setup() {

Serial.begin(9600);
pinMode(ledPin, OUTPUT); //initialize the LED pin as an output
pinMode(ldrPin, INPUT); //initialize the LDR pin as an input
}

void loop() {

int ldrStatus = analogRead(ldrPin); //read the status of the LDR value

//check if the LDR status is <= 300
//if it is, the LED is HIGH

if (ldrStatus <=50) {

digitalWrite(ledPin, HIGH); //turn LED on
Serial.println(ldrStatus);
delay(10000);
}
else {

digitalWrite(ledPin, LOW); //turn LED off
Serial.println(ldrStatus);
}




}

Advertisement

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

Re: wachten tot signaal stabiel is

Berichtdoor shooter » 07 Mei 2018, 22:15

dan kun je simpelst een tweetal grenzen gebruiken, dus 1 (50) dan gaat de LED aan en de andere dan gaat de LED uit.
paul deelen
shooter@home.nl

Berichten: 7
Geregistreerd: 08 Jan 2018, 18:45

Re: wachten tot signaal stabiel is

Berichtdoor kay » 10 Mei 2018, 04:17

maar hij moet uit blijven als di hoger is en aan blijven als di lager is
en er komen nog meerderen LED in dan word dat wel moelijk

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

Re: wachten tot signaal stabiel is

Berichtdoor Koepel » 10 Mei 2018, 08:11

kay, wat shooter bedoelt is het toevoegen van hysterese.
https://nl.wikipedia.org/wiki/Hysterese.
Dat wordt in zo'n situatie vrijwel altijd gedaan.

Je hebt nu:
Code: Alles selecteren
if (ldrStatus <=50)
{
  ...   // LED on
}
else
{
  ...   // LED off
}

Dan schakelt hij om bij precies 50.

Met hysteresis wordt het:
Code: Alles selecteren
if (ldrStatus < 45)
{
  ...   // LED on
}
else if (ldrStatus > 55)
{
  ...   // LED off
}

Daarmee zijn de waarden voor het aan- en uitzetten 45 en 55, en als de waarde er tussen zit, dan gebeurt er niets.

Berichten: 7
Geregistreerd: 08 Jan 2018, 18:45

Re: wachten tot signaal stabiel is

Berichtdoor kay » 16 Mei 2018, 19:01

ik heb het nu toegepast het lost aleen nog niet het probleem op dat als de waarde spring tussen de 45 en 46 dat hij dan niet knipper en het duurt even voordat het echt boven di 45 is

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

Re: wachten tot signaal stabiel is

Berichtdoor Koepel » 17 Mei 2018, 06:36

Kun je beter beschrijven wat je wilt ?
Nu lijkt het alsof je wilt dat de led gaat knipperen.
De waarden van 45 en 55 zijn zomaar gekozen, die kun je wijzigen.
Wanneer je echt wilt dat de waarde 1 seconde stabiel is, dan is dat mogelijk met millis(). De sketch wordt dan wel een stuk groter.
Je kunt alvast het BlinkWithoutDelay voorbeeld bestuderen: https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay.
Ik zie echter nog geen reden om millis() te gaan gebruiken.

Gebruikers-avatar
Berichten: 256
Geregistreerd: 05 Apr 2018, 00:44
Woonplaats: ALKMAAR

Re: wachten tot signaal stabiel is

Berichtdoor Gompy » 29 Mei 2018, 17:11

Kan er niet met een aantal counts boven de 50 gekeken worden of het signaal stabiel is ?

My 2 cents

Mvg, Rob

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 16 gasten