Knapp – Hålmonterad

En knapp är en digital input. Det betyder att den kan ha två lägen, du läser dessa som antingen HIGH (5V) eller LOW (0V).

Material

  • 1 Arduino Uno
  • 1 Education-sköld
  • 1 knapp
  • 1 10k ohms resistor
  • 3 labbkablar

Instruktioner

  1. Fäst skölden på Arduinons ovansida.
  2. Koppla knappen över kopplingsdäckets mittengap.
  3. Koppla knappens ena ben  till digitala pin 9.
  4. Koppla samma ben till en 10k ohms resistor, och resistorn till GND.
  5. Koppla ett av benen på knappens andra sida till 5V.
  6. Koppla Arduinon till datorn och ladda upp exemplet ’Button’.

Kod

Hitta koden i Example>EducationShield>Help>Button

Du bör nu öppna seriemonitorn och följa de utskrivna instruktionerna. Varje gång du utför en instruktion bör seriemonitorn skriva ut ’1’.

Kommandon

  • Button( digitalPin ) / Button( digitalPin,  pressedState): skapar ett Button-objekt.
    • Parametrar
      • (intdigitalPin: Den digitala pin till vilken knappen är kopplad.
      • (booleanpressedState: kan vara HIGH eller LOW.  HIGH betyder att när knappen trycks ned läses den som HIGH, när den släpps läses den som LOWLOW betyder tvärtom. När knappen tryckts ned läses den som LOW, när den släpps läses den som HIGH. Standardvärdet är HIGH.

  • begin(): Initialiserar komponenten. Måste anropas i setup()
  • pressed( timeout ): kontrollerar om knappen trycks ned.
    • Parametrar
      • (inttimeout: millisekunder inom vilka knappen måste tryckas ned. Standardvärdet är 0.
    • Retur
      • (boolean): returnerar 1 om knappen tryckts  i tid, annars 0. Om timeout inte används pausar programmet här tills knappen trycks.

  • released( timeout ): kontrollerar om knappen släpps.
    • Parametrar
      • (inttimeout: millisekunder inom vilka knappen behöver släppas. Standardvärdet är 0.
    • Retur
      • (boolean): returnerar 1 om knappen släppts  i tid, annars 0. Om timeout inte används pausar programmet här, tills knappen släpps.

  • doublePressed( timeout, tolerance ): kontrollerar om knappen dubbeltrycks.
    • Parametrar
      • (inttimeout: millisekunder inom vilka knappen behöver dubbeltryckas.
      • (inttolerance: millisekunder innan knappen ska tryckas ned en andra gång. Standardvärdet är 500.
    • Retur
      • (boolean) returnerar 1 om knappen dubbeltrycks  i tid, annars 0. Om timeout inte används pausar programmet här, tills knappen dubbeltrycks.

 

Problemlösning

  • Var noga med att kopplingarna mellan knapp, kablar och Arduinon är korrekta.
  • Var noga med att programmet läser från samma digitala pin som du kopplat knappen till.