Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing

Onderdelen en benodigdheden

Arduino UNO × 1
Energiespaarlamp (met fitting en stekker) × 1
5V DC Adapter × 1
Jumper wires × 1 set
Relaismodule (1 kanaal) × 1
UTSOURCE Elektronische onderdelen × 1

Benodigde tools en machines

  • Kruiskopschroevendraaier (voor relaismodule)

Apps en online diensten

Over dit project

Slimme huislampen

In dit project leer je hoe je een relais combineert met een ultrasone sensor en Arduino om je huislampen (of elk apparaat) slim te maken.

Doel: Een energiespaarlamp die uigaat als je de kamer verlaat en aan gaat als je weer binnenkomt. Eenvoudig te implementeren en snel klaar.

Vereiste kennis: Basiskennis Arduino. Als je er al mee hebt gewerkt, kan je direct starten.

⚠ WAARSCHUWING: Dit project gebruikt hoogspanning (AC-netspanning). Ben je jonger dan 16 of onervaren? Laat de AC-deel dan door een ervaren persoon doen. Je kunt het concept ook veilig bewijzen met DC-apparaten op lage spanning. Waarschuwingen worden duidelijk aangegeven wanneer het gevaarlijk wordt.

Componenten overzicht

Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing
Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing
Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing
Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing
Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing
Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing
Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing
Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing
Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing
Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing
Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing

Ultrasone sensor voorbereiden

Eerst de HC-SR04 aansluiten op de Arduino (zie schema). Later testen we de sensor.

Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing

Relaismodule (mijn module heeft 2 kanalen, we gebruiken 1):

  • VCC → 5V
  • IN1 → Arduino Pin 8 (of naar keuze)

Let op: Mijn relais is active-low. Om te testen: VCC/GND aansluiten, IN naar 5V → niets gebeurt = active-low. Bevestig door IN naar GND te verbinden (relais schakelt).

Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing

De lamp aansluiten (⚠ HOOGSPANNING)

Eén lampdraad direct op de stekker. De andere draad doorhalen in het midden: één einde naar NO (Normaal Open) van het relais, het andere einde naar COM van het relais, en dan naar de stekker.

Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing
Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing

Complete schakeling:

Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing
Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing

De code doet het volgende:

  • Meet afstand met ultrasone sensor
  • Detecteert of iemand voorbij de deur loopt
  • Schakelt de lampstatus om

Waarden uitlezen van de ultrasone sensor

Voorbeeld uit de NewPing-bibliotheek (installeer via Library Manager of GitHub):

sonar.ping_cm();   // afstand in cm
sonar.ping_inch(); // afstand in inches

De library stelt trigger/echo pinnen en max bereik in.

Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing

Probleem: De sensor leest af en toe een foutieve afstand (ruis).

Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing

Oplossing: meerdere metingen middelen of mediaanfilter gebruiken. De NewPing library heeft dit ingebouwd:

sonar.ping_median(unsigned byte numReadings); // max 512

Deze retourneert de echo-tijd (µs). Omrekenen naar cm/inch:

sonar.convert_cm(unsigned int echoTime);
sonar.convert_in(unsigned int echoTime);

Extra: sensor geeft 0 bij "niets gedetecteerd" → behandelen als MAX_DISTANCE.

Uiteindelijke leesfunctie (distance is globale variabele):

Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing

Detecteren dat iemand voorbij loopt

Drempelafstand = halve deurbreedte (zo weet je zeker dat iemand de deur passeert). De lamp schakelt alleen bij passage; iemand stil staan voor de sensor doet niets.

Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing

Gefeliciteerd, klaar! Heel Visual Studio project (met kleine library-aanpassing voor dynamische geheugenallocatie) op GitHub.

Onderdelen: utsource.net. Waardeer dit project als nuttig. Andere projecten: Arduino kleurmixer, RC Auto met 1Sheeld, Artikelen over Visual Studio voor Arduino.

Code

Smart House Light (Arduino)

#define TRIGGER_PIN 12
#define ECHO_PIN 11
#define MAX_DISTANCE 200
#define RELAY_LINE1_PIN 8

#include "NewPing.h"
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

unsigned int critical_distance_cms = 50; // drempel (cm)
bool state = 0;

void setup() {
  Serial.begin(9600);
  pinMode(RELAY_LINE1_PIN, OUTPUT);
  digitalWrite(RELAY_LINE1_PIN, HIGH); // Lamp uit (active-low)
}

void loop() {
  delay(50); // 20 pings/sec
  unsigned int distance = readDistance();
  Serial.print("Ultrasonic: ");
  Serial.print(distance);
  Serial.println("cm");

  if (distance < critical_distance_cms) {
    // Wacht tot persoon weg is
    while (distance < critical_distance_cms) {
      distance = readDistance();
      delay(5);
    }
    state = !state; // Toggle relais
    if (state) {
      Serial.println("Deur Open!");
      digitalWrite(RELAY_LINE1_PIN, LOW); // Lamp aan
    } else {
      Serial.println("Deur Dicht!");
      digitalWrite(RELAY_LINE1_PIN, HIGH); // Lamp uit
    }
  }
}

unsigned int readDistance() {
  // Mediaanfilter over 7 metingen
  unsigned int distance = sonar.convert_cm(sonar.ping_median(7));
  if (distance == 0) distance = MAX_DISTANCE;
  return distance;
}

Ultrasonic test (Arduino)

// Example NewPing sketch
#include <NewPing.h>
#define TRIGGER_PIN 12
#define ECHO_PIN 11
#define MAX_DISTANCE 200
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

void setup() {
  Serial.begin(115200);
}

void loop() {
  delay(50);
  Serial.print("Ping: ");
  Serial.print(sonar.ping_cm());
  Serial.println("cm");
}

Smart House Lights (Visual Studio project)

GitHub repository

Schema's

Slimme AC-verlichting met Arduino UNO en Relais – Automatische besturing

Productieproces

  1. TinyML Taaldetector met Edge Impulse op Arduino Nano 33 BLE Sense
  2. Bouw een real-time gyroscoop-spel met Arduino Nano & MPU-6050 sensor
  3. Arduino Digitale Dobbelsteen: Bouw Je Eigen LCD-willekeurige Getalgenerator
  4. Arduino temperatuur- en vochtigheidslogger met DHT11 en Ethernet Shield
  5. Arduino-gestuurd automatische plantenwateringssysteem
  6. Find Me: Slimme Item Locator met Arduino en Bluetooth
  7. Slimme Zelfzittende Schoenen met Ingebouwde Energie-opwekking
  8. Realtime afstandsmeting met Arduino Sonar & Processing visualisatie
  9. Vier met Licht en Geluid: DIY Verjaardags Arduino-project
  10. Naadloze LED-dimmer met Bolt IoT en Arduino UNO
  11. Een audio-reactieve bureaulamp bouwen met Arduino Nano