nRF24 met vertraging
30 berichten
• Pagina 2 van 3 • 1, 2, 3
Re: nRF24 met vertraging
metafoor moeilijk woord.
en nico methode betekent wel dat de hele stapel (array) moet verschuiven als je de kaart gebruikt.
en nico methode betekent wel dat de hele stapel (array) moet verschuiven als je de kaart gebruikt.
paul deelen
shooter@home.nl
shooter@home.nl
Advertisement
Re: nRF24 met vertraging
Bedankt voor jullie tips.
Ik ben hard bezig geweest met informatie verzamelen over array's.
Ik heb een test opstelling gemaakt met een groen en een rood ledje.
Het is de bedoeling dat ik via de seriële monitor een 1 of een 2 geef waarna er twee seconden niets gebeurt en dan een ledje gaat branden.
Dit is niet gelukt met mijn code:
cpp code
Iemand tips?
Mvg,
Ik ben hard bezig geweest met informatie verzamelen over array's.
Ik heb een test opstelling gemaakt met een groen en een rood ledje.
Het is de bedoeling dat ik via de seriële monitor een 1 of een 2 geef waarna er twee seconden niets gebeurt en dan een ledje gaat branden.
Dit is niet gelukt met mijn code:
cpp code
int groen = 4;
int rood = 5;
int state;
unsigned long vertraging[10];
void setup() {
pinMode (groen, OUTPUT);
pinMode (rood, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
state = Serial.read();
}
if (state == '1')
{
unsigned long tijd = millis();
vertraging[1] = millis();
}
if (millis() - 2000 == vertraging[1]) {
Fgroen();
}
else if (state = '2') {
unsigned long tijd = millis();
vertraging[2] = millis();
}
if (millis() - 2000 == vertraging[2]) {
Frood();
}
}
void Fgroen() {
digitalWrite(groen, HIGH);
digitalWrite(rood, LOW);
}
void Frood() {
digitalWrite(rood, HIGH);
digitalWrite(groen, LOW);
}
Iemand tips?
Mvg,
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: nRF24 met vertraging
ik zou:
a) int state vervangen voor char state.
Dit stukje:
cpp code
vervangen in
cpp code
Ik zou zelf nog wel wat verder gaan, maar nu ff een stap tegelijk
a) int state vervangen voor char state.
Dit stukje:
cpp code
if (state == '1')
{
unsigned long tijd = millis();
vertraging[1] = millis();
}
if (millis() - 2000 == vertraging[1]) {
Fgroen();
}
else if (state = '2') {
unsigned long tijd = millis();
vertraging[2] = millis();
}
if (millis() - 2000 == vertraging[2]) {
Frood();
}
vervangen in
cpp code
if (state == '1')
{
unsigned long tijd = millis();
vertraging[1] = millis();
}
if ((millis() - vertraging[1]) > 2000) {
Fgroen();
}
else if (state == '2') {
unsigned long tijd = millis();
vertraging[2] = millis();
}
if ((millis() - vertraging[2] )> 2000) {
Frood();
}
Ik zou zelf nog wel wat verder gaan, maar nu ff een stap tegelijk
Re: nRF24 met vertraging
ik zou wel bij int blijven, en gelijk switch state uitleggen.
paul deelen
shooter@home.nl
shooter@home.nl
Re: nRF24 met vertraging
Hallo,
Bedankt voor jullie tips. Helaas werken ze niet bij mij.
Ik gebruik nu een code volgens de tip van Shooter:
Wat doe ik fout?
Mvg,
Bedankt voor jullie tips. Helaas werken ze niet bij mij.
Ik gebruik nu een code volgens de tip van Shooter:
- Code: Alles selecteren
int groen = 4;
int rood = 5;
int state;
unsigned long vertraging[10];
void setup() {
pinMode (groen, OUTPUT);
pinMode (rood, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
state = Serial.read();
}
switch (state) {
case '1':
{
unsigned long tijd = millis();
vertraging[1] = millis();
if ((millis() - vertraging[1]) > 2000) {
Fgroen();
}
}
break;
case '2':
{
unsigned long tijd = millis();
vertraging[2] = millis();
if ((millis() - vertraging[2]) > 2000) {
Frood();
}
}
break;
}
}
void Fgroen() {
digitalWrite(groen, HIGH);
digitalWrite(rood, LOW);
}
void Frood() {
digitalWrite(rood, HIGH);
digitalWrite(groen, LOW);
}
Wat doe ik fout?
Mvg,
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: nRF24 met vertraging
Er gaat wel meer fout....
Je leest een teken als deze er is. Vervolgens blijft state dezelfde waarde.
En elke keer door de loop ga je door de switch case
En elke keer reset je te vertraging
En elke keer gaat het fout.
De switch case kan je toepassen alleen voor het starten voor de desbetreffende timer. Waarbij de vraag rijst wat doe je als deze al loopt.
Het af testen van de timers moet buiten de switch case
En als je dan omschakelt, wat doe je met de andere timer
En waarom maak je een variabele tijd elke keer als je er niets aan doet?
Je leest een teken als deze er is. Vervolgens blijft state dezelfde waarde.
En elke keer door de loop ga je door de switch case
En elke keer reset je te vertraging
En elke keer gaat het fout.
De switch case kan je toepassen alleen voor het starten voor de desbetreffende timer. Waarbij de vraag rijst wat doe je als deze al loopt.
Het af testen van de timers moet buiten de switch case
En als je dan omschakelt, wat doe je met de andere timer
En waarom maak je een variabele tijd elke keer als je er niets aan doet?
Re: nRF24 met vertraging
esten van timers of ingangen doe ik in een functie die door de loop gevraagd wordt, deze functie wordt zoveel mogelijk aangeroepen, zo ook een functie voor stepper.run
paul deelen
shooter@home.nl
shooter@home.nl
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: nRF24 met vertraging
shooter schreef:esten van timers of ingangen doe ik in een functie die door de loop gevraagd wordt, deze functie wordt zoveel mogelijk aangeroepen, zo ook een functie voor stepper.run
Zit jij nu 2 posts door elkaar te halen? Ik heb geen stepper gezien
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: nRF24 met vertraging
shooter schreef:metafoor moeilijk woord.
en nico methode betekent wel dat de hele stapel (array) moet verschuiven als je de kaart gebruikt.
Metafoor is een gewoon nederlands woord dus dat valt nog wel mee en je hoeft geen enkele kaart te verschuiven alleen 2 pointers
Re: nRF24 met vertraging
mijn loop is
functieaanroep inputs
functieaanroep timers
aanroep status
aanroep procedures.
aanroep uitgangen zoals steppers
dat komt denk ik door de PLC ervaring.
functieaanroep inputs
functieaanroep timers
aanroep status
aanroep procedures.
aanroep uitgangen zoals steppers
dat komt denk ik door de PLC ervaring.
paul deelen
shooter@home.nl
shooter@home.nl
30 berichten
• Pagina 2 van 3 • 1, 2, 3
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 78 gasten