Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Arduino- und AC-Geräte - Automatische Beleuchtung

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
Energiesparlampe
× 1
5-V-DC-Adapter
× 1
Jumper (generisch)
× 1
Relais (generisch)
× 1
UTSOURCE Electronic Parts
× 1

Notwendige Werkzeuge und Maschinen

Schraubendreher

Apps und Onlinedienste

Microsoft Visual Studio 2015
Arduino-IDE

Über dieses Projekt

Intelligente Hausbeleuchtung

In diesem Projekt lernen wir, wie man das Relais mit Ultraschallsensor und Arduino verwendet, um unsere Hausbeleuchtung (oder jedes Gerät) intelligenter zu machen.

Unser Ziel ist es, eine Energiesparlampe auszuschalten, wenn Sie den Raum verlassen und sich wieder einzuschalten, wenn Sie wieder eintreten. Es ist so einfach zu implementieren und braucht wenig Zeit.

In dieser Anleitung werden Grundkenntnisse vorausgesetzt. Arduino-Kenntnisse. Wenn Sie Arduino verwendet haben, bevor Sie loslegen können.

Achtung:Dieses Projekt verwendet eine Wechselstrom-Hochspannungsversorgung. Wenn Sie unter 16 Jahre alt sind oder nicht über genügend Erfahrung verfügen, müssen Sie eine erfahrene Person haben, die Ihnen mit dem Wechselstromteil hilft.

Sie können das Projekt jedoch mit Gleichstromgeräten abschließen, die mit Niederspannung betrieben werden und das gleiche Konzept beweisen. Ich werde die Warnung deutlich formulieren, wenn es gefährlich wird.

Komponenten

1) Arduino Uno

2) Multimeter

3) Überbrückungsdrähte

4) Steckbrett

5) Realy-Modul

6) Ultraschallsensor (HC-SR04) und Ultraschallbibliothek für den Arduino finden Sie hier Sie heißt (New Ping) Bibliothek. Wenn Sie zum ersten Mal eine externe Bibliothek auf dem Arduino installieren, überprüfen Sie diesen Link.

7) Gleichstromquelle (optional)

8) Schraubendreher (+ Typ für das Relaismodul)

9) Energiesparlampe mit Halterung und angeschlossenem Wandstecker (ich habe ein altes Radiostromkabel verwendet, um den Stecker zu bekommen).

Ich habe auch eine Klebepistole verwendet, um die Enden der Drähte zu befestigen, Sie sollten ein Isolatorband verwenden.

10) Visual Studio zum Schreiben von Arduino-Code, willst du wissen, wie? Überprüfen Sie diesen Link, er ist völlig kostenlos oder Sie können Arduino IDE verwenden.

Fangen wir an.

Ultraschall vorbereiten

Zuerst wissen wir, wie man den Ultraschallsensor an den Arduino anschließt, der in der Abbildung unten dargestellt ist. Wir werden später beschreiben, wie der Ultraschallsensor getestet wird.

Das Relaismodul

Dann verbinden wir einen Kanal des Relaismoduls (da der, den ich habe, 2 Kanäle hat), der Vcc-Pin geht auf 5V und der IN1 geht auf Arduino Pin 8 (oder einen beliebigen Pin deiner Wahl).

Es ist erwähnenswert, dass mein Relaismodul Active-Low ist. Um zu wissen, was der Unterschied zwischen Active-Low und Active-High ist, überprüfen Sie diesen Link. Bevor Sie also fortfahren, sollten Sie den aktiven Modus Ihres Relais kennen. Dazu verbinden Sie einfach Vcc und GND normal und verbinden dann den IN-Pin mit 5V, wenn nichts passiert, dann ist er aktiv niedrig, um sicherzustellen, dass der IN-Pin mit GND verbunden ist.

Die Lampe

Bereiten Sie dann die Lampe vor, die an den Wandstecker angeschlossen werden soll, und das Relais eine Klemme wird direkt mit dem Stecker verbunden, die andere hat einen Schnitt in der Mitte, ein Ende des Schnitts geht in den Normally Open Pin (NO1) im Relaismodul, der andere geht zum COM1-Pin und dann zum Stecker.

Der Endstromkreis wird ( Die Lampe ist vereinfacht :) )

Jetzt sind wir mit der Hardware fertig.

Der Code macht folgendes

  • Messt den Abstand zum Ultraschall
  • Überprüft, ob jemand an der Tür vorbeigekommen ist
  • Schaltet den Zustand des Lichts um

Lesen von Werten aus dem Ultraschall

Versuchen wir nun den Ultraschallsensor, dies ist das Beispiel aus deiner Bibliothek, es ist sehr einfach und unkompliziert, da es nur die Entfernung ausdruckt, die es liest.

Sie können die Entfernung in Zentimeter oder Zoll ermitteln, indem Sie ( Sonar ist der Name der Ultraschallinstanz).

sonar.ping_cm();
// Oder
sonar.ping_inch();

Wie wir sehen können, werden auch die Stifte des Ultraschallsensors und die maximal gewünschte Reichweite eingestellt.

Leider liest der Ultraschallsensor manchmal hin und wieder einen falschen Abstand.

Dies kann dazu führen, dass das Licht unbeabsichtigt ein- und ausschaltet. Um dieses Problem zu beheben, sollten wir eine Reihe von Messwerten abrufen und ihren Durchschnitt auswählen. Eine andere Möglichkeit, dies zu beheben, ist die Verwendung des Medianfilters die einfach eine Reihe von Messwerten nimmt, sie in einem Array sortiert und den Wert in der Mitte auswählt, der so cool ist, dass das Rauschen entfernt wird, wenn es häufig auftritt.

Glücklicherweise hat die NewPing-Bibliothek diesen Filter in einer Funktion namens

. implementiert
sonar.ping_median(unsigned byte numReadings); 

Sie übergeben einfach die Anzahl der Messwerte, die Sie als Beispiel betrachten möchten, maximal 512, da sie unsigned byte verwenden .

Diese Funktion gibt die Zeit zurück, die das Echo zum Zurückprallen verwendet hat, die in die von Ihnen verwendete Längeneinheit umgewandelt werden sollte. Dies wird auch leicht in der Bibliothek implementiert, indem Sie

. verwenden
sonar.convert_cm(unsigned int echoTime);
// Oder
sonar.convert_in(unsigned int echoTime);

Der letzte Haken beim Ultraschall ist, dass er 0 anzeigt, wenn nichts davor steht , dies wird einfach gelöst, indem man ihm sagt, dass er die Distanz auf MAX_DISTANCE setzen soll, wenn 0 angezeigt wird, schließlich wird der Code zum Lesen des Sensors ( Distanz ist eine globale Variable ) :

Erkennen, dass etwas vorübergegangen ist

Beginnen wir nun mit der Codierung, um zu wissen, dass jemand am Ultraschall vorbeigegangen ist, muss eine kritische Distanz gelesen werden, die einfach die halbe Türbreite betragen kann. So sind wir immer sicher, dass jemand an der Tür vorbeikommt.

Eine andere Sache, die ich im Hinterkopf behalten möchte, ist, dass das Licht nur schalten, wenn etwas vor dem Ultraschall passiert ist, das heißt, wenn jemand davor steht, passiert nichts. Der Code dafür ist wie folgt

Herzliche Glückwünsche !! Sie sind jetzt fertig, ich hänge das gesamte Visual Studio-Projekt an, während ich eine kleine Bearbeitung an der Bibliothek vorgenommen habe (die dynamische Speicherzuweisung anstelle von Arrays mit variabler Größe verwendet habe - da Visual Studio sie nicht zulässt -) und einige Dokumentationen hinzugefügt habe.

Schauen Sie sich elektronische Komponenten auf utsource.net an

Bitte Respekt dieses Projekt, wenn Sie es nützlich finden, andere Projekte:

Arduino Farbmischer

RC Auto mit 1Sheeld

Artikel

Arduino mit Visual Studio entwickeln

Code

  • Smart House Light
  • Ultraschalltest
Smart House LightArduino
Dieser Code nimmt den Eingangswert vom Ultraschall und steuert das Relais entsprechend an
#define TRIGGER_PIN 12 // Arduino-Pin mit Trigger-Pin am Ultraschallsensor verbunden. #define ECHO_PIN 11 // Arduino-Pin mit Echo-Pin am Ultraschallsensor verbunden .#define MAX_DISTANCE 200 // Maximale Entfernung, die wir anpingen möchten (in Zentimeter). Der maximale Sensorabstand beträgt 400-500 cm. [dies ist eine beliebige Zahl]#define RELAY_LINE1_PIN 8#include "NewPing.h"NewPing Sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing-Setup von Pins und maximale Distanz.unsigned int Critical_distance_cms =50; // Abschaltabstand, bei dem das Licht schaltet [dies ist eine beliebige Zahl] bool state =0;void setup () { Serial.begin (9600); // Öffnen Sie den seriellen Monitor mit 115200 Baud, um die Ping-Ergebnisse anzuzeigen. pinMode (RELAY_LINE1_PIN, OUTPUT); digitalWrite(RELAY_LINE1_PIN, HIGH); // Licht ausschalten}void loop () { delay (50); // Warten Sie 50 ms zwischen den Pings (ca. 20 Pings/Sek.). 29 ms sollten die kürzeste Verzögerung zwischen Pings sein. unsigned int distance =readDistance(); // Aktueller Abstand eines Objekts, das dem Ultraschallsensor gegenüberliegt Serial.print ( "Ultrasonic:"); Serial.print (Abstand); // Ping senden, Distanz in cm abrufen und Ergebnis drucken (0 =außerhalb des eingestellten Distanzbereichs) Serial.println ("cm"); // Jemand ist in der Nähe der Tür if (distance  
UltraschalltestArduino
Code, damit der Ultraschall den gelesenen Wert ausdruckt
// ---------------------------------- ---------------------------------------- // Beispiel für eine NewPing-Bibliotheksskizze, die einen Ping ausführt ca. 20 mal pro Sekunde. // ------------------------------------------ ---------------------------------#include #define TRIGGER_PIN 12 // Arduino-Pin gebunden an Trigger-Pin am Ultraschallsensor.#define ECHO_PIN 11 // Arduino-Pin mit Echo-Pin am Ultraschallsensor verbunden.#define MAX_DISTANCE 200 // Maximale Entfernung, für die wir pingen möchten (in Zentimeter). Der maximale Sensorabstand beträgt 400-500 cm. NewPing-Sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing-Setup von Pins und maximale Entfernung.void setup () { Serial.begin (115200); // Öffnen Sie den seriellen Monitor bei 115200 Baud, um die Ping-Ergebnisse zu sehen.}void loop () { delay (50); // Warten Sie 50 ms zwischen den Pings (ca. 20 Pings/Sek.). 29 ms sollten die kürzeste Verzögerung zwischen Pings sein. Serial.print("Ping:"); Serial.print (sonar.ping_cm ()); // Ping senden, Distanz in cm abrufen und Ergebnis drucken (0 =außerhalb des eingestellten Distanzbereichs) Serial.println("cm");}
Intelligente Hausbeleuchtung
Dies ist das vollständige Projekt für Visual Studio mit der bearbeiteten Bibliothekhttps://github.com/shakram02/Arduino_SmartHouseLights.git

Schaltpläne

Dies ist die vollständige Schaltung, die das gesamte Projekt beschreibt

Herstellungsprozess

  1. TinyML-Spracherkennung basierend auf Edge Impulse &Arduino
  2. Arduino-Gyroskop-Spiel mit MPU-6050
  3. Arduino Digital Dice
  4. Temperatur- und Feuchtigkeitsdatenlogger
  5. Automatisches Pflanzenbewässerungssystem mit Arduino
  6. Finde mich
  7. Smarte Schuhe (automatische Schnürung und Stromerzeugung)
  8. Sonar mit Arduino und Anzeige bei der Verarbeitung von IDE
  9. Alles Gute zum Geburtstag:Lichter und Klänge
  10. Steuerung der LED-Helligkeit mit Bolt und Arduino