INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
LED mit Button an und aus schalten?
19.02.2015, 12:19
Beitrag #9
RE: LED mit Button an und aus schalten?
Hi,
eine kleine Änderung ergibt eine saubere Flankenerkennung.
Code:
static int oldState = 0;
int newState = digitalRead(TASTER) ;
if(newState != oldState && newState)
    digitalWrite(LEDPIN, !digitalRead(LEDPIN) );
oldState = newState;
Das blöde ist dabei nur, dass man einen PullDown-Widerstand braucht. D.h. es geht mit etwas weniger Bauteilen, wenn man den Eingang mit INPUT_PULLUP deklariert und es dann so macht:
Code:
static int oldState = HIGH;
int newState = digitalRead(TASTER) ;
if(newState != oldState && !newState)
    digitalWrite(LEDPIN, !digitalRead(LEDPIN) );
oldState = newState;
...wenn die Taste prellt, muss man halt noch ein bissel mit millis() rumspielen.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.02.2015, 17:38
Beitrag #10
RE: LED mit Button an und aus schalten?
(19.02.2015 11:45)Foto-Ralf schrieb:  Hmmm - dann "flackert" die LED im 200 Millisekunden-Takt so lange der Taster gedrückt ist....

Ja, für ein einfaches Projekt (Nachtlicht oder ähnliches) aber ausreichend. Gegebenenfalls mit größerem Delay.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.02.2015, 10:34
Beitrag #11
RE: LED mit Button an und aus schalten?
Ok,

könnte man jetzt so eine Flankenerkennung auf den NFC-Reader übertragen ?

Danke

lg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.02.2015, 12:06
Beitrag #12
RE: LED mit Button an und aus schalten?
Hi,
im Prinzip ja. Schreib Dir eine Funktion, die die Erkennung der Karte erledigt. Sie sollte sowas wie HIGH oder TRUE ausgeben, wenn die Karte erkannt wurde und FALSE wenn nicht. Diese Funktion verwendest Du dann statt digitalRead.
Wahrscheinlich braucht's dann noch eine Art Entprellen, aber das machst Du dann später.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.02.2015, 15:44
Beitrag #13
RE: LED mit Button an und aus schalten?
OK,

Also so hab ch es jetzt mal gemacht:

Code:
#include <SPI.h>
#include <RFID.h>

#define SS_PIN 10
#define RST_PIN 9

RFID rfid(SS_PIN, RST_PIN);

// input serial frames
int serNum0;
int serNum1;
int serNum2;
int serNum3;
int serNum4;


int card = 0;
const int ledPin =  13;  


void setup()
{
  
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
  SPI.begin();
  rfid.init();
}

void loop()
{
    if (rfid.isCard())
    {
        if (rfid.readCardSerial())
        {
                // einlesen der serial-frames
                serNum0 = rfid.serNum[0];
                serNum1 = rfid.serNum[1];
                serNum2 = rfid.serNum[2];
                serNum3 = rfid.serNum[3];
                serNum4 = rfid.serNum[4];
                
                String serial = String(serNum0, HEX) + String(serNum1, HEX) + String(serNum2, HEX) + String(serNum3, HEX) + String(serNum4, HEX);
                serial.toUpperCase();
                
              
                
                if(serial == "31D4F73321")
                {
                  card == HIGH;
                  Serial.print("ON");
                }else
                {
                 card == LOW;
                 Serial.print("OFF");
                }
                
        
                
          }
    }
    
    rfid.halt();
    
      static int oldState = HIGH;
      int newState = card ;
       if(newState != oldState && !newState)
     digitalWrite(ledPin, !digitalRead(ledPin) );
     oldState = newState;
  
}

jetzt ist die LED aber dauerhaft an, egal was ich mache.


Danke

lg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.02.2015, 15:54
Beitrag #14
RE: LED mit Button an und aus schalten?
Hi,
das hier...
Code:
card == HIGH
...ist ein Vergleich und keine Zuweisung.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.02.2015, 16:43
Beitrag #15
RE: LED mit Button an und aus schalten?
Ok,

Also
Code:
card = HIGH

dann verändert sich die LED aber immer noch nicht.

Danke

lg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.02.2015, 17:10
Beitrag #16
RE: LED mit Button an und aus schalten?
Kommt denn das "ON" auf der seriellen Schnittstelle an? Oder das "OFF"?

Evtl. bleibt dein Programm auch schon weiter oben "hängen" - mach dir doch mal ein paar Serial.println("pos1") - Serial.println("posx") mit in das Programm, dann siehst Du im Serial Monitor wo das Programm gerade in abarbeitung ist bzw. hängt.


Gruss Ralf
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Funksteckdosen via Homekit schalten Larsvegas1000 3 101 04.12.2016 17:35
Letzter Beitrag: hotsystems
  Button Library Scheams 0 878 04.06.2016 01:05
Letzter Beitrag: Scheams
  Menschen machen Strom: Elektrische Arbeit messen und damit etwas schalten Androidin 1 1.207 30.06.2015 20:21
Letzter Beitrag: HaWe
  Beispiel Button Problem citycar 4 1.180 26.10.2014 22:18
Letzter Beitrag: citycar

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste