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 >> Industriële technologie

Automatische nachtlamp met Arduino

Automatische nachtlamp met Arduino – coderen, werken en simuleren

Automatisering betekent in feite het uitvinden van een methode die menselijke inspanningen vermindert of elimineert. In deze tutorial gaan we uitleggen hoe je een nachtlamp kunt automatiseren via een eenvoudige interface van Arduino en Relay met behulp van Proteus-software. Automatisering is de noodzaak van het uur, aangezien de toepassing varieert van ketelregeling met een eenvoudige thermostaat tot groot industrieel beheer met een grote hoeveelheid invoer- en uitvoergegevens. De complexiteit van de automatisering kan variëren van een eenvoudige 'aan/uit'-regeling tot zeer complexe multivariabele algoritmen zoals een industrieel automatiseringssysteem. De besturingssystemen voor automatiseringsdoeleinden kunnen ofwel open-lus ofwel gesloten-lus zijn, wat betekent dat het kan werken met een enkele invoerparameter of in reactie op de output die als input wordt gevoed, zoals in het geval van gesloten-lussystemen.

Zoals bij elke technologie heeft ook automatisering zijn voor- en nadelen:

Voordelen

  1. Verhoging van de productiviteit
  2. Voorspelbare kwaliteit (kwaliteitsverbetering)
  3. Verhoogde robuustheid
  4. Geweldige uitvoerconsistentie
  5. Verlaging van de menselijke arbeidskosten
  6. Zeer nauwkeurig
  7. Vermindert menselijke inspanningen in monotone werken

Nadelen

  1. Vaakzaam voor beveiligingsbedreigingen
  2. Ontwikkelingskosten kunnen hoger zijn dan de voorspelling
  3. Hoge opstartkosten
  4. Oorzaak van werkloosheid in veel sectoren

De genoemde voordelen wegen ruimschoots op tegen de nadelen en daarom betreedt de hele wereld het tijdperk van automatisering.

In deze tutorial proberen we een lamp vanzelf aan of uit te laten gaan wanneer het circuit een merkbare verandering in de lichtintensiteit detecteert en om dat te bereiken gaan we de twee meest gebruikte tools voor automatisering, d.w.z. Arduino en Relay, en interfaces samen met de simulatie zouden worden bereikt door de Proteus-software.

  • Gerelateerd project: Automatisch LED-noodverlichtingscircuit

Vereiste componenten

  1. Arduino UNO
  2. Relais 5 Volt
  3. LDR (lichtafhankelijke weerstand)
  4. Weerstand 10K Ohm
  5. Transistor BC547
  6. DC-voeding 5 volt
  7. AC-voeding 220 volt

Software vereist

  1. Arduino IDE
  2. Proteus

Automatisch nachtlampje schakelschema

  • Gerelateerde post:LED-noodverlichtingscircuit - LED-716 LED-lichtschema

Onderdeelbeschrijving

Arduino UNO

Arduino is in feite een ontwikkelbord dat open source is en voornamelijk gebruikmaakt van de Microchip ATmega328P-microcontroller en wordt vervaardigd door Arduino.cc. Het bord wordt geleverd met een set input/output-pinnen bestaande uit digitale en analoge die kunnen worden aangesloten op verschillende uitbreidingskaarten en externe circuits. Het bord wordt geleverd met 14 digitale pinnen samen met 6 analoge pinnen die worden gebruikt of programmeerbaar worden gemaakt met behulp van een IDE (Integrated Development Environment). Het programma wordt gebrand via een USB-kabel type B.

Opstartmethodes voor het bord kunnen via de USB-kabel of door het aansluiten van 12 volt dc-voeding. Qua ontwerp en werking verschilt het niet veel van zijn andere familieleden, namelijk Arduino Nano en Arduino Leonardo.

STK500 is nog steeds het originele protocol voor Uno om te communiceren. Het grote verschil met zijn voorgangers is dat hij geen gebruik maakt van de FTDI (USB-to-serial driver chip).

  • Gerelateerde post:Wat is Arduino en hoe programmeer je het?

Relay

Relais is een elektromagnetische schakelaar die elektrisch kan worden bediend en gemaakt om AC/DC-apparaten in en uit te schakelen. Het kan zelfs worden bestuurd met een lage spanning van 5 volt, zoals de output van de Arduino-pinnen. Het bestaat uit een spoel met metalen contacten aan de ene kant (laagspanningszijde) die kan worden gemagnetiseerd en gedemagnetiseerd om het circuit dat aan de andere kant is bevestigd (hoogspanningszijde) te openen of te sluiten. Hoogspanningszijde bestaat uit een connector met 3 sockets namelijk common (COM), normaal gesloten (NC) en normaal open (NO). Het relais is verkrijgbaar in verschillende vermogens, zoals 12V, 9V, 5V en 3V.

  • Gerelateerde post: hoe test ik een relais? SSR- en spoelrelais controleren

LDR

LDR (Light Dependent Resistor) is een variabele weerstandscomponent waarvan de weerstandswaarde kan variëren met de verandering in intensiteit van het licht en werkt volgens het fotogeleidingsprincipe. De weerstandswaarde neemt af naarmate de intensiteit van het licht toeneemt. Het wordt gebruikt in lichtgevoelige detectorcircuits en door licht geactiveerde schakelcircuits.

LDR bestaat uit een halfgeleider met hoge weerstand die weerstand heeft in mega-ohm in afwezigheid van licht en enkele honderden ohm in aanwezigheid van licht.

  • Gerelateerde post: Automatisch regelsysteem voor straatverlichting met LDR en transistor BC 547

BC547 – NPN-transistor

Een transistor is in feite een halfgeleiderapparaat dat wordt gebruikt om elektronische signalen en stroom te versterken of te schakelen. Het is gemaakt van halfgeleidermateriaal en heeft 3 klemmen om te verbinden met een extern circuit. In dit circuit hebben we BC547 gebruikt, een NPN Bipolaire Junction Transistor.

  • Gerelateerd project:eenvoudig aanraakgevoelig schakelcircuit met 555 Timer &BC547 Transistor

Een kleine stroomwaarde aan de basisterminal regelt een grote stroomwaarde aan de emitter- en collectorterminals. Een vaste gelijkspanning is vereist op de transistoraansluitingen om in het gewenste gebied van zijn karakteristieke curven te werken. Transistor, wanneer gebruikt voor versterkingsdoeleinden, wordt vooringenomen zodat deze gedeeltelijk aan staat voor alle ingangen en het versterkte uitgangssignaal wordt bij de emitter genomen. Voor schakeltoepassingen is de transistor voorgespannen zodat deze volledig AAN blijft als het signaal op de basisklem aanwezig is en deze volledig UIT wordt bij afwezigheid van het basissignaal.

  • Gerelateerde post: Een transistor controleren met een multimeter – NPN en PNP – 4 manieren
Beoordelingen
  • VCEO =45 V gelijkstroom
  • Ikc =100mAdc
  • VCBO =50 V gelijkstroom
  • VEBO =6 V gelijkstroom

Softwarebeschrijving

Proteus

Proteus-ontwerpsuite valt onder de categorie van propriëtaire software die wordt gebruikt om elektronische ontwerpautomatisering uit te voeren. Deze software is erg handig voor de elektronische ontwerpingenieurs en de respectieve technici voor het maken van schema's en de afdrukken in elektronische vorm die PCB-lay-out wordt genoemd. De software is ontwikkeld in Yorkshire, Engeland door Labcenter Electronics Ltd. en wordt geleverd met ondersteuning in meerdere talen, namelijk Engels, Frans, Spaans en Mandarijn.

Het wordt regelmatig bijgewerkt met nieuwe bibliotheken bestaande uit geavanceerde componenten met regelmatige tussenpozen en kan eenvoudig worden toegevoegd aan de bestaande lijst met bibliotheken.

Deze software wordt veel gebruikt vanwege de mogelijkheid om de circuits of microcontrollers te simuleren. Simulatie helpt om de werking en het testen van het ontworpen circuit te begrijpen zonder zelfs maar gebruik te maken van de fysieke componenten. De gebruikersinterface geeft ook een voorsprong op andere software die er op de markt is. Er zijn meer dan 15 miljoen componenten beschikbaar in het bibliotheekgedeelte, zodat gebruikers geen tijd hoeven te verspillen aan het maken van footprints of componenten.

Arduino IDE

Arduino IDE is software die op verschillende platforms kan worden gebruikt. Daarom is het een platformonafhankelijke applicatie en is ontwikkeld met behulp van de programmeertaal java. Het heeft een zielsdoel om de schets te schrijven en te uploaden op Arduino-compatibele borden. De ondersteunde talen zijn C en C++, die enigszins zijn aangepast en afhankelijk zijn van de bibliotheek die wordt gebruikt. Verschillende bibliotheken zijn ingebouwd in de software en andere bibliotheken kunnen worden gedownload van externe leveranciers. De IDE gebruikt een programma genaamd avrdude om de code om te zetten in een bestand met hexadecimale codering dat op het bord wordt geladen met behulp van een laadprogramma dat vooraf is geïnstalleerd in de firmware van het bord.

Projectcode

Uitleg van code

Allereerst definiëren we twee globale variabelen van het type integer. Variabele analogIN wordt gebruikt om een ​​analoge pin aan te duiden die de analoge waarde van het circuit en de tweede variabele trigger zal ontvangen geeft een digitale pin aan die een triggeruitgang van voldoende spanning levert.

int analogIN =A3;

int Trigger =12;

De baudsnelheid is ingesteld op 9600 bits/sec, wat de datatransmissiesnelheid vertegenwoordigt. De functie pinMode() wordt gebruikt om de status van de pin te definiëren. Hier stellen we pin 12 in als output en pin A3 als input. Al deze instructies zijn geschreven in de functie void setup() en zouden slechts één keer worden uitgevoerd tijdens de hele uitvoeringsperiode.

void setup()

{

  Serial.begin(9600);

  pinMode(analogIN, INPUT);

  pinMode(Trigger, OUTPUT);

}

Volgens het schakelschema moeten we bepaalde gegevens lezen in de vorm van een analoge waarde van pin A3. Voor deze specifieke taak hebben we de functie analogRead() . gebruikt omdat de invoer die door het circuit wordt gegenereerd een analoge waarde is, is dit de reden achter het gebruik van analoge pin en analoge functie.

Nu halen we deze analoge waarde van de analoge pin A3 en slaan de waarde op in de variabele "value".

Deze variabele bevat een geheel getal tussen 0 en 1234 en is afhankelijk van de analoge invoer. Dit is de 10-bits ADC-waarde, aangezien Arduino wordt geleverd met een 10-bits ADC-converter.

De waarde die is opgeslagen in de variabele "value" wordt gebruikt voor het uitvoeren van de voorwaardelijke operator (if-else). Via deze operator stellen we de status van de digitale pin-trigger in op HOOG of LAAG om de lamp in en uit te schakelen. Het belangrijkste voordeel van het afdrukken van de gegevens die zijn opgeslagen in variabele "waarde" is dat we de lichtintensiteit kunnen associëren met een bepaalde waarde en de lamp kunnen inschakelen met een gewenste lichtintensiteit.

De code die aanwezig is in de functie "void loop()" zal herhaaldelijk worden uitgevoerd totdat de Arduino wordt gevoed. Dus om er zeker van te zijn dat het project in alle gevallen in werkende staat is, moet men ervoor zorgen dat de Arduino Uno die hier wordt gebruikt 24/7 van stroom wordt voorzien.

void loop() {

  int value =analogRead(analogIN);

  Serial.println(value);

if (waarde <692)

  {

    digitalWrite(Trigger, HIGH);

    Serial.println(“lamp is ON”);

  }

  else {

    digitalWrite(Trigger, LOW);

    Serial.println(“lamp is OFF”);

  }

 }

Hoe krijg ik de Hex-bestandslocatie van de code?

Klik in je Arduino IDE op Bestand>Voorkeuren en vink vervolgens in “Toon uitgebreide uitvoer” zowel de opties compilatie en upload aan en bij de compilatie van de code in het onderstaande venster selecteer en kopieer de locatie van het hex-bestand en dubbelklik in Proteus op Arduino en plak de bestandslocatie in de optie Programmabestand en klik op OK. Nu is je circuit klaar voor simulatie.

  • Clap Switch Circuit Elektronisch project met 555 Timer

Simulatievideo

Binnenkort beschikbaar

Nigh Lamp Circuit werkt

Nu gaan we de werking van het circuit bespreken, hier hebben we een 5V DC voeding gebruikt (Arduino's 5V) en een 10k ohm weerstand en een LDR aangesloten in een spanningsdelercircuit. De spanning die over de weerstand of de LDR kan worden genomen en ingevoerd in de analoge pin van de Arduino, pin A3 in dit geval.

Met behulp van de hierboven genoemde code kan het bord de analoge invoer detecteren die eraan wordt geleverd. Deze afgelezen waarde is in overeenstemming met de intensiteit van het licht dat door de LDR wordt gedetecteerd.

Terwijl we de komende waarde op de seriële monitor kunnen controleren om het circuit te kalibreren op basis van de intensiteit van het licht. Daarom kunnen we de voorwaarde in de voorwaardelijke verklaring in de code wijzigen om de lamp "AAN" en "UIT" te zetten met een gewenste lichtintensiteit, waardoor deze dynamisch wordt.

Als nu aan de voorwaardelijke verklaring is voldaan, d.w.z. de lichtintensiteit daalt tot onder de waarde die door u is opgegeven (in ADC-equivalente vorm), genereert het bord een "HOGE" uitvoer op de pin 12 Met "HOOG" wordt bedoeld dat het 5V-uitgang produceert als pin 12.

In dit geval wordt er voldoende spanning ontwikkeld aan de basis van de transistor en begint de transistor te geleiden. Als gevolg hiervan begint de stroom in de spoelen van het relais te stromen en schakelt deze in, wat betekent dat de NO-aansluiting wordt geschakeld naar een actieve toestand waarop het lampcircuit is aangesloten en bij voltooiing van het circuit gaat de lamp "AAN" ”.

De lamp wordt "UIT" wanneer de else-voorwaarde in de code waar wordt, d.w.z. de intensiteit van het licht neemt toe vanaf de door ons opgegeven drempelwaarde. Daarom wordt de uitgang op pin 12 "LAAG" en vervolgens wordt het relais UITgeschakeld waardoor de lamp UIT wordt gezet.

  • Elektronisch project voor verkeerslichtregeling met IC 4017 &555 Timer

Kortom:

We willen allemaal onze levensstijl verlichten, en hier wat de automatische nachtlamp doet. U hoeft de nachtlamp niet eens AAN of UIT te zetten. Omdat het automatisch AAN en UIT gaat, afhankelijk van de intensiteit van het licht dat valt. Als het overdag is, blijft de lamp uit als het donker wordt boven de sensor, dan gaat de lamp AAN. Het project zal je helpen om hetzelfde te ontwerpen, met behulp van elektronische basiscomponenten. We hebben de code ook uitgelegd, zodat het voor jou niet moeilijk zal zijn om met de Arduino aan de slag te gaan.

Gerelateerde projecten:

  • Automatisch bewaterings- en irrigatiesysteem voor planten - circuit-, code- en projectrapport
  • Regenalarmcircuit - Sneeuw-, water- en regendetectorproject
  • Circuitdiagram waterniveau-indicator - twee eenvoudige projecten
  • Meer elektrische en elektronische engineeringprojecten

Industriële technologie

  1. Hoe fabrikanten automatisering gebruiken om de e-commerceboom te beheren
  2. Maak Monitor Ambilight met Arduino
  3. DIY voltmeter met Arduino en smartphone
  4. Hartslagmeter met IoT
  5. WebServerBlink met Arduino Uno WiFi
  6. Geautomatiseerd Dino-spel met arduino
  7. FM-radio met Arduino en RDA8057M
  8. BLUE_P:Wireless Arduino Programming Shield
  9. Touch Controlled Light met Arduino
  10. Gezicht volgen met Arduino
  11. Hoe werken automatische gereedschapswisselaars?