willekeurig rood groen
6 berichten
• Pagina 1 van 1
willekeurig rood groen
Hallo,
Ik ben pas (1 week) begonnen met een arduino starterskit en vind het geweldig. Ik heb al veel leuke opstellingen gemaakt. Nu kwam een collega met de volgende vraag.
Is het mogelijk om een rood en groen ledje willekeurig te laden branden nadat een knop is ingedrukt. maar met een druk op een andere knop moet de uitkomst altijd op rood komen. darna moet met een druk op knop 1 weer een willekeurig rood of groen opkomen. Nu weet ik dat er bouwpakketten zijn die wel willekeurig een rood of groen kunnen geven maar geen idee hoe ik daarin een extra knop moet bouwen. Dus grijp ik naar mijn arduino set en ben aan de slag gegaan. Helaas is het mij nog niet gelukt. Logisch natuurlijk ik ben er pas mee begonnen. Is er iemand die al eens zoiets gemaakt heeft? en wil je mij helpen?
groeten
Robert
Ik ben pas (1 week) begonnen met een arduino starterskit en vind het geweldig. Ik heb al veel leuke opstellingen gemaakt. Nu kwam een collega met de volgende vraag.
Is het mogelijk om een rood en groen ledje willekeurig te laden branden nadat een knop is ingedrukt. maar met een druk op een andere knop moet de uitkomst altijd op rood komen. darna moet met een druk op knop 1 weer een willekeurig rood of groen opkomen. Nu weet ik dat er bouwpakketten zijn die wel willekeurig een rood of groen kunnen geven maar geen idee hoe ik daarin een extra knop moet bouwen. Dus grijp ik naar mijn arduino set en ben aan de slag gegaan. Helaas is het mij nog niet gelukt. Logisch natuurlijk ik ben er pas mee begonnen. Is er iemand die al eens zoiets gemaakt heeft? en wil je mij helpen?
groeten
Robert
Advertisement
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: willekeurig rood groen
Nou eh nee ik heb zoiets nog nooit gemaakt Maar..... dat wil niet zeggen dat ik je niet wil helpen. Dus kom maar met je code
Re: willekeurig rood groen
Hoi,
Ik ben hier nieuw in dus excuus voor mijn onwetendheid.
Ik heb het volgende stukje programma en dat werkt tot ik de laatste regel invoer, maar dat is volgens mij wel belangrijk om aan te geven.
Als schakelaar 3 en 2 is ingedrukt dan moet altijd output 12 aangaan.
Ik heb het programma overgenomen en een beetje aangepast vanuit een desicionmaker met 3 leds.
int timeShowRandom = 1000;
int timeShowDecision = 3000;
int timeBlink = 50;
int buttonPin1 = 3;
int buttonPin2 = 2;
int buttonPress = false;
int randomNumber;
int previousNo = 0;
int timePassed = 0;
void setup() {
pinMode(buttonPin1, INPUT);
pinMode(12, OUTPUT);
pinMode(10, OUTPUT);
}
void getRandomNo() {
int rand = random(10,13);
if(rand == previousNo) {
getRandomNo();
} else {
randomNumber = rand;
previousNo = randomNumber;
}
}
void loop() {
if(digitalRead(buttonPin1) == HIGH && buttonPress == false) {
buttonPress = true;
} if(buttonPress == true && timePassed <= timeShowRandom) {
getRandomNo();
digitalWrite(randomNumber, HIGH);
delay(timeBlink);
digitalWrite(randomNumber, LOW);
delay(timeBlink);
timePassed = timePassed + (timeBlink * 2);
} else if(buttonPress == true) {
digitalWrite(random(10,13), HIGH);
delay(timeShowDecision);
buttonPress = false;
timePassed = 0;
} else {
digitalWrite(10, LOW);
digitalWrite(12, LOW);
} if (buttonpin1 == true;) & (buttonpin2 == true;) then pinMode(12, OUTPUT;)
}
Ik ben hier nieuw in dus excuus voor mijn onwetendheid.
Ik heb het volgende stukje programma en dat werkt tot ik de laatste regel invoer, maar dat is volgens mij wel belangrijk om aan te geven.
Als schakelaar 3 en 2 is ingedrukt dan moet altijd output 12 aangaan.
Ik heb het programma overgenomen en een beetje aangepast vanuit een desicionmaker met 3 leds.
int timeShowRandom = 1000;
int timeShowDecision = 3000;
int timeBlink = 50;
int buttonPin1 = 3;
int buttonPin2 = 2;
int buttonPress = false;
int randomNumber;
int previousNo = 0;
int timePassed = 0;
void setup() {
pinMode(buttonPin1, INPUT);
pinMode(12, OUTPUT);
pinMode(10, OUTPUT);
}
void getRandomNo() {
int rand = random(10,13);
if(rand == previousNo) {
getRandomNo();
} else {
randomNumber = rand;
previousNo = randomNumber;
}
}
void loop() {
if(digitalRead(buttonPin1) == HIGH && buttonPress == false) {
buttonPress = true;
} if(buttonPress == true && timePassed <= timeShowRandom) {
getRandomNo();
digitalWrite(randomNumber, HIGH);
delay(timeBlink);
digitalWrite(randomNumber, LOW);
delay(timeBlink);
timePassed = timePassed + (timeBlink * 2);
} else if(buttonPress == true) {
digitalWrite(random(10,13), HIGH);
delay(timeShowDecision);
buttonPress = false;
timePassed = 0;
} else {
digitalWrite(10, LOW);
digitalWrite(12, LOW);
} if (buttonpin1 == true;) & (buttonpin2 == true;) then pinMode(12, OUTPUT;)
}
Re: willekeurig rood groen
Je bedoelt :
if (buttonpin1 == true;) & (buttonpin2 == true;) then digitalWrite(12, HIGH)
if (buttonpin1 == true;) & (buttonpin2 == true;) then digitalWrite(12, HIGH)
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: willekeurig rood groen
't is wel een heel creatief programma
- recursief programmeren
- random getallen die een output pin aansturen
- Dat laatste statement is niet helemaal lekker:
a) wil je een EN uitvoeren op button1 en button2? m.a.w. dat ze allebei waar zijn?
dan zou je ook dit kunnen doen:
- recursief programmeren
- random getallen die een output pin aansturen
- Dat laatste statement is niet helemaal lekker:
a) wil je een EN uitvoeren op button1 en button2? m.a.w. dat ze allebei waar zijn?
dan zou je ook dit kunnen doen:
- Code: Alles selecteren
if (buttonpin1 && buttonpin2) {
digitalWrite(12,HIGH);
}
Re: willekeurig rood groen
Hoi.. Sorry voor de late reactie maar inmiddels denk ik dat het goed is. De laatste is volgens mij de juiste oplossing. Ik ga nog wel sleutelen aan het programma omdat het volgens mij eenvoudiger kan. Ook ben ik nog een het zoeken naar een mogelijkheid om het in een apart printje te bouwen. Bedankt tot zo ver allemaal.
6 berichten
• Pagina 1 van 1
Terug naar Gezamenlijke projecten
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 11 gasten