Pages: [1]   Go Down
Author Topic: erst mal klick???  (Read 643 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo ich habe mich mal drangemacht ein paar Anfänger Tutorials im netz zu finden und bin auf http://mr.intermediadesign.de/2012/07/30/kapitel-3-2-einfache-interaktionselemente/ gestossen.

Nur das ich es gern so hätte, das die Bounce Bibliothek mit eingebunden ist.

Das hab ich soweit auch hinbekommen (ohne das IDE 1.0.2 rumzickt). Habe also keinerlei fehlermeldungen.

Nur erschliesst es sich mir nicht so ganz als ehrlicher Anfänger wie ich das hinbekomme das ich das auch funktionierend hinbekomme.

Das ist der Code den ich benutze:

Code:
#include <Bounce.h>

int buttonPin = 2;
int ledPin = 13;

int ledState = 0;

Bounce bouncer = Bounce( buttonPin, 5);

int led_Feld [] = {11,10};
int button_Feld [] ={4,5};

void setup()
{
  pinMode(ledPin,OUTPUT);
  
  for(int i=0;i<4;i++)
    pinMode(led_Feld[i],OUTPUT);
  for(int i=1;i<4;i++)
    digitalWrite(button_Feld[i],HIGH);
}
void loop()
{
  for(int i=0;i<4;i++)
    checkButton(button_Feld[i],led_Feld[i]);
}
void checkButton(int buttonPin, int ledPin)
{
  int value = digitalRead(buttonPin);
  if(value == HIGH)
    digitalWrite(ledPin,HIGH);
  else
    digitalWrite(ledPin,LOW);

  if (bouncer.update())
  {
    if ( bouncer.read() == HIGH)
    {
       ledState = !ledState;
       digitalWrite(ledPin,ledState);
    }
  }
}
kann mir mal jemand auf die Sprünge helfen?
« Last Edit: December 16, 2012, 07:24:06 am by uwefed » Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21939
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Du hast 2 Tasten aber nur auf eine wendest Du die Bibiothek an.
Grüße Uwe
Logged

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

Du hast 2 Tasten aber nur auf eine wendest Du die Bibiothek an.
Grüße Uwe

Also müsste ich Bounce bouncer = Bounce (buttonPin, 5,6); abändern?
ja ich habe zwei Taster und zwei Schalter.
« Last Edit: December 16, 2012, 07:34:34 am by Geilduino » Logged

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

hm schlüssig ist mir nicht wie ich die bounce funktionen der Bounce Library in diesen Code integrieren soll, damit ich damit lediglich die Taster steuern kann.
Das ist der Code ohne Bounce:

Code:
/*Titel: Kapitel 3.2.1 - Erstmal Klick! Autor: Julian Steffen Datum: 10.08.2012*/

//Felder für die digitalen Pins
int led_Feld [] = {13,12,11,10};
int button_Feld [] ={2,3,4,5};

void setup()
{
  //Pins die mit der LED verbunden sind als Output deklarieren
  for(int i=0;i<4;i++)
    pinMode(led_Feld[i],OUTPUT);
  //Bei den (Button) Pins 3,4,5 den interen Pullup Widerstand (20k Ohm) aktivieren
  for(int i=1;i<4;i++)
    digitalWrite(button_Feld[i],HIGH);
}
void loop()
{
  for(int i=0;i<4;i++)
    checkButton(button_Feld[i],led_Feld[i]);
}
void checkButton(int buttonPin, int ledPin)
{
  //Den Zustand des Schalters/Tasters abfragen
  int value = digitalRead(buttonPin);
  if(value == HIGH)
    digitalWrite(ledPin,HIGH);
  else
    digitalWrite(ledPin,LOW);
}

[EDIT] habs code Tags hinzugefügt Grüße Uwe[/EDIT]
« Last Edit: December 16, 2012, 01:17:41 pm by uwefed » Logged

Germany
Offline Offline
Faraday Member
**
Karma: 59
Posts: 3089
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

[ i ] (ohne Leerzeichen) wird als Kursiv interpretiert, wenn du es nicht als  [ code ]  markierst.
So ist dein Sketch schwer verständlich.

Aber generell brauchst du für jeden Schalter / Taster ein Bounce Objekt. ( Oder ein Array von Bounce Objekten )
z.B.
Bounce taster[4] = {Bounce(2,5),Bounce(3,5),Bounce(4,5, Bounce(5,5)};

Was in deinem Beispiel bouncer war, ist dann taster [ i ].

Übrigens, einfacher als Bounce geht natürlich ein delay(10); am Ende von loop(), wenn sonst nichts dagegen spricht.
Nur um mit Tastern  LED an/aus zu schalten, ist ein 10 msec Zyklus  bei weitem schnell genug, und alles Entprellen hat sich erledigt smiley-wink


 
Logged

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

Hm okay werd ich am Dienstag mal probieren. Heute leider keine Zeit die Schaltung nochmals aufzubauen. Werde das aber mit bounce probieren da ich aus den Tastern ja Schalter machen möchte.
Aber das mit dem delay werd ich auch mal ausprobieren.

Sag mal wo gibt's eigentlich gute "Deutsche" Erklärungen zu den ganzen befehlen? Weiss das jemand hier?

Mist hab das mal Probiert (kanns ja nicht lassenXD). Des dingen will net so wie ich will, entweder mit delay (hab ich nur 10ms Unterbrechung bevor ledstatus on).

Aber die Bounce Funktion mit einfügen erweist sich mir auch mehr als frickelig.

Könntet ihr mir vielleicht mal ein Beispiel liefern?
« Last Edit: December 17, 2012, 10:28:25 am by Geilduino » Logged

Pages: [1]   Go Up
Jump to: