Pages: [1] 2   Go Down
Author Topic: Wie weet wat leuks om te maken?  (Read 4314 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 31
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hoi,

Ben een tijdje geleden met Arduino begonnen (basis met ledjes e.d.). Weet iemand nu iets simpels en leuks om te maken?

Groeten,
Bram
Logged

Global Moderator
Netherlands
Offline Offline
Shannon Member
*****
Karma: 211
Posts: 13479
In theory there is no difference between theory and practice, however in practice there are many...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


met een paar LEDS en evenzoveel buttons kun je het spel SIMON SAYS maken.

laat de leds in een random steeeds moeilijker patroon knipperen en de gebruiker moet dan de knoppen in dezelfde volgorde indrukken.

goed nadenken voordat je begint te koderen !!
Logged

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Offline Offline
Newbie
*
Karma: 0
Posts: 31
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ahja dat is inderdaad wel iets leuks om te maken!
Thanks.

Nu een vraag waar ik ook al een tijdje mee zit. Als je bv spullen nodig hebt naast de arduino componenten waar koop je die dan?
Zie bv: http://www.miniclip.com/games/simon-says/en/

Van dat soort knoppen + ronde schijf waar zou je zoiets kunnen kopen?

EDIT:
Ik heb deze gevonden: http://www.pieterfloris.nl/shop/product.php?id_product=751
Wel wat prijzig maar zijn wel de gene die ik zoek.

Ik heb een lijstje gemaakt met benodigdheden:
- 4x dome push button (rood, groen, blauw, geel)
- arduino uno
- jumpwires
- speaker
- weerstandjes
- connectors / kroonsteen

Ik weet waar ik alles kan krijgen behalve de connectors. Ik wil een connector met 2x female zodat ik aan de ene kan de LED erin kan steken en aan de andere kant het jumpwire. Ik kan ze bij conrad niet vinden, iemand een idee?
« Last Edit: January 14, 2013, 06:47:45 am by thabram » Logged

The Netherlands
Offline Offline
Edison Member
*
Karma: 45
Posts: 1516
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Misschien ook nog een speakertje of buzzer zodat je ook geluid kunt maken (naar het voorbeeld) ?
Logged

Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

Offline Offline
Newbie
*
Karma: 0
Posts: 31
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Had ik al in het lijstje staan! Thanks
Logged

Global Moderator
Netherlands
Offline Offline
Shannon Member
*****
Karma: 211
Posts: 13479
In theory there is no difference between theory and practice, however in practice there are many...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

voor spullen moet je bij eenrecycle winkel gaan shoppen, die hebben vaak oud speelgoed, kistjes, oude electronica (met knoppen) etc
Daarmee is voor weinig geld iets leuks te maken. OK soms moet je poetsen of dingen doorzagen of beknutselen (whatever that may be).

gr. Rob
Logged

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Offline Offline
Newbie
*
Karma: 0
Posts: 31
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Goede tip dankjewel.

Weet iemand toevallig hoe die female-femaile connectors heten? Headers / connectors / kroonsteentjes?
Het is dus om 2 dingen aan elkaar te verbindingen (zonder te solderen) gewoon dezelfde functie als een kroonsteen maar dan met een klik systeem ipv schroef.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 31
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ik heb ze nog steeds niet kunnen vinden, iemand?
Logged

Global Moderator
Netherlands
Offline Offline
Shannon Member
*****
Karma: 211
Posts: 13479
In theory there is no difference between theory and practice, however in practice there are many...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

- https://www.sparkfun.com/search/results?term=connectors&what=products - ?

zoiets?
jumper wires?
Logged

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Offline Offline
Newbie
*
Karma: 0
Posts: 31
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nog een vraagje (omdat het met dit projectje te maken heeft):

De delay functie. Als ik bv een functie aan maken welke een LED laat knipperen:

Code:
void randLed()
{
   iRandomNum = random(8, 11);
  
   digitalWrite(iRandomNum, HIGH);
   delay(500);
}

En ik heb in de void loop nog andere code (functie) staan die checkt of een button wordt ingedrukt, dan werkt die delay ook op die functie.
Hoe zorg ik ervoor dat de delay werkt enkel in de functie (of een stuk code) waar ik hem voor wil gebruiken?

Hele code:

Code:
int ledRed = 8;
int ledGreen = 9;
int ledBlue = 10;
int buttonRed = 5;
int buttonGreen = 6;
int buttonBlue = 7;
int aRandom[] = {};
int iRandomNum = 0;

void setup()
{
   pinMode(ledRed, OUTPUT);
   pinMode(ledGreen, OUTPUT);
   pinMode(ledBlue, OUTPUT);
   pinMode(buttonRed, INPUT);
   pinMode(buttonGreen, INPUT);
   pinMode(buttonBlue, INPUT);
}

void pressButton(int button, int led)
{
   if(digitalRead(button) == HIGH)
   {
      digitalWrite(led, HIGH);
   }
   else
   {
      digitalWrite(led, LOW);  
   }
}

void randLed()
{
   iRandomNum = random(8, 11);
  
   digitalWrite(iRandomNum, HIGH);
   delay(500);
}

void loop()
{
   pressButton(buttonRed, ledRed);
   pressButton(buttonGreen, ledGreen);
   pressButton(buttonBlue, ledBlue);
  
   randLed();
}
Logged

Global Moderator
Netherlands
Offline Offline
Shannon Member
*****
Karma: 211
Posts: 13479
In theory there is no difference between theory and practice, however in practice there are many...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Je moet helemaal geen delay gebruiken,  lees de tutorial "blink without delay"  -  http://arduino.cc/en/Tutorial/BlinkWithoutDelay -

voor iedere functie die je wilt schedulen maak je een dergelijke constructie.



Logged

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Offline Offline
Newbie
*
Karma: 0
Posts: 31
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dankjewel! Inmiddels heb ik de tutorial gedaan.
Echter blinkt de led geen 1 seconden lang maar 1 milli sec ofzo (net genoeg om waar te nemen). Weet iemand waarom dit is? Er staat toch duidelijk 1000 in de code:
Code:
unsigned long iTimer = 0;
unsigned long iTimerCurrent = 0;
int ledState = LOW;

void randLed()
{
   iRandomNum = random(8, 11);
   iTimerCurrent = millis();
  
   if(iTimerCurrent-iTimer > 1000)
   {
     iTimer = iTimerCurrent;

    // if the LED is off turn it on and vice-versa:
    if (ledState == LOW)
      ledState = HIGH;
    else
      ledState = LOW;

    // set the LED with the ledState of the variable:
    digitalWrite(iRandomNum, ledState);
   }
}

void loop()
{
   pressButton(buttonRed, ledRed);
   pressButton(buttonGreen, ledGreen);
   pressButton(buttonBlue, ledBlue);
  
   randLed();
}
Logged

Global Moderator
Netherlands
Offline Offline
Shannon Member
*****
Karma: 211
Posts: 13479
In theory there is no difference between theory and practice, however in practice there are many...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


change this line iRandomNum = random(8, 11); to iRandomNum = 8;

You use one state for 3 different leds, that should be three states I guess.
Logged

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Offline Offline
Newbie
*
Karma: 0
Posts: 31
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hoi Rob,

Ik ben erachter gekomen wanneer ik de functies:
   pressButton(buttonRed, ledRed);
   pressButton(buttonGreen, ledGreen);
   pressButton(buttonBlue, ledBlue);

Uit de code verwijder hij wel de ledjes laat branden. En inderdaad je opmerking klopt over 3 leds ipv 1.

Ik snap nu ook waarom hij maar 1 milli sec brandt. Hij voert de pressButton functie uit en ziet dat de knop niet is ingedrukt en zet de LED dus op LOW.
Hoe kan ik dit omzeilen?
« Last Edit: January 22, 2013, 01:12:12 pm by thabram » Logged

Global Moderator
Netherlands
Offline Offline
Shannon Member
*****
Karma: 211
Posts: 13479
In theory there is no difference between theory and practice, however in practice there are many...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

je moet pressbutton niet de led veranderen, maar een variabele zetten en onthouden dat je de knop ingedrukt hebt.
Later als je de led veranderd kijk je of de knop ingedrukt was.

voldoende?
Wat ik bijna altijd doe is op papier de gewenste werking simuleren, zelf ben ik dan de processor en vraag me af welke stappen ik moet doen en wanneer.
Logged

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

Pages: [1] 2   Go Up
Jump to: