Go Down

Topic: BRAUCHE BITTE HILFE mit Teensy GELÖST DANKE (Read 504 times) previous topic - next topic

schiltkamp

Mar 02, 2013, 05:00 pm Last Edit: Mar 02, 2013, 07:06 pm by schiltkamp Reason: 1
Hallo zusammen,

habe Teensy 2.0 mit Teensduino laufen.
Der folgende Code funktioniert komplett bis auf den Button 10. Hier soll wenn der Taster gedrückt gehalten wird die Taste SPACE ausgelöst werden und immer wieder wiederholt werden, wie bei einer normalen Tastatur.
Bei allen anderen Button nur einmal, das klappt super.

Bitte helft mir!!

Hier der Code:


Code: [Select]
/* Buttons to USB Keyboard Example
You must select Keyboard from the "Tools > USB Type" menu

  This example code is in the public domain.
*/

#include <Bounce.h>

// Create Bounce objects for each button.  The Bounce object
// automatically deals with contact chatter or "bounce", and
// it makes detecting changes very simple.
Bounce button0 = Bounce(0, 10);
Bounce button1 = Bounce(1, 10);  // 10 = 10 ms debounce time
Bounce button2 = Bounce(2, 10);  // which is appropriate for
Bounce button3 = Bounce(3, 10);  // most mechanical pushbuttons
Bounce button4 = Bounce(4, 10);
Bounce button5 = Bounce(5, 10);  // if a button is too "sensitive"
Bounce button6 = Bounce(6, 10);  // to rapid touch, you can
Bounce button7 = Bounce(7, 10);  // increase this time.
Bounce button8 = Bounce(8, 10);
Bounce button9 = Bounce(9, 10);
Bounce button10 = Bounce(10, 10);
Bounce button14 = Bounce(14, 10);
Bounce button15 = Bounce(15, 10);
Bounce button16 = Bounce(16, 10);
Bounce button17 = Bounce(17, 10);
Bounce button18 = Bounce(18, 10);
Bounce button19 = Bounce(19, 10);
Bounce button20 = Bounce(20, 10);
Bounce button21 = Bounce(21, 10);


void setup() {
 // Configure the pins for input mode with pullup resistors.
 // The pushbuttons connect from each pin to ground.  When
 // the button is pressed, the pin reads LOW because the button
 // shorts it to ground.  When released, the pin reads HIGH
 // because the pullup resistor connects to +5 volts inside
 // the chip.  LOW for "on", and HIGH for "off" may seem
 // backwards, but using the on-chip pullup resistors is very
 // convenient.  The scheme is called "active low", and it's
 // very commonly used in electronics... so much that the chip
 // has built-in pullup resistors!
 pinMode(0, INPUT_PULLUP);
 pinMode(1, INPUT_PULLUP);
 pinMode(2, INPUT_PULLUP);
 pinMode(3, INPUT_PULLUP);
 pinMode(4, INPUT_PULLUP);
 pinMode(5, INPUT_PULLUP);
 pinMode(6, INPUT_PULLUP);  // Teensy++ LED, may need 1k resistor pullup
 pinMode(7, INPUT_PULLUP);
 pinMode(8, INPUT_PULLUP);
 pinMode(9, INPUT_PULLUP);
 pinMode(10, INPUT_PULLUP);
 pinMode(14, INPUT_PULLUP);
 pinMode(15, INPUT_PULLUP);
 pinMode(16, INPUT_PULLUP);
 pinMode(17, INPUT_PULLUP);
 pinMode(18, INPUT_PULLUP);
 pinMode(19, INPUT_PULLUP);
 pinMode(20, INPUT_PULLUP);
 pinMode(21, INPUT_PULLUP);
 
}

void loop() {
 // Update all the buttons.  There should not be any long
 // delays in loop(), so this runs repetitively at a rate
 // faster than the buttons could be pressed and released.
 button0.update();
 button1.update();
 button2.update();
 button3.update();
 button4.update();
 button5.update();
 button6.update();
 button7.update();
 button8.update();
 button9.update();
 button10.update();
 button14.update();
button15.update();
button16.update();
button17.update();
button18.update();
button19.update();
button20.update();
button21.update();

 // Check each button for "falling" edge.
 // Type a message on the Keyboard when each button presses
 // Update the Joystick buttons only upon changes.
 // falling = high (not pressed - voltage from pullup resistor)
 //           to low (pressed - button connects pin to ground)
 if (button0.fallingEdge()) {
   Keyboard.print("1");
 }
 if (button1.fallingEdge()) {
   Keyboard.print("2");
 }
 if (button2.fallingEdge()) {
   Keyboard.print("3");
 }
 if (button3.fallingEdge()) {
   Keyboard.print("4");
 }
 if (button4.fallingEdge()) {
   Keyboard.print("5");
 }
 if (button5.fallingEdge()) {
   Keyboard.print("6");
 }
 if (button6.fallingEdge()) {
   Keyboard.print("7");
 }
 if (button7.fallingEdge()) {
   Keyboard.print("8");
 }
 if (button8.fallingEdge()) {
   Keyboard.print("9");
 }
 if (button9.fallingEdge()) {
   Keyboard.print("0");
 }
 if (button10.fallingEdge()) {
   Keyboard.write("space laufend");
 }
 if (button14.fallingEdge()) {
   Keyboard.print("o");
 }
if (button15.fallingEdge()) {
   Keyboard.print("m");
 }
if (button16.fallingEdge()) {
   Keyboard.print("h");
 }
if (button17.fallingEdge()) {
   Keyboard.print("t");
 }
if (button18.fallingEdge()) {
   Keyboard.print("x");
 }
if (button19.fallingEdge()) {
   Keyboard.print("q");
 }
if (button20.fallingEdge()) {
   Keyboard.write(10);
 }
if (button21.fallingEdge()) {
   Keyboard.write(32);
 }  
}



uwefed

Manchmal kommt mir dieses Forum wie der Witz des Betrunkenen vor, der seinen Schlüssel unter der Laterne sucht, nicht weil er ihn dort verloren hat, sondern weil dort Licht ist.  ;) ;) ;) ;)

schiltkamp, ein Teensy ist kein Arduino.
Hier wird über Arduino geredet. Ich zB habe noch nie einen Teensy in natura gesehen.

Zu Deinem Problem kann ich nur sagen, daß Du nicht aufs loslassen der Taste triggern mußt, sonder aufs drücken und nach einer gewissen Zeit wenn die Taste immernoch gedrückt ist, das Zeichen verschickst. Dann stellst Du die Zeitverzögerung wieder auf null. Wenn dann nach einer gewissen Zeit die Taste immernoch gedrückt ist schickst Du wieder das Zeichen ecc.

Grüße Uwe

schiltkamp

Danke Uwe.

Übrigens, Teensy mit Teensduino ist Arduino.

Trotzdem Danke

uwefed


Übrigens, Teensy mit Teensduino ist Arduino.

Da habe ich wieder was dazugelernt.  8)
Danke schiltkamp

Grüße Uwe

Go Up