Automatische Nachtlampe mit Arduino
Automatische Nachtlampe mit Arduino – Code, Funktion und Simulation
Automatisierung bedeutet im Grunde, eine Methode zu erfinden, die menschliche Anstrengungen reduziert oder eliminiert. In diesem Tutorial erklären wir, wie Sie eine Nachtlampe über eine einfache Schnittstelle von Arduino und Relay mithilfe der Proteus-Software automatisieren. Automatisierung ist das Gebot der Stunde, denn die Anwendung reicht von der Kesselsteuerung mit einem einfachen Thermostat bis hin zur großen Industriesteuerung mit einer großen Menge an Ein- und Ausgangsdaten. Die Komplexität der Automatisierung kann von einer einfachen „Ein/Aus“-Steuerung bis hin zu hochkomplexen multivariablen Algorithmen wie einem industriellen Automatisierungssystem variieren. Die Steuerungssysteme für Automatisierungszwecke können entweder Open Loop oder Closed Loop sein, was bedeutet, dass sie entweder mit einem einzelnen Eingangsparameter oder in Reaktion auf den als Eingang zugeführten Ausgang wie im Fall von Closed Loop-Systemen arbeiten können.
Wie jede Technologie hat auch die Automatisierung ihre Vor- und Nachteile:
Vorteile
- Steigerung der Produktivität
- Vorhersagbare Qualität (Qualitätsverbesserung)
- Erhöhte Robustheit
- Großartige Ausgabekonsistenz
- Reduzierung der Personalkosten
- Sehr genau
- Reduziert den menschlichen Aufwand bei monotonen Arbeiten
Nachteile
- Anfällig für Sicherheitsbedrohungen
- Die Entwicklungskosten könnten die Prognose übersteigen
- Hohe Einrichtungskosten
- Ursache der Arbeitslosigkeit in vielen Branchen
Die genannten Vorteile überwiegen bei weitem die Nachteile und deshalb tritt die ganze Welt in das Zeitalter der Automatisierung ein.
In diesem Tutorial versuchen wir, eine Lampe selbst ein- oder auszuschalten, wenn die Schaltung eine merkliche Änderung der Lichtintensität erkennt, und um dies zu erreichen, werden wir sie verwenden Die beiden am häufigsten verwendeten Tools für die Automatisierung, d. H. Arduino und Relay, und die Schnittstellen zusammen mit der Simulation würden durch die Proteus-Software erreicht.
- Verwandtes Projekt:Automatische LED-Notlichtschaltung
Erforderliche Komponenten
- Arduino UNO
- Relais 5 Volt
- LDR (lichtabhängiger Widerstand)
- Widerstand 10K Ohm
- Transistor BC547
- DC-Versorgung 5 Volt
- Wechselstromversorgung 220 Volt
Erforderliche Software
- Arduino-IDE
- Proteus
Schaltplan des automatischen Nachtlichts
- Verwandter Beitrag:Schaltkreis für LED-Notbeleuchtung – LED-716-LED-Lichtschema
Komponentenbeschreibung
Arduino UNO
Arduino ist im Grunde ein Entwicklungsboard, das Open Source ist und hauptsächlich den Mikrocontroller ATmega328P von Microchip verwendet und von Arduino.cc hergestellt wird. Das Board wird mit einem Satz von digitalen und analogen Eingangs-/Ausgangspins geliefert, die an verschiedene Erweiterungsboards und externe Schaltungen angeschlossen werden können. Das Board verfügt über 14 digitale Pins zusammen mit 6 analogen Pins, die mit Hilfe einer IDE (Integrated Development Environment) verwendet oder programmierbar gemacht werden. Das Programm wird über ein USB-Kabel Typ B gebrannt.
Das Einschalten der Platine kann entweder über das USB-Kabel oder durch Anschließen einer 12-Volt-Gleichstromversorgung erfolgen. In Bezug auf Design und Funktionsweise unterscheidet es sich nicht allzu sehr von seinen anderen Familienmitgliedern, nämlich Arduino Nano und Arduino Leonardo.
STK500 ist immer noch das ursprüngliche Kommunikationsprotokoll für Uno. Der Hauptunterschied zu seinen Vorgängern besteht darin, dass der FTDI (USB-to-Serial Driver Chip) nicht verwendet wird.
- Verwandter Beitrag: Was ist Arduino und wie wird es programmiert?
Weiterleitung
Relais ist ein elektromagnetischer Schalter, der elektrisch betrieben werden kann und zum Ein- und Ausschalten von AC/DC-Geräten dient. Es kann sogar mit einer niedrigen Spannung von 5 Volt gesteuert werden, wie der Ausgang der Arduino-Pins. Es besteht aus einer Spule mit Metallkontakten auf einer Seite (Niederspannungsseite), die magnetisiert und entmagnetisiert werden kann, um den auf der anderen Seite (Hochspannungsseite) angebrachten Stromkreis zu öffnen oder zu schließen. Die Hochspannungsseite besteht aus einem Stecker mit 3 Buchsen, nämlich gemeinsam (COM), normalerweise geschlossen (NC) und normalerweise offen (NO). Das Relais ist in verschiedenen Nennwerten wie 12 V, 9 V, 5 V und 3 V erhältlich.
- Verwandter Beitrag:Wie teste ich ein Relais? Überprüfen von SSR und Spulenrelais
LDR
LDR (Light Dependent Resistor) ist eine variable Widerstandskomponente, die ihren Widerstandswert mit der Änderung der Lichtintensität ändern kann und nach dem Photoleitfähigkeitsprinzip arbeitet. Der Widerstandswert nimmt mit zunehmender Lichtintensität ab. Es wird in lichtempfindlichen Detektorschaltungen und lichtaktivierten Schaltkreisen verwendet.
LDR besteht aus einem hochohmigen Halbleiter, der einen Widerstand in Megaohm ohne Licht und mehrere Hundert Ohm in Gegenwart von Licht hat.
- Verwandter Beitrag: Automatisches Straßenbeleuchtungssteuerungssystem mit LDR und Transistor BC 547
BC547 – NPN-Transistor
Ein Transistor ist im Grunde ein Halbleiterbauelement, das dazu dient, elektronische Signale und Leistung zu verstärken oder zu schalten. Es besteht aus Halbleitermaterial und hat 3 Anschlüsse zum Anschluss an einen externen Stromkreis. In dieser Schaltung haben wir BC547 verwendet, einen NPN Bipolar Junction Transistor.
- Verwandtes Projekt:Einfache berührungsempfindliche Schalterschaltung mit 555-Timer und BC547-Transistor
Ein kleiner Stromwert an seinem Basisanschluss steuert einen großen Stromwert an seinen Emitter- und Kollektoranschlüssen. An den Transistoranschlüssen ist eine feste Gleichspannung erforderlich, um im gewünschten Bereich seiner Kennlinien zu arbeiten. Der Transistor wird, wenn er zu Verstärkungszwecken verwendet wird, vorgespannt gehalten, so dass er für alle Eingänge teilweise eingeschaltet ist und das verstärkte Ausgangssignal am Emitter abgenommen wird. Für Schaltanwendungen wird der Transistor so vorgespannt, dass er vollständig eingeschaltet bleibt, wenn ein Signal am Basisanschluss vorhanden ist, und vollständig ausgeschaltet wird, wenn kein Basissignal vorhanden ist.
- Verwandter Beitrag:So prüfen Sie einen Transistor mit einem Multimeter – NPN und PNP – 4 Möglichkeiten
Bewertungen
- VGeschäftsführer =45 VDC
- Ichc =100 mA DC
- VCBO =50 VDC
- VEBO =6 VDC
Softwarebeschreibung
Proteus
Die Proteus-Designsuite fällt unter die Kategorie der proprietären Software, die zur Durchführung der elektronischen Designautomatisierung verwendet wird. Diese Software ist sehr praktisch für Elektronikdesigner und entsprechende Techniker zum Erstellen von Schaltplänen und Ausdrucken in elektronischer Form, die als PCB-Layout bezeichnet werden. Die Software wurde in Yorkshire, England, von Labcenter Electronics Ltd. entwickelt und wird in mehreren Sprachen unterstützt, darunter Englisch, Französisch, Spanisch und Mandarin.
Es wird regelmäßig mit neuen Bibliotheken aktualisiert, die in regelmäßigen Abständen aus fortgeschrittenen Komponenten bestehen, und kann einfach zu der bestehenden Liste von Bibliotheken hinzugefügt werden.
Diese Software wird häufig verwendet, da sie Schaltkreise oder Mikrocontroller simulieren kann. Die Simulation hilft, die Funktionsweise und das Testen der entworfenen Schaltung zu verstehen, ohne auch nur die physischen Komponenten zu verwenden. Die Benutzeroberfläche bietet auch einen Vorteil gegenüber anderer Software auf dem Markt. Über 15 Millionen Komponenten sind im Bibliotheksbereich verfügbar, sodass Benutzer keine Zeit mit dem Erstellen von Footprints oder Komponenten verschwenden müssen.
Arduino-IDE
Arduino IDE ist eine Software, die auf verschiedenen Plattformen verwendet werden kann. Daher ist es eine plattformübergreifende Anwendung und wurde mit der Programmiersprache Java entwickelt. Es hat einen Seelenzweck, die Skizze zu schreiben und sie auf Arduino-kompatible Boards hochzuladen. Die unterstützten Sprachen sind C und C++, die etwas modifiziert sind und von der verwendeten Bibliothek abhängen. Verschiedene Bibliotheken werden in die Software integriert bereitgestellt und andere Bibliotheken können von Drittanbietern heruntergeladen werden. Die IDE verwendet ein Programm namens avrdude, um den Code in eine Datei mit hexadezimaler Kodierung umzuwandeln, die mit Hilfe eines Ladeprogramms, das in der Firmware der Karte vorinstalliert ist, auf die Karte geladen wird.
Projektcode
Erklärung des Codes
Zunächst definieren wir zwei globale Variablen vom Typ Integer. Variable analogIN wird verwendet, um einen analogen Pin zu bezeichnen, der den analogen Wert von der Schaltung und die zweite Variable Trigger empfängt bezeichnet einen digitalen Pin, der einen Triggerausgang mit ausreichender Spannung liefert.
int analogIN =A3;
int Trigger =12;
Die Baudrate ist auf 9600 Bit/s eingestellt, was die Datenübertragungsrate darstellt. Die Funktion pinMode() wird verwendet, um den Zustand des Pins zu definieren. Hier legen wir den Pin 12 als Ausgang und Pin A3 als Eingang fest. Alle diese Anweisungen sind in der Funktion void setup() geschrieben und würden während der gesamten Ausführungsdauer nur einmal ausgeführt.
void setup()
{
Serial.begin(9600);
pinMode(analogIN, INPUT);
pinMode(Trigger, OUTPUT);
}
Laut Schaltplan müssen wir ein bestimmtes Datum lesen, das in Form eines analogen Werts von Pin A3 vorliegt. Für diese spezielle Aufgabe haben wir die Funktion analogRead() verwendet Da die von der Schaltung erzeugte Eingabe ein analoger Wert ist, ist dies der Grund für die Verwendung von Analog-Pin und Analogfunktion.
Nun holen wir uns diesen analogen Wert vom analogen Pin A3 und speichern dann seinen Wert in der Variablen „value“.
Diese Variable enthält einen ganzzahligen Wert, der im Bereich von 0 bis 1234 liegt und je nach analogem Eingang variiert. Dies ist der 10-Bit-ADC-Wert, da Arduino mit einem 10-Bit-ADC-Konverter geliefert wird.
Der in der Variable „value“ gespeicherte Wert wird zum Ausführen des Bedingungsoperators (if-else) verwendet. Durch diesen Operator setzen wir den Zustand des digitalen Pin-Triggers auf HIGH oder LOW, um die Lampe ein- und auszuschalten. Der Hauptvorteil des Druckens der in der Variablen „Wert“ gespeicherten Daten besteht darin, dass wir die Lichtintensität einem bestimmten Wert zuordnen und die Lampe mit einer gewünschten Lichtintensität einschalten können.
Der Code, der in der Funktion „void loop()“ vorhanden ist, wird wiederholt ausgeführt, bis der Arduino mit Strom versorgt wird. Um sicherzustellen, dass das Projekt jederzeit betriebsbereit ist, muss sichergestellt werden, dass der hier verwendete Arduino Uno rund um die Uhr mit Strom versorgt wird.
void loop() {
int value =analogRead(analogIN);
Serial.println(value);
wenn (Wert <692)
{
digitalWrite(Trigger, HIGH);
Serial.println(“lamp is ON”);
}
sonst {
digitalWrite(Trigger, LOW);
Serial.println("Lampe ist AUS");
}
}
Wie erhalte ich den Speicherort der Hex-Datei des Codes?
Klicken Sie in Ihrer Arduino IDE auf File>Preferences und dann in „Show verbose output“ sowohl die Optionen Compilation als auch Upload ankreuzen und bei der Compilation den Code im Fenster darunter auswählen und Kopieren Sie den Speicherort der Hex-Datei und doppelklicken Sie in Proteus auf Arduino und fügen Sie den Dateispeicherort in die Option Programmdatei ein und klicken Sie auf OK. Jetzt ist Ihre Schaltung bereit für die Simulation.
- Elektronisches Projekt für Klatschschalterschaltung mit 555-Timer
Simulationsvideo
Demnächst
Nahlampenschaltung funktioniert
Jetzt werden wir die Funktionsweise der Schaltung besprechen, hier haben wir eine 5-V-Gleichstromversorgung (Arduinos 5 V) verwendet und einen 10-kOhm-Widerstand und einen LDR in einer Spannungsteilerschaltung angeschlossen. Die Spannung, die über den Widerstand oder den LDR abgenommen und in den analogen Pin des Arduino, in diesem Fall Pin A3, eingespeist werden kann.
Mit Hilfe des oben genannten Codes kann das Board den ihm zur Verfügung gestellten analogen Eingang erkennen. Dieser abgelesene Wert entspricht der Intensität des Lichts, das vom LDR erfasst wird.
Während wir den kommenden Wert auf dem seriellen Monitor überprüfen können, um die Schaltung entsprechend der Lichtintensität zu kalibrieren. Daher können wir die Bedingung in der im Code bereitgestellten Bedingungsanweisung ändern, um die Lampe bei einer gewünschten Lichtintensität „EIN“ und „AUS“ zu schalten, wodurch sie dynamisch wird.
Wenn nun die bedingte Anweisung erfüllt ist, d.h. die Lichtintensität unter den von Ihnen angegebenen Wert fällt (in ADC-äquivalenter Form), erzeugt die Platine einen „HIGH“-Ausgang am Pin 12 Mit „HIGH“ ist gemeint, dass er einen 5-V-Ausgang als Pin 12 erzeugt.
In diesem Fall wird an der Basis des Transistors eine ausreichende Spannung aufgebaut und der Transistor beginnt zu leiten. Infolgedessen beginnt der Strom in den Spulen des Relais zu fließen und es schaltet ein, was bedeutet, dass der NO-Anschluss in einen aktiven Zustand geschaltet wird, an den der Lampenkreis angeschlossen wurde, und nach Abschluss des Stromkreises schaltet die Lampe „EIN“. “.
Die Lampe schaltet sich aus, wenn die Else-Bedingung im Code wahr wird, d. h. die Lichtintensität steigt ab dem von uns angegebenen Schwellenwert. Daher wird der Ausgang an Pin 12 „LOW“ und anschließend wird das Relais ausgeschaltet, wodurch die Lampe ausgeschaltet wird.
- Elektronisches Projekt zur Ampelsteuerung mit IC 4017 &555 Timer
Fazit:
Wir alle wollen unseren Lebensstil erleichtern, und hier, was die automatische Nachtlampe tut. Sie müssen nicht einmal die Nachtlampe ein- oder ausschalten. Da es sich je nach Lichtintensität automatisch ein- und ausschaltet. Wenn es tagsüber ist, bleibt die Lampe im ausgeschalteten Zustand, wenn es über dem Sensor dunkel wird, schaltet sich die Lampe ein. Das Projekt wird Ihnen helfen, dasselbe zu entwerfen, indem Sie grundlegende elektronische Komponenten verwenden. Damit Ihnen der Einstieg mit dem Arduino nicht schwer fällt, haben wir auch den Code erklärt.
Verwandte Projekte:
- Automatisches Pflanzenbewässerungs- und Bewässerungssystem – Schaltkreis, Code und Projektbericht
- Regenalarmschaltung – Schnee-, Wasser- und Regenmelder-Projekt
- Schaltplan Wasserstandsanzeige - Zwei einfache Projekte
- Weitere Elektro- und Elektronikprojekte
Industrietechnik
- Wie Hersteller Automatisierung nutzen, um den E-Commerce-Boom zu bewältigen
- Erstellen von Monitor-Ambilight mit Arduino
- DIY-Voltmeter mit Arduino und Smartphone
- Herzfrequenzmesser mit IoT
- WebServerBlink mit Arduino Uno WiFi
- Automatisiertes Dino-Spiel mit Arduino
- FM-Radio mit Arduino und RDA8057M
- BLUE_P:Drahtloses Arduino-Programmierschild
- Berührungsgesteuertes Licht mit Arduino
- Wie funktionieren automatische Werkzeugwechsler?