willekeurig rood groen

Als U een gezamenlijk project wil starten of aan projecten van anderen mee wilt werken.
Berichten: 3
Geregistreerd: 18 Feb 2014, 22:56

willekeurig rood groen

Berichtdoor bezemer » 18 Feb 2014, 23:21

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

Advertisement

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

Re: willekeurig rood groen

Berichtdoor nicoverduin » 19 Feb 2014, 09:46

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
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 3
Geregistreerd: 18 Feb 2014, 22:56

Re: willekeurig rood groen

Berichtdoor bezemer » 20 Feb 2014, 22:14

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;)
}

Berichten: 77
Geregistreerd: 06 Okt 2012, 10:57

Re: willekeurig rood groen

Berichtdoor Beamer » 20 Feb 2014, 22:43

Je bedoelt :

if (buttonpin1 == true;) & (buttonpin2 == true;) then digitalWrite(12, HIGH)

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

Re: willekeurig rood groen

Berichtdoor nicoverduin » 21 Feb 2014, 09:20

'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:
Code: Alles selecteren
if (buttonpin1 && buttonpin2) {
    digitalWrite(12,HIGH);
}
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 3
Geregistreerd: 18 Feb 2014, 22:56

Re: willekeurig rood groen

Berichtdoor bezemer » 23 Feb 2014, 22:48

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.

Terug naar Gezamenlijke projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 8 gasten