Home > Technologie > Intel Edison Hands-on Tag 4: Berührungsschalter

Intel Edison Hands-on Tag 4: Berührungsschalter

0
Advertisement

Intel Edison Hands-on Tag 4: Berührungsschalter

Intel Edison Hands-on Tag 4: Berührungsschalter

Intel Edison Hands-on Tag 4: Berührungsschalter

Intel Edison Hands-on Tag 4: Berührungsschalter

Intel Edison Hands-on Tag 4: Berührungsschalter

Intel Edison Hands-on Tag 4: Berührungsschalter

Nur mit der Taste, um das Licht zu steuern scheint nicht cool genug. In diesem Abschnitt werden wir einen Tastsensor und ein Relais zur Steuerung der LED ausprobieren. Lass es uns machen!

Bauteile erforderlich

Schritt 1: Verbindung

Intel Edison Hands-on Tag 4: Berührungsschalter

Kapazitiver Berührungssensor → Digital Pin 2

Relaisbaugruppe → Digital Pin 12

Beachte das
Relais kann als ein elektrisch gesteuerter Schalter betrachtet werden. Sie können sogar verwenden, um die elektrischen Geräte mit hoher Spannung und hoher Strom in Ihrem Hause zu steuern.

Aus Sicherheitsgründen empfehlen wir jedoch, NICHT in den Hochspannungswerkzeugen zu hacken.

Schritt 2: Wie benutzt man Relais?

Intel Edison Hands-on Tag 4: Berührungsschalter

Sprechen wir über das Relais.

Sie können einen digitalen Stift verwenden, um den Schalter direkt zu steuern.

In diesem Relaismodul befinden sich vier Ausgänge (COM (Common), NO (Öffner), NC (Öffner), N / A (Nicht zutreffend)

COM = Common, NC und NO verbinden immer mit diesem Pin, es ist der bewegliche Teil des Schalters.

NC = Normally Closed ist COM angeschlossen, wenn der Digital Pin LOW ist.

NO = Normalerweise ist COM angeschlossen, wenn der Digitaleingang HIGH ist.

Schritt 3: Codierung

  Int touchPin = 2;  // Der Stift des TastsensorsintrelayPin = 12;  // Der Pin des Relais int RelayState = HIGH;  // RelayState speichert den Zustand des Relais int touchState;  // touchState speichert den Zustand des Tastsensors int lastTouchState = LOW;  // lastTouchState speichert den letzten Zustand des Touch-Sensors long lastDebounceTime = 0;  Lang debounceDelay = 50;  // Entprellzeit void setup () {pinMode (touchPin, INPUT);  PinMode (Relaispin, AUSGANG);  DigitalWrite (relayPin, relayState);  } Void loop () {// liest den Berührungssensorstatus in die Lesevariable.  Int Lesen = digitalRead (touchPin);  // Wenn sich der Zustand des Berührungssensors ändert, die Zeit stempeln.  If (lesen! = LastTouchState) {lastDebounceTime = millis ();  } // 50ms warten, um zu bestätigen, dass die Änderung wirklich passiert // Wenn der neue Zustand des Tastsensors HIGH ist, ändern Sie den Zustand des Relais.  If ((millis () - lastDebounceTime)> debounceDelay) {if (lesen! = TouchState) {touchState = lesen;  If (touchState == HIGH) {relayState =! RelayState;  }}} DigitalWrite (relayPin, relayState);  // den letzten Zustand des Touch-Sensors aufzeichnen lastTouchState = lesen;  aufrechtzuerhalten.

Nach dem Hochladen der Skizze, und Sie können den Sensor berühren, um die LED zu steuern.

Schritt 4: Prinzip (Digital Input-Digital Output)

Intel Edison Hands-on Tag 4: Berührungsschalter

Anscheinend ist der Berührungssensor das Eingabegerät, während das Relais der Ausgang 1 ist. Inzwischen kann das Relais andere Geräte steuern.

Schritt 5: Code-Überprüfung

Intel Edison Hands-on Tag 4: Berührungsschalter

Den Berührungssensor auf Eingang und Relais einstellen

auszugeben

PinMode (touchPin, INPUT);

PinMode (Relaispin, AUSGANG);

Verwenden Sie digitalWrite (), um den Zustand des Berührungssensors zu lesen:

Int Lesen = digitalRead (touchPin);


Wenn Sie den Knopf drücken, können sie einmal oder mehrmals abgesprengt werden, bevor Sie in kurzer Zeit einen festen Kontakt herstellen. Genau wie die Abbildung oben.

Ohne Entprellen kann das Drücken der Taste einmal als Mehrfachpressen auf den Code geschaltet werden. Mithilfe der millis () -Funktion können Sie den Zeitpunkt des Tastendrucks verfolgen.

Ändert sich der Zustand des Berührungssensors, stempelt die Zeit über die millis () - Funktion:

If (lesen! = LastTouchState) {

LastDebounceTime = millis ();

aufrechtzuerhalten.

Millis () gibt die Anzahl der Millisekunden zurück, seit das Arduino-Board das laufende Programm gestartet hat.


Warten Sie 50ms, um zu bestätigen, dass die Änderung wirklich geschieht. Wenn es wirklich passiert, ändern Sie den Zustand des Relais. Im

If ((millis () - lastDebounceTime)> debounceDelay) {

If (Lesen! = TouchState) {

TouchState = Lesen;

If (touchState == HIGH) {

RelayState =! RelayState;

aufrechtzuerhalten.

aufrechtzuerhalten.

aufrechtzuerhalten.

Related Reading