Arduino & keyboard emulator

voor me flipperkast was ik bezig met een Arduino Leonardo om dmv een aantal drukkers een PC toetsenbord te maken....

maar ik weet niet wat ik fout doet.... maar als ik de ingangen zwevend hou, blijft hij allerlij toetsen versturen...? wel als ik me inputjes aan de min hang, wordt alles rustig....

maar ja ik wil straks dom drukknoppen een toets bedienen... en dat zijn gewoon makers.... dus ik kan niet wisselen tussen + en GND....

maar wat doe ik verkeerd? ik heb trouwens bij pullup HIGH en LOW een keer ingevuld.... maar dat maakt ook niets uit?

Dit is de code wat ik nu had:

c code:


#include<Keyboard.h>

void setup() {
  // put your setup code here, to run once:
  for (int x = 2; x < 13; x++) {
    pinMode(x, INPUT);           // set pin to input
    digitalWrite(x, LOW);       // turn on pullup resistors
  }
  Keyboard.begin();
  Keyboard.releaseAll();
}

void loop() {
  //------------------------------------------------------------------------------------------------------------
  // The ESCape knop op input 2

  if ( digitalRead(2) == 1 )
  {
    Keyboard.press(177);
  }
  else
  {
    Keyboard.release(177);
  }
  //--------------------------------------------------------------------------------------------------------------
  // The Return knop op input 3

  if ( digitalRead(3) == 1 )
  {
    Keyboard.press(176);
  }
  else
  {
    Keyboard.release(176);
  }
  //--------------------------------------------------------------------------------------------------------------
  // The Left knop op input 4

  if ( digitalRead(4) == 1 )
  {
    Keyboard.press(216);
  }
  else
  {
    Keyboard.release(216);
  }
  //--------------------------------------------------------------------------------------------------------------
  // The Right knop op input 5

  if ( digitalRead(5) == 1 )
  {
    Keyboard.press(215);
  }
  else
  {
    Keyboard.release(215);
  }
  //--------------------------------------------------------------------------------------------------------------
  // The Credit=5 knop op input 6

  if ( digitalRead(6) == 1 )
  {
    Keyboard.press(53);
  }
  else
  {
    Keyboard.release(53);
  }
  //--------------------------------------------------------------------------------------------------------------


}
cnc filmpjes op Http://www.arjan-swets.com
Lambiek

Special Member

Dan zet je pull down weerstanden bij je pinnen.

Als je haar maar goed zit, GROETEN LAMBIEK.

oke... dus dat is nodig.... dus input via weerstand aan de gnd hangen... en dan zou ik met een +5v een ingang moeten kunnen bedienen?

hoe hoge weerstand? 1 K of 10K ?

cnc filmpjes op Http://www.arjan-swets.com

Dat hangt er een beetje vanaf, ik zou zo laag mogelijk gaan en rekenen met +-1mA bij indrukken, een flipperkast is nogal een storing opwekkend toestel.

Pull down weerstanden
Vcc=5V -> 4K7 (5K)
Vcc=3V3-> 3K3

LDmicro user.
Shiptronic

Overleden

Interne pull ups aan zetten ?

Wie de vraag stelt, zal met het antwoord moeten leren leven.
KGE

Golden Member

pinMode(x, INPUT); // set pin to input
digitalWrite(x, LOW); // turn on pullup resistors

Zo zet je geen pullup aan...

Zo dus wel:

code:

pinMode(x,INPUT_PULLUP); 
Lambiek

Special Member

Op 30 januari 2017 17:09:10 schreef Shiptronic:
Interne pull ups aan zetten ?

Een pull up werkt niet als je een positief signaal aanbied aan je pinnen.

Als je haar maar goed zit, GROETEN LAMBIEK.