Aansluitschema Drukknop met LED-Ring en Relais

Met deze voorbeeld code kunt u een relais in en uitschakelen door middel van een Arduino Uno en een Drukknop met Ledverlichting

Stappenplan

  1. verbind de DC+ van het relais met de 5V van de Arduino
  2. Verbind de DC- van het relais met de GND van de Arduino
  3. verbind de IN pin van het relais met de digitale pin 8 van de Arduino
  4. verbind de C van de drukknop met de GND van de Arduino
  5. verbind de 1 van de drukknop met de GND van de Arduino
  6. Verbind de NO van de drukknop met de digitale pin 2 van de Arduino
  7. Verbind de 2 van de drukknop met de digitale pin 7 van de Arduino

Voorbeeldcode


const int drukknopPin = 2;   // Pinnummer voor de drukknop
const int relaisPin = 8;     // Pinnummer voor het relais
const int ledPin = 7;        // Pinnummer voor de LED

int drukknopStatus = HIGH;    // Variabele om de status van de drukknop bij te houden (laag = niet ingedrukt, hoog = ingedrukt)
int knopcyclus = 0;           // Variabele om de knopcycli bij te houden (0 = wacht op knop indrukken, 1 = wacht op loslaten, 2 = knop is ingedrukt)
int relaisStatus = LOW;       // Variabele om de status van het relais bij te houden (0 = uit, 1 = aan)

void setup() {
  pinMode(drukknopPin, INPUT_PULLUP); // Stel de drukknop-pin in als input met pull-up weerstand
  pinMode(relaisPin, OUTPUT);         // Stel de relais-pin in als output
  pinMode(ledPin, OUTPUT);            // Stel de LED-pin in als output
  Serial.begin(9600);                // Start de seriële communicatie met een baudsnelheid van 9600
}

void loop() {

  // Lees de status van de drukknop
  drukknopStatus = digitalRead(drukknopPin);
  Serial.println(knopcyclus); // Print de huidige knopcycli naar de seriële monitor

  if (drukknopStatus == LOW && knopcyclus == 0) {
    knopcyclus = 1; // De knop is ingedrukt, ga naar de volgende knopcycli
  }

  if (drukknopStatus == HIGH && knopcyclus == 1) {
    knopcyclus = 2; // De knop is losgelaten, ga naar de volgende knopcycli
  }

  // Controleer of de drukknop is ingedrukt (laag, omdat we met een pull-up weerstand werken) en het relais is uitgeschakeld
  if (knopcyclus == 2 && relaisStatus == 0) {
    aan(); // Schakel het relais en de LED aan
  }

  // Controleer of de drukknop is ingedrukt (laag, omdat we met een pull-up weerstand werken) en het relais is ingeschakeld
  if (knopcyclus == 2 && relaisStatus == 1) {
    uit(); // Schakel het relais en de LED uit
  }
}

void aan() {
  digitalWrite(relaisPin, HIGH); // Schakel het relais in
  digitalWrite(ledPin, HIGH);    // Schakel de LED in
  relaisStatus = 1;              // Update de relaisstatus
  knopcyclus = 0;                // Reset de knopcycli
}

void uit() {
  digitalWrite(relaisPin, LOW);  // Schakel het relais uit
  digitalWrite(ledPin, LOW);     // Schakel de LED uit
  relaisStatus = 0;              // Update de relaisstatus
  knopcyclus = 0;                // Reset de knopcycli
}

Aansluitschema

Een 5V Relais schakelen met een aan-uit self lock Drukknop

Met dit aansluitschema zou uw relais inschakelen en het LED op de drukknop gaan branden zolang de knop is ingedrukt

 

Een lamp schakelen met een aan-uit self lock Drukknop

met dit aansluit schema kunt u een component van een ander voltage schakelen door midden van een drukknop.