Leds aansturen

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

Re: Leds aansturen

Berichtdoor nicoverduin » 16 Aug 2013, 23:03

Dat vraag ik niet. Ik vraag hoe je schakelt. Dus hangt die knop in de "open" stand aan GND en als je hem indrukt dat hij naar "HIGH" gaat of niet. De reden is namelijk dat ik denk van niet en dat je ingang gewoon zweeft en dus onvoorspelbaar wordt. En die foto maakt het niet duidelijker
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Advertisement

Berichten: 15
Geregistreerd: 14 Aug 2013, 08:11
Woonplaats: Hardenberg

Re: Leds aansturen

Berichtdoor whitedxi » 16 Aug 2013, 23:51

nicoverduin schreef:Dat vraag ik niet. Ik vraag hoe je schakelt. Dus hangt die knop in de "open" stand aan GND en als je hem indrukt dat hij naar "HIGH" gaat of niet. De reden is namelijk dat ik denk van niet en dat je ingang gewoon zweeft en dus onvoorspelbaar wordt. En die foto maakt het niet duidelijker

Sorry ik moet wennen aan t taalgebruik hier.
Ik heb een - naar een 10k weerstand. + naar de knop. Doe ik niets dan is er 0 volt op pin3. Druk ik de knop in dan gaat er 5v naartoe.
Wat me opvalt is dat de serialwrite continue text geeft.
*Arduino nOOb but I am learning*

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

Re: Leds aansturen

Berichtdoor nicoverduin » 17 Aug 2013, 00:29

wat voor text?
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 15
Geregistreerd: 14 Aug 2013, 08:11
Woonplaats: Hardenberg

Re: Leds aansturen

Berichtdoor whitedxi » 17 Aug 2013, 09:41

Met deze code heb ik het gewenste resultaat maar geeft de serialprint continue "UIT".
Druk ik de knop in dan gaan de leds aan op de juiste manier.


int led1 = 11;
int led2 = 10;
int led3 = 9;
int led4 = 8;
long start;
unsigned long druk1;
int knop1 = 3;
unsigned long stled1;
unsigned long stled2;
unsigned long stled3;
unsigned long stled4;
unsigned long stled5;

int ledState = LOW; // ledState used to set the LED
int ledPin = 0; // will store last time LED was updated




// the follow variables is a long because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long interval = 500; // interval at which to blink (milliseconds)

void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(knop1, INPUT);
Serial.begin(9600); // open communication po





}

void loop()
{


if (digitalRead(knop1)==HIGH)
{
Serial.println("Start signal received");
start = millis();
stled1=start+750;
stled2=start+1250;
stled3=start+1750;
stled4=start+2250;
stled5=start+4250;
delay(250); // for debounce


}
if (millis()>=stled1 && millis()<=stled2)
{
Serial.println("led1");
digitalWrite (led1, HIGH);
digitalWrite (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
}
if (millis()>=stled2 && millis()<=stled3)
{
Serial.println("led2");
digitalWrite (led1, LOW);
digitalWrite (led2, HIGH);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);

}

if (millis()>=stled3 && millis()<=stled4)
{
Serial.println("led3");
digitalWrite (led1, LOW);
digitalWrite (led2, LOW);
digitalWrite (led3, HIGH);
digitalWrite (led4, LOW);

}


if (millis()>=stled4 && millis()<=stled5)
{
Serial.println("led4");
digitalWrite (led1, LOW);
digitalWrite (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, HIGH);

}
else{
Serial.println("UIT");
digitalWrite (led1, LOW);
digitalWrite (led2, LOW);
digitalWrite (led3, LOW);
digitalWrite (led4, LOW);
}

}
*Arduino nOOb but I am learning*

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

Re: Leds aansturen

Berichtdoor nicoverduin » 17 Aug 2013, 13:39

Dat klopt toch..... Als de knop niet ingedrukt is, dan krijg je automatisch de laatste else in een eindeloze loop. Immers geen van de leds gaan branden op dat moment.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 15
Geregistreerd: 14 Aug 2013, 08:11
Woonplaats: Hardenberg

Re: Leds aansturen

Berichtdoor whitedxi » 18 Aug 2013, 16:33

nicoverduin schreef:Dat klopt toch..... Als de knop niet ingedrukt is, dan krijg je automatisch de laatste else in een eindeloze loop. Immers geen van de leds gaan branden op dat moment.


Je hebt helemaal gelijk inderdaad. Maar dat is voor mijn project niet handig. Ik wil bijvoorbeeld nu een extra rode lamp toevoegen die ipv de laatste groene led (of een andere gele led) die aangaat als er een laser met LDR doorbroken wordt. Dus de sequence moet doorbroken worden als laser voortijdig doorbroken wordt.

Is het handig als ik uitleg wat ik eigenlijk precies wil? Het totaal?
*Arduino nOOb but I am learning*

Berichten: 15
Geregistreerd: 14 Aug 2013, 08:11
Woonplaats: Hardenberg

Re: Leds aansturen

Berichtdoor whitedxi » 19 Aug 2013, 21:47

Ik wil in feite een dragstrip maken.

http://www.hoosiertire.com/dragman.htm

De christmas tree en het timing gedeelte wil ik met lasers en ldr's maken en een arduino.
*Arduino nOOb but I am learning*

Berichten: 15
Geregistreerd: 14 Aug 2013, 08:11
Woonplaats: Hardenberg

Re: Leds aansturen

Berichtdoor whitedxi » 28 Aug 2013, 23:36

*Arduino nOOb but I am learning*

Berichten: 15
Geregistreerd: 14 Aug 2013, 08:11
Woonplaats: Hardenberg

Re: Leds aansturen

Berichtdoor whitedxi » 11 Okt 2013, 22:40

*Arduino nOOb but I am learning*

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

Re: Leds aansturen

Berichtdoor shooter » 15 Nov 2013, 23:06

even nederlands
if millis >500 dan led 1 aan
anders (dat betekent dus als tijd onder de 500 is dan led 2 aan etc, dus dat gaat niet goed komen.
maar het lijkt alsof je dat al verbeterd hebt in de laatste sketch.
de startknop hoef je helemaal niet te debouncen want gaan is gaan.
je zet een case op waarbij in rust de case 1 is.
als je op de knop drukt dan is case 2
als de tijd1 voorbij is dan is case3 enzovoort
als er een auto reeds over de streep is dan ga je gewoon naar case 10
zodra de auto weg is dan kun je weer naar case 1
en in de cases schrijf je dan welke led aan en welke uit moet zijn.

dan krijg je dus een stappenprogramma en dat is weer heel goede leerstof. dit heet ook wel een statemachine (krijg je later op school nog veel meer van)
paul deelen
shooter@home.nl

VorigeVolgende

Terug naar Arduino IDE

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 15 gasten