led aansturing
7 berichten
• Pagina 1 van 1
- overmarsmarinus
- Berichten: 3
- Geregistreerd: 04 Mei 2013, 22:25
led aansturing
een goede dag u allen
Ik ben bezig met een boot te bouwen en daarin zou ik graag ledverlichting in willen aanbrengen. Ik kwam deze sketch tegen. Ik heb dit voor elkaar gemaakt met de arduino en het werkt en de leds gaan om de buurten aan en uit.
Mijn vraag is hoe moet ik het aanpakken om de eerste led op pin 9 bijvoorbeeld 30 sec te laten branden dat de led op pin 8 begint te branden na 10 sec en deze gaat ook uit na 30 sec weer uit. led op pin 9 en de led op pin 8 branden dan 20 sec samen. Kan iemand mij vertellen hoe ik dit moet aanpakken het gebruikte programma staat hier onder.
tijdslijn
...............0........10........20........30........40
led op pin 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
led op pin 8 00000000xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Ik hoop dat u mij verder kunt helpen
mvgr leo overmars
void setup() // begin met setup parameters
{
pinMode(9, OUTPUT);// initialiseer pin 9 (de linker led als uitgangs pin).
pinMode(8, OUTPUT);// initialiseer pin 8 (de 2de led als uitgangs pin).
pinMode(7, OUTPUT);// initialiseer pin 7 (de 3de led als uitgangs pin).
pinMode(6, OUTPUT);// initialiseer pin 6 (de 4de led als uitgangs pin).
pinMode(5, OUTPUT);// initialiseer pin 5 (de 5de led als uitgangs pin).
pinMode(4, OUTPUT);// initialiseer pin 4 (de 6de led als uitgangs pin).
pinMode(3, OUTPUT);// initialiseer pin 3 (de 7de led als uitgangs pin).
pinMode(2, OUTPUT);// initialiseer pin 2 (de 8de led als uitgangs pin).
}
void loop() //Hier begint het programma te lopen
{
digitalWrite(9, HIGH); // zet de led op pen 9 aan
delay(1000); // wacht 1 seconde
digitalWrite(9, LOW); // zet de led op pen 9 uit
delay(1000); // wacht 1 seconde
digitalWrite(8, HIGH); // zet de led op pen 8 aan
delay(1000); // wacht 1 seconde
digitalWrite(8, LOW); // zet de led op pen 8 uit
delay(1000); // wacht 1 seconde
digitalWrite(7, HIGH); // zet de led op pen 7 aan
delay(1000); // wacht 1 seconde
digitalWrite(7, LOW); // zet de led op pen 7 uit
delay(1000); // wacht 1 seconde
digitalWrite(6, HIGH); // zet de led op pen 6 aan
delay(1000); // wacht 1 seconde
digitalWrite(6, LOW); // zet de led op pen 6 uit
delay(1000); // wacht 1 seconde
digitalWrite(5, HIGH); // zet de led op pen 5 aan
delay(1000); // wacht 1 seconde
digitalWrite(5, LOW); // zet de led op pen 5 uit
delay(1000); // wacht 1 seconde
digitalWrite(4, HIGH); // zet de led op pen 4 aan
delay(1000); // wacht 1 seconde
digitalWrite(4, LOW); // zet de led op pen 4 uit
delay(1000); // wacht 1 seconde
digitalWrite(3, HIGH); // zet de led op pen 3 aan
delay(1000); // wacht 1 seconde
digitalWrite(3, LOW); // zet de led op pen 3 uit
delay(1000); // wacht 1 seconde
digitalWrite(2, HIGH); // zet de led op pen 2 aan
delay(1000); // wacht 1 seconde
digitalWrite(2, LOW); // zet de led op pen 2 uit
delay(1000); // wacht 1 seconde
}
Ik ben bezig met een boot te bouwen en daarin zou ik graag ledverlichting in willen aanbrengen. Ik kwam deze sketch tegen. Ik heb dit voor elkaar gemaakt met de arduino en het werkt en de leds gaan om de buurten aan en uit.
Mijn vraag is hoe moet ik het aanpakken om de eerste led op pin 9 bijvoorbeeld 30 sec te laten branden dat de led op pin 8 begint te branden na 10 sec en deze gaat ook uit na 30 sec weer uit. led op pin 9 en de led op pin 8 branden dan 20 sec samen. Kan iemand mij vertellen hoe ik dit moet aanpakken het gebruikte programma staat hier onder.
tijdslijn
...............0........10........20........30........40
led op pin 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
led op pin 8 00000000xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Ik hoop dat u mij verder kunt helpen
mvgr leo overmars
void setup() // begin met setup parameters
{
pinMode(9, OUTPUT);// initialiseer pin 9 (de linker led als uitgangs pin).
pinMode(8, OUTPUT);// initialiseer pin 8 (de 2de led als uitgangs pin).
pinMode(7, OUTPUT);// initialiseer pin 7 (de 3de led als uitgangs pin).
pinMode(6, OUTPUT);// initialiseer pin 6 (de 4de led als uitgangs pin).
pinMode(5, OUTPUT);// initialiseer pin 5 (de 5de led als uitgangs pin).
pinMode(4, OUTPUT);// initialiseer pin 4 (de 6de led als uitgangs pin).
pinMode(3, OUTPUT);// initialiseer pin 3 (de 7de led als uitgangs pin).
pinMode(2, OUTPUT);// initialiseer pin 2 (de 8de led als uitgangs pin).
}
void loop() //Hier begint het programma te lopen
{
digitalWrite(9, HIGH); // zet de led op pen 9 aan
delay(1000); // wacht 1 seconde
digitalWrite(9, LOW); // zet de led op pen 9 uit
delay(1000); // wacht 1 seconde
digitalWrite(8, HIGH); // zet de led op pen 8 aan
delay(1000); // wacht 1 seconde
digitalWrite(8, LOW); // zet de led op pen 8 uit
delay(1000); // wacht 1 seconde
digitalWrite(7, HIGH); // zet de led op pen 7 aan
delay(1000); // wacht 1 seconde
digitalWrite(7, LOW); // zet de led op pen 7 uit
delay(1000); // wacht 1 seconde
digitalWrite(6, HIGH); // zet de led op pen 6 aan
delay(1000); // wacht 1 seconde
digitalWrite(6, LOW); // zet de led op pen 6 uit
delay(1000); // wacht 1 seconde
digitalWrite(5, HIGH); // zet de led op pen 5 aan
delay(1000); // wacht 1 seconde
digitalWrite(5, LOW); // zet de led op pen 5 uit
delay(1000); // wacht 1 seconde
digitalWrite(4, HIGH); // zet de led op pen 4 aan
delay(1000); // wacht 1 seconde
digitalWrite(4, LOW); // zet de led op pen 4 uit
delay(1000); // wacht 1 seconde
digitalWrite(3, HIGH); // zet de led op pen 3 aan
delay(1000); // wacht 1 seconde
digitalWrite(3, LOW); // zet de led op pen 3 uit
delay(1000); // wacht 1 seconde
digitalWrite(2, HIGH); // zet de led op pen 2 aan
delay(1000); // wacht 1 seconde
digitalWrite(2, LOW); // zet de led op pen 2 uit
delay(1000); // wacht 1 seconde
}
Advertisement
- astrofrostbyte
- Berichten: 229
- Geregistreerd: 20 Jan 2013, 12:01
Led sequentie aansturing met bitmaskers
g' morgen,
ff kop koffie erbij en kom op het volgende:
Het idee is een lang array met bits (verdeeld over bytes)
Iedere bit vertegenwoordigt een seconde dat een led aan of uit moet zijn
Iedere LED heeft zo'n bit tijd masker reeks, in het voorbeeld 71 seconde lang
Door nu '1' led aan en '0' led uit in het masker aan te geven kan iedere sequentie gemaakt worden
het compileerd, maar is ongetest.
ps. dingen waar ik tegenaan liep.
Binairy aanduiding B10100100 werkt alleen voor bytes
als bitmask een ulong is gaat het volgende fout bitmask >>= 1, moet bitmask >>= 1UL zijn
ff kop koffie erbij en kom op het volgende:
Het idee is een lang array met bits (verdeeld over bytes)
Iedere bit vertegenwoordigt een seconde dat een led aan of uit moet zijn
Iedere LED heeft zo'n bit tijd masker reeks, in het voorbeeld 71 seconde lang
Door nu '1' led aan en '0' led uit in het masker aan te geven kan iedere sequentie gemaakt worden
- Code: Alles selecteren
const byte MAXLED = 8;
const byte MAXMASKS = 9;
unsigned long bitmask = B10000000;
byte masknr = 0 ;
unsigned long led[MAXLED][MAXMASKS] = {
// 1 2 3 4 5 6 7
// t=01234567 89012345 67890123 45678901 23456789 0123456 78901234 56789012 345678901
{ B11111111,B11111111,B11110000,B00000000,B11111111,B11110000,B00000000,B00000000,B00000000}, //pin2 led8
{ B11111111,B11111111,B11111111,B11110000,B11111111,B11110000,B00000000,B00000000,B00000000}, //pin3 led7
{ B00000000,B11110000,B00000000,B00000000,B11111111,B11110000,B00000000,B00000000,B00000000}, //
{ B00000000,B11110000,B00000000,B00000000,B11111111,B11110000,B00000000,B00000000,B00000000},
{ B00000000,B00000000,B00000000,B00000000,B11111111,B11110000,B00000000,B00000000,B00000000},
{ B00000000,B00000000,B00000000,B00000000,B11111111,B11110000,B00000000,B00000000,B00000000},
{ B11111111,B11110000,B00000000,B00000000,B11111111,B11110000,B00000000,B00000000,B00000000},
{ B11111111,B11110000,B00000000,B00000000,B11111111,B11110000,B00000000,B00000000,B00000000}
};
void setup() // begin met setup parameters
{
pinMode(2, OUTPUT); // init pin 2 (de 8de led als uitgangs pin).
pinMode(3, OUTPUT); // init pin 3 (de 7de led als uitgangs pin).
pinMode(4, OUTPUT); // init pin 4 (de 6de led als uitgangs pin).
pinMode(5, OUTPUT); // init pin 5 (de 5de led als uitgangs pin).
pinMode(6, OUTPUT); // init pin 6 (de 4de led als uitgangs pin).
pinMode(7, OUTPUT); // init pin 7 (de 3de led als uitgangs pin).
pinMode(8, OUTPUT); // init pin 8 (de 2de led als uitgangs pin).
pinMode(9, OUTPUT); // init pin 9 (de linker led als uitgangs pin).
}
void loop()
{
//--------------------------------------- Loop alle uitgangen door,Led aan/uit
for (byte i=0 ; i<MAXLED ; i++)
{ if ( led[i][masknr] && bitmask )
{ digitalWrite(i+2, HIGH); // zet de led op pen i+2 aan, i=[0..7]
}
else
{ digitalWrite(i+2, LOW); // zet de led op pen i+2 uit
}
}
//--------------------------------------- update het bitmasker
bitmask >>= 1; // schuif bit in bitmasker naar rechts
if (bitmask == 0)
{ bitmask = 0x10000000;
masknr++;
if (masknr >= MAXMASKS ) masknr = 0; // if masknr=9 the masknr=0
}
//---------------------------------------
delay(1000);
}//loop
het compileerd, maar is ongetest.
ps. dingen waar ik tegenaan liep.
Binairy aanduiding B10100100 werkt alleen voor bytes
als bitmask een ulong is gaat het volgende fout bitmask >>= 1, moet bitmask >>= 1UL zijn
Gear: Arduino- Uno,Due,Ethernet,Mega2560 , OLS LogicAnalyser, TDS1002, Rigol DG1022, J-Link EDU, BusPirate
- overmarsmarinus
- Berichten: 3
- Geregistreerd: 04 Mei 2013, 22:25
Re: led aansturing
geachte heer
Bedankt voor uw reactie hiermee kan ik vooruit.
Alles werkt perfect.
mvgr leo overmars
Bedankt voor uw reactie hiermee kan ik vooruit.
Alles werkt perfect.
mvgr leo overmars
- astrofrostbyte
- Berichten: 229
- Geregistreerd: 20 Jan 2013, 12:01
Re: led aansturing
mooi, ... laat ff weten of het gelukt is, en zou leuk zijn als je je code even deelt .
groet.
groet.
Gear: Arduino- Uno,Due,Ethernet,Mega2560 , OLS LogicAnalyser, TDS1002, Rigol DG1022, J-Link EDU, BusPirate
- overmarsmarinus
- Berichten: 3
- Geregistreerd: 04 Mei 2013, 22:25
Re: led aansturing
hallo
Alles werkt en de tijd is goed in te stellen en hoeveel leds er tegelijk aan gestuurd zijn.
Hoe kan ik jouw code delen met de rest.
Hoe gaat dit
groet
Alles werkt en de tijd is goed in te stellen en hoeveel leds er tegelijk aan gestuurd zijn.
Hoe kan ik jouw code delen met de rest.
Hoe gaat dit
groet
- astrofrostbyte
- Berichten: 229
- Geregistreerd: 20 Jan 2013, 12:01
Re: led aansturing
De code kan je gewoon hier dumpen in twee "Code" tags [code][/code]
Gear: Arduino- Uno,Due,Ethernet,Mega2560 , OLS LogicAnalyser, TDS1002, Rigol DG1022, J-Link EDU, BusPirate
Re: led aansturing
Misschien kon het hier mee gegenereerd worden, maar de intervaltijden in de sketch moesten dan wel aangepast worden.
http://members.chello.nl/e.kaatman1/content/ArduinoMB.zip
GrTz Evert
http://members.chello.nl/e.kaatman1/content/ArduinoMB.zip
GrTz Evert
7 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 4 gasten