Alleen iets doen als een integer veranderd van waarde

algemene C code
Berichten: 133
Geregistreerd: 10 Jan 2016, 16:39

Alleen iets doen als een integer veranderd van waarde

Berichtdoor Nightmystic » 28 Apr 2016, 23:02

Hoe programmeer je het volgende?

Doe iets... als een specifieke integer in waarde naar boven of naar beneden gaat, simpelweg veranderd van waarde dus.

Advertisement


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

Re: Alleen iets doen als een integer veranderd van waarde

Berichtdoor shooter » 29 Apr 2016, 09:22

if val != prev kan ook dan heb je alleen geen richting, ik gebruik dit om een display bij te werken , maar alleen als het nodig is.
paul deelen
shooter@home.nl

Berichten: 133
Geregistreerd: 10 Jan 2016, 16:39

Re: Alleen iets doen als een integer veranderd van waarde

Berichtdoor Nightmystic » 29 Apr 2016, 09:41

Wat ik ermee wil doen is bijv. de Arduino laten reageren op of op een potmeter of een andere waarde opgeslagen in een integer, maar dat lukt nog niet echt.

Misschien moet ik nesting gebruiken....

Ik ga er nog even mee stoeien.

Berichten: 133
Geregistreerd: 10 Jan 2016, 16:39

Re: Alleen iets doen als een integer veranderd van waarde

Berichtdoor Nightmystic » 29 Apr 2016, 10:18

Ik zie dat de waarde van de potmeter niet helemaal stabiel is, valt 1 terug, daarom werkt dit niet goed denk ik.

Hoe programmeer je het dat hij alleen veranderd als het verschil bijv groter is dan 3?

cpp code
void SliderofPot()
{
Potwaarde1 = analogRead(Pot1); //Read the voltage on the Potentiometer
Potwaarde1 = map(Potwaarde1,0,1023,0,500); // maximaal 500 milliseconden
prevSpeed = Speed;
prevPotwaarde = Potwaarde1;
if (Speed != prevSpeed)
{
SpeedState = 1;
}

if (Potwaarde1 != prevPotwaarde)
{
SpeedState = 0;
}

if (SpeedState == 1)
{
ledSpeed = Speed;
} else {
ledSpeed = Potwaarde1;
}
}

Berichten: 133
Geregistreerd: 10 Jan 2016, 16:39

Re: Alleen iets doen als een integer veranderd van waarde

Berichtdoor Nightmystic » 29 Apr 2016, 11:46

Dit komt al in de buurt van wat ik wil bereiken.

cpp code
Potwaarde1 = analogRead(Pot1); //read the Potmeter
Potwaarde1 = map(Potwaarde1, 0, 1023, 0, 499);
verschil2 = abs(prevSpeed - Speed); // calculate the absolute value of the difference btw prevous and current value
if (verschil2 >= 1)
{ // if the difference is higher than a threshold
ledSpeed = Speed;
}
else
{
ledSpeed = Potwaarde1;
}
prevSpeed = Speed;

Berichten: 133
Geregistreerd: 10 Jan 2016, 16:39

Re: Alleen iets doen als een integer veranderd van waarde

Berichtdoor Nightmystic » 29 Apr 2016, 12:11

Zo blijft ie staan op de laatst gewijzigde Integer

cpp code
void SpeedofPot()
{
Potwaarde1 = analogRead(Pot1); //read the Potmeter
Potwaarde1 = map(Potwaarde1, 0, 1023, 0, 499);
verschil = abs(prevPotwaarde - Potwaarde1);
verschil2 = abs(prevSpeed - Speed); // calculate the absolute value of the difference btw previous and current value
if (verschil2 >= 1)
{ // if the difference is higher than a threshold
SpeedState = 1;
}
if (verschil >= 3)
{
SpeedState = 0;
}
if (SpeedState == 1)
{
ledSpeed = Speed;
}
if (SpeedState == 0)
{
ledSpeed = Potwaarde1;
}
prevPotwaarde = Potwaarde1;
prevSpeed = Speed;
}

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Alleen iets doen als een integer veranderd van waarde

Berichtdoor nicoverduin » 29 Apr 2016, 14:00

Ben je je eigen "me myself and I" topic begonnen?
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 133
Geregistreerd: 10 Jan 2016, 16:39

Re: Alleen iets doen als een integer veranderd van waarde

Berichtdoor Nightmystic » 29 Apr 2016, 14:13

Hahahaha, daar ziet het wel naar uit idd.

Voel je je buitengesloten :P ? Je mag wel inhaken hoor ;)

Voordeel van als dit soort dingen op een forum staan is dat mensen die googlen het kunnen vinden en er hun voordeel mee kunnen doen.

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Alleen iets doen als een integer veranderd van waarde

Berichtdoor nicoverduin » 29 Apr 2016, 14:41

klopt daarom worden zo ongeveer elk jaar dezelfde vragen gesteld..... De meesten zoeken namelijk niet en beginnen gewoon weer opnieuw dezelfde vraag te stellen...
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Terug naar C code

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 2 gasten