Show Posts
Pages: [1] 2 3
1  International / Nederlands / Re: Garagedeur openen met Arduino on: June 22, 2014, 03:28:56 pm
@Stealth0113:
Het schema met getekende arduino en onderdelen snap ik inderdaad direct, dat is gewoon heel duidelijk! Maar de transistors is daar dus niet correct?

@Nico:
De arduino heeft dus een losse voeding nodig, wat moet dit dan zijn? Een 9V batterij? Kan hij niet op een andere manier op het netstroom zodat het permanent is (zonder vervaning van batterijen etc.).
2  International / Nederlands / Re: Garagedeur openen met Arduino on: June 22, 2014, 07:14:44 am
Ben een tijdje druk geweest maar nu wil ik er toch echt aan beginnen!
Ik heb deze relais-kit gezien, deze zou moeten voldoen?
http://www.hackerstore.nl/Artikel/79

Daarnaast, heeft iemand een goede tutorial voor het lezen van schema's? Want zelfs dat simpele schema die daar op die pagina staat begrijp ik niet. Lijkt me handig om eerst daar de basics van te kennen voordat ik start.
3  International / Nederlands / Garagedeur openen met Arduino on: April 11, 2014, 08:51:51 am
Hoi,

Ik wil mijn garagedeur openen d.m.v. een:
- Kleine afstandsbediening (liest maar 1 knop)
- Iphone App

Mijn garagedeur gaat nu openen d.m.v. een grote afstandsbediening (is ook vrij oud). Vanaf binnen de garage kan ik de deur openen door op een deurbel te drukken, deze is d.m.v. 2 draadjes (rood / zwart) verbonden met de motor.

Kan ik waar de rode en zwarte draad lopen een arduino er tussen hangen? Of wat is de beste manier. Ik heb ook een SparkCore voor WiFi.

Greets,
Bram
4  International / Nederlands / Re: Wie weet wat leuks om te maken? on: January 25, 2013, 05:10:46 am
Het is inderdaad opgelost. De button read moest boven de IF / ELSE statement komen. Ik definieer de buttonstate helemaal bovenaan het script (op LOW).
Maar ik snap even niet waarom hij de leds doorschuift als de button read onder de IF / ELSE staat.

Ik ben inmiddels begonnen met de code voor het simon-says spelletje. Aller eerste wat ik maak is een functie die adhv parameters 1 of meerdere leds laat knipperen voor een bepaalde tijd.
Die heb ik namelijk meerdere keren nodig.

Wat ik in gedacht heb is het volgende:

Startgame functie:
Deze start het spel op. Eerst laat hij een paar ledjes knipperen etc.

PlayGame functie:
Het spel gaat beginnen, er wordt een random ledje aangezet, daarna is de gebruiker aan de beurt.

Fail functie:
Heb je het fout? Dan gaan de ledjes knipperen en begint het spel overnieuw.

Proceed functie:
Antwoord is goed. Laat ledjes knipperen (op een andere manier dan fail) en ga verder met spelen.

CheckInput functie:
Deze controleert de user input tegen de gegenereerde input en roept fail of proceed aan.

Dat is hoe ik het voor nu wil bouwen. Iemand tips?

Wat ik later wil toevoegen is:
- LCD om bv score te laten zien.
- Speaker om geluidjes te spelen
- Programmeren voor meerdere spelers

Uiteindelijk wil ik alles echt in elkaar knutselen via een printplaat + PCB etc. (wat ik nog nooit gedaan heb en dus 0 ervaring mee heb).
Maar ik wil het gewoon onder de knie krijgen dus lijkt me een goede oefening.
5  International / Nederlands / Re: Wie weet wat leuks om te maken? on: January 24, 2013, 05:05:13 am
Ik heb 3 buttons elk met een 10k ohm naar de GND + aangesloten op een digitalPin en de andere kant van de button naar de +.
Ik heb ook 3 LEDs elk naar de GND en de plus met tussenkomst van een 180ohm naar een digitalPin.

Verder heb ik geen wijzigingen gemaakt met de bedrading. Het is ook een simpel circuit. Kan het door code komen dat ze opschuiven?

EDIT: Ik heb het gevonden, zat in de code:

Code:
void pressButton(int button, int led, int randLedState)
{
   //Op deze plek werkt het zoals het hoort
   buttonState = digitalRead(button);
   
   if(buttonState == HIGH)
   {
      digitalWrite(led, HIGH);
   }
   else if(randLedState == LOW)
   {
      digitalWrite(led, LOW);   
   }

    //buttonState = digitalRead(button); <-- op deze plek veroorzaakt hij het probleem
}

Maar ik heb geen idee waarom, iemand?

Quote from: thabram
Ik heb overigens de button met een pulldown 10k ohm naar de GND en de andere naar een digitalPin.

Dit is mij niet geheel duidelijk.
Heb je het hier over 2 buttons, of over de 2 pins van 1 button ?

Je moet voorkomen dat het onbekend is of die button nou wel of niet is ingedrukt, en in beide gevallen een min of meer geforceerde waarde genereren.

Vwb de verschoven LEDs, dat is vreemd.
Heb je ook al iemand anders naar je bedrading laten kijken ?
Vaak zit je zelf zo vast in je werkwijze dat je voor de hand liggende fouten niet opmerkt, terwijl een ander die vrijwel direct ziet.
6  International / Nederlands / Re: Wie weet wat leuks om te maken? on: January 23, 2013, 05:03:35 pm
Ah ik snap hem. Ik heb het zowaar werkend gekregen:

- De functie randLed stoort niet meer met de andere functie en hij knippert dus random een ledje met de gewenste tijd
- De functie pressButton werkt MAAR er zit een bug in:
  > Als ik button van de rode led in druk gaat ineens de groene led aan
  > Als ik de button van de groene led in druk gaat de blauwe aan
  > Als ik de blauwe in druk gaat de rode aan

M.a.w. ze zijn allemaal een pin opgeschoven (ze staan op RGB volgorde en dus via de buttons op GBR), terwijl ik toch echt niets in het circuit veranderd heb.

Code (zie de wijziging waarbij ik de buttonstate onthoud):

Code:
int ledRed = 8;
int ledGreen = 9;
int ledBlue = 10;
int buttonRed = 5;
int buttonGreen = 6;
int buttonBlue = 7;
int aRandom[] = {};
int iRandomNum = 0;
unsigned long iTimer = 0;
unsigned long iTimerCurrent = 0;
int ledState = LOW;
int numUsed = 0;
int buttonState = LOW;
int randLedState = LOW;

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, int randLedState)
{
   if(buttonState == HIGH)
   {
      digitalWrite(led, HIGH);
   }
   else if(randLedState == LOW)
   {
      digitalWrite(led, LOW);  
   }
  
   buttonState = digitalRead(button);
}

boolean randLed()
{
   if(numUsed == 0)
   {
     iRandomNum = random(8, 11);
   }
   iTimerCurrent = millis();
  
   if(iTimerCurrent-iTimer > 500)
   {
       iTimer = iTimerCurrent;
  
      // if the LED is off turn it on and vice-versa:
      if (ledState == LOW)
        ledState = HIGH;
      else
        ledState = LOW;
      
      numUsed ++;
  
      // set the LED with the ledState of the variable:
      digitalWrite(iRandomNum, ledState);
   }
  
   if(numUsed >= 2)
   {
      numUsed = 0;
   }
  
   return ledState;
  
}

void loop()
{  
   randLedState = randLed();
  
    
    
     pressButton(buttonRed, ledRed, randLedState);
     pressButton(buttonGreen, ledGreen, randLedState);
     pressButton(buttonBlue, ledBlue, randLedState);
}
7  International / Nederlands / Re: Wie weet wat leuks om te maken? on: January 23, 2013, 03:30:12 pm
@MAS3:
"Je controleert of de knop is ingedrukt, en zet dan de LED aan.
Dat is iets anders als wanneer je de LED aanzet, je controleert of de knop ook was ingedrukt."

Kan je mij in een if / else voorbeeldje laten zien wat daar het verschil in is? Want voor mij komt het alsnog op hetzelfde neer.

Ik heb overigens de button met een pulldown 10k ohm naar de GND en de andere naar een digitalPin.
Ik ga nog even met de code aan de gang om te kijken hoe ik het oplos.
8  International / Nederlands / Re: Wie weet wat leuks om te maken? on: January 22, 2013, 06:01:45 pm
@ Rob: Thanks voor de tip, ga ik in het vervolg doen.
Echter zeg je wanneer ik de LED aan zet checken of de knop was ingedrukt, maar dat doe ik nu toch ook?

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

Probleem is dat hij steeds in de ELSE terecht komt als de button niet is ingedrukt. En dat komt in conflict met de andere functie die de LED just random aan wil zetten.
9  International / Nederlands / Re: Wie weet wat leuks om te maken? on: January 22, 2013, 01:03:25 pm
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?
10  International / Nederlands / Re: Wie weet wat leuks om te maken? on: January 21, 2013, 04:44:11 pm
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();
}
11  International / Nederlands / Re: Wie weet wat leuks om te maken? on: January 21, 2013, 12:37:54 pm
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();
}
12  International / Nederlands / Re: Wie weet wat leuks om te maken? on: January 16, 2013, 06:30:47 am
Ik heb ze nog steeds niet kunnen vinden, iemand?
13  International / Nederlands / Re: Wie weet wat leuks om te maken? on: January 14, 2013, 03:30:30 pm
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.
14  International / Nederlands / Re: Wie weet wat leuks om te maken? on: January 14, 2013, 11:06:58 am
Had ik al in het lijstje staan! Thanks
15  International / Nederlands / Re: Wie weet wat leuks om te maken? on: January 14, 2013, 04:50:57 am
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?
Pages: [1] 2 3