wachten tot signaal stabiel is
7 berichten
• Pagina 1 van 1
wachten tot signaal stabiel is
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);
}
}
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
Re: wachten tot signaal stabiel is
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
shooter@home.nl
Re: wachten tot signaal stabiel is
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
en er komen nog meerderen LED in dan word dat wel moelijk
Re: wachten tot signaal stabiel is
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:
Dan schakelt hij om bij precies 50.
Met hysteresis wordt het:
Daarmee zijn de waarden voor het aan- en uitzetten 45 en 55, en als de waarde er tussen zit, dan gebeurt er niets.
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.
Re: wachten tot signaal stabiel is
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
Re: wachten tot signaal stabiel is
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.
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.
Re: wachten tot signaal stabiel is
Kan er niet met een aantal counts boven de 50 gekeken worden of het signaal stabiel is ?
My 2 cents
Mvg, Rob
My 2 cents
Mvg, Rob
7 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 5 gasten