2 loops tegelijk laten werken
5 berichten
• Pagina 1 van 1
2 loops tegelijk laten werken
Ik ben een snelheidsmeter aan het bouwen, maar nu wil ik bij bepaalde snelheden een waarschuwingsignaal creëren dmv een ledje wat dan een paar seconden aan gaat.
Met behulp van de sensor van een oude fietscomputer kan ik de signalen van de sensor omzetten in een getal op een display.
Echter als het display bv 30 aangeeft en ik wil dan een signaal versturen van een paar seconden naar bv een ledje, dan krijg ik in de tussentijd geen signalen van de sensor van de fietscomputer meer binnen omdat de arduino met iets anders bezig is met gevolg dat de snelheid naar beneden gaat wat in de praktijk natuurlijk niet het geval is.
Is er een functie beschikbaar in C++ van arduino waarmee de ene lus gewoon door blijft lopen als mijn programma bezig is in een andere lus?
Met behulp van de sensor van een oude fietscomputer kan ik de signalen van de sensor omzetten in een getal op een display.
Echter als het display bv 30 aangeeft en ik wil dan een signaal versturen van een paar seconden naar bv een ledje, dan krijg ik in de tussentijd geen signalen van de sensor van de fietscomputer meer binnen omdat de arduino met iets anders bezig is met gevolg dat de snelheid naar beneden gaat wat in de praktijk natuurlijk niet het geval is.
Is er een functie beschikbaar in C++ van arduino waarmee de ene lus gewoon door blijft lopen als mijn programma bezig is in een andere lus?
Advertisement
Re: 2 loops tegelijk laten werken
ledje aanzetten,
terug signalen meten
als er 1 seconde voorbij is, led je terug uitzetten.
Kris
terug signalen meten
als er 1 seconde voorbij is, led je terug uitzetten.
Kris
Als je het probleem gedetailleerd genoeg omschrijft, heb je meestal al de oplossing.
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: 2 loops tegelijk laten werken
ercmrj schreef:Ik ben een snelheidsmeter aan het bouwen, maar nu wil ik bij bepaalde snelheden een waarschuwingsignaal creëren dmv een ledje wat dan een paar seconden aan gaat.
Met behulp van de sensor van een oude fietscomputer kan ik de signalen van de sensor omzetten in een getal op een display.
Echter als het display bv 30 aangeeft en ik wil dan een signaal versturen van een paar seconden naar bv een ledje, dan krijg ik in de tussentijd geen signalen van de sensor van de fietscomputer meer binnen omdat de arduino met iets anders bezig is met gevolg dat de snelheid naar beneden gaat wat in de praktijk natuurlijk niet het geval is.
Is er een functie beschikbaar in C++ van arduino waarmee de ene lus gewoon door blijft lopen als mijn programma bezig is in een andere lus?
- Code: Alles selecteren
//
// waar je de led aan wil zetten
//
digitalWrite(LEDJE, HIGH);
unsigned long teller = millis() + 3000L; // zet de uit tijd op NU + 3 seconden
//
// in het stuk code waar je de input van de fiets computer verwerkt:
//
if (teller != 0L) { // alleen uitvoeren als de teller is gezet
if (millis() > teller) { // tijd is voorbij
digitalWrite(LEDJE, LOW);
teller = 0L;
}
}
Re: 2 loops tegelijk laten werken
Bedankt, het is gelukt.
Ik kan hem op deze manier natuurlijk ook laten even laten knipperen, zolang ik maar geen delay() gebruik neem ik aan.
Ik kan hem op deze manier natuurlijk ook laten even laten knipperen, zolang ik maar geen delay() gebruik neem ik aan.
Re: 2 loops tegelijk laten werken
ja delay is een onding
ik zou het declareren wel in de setup doen en niet in de loop,want dat kost telkens tijd, en wellicht geheugen.
zo kun je dus ook meerdere tijden tegelihk doen.
en dan heb je ook nog interupts om het nog sneller te doen.
ik zou het declareren wel in de setup doen en niet in de loop,want dat kost telkens tijd, en wellicht geheugen.
zo kun je dus ook meerdere tijden tegelihk doen.
en dan heb je ook nog interupts om het nog sneller te doen.
paul deelen
shooter@home.nl
shooter@home.nl
5 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 25 gasten