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

IoT-gebaseerd slim straatverlichtingssysteem

Componenten en benodigdheden

Arduino UNO Wifi Rev.2
× 1
LED (generiek)
× 1
LDR, 1 Mohm
× 1
Digilent IR-nabijheidssensor
× 1
Espressief ESP8266 ESP-12E
× 1
Weerstand 1k ohm
× 1

Benodigde gereedschappen en machines

Broodplank, 170 pins

Apps en online services

Arduino IDE
ThingSpeak-API

Over dit project

Probleemdefinitie

Zoals eerder vermeld, wordt in een aantal steden gezien dat de straatverlichting een van de enorme kostenposten is in een stad. De kosten zijn enorm dat alle natriumdamplampen meer stroom verbruiken. De kosten die aan de straatverlichting worden besteed, kunnen worden gebruikt voor andere ontwikkelingen in het land. Momenteel wordt een handmatig systeem gebruikt waarbij het licht AAN/UIT wordt geschakeld, dat wil zeggen dat het licht 's avonds wordt ingeschakeld en 's avonds wordt uitgeschakeld. de ochtend. Er is dus veel energieverspilling tussen AAN/UIT. Dit is een van de belangrijkste oorzaken van het overschakelen naar het automatische systeem, omdat er minder energie wordt verspild en dus veel geld wordt bespaard. Afgezien hiervan worden de andere nadelen van het bestaande systeem hieronder beschreven.

Nadelen van bestaand systeem

  • Handmatig in- en uitschakelen van straatverlichting
  • Meer energieverbruik
  • Hoge kosten
  • Meer mankracht

Nu we overgaan op het voorgestelde systeem dat geautomatiseerd is met behulp van lichtsensoren, niet alleen om energie te besparen en veiligheid te garanderen, zien we ook enkele andere voordelen.

Voordelen van het voorgestelde systeem

  • Automatisch schakelen van straatverlichting
  • Onderhoudskostenreductie
  • Vermindering van de CO₂-uitstoot
  • Vermindering van lichtvervuiling
  • Draadloze communicatie
  • Energiebesparing
  • Vermindering van mankracht

A.LDR-invoer

Een lichtafhankelijke weerstand (LDR), ook wel een fotoresistor . genoemd is een apparaat waarvan de weerstandsfactor een functie is van de elektromagnetische straling. Daarom zijn het lichtgevoelige apparaten die vergelijkbaar zijn met die van menselijke ogen. Ze worden ook wel fotogeleiders, geleidende cellen of gewoon fotocellen genoemd. Ze zijn gemaakt van halfgeleidermaterialen met een hoge weerstand. Een LDR werkt volgens het principe van fotogeleiding. Fotogeleidbaarheid is een optisch fenomeen waarbij de geleidbaarheid van materialen wordt verminderd wanneer licht daadwerkelijk door het materiaal wordt geabsorbeerd. Wanneer er echter licht op de LDR schijnt, daalt de weerstand en stroomt er stroom naar de basis van de eerste transistor en vervolgens naar de tweede transistor. De vooraf ingestelde weerstand kan omhoog of omlaag worden gedraaid om de weerstand te verhogen of te verlagen, op deze manier kan het de schakeling meer of minder gevoelig maken. LDR stuurt reactie naar Arduino.

B.IR-sensor

Een infraroodsensor is een elektronisch instrument dat wordt gebruikt om bepaalde kenmerken van zijn omgeving waar te nemen door ofwel infraroodstraling uit te zenden en/of te detecteren. Het is ook in staat om de warmte van een object te meten en beweging te detecteren. Infraroodgolven zijn niet zichtbaar voor het menselijk oog. In het elektromagnetische spectrum is infraroodstraling het gebied met golflengten die langer zijn dan de golflengten van zichtbaar licht, maar korter dan microgolven. Het infraroodgebied is ongeveer afgebakend van 0,75 tot 1000 µm. IR (infrarood)sensoren detecteren infrarood licht. Het IR-licht wordt omgezet in een elektrische stroom, en dit wordt gedetecteerd door een spannings- of stroomsterktedetector. IR-sensoren sturen reactie naar Arduino.

C. LED

Alight-emitting diode (LED) is een junctiediode die licht uitstraalt wanneer deze wordt geactiveerd. Wanneer we spanning over de geleiders zetten, kunnen elektronen zich recombineren met gaten in de LED, waarbij energie vrijkomt in de vorm van fotonen die het licht geven. Het is dus een halfgeleiderlichtbron met twee draden.

Lichtgevende diodes vertegenwoordigen ons verlichtingssysteem en de hoeveelheid licht die erdoor wordt uitgestraald, is direct gerelateerd aan de hoeveelheid licht in de omgeving, dat wil zeggen wanneer het licht van buiten minder is dan het licht van LEDS op volle sterkte is en omgekeerd.

D. ESP8266

ESP8266 is een Wi-Fi-systeem op chip (SoC) -module ontwikkeld door het Espressif-systeem. Het wordt meestal gebruikt voor de ontwikkeling van ingebedde IoT-toepassingen (Internet of Things).

ESP8266 wordt geleverd met mogelijkheden van

  • 2.4 GHz wifi (802.11 b/g/n, ondersteunt WPA/WPA2)
  • Invoer/uitvoer voor algemeen gebruik (16 GPIO)
  • Interitegrated circuit (I²C) serieel communicatieprotocol
  • Analoog-naar-digitaal conversie (10-bit ADC)
  • Seriële perifere interface (SPI) seriële communicatieprotocol
  • I²S (inter-IC-geluid) interfaces met DMA (directe geheugentoegang) (pinnen delen met GPIO)
  • UART (op speciale pinnen, plus een alleen-verzenden UART kan worden ingeschakeld op GPIO2)
  • Pulsbreedtemodulatie (PWM)

Het maakt gebruik van een 32-bit RISC CPU gebaseerd op de Tensilica Xtensa L106 die draait op 80 MHz (of overklokt naar 160 MHz). Het heeft een 64 KB boot ROM, 64 KB instructieRAM en 96 KB data RAM. Extern flashgeheugen is toegankelijk via SPI.

ESP8266-module is een goedkope zelfstandige draadloze transceiver die kan worden gebruikt voor IoT-ontwikkelingen op het eindpunt.

Om te communiceren met de ESP8266-module, moet de microcontroller een reeks AT-commando's gebruiken. Microcontroller communiceert met de ESP8266-01-module met behulp van UART met een gespecificeerde baudsnelheid.

Er zijn veel externe fabrikanten die verschillende modules produceren op basis van deze chip. De module wordt dus geleverd met verschillende pinbeschikbaarheidsopties zoals:

  • ESP-01 wordt geleverd met 8 pinnen (2 GPIO-pinnen) - PCB-traceringsantenne. (weergegeven in bovenstaande afbeelding)
  • ESP-02 wordt geleverd met 8 pinnen, (3 GPIO-pinnen) - U-FL-antenneconnector.
  • ESP-03 wordt geleverd met 14 pinnen, (7 GPIO-pinnen) - Keramische antenne.
  • ESP-04 wordt geleverd met 14 pinnen, (7 GPIO-pinnen) - Geen mieren.

enz.

De onderstaande afbeelding toont bijvoorbeeld ESP-01-modulepinnen.

ESP8266-01 Module Pin Beschrijving

3V3 :- 3,3 V voedingspin.

GND :- Grondpen.

RST :- Actieve lage reset-pin.

NL :- Actieve pin voor hoog inschakelen.

TX :- Seriële zendpin van UART.

RX :- Seriële ontvangstpin van UART.

Code

  • IOT slimme lamp
  • Code deel 2
IOT smart lightArduino
int smooth;int LDR;int drempel =40;//zonintensiteitint helderheid =0;int ledState =0;int sensor1 =11;int sensor2 =8;int sensor3 =9;int led1=5;int led =6;int led2=2;int carPresent =0;int carPresent1 =0;float beta =0.65;void setup() { // plaats hier uw setup-code om één keer uit te voeren:Serial.begin(115200); pinMode (sensor1, INGANG); pinMode (sensor2, INGANG); pinMode (sensor3, INGANG); pinMode (led, UITGANG); pinMode (led1, UITGANG); pinMode(led2,OUTPUT);}void loop() { smooth =smooth - (beta * (smooth - analogRead(A0))); vertraging(1); LDR =rond (((float)glad / 1023) * 100); als (LDR <=40) helderheid=0; anders { helderheid =kaart (LDR, 40, 100, 0, 255); } checkSensors(); if (carPresent ==1) { ledState =1; digitalWrite (led, HOOG); digitalWrite (led1, HOOG); analogWrite (led, helderheid); analogWrite(led1, helderheid); } else if (carPresent ==0) { ledState =0; digitalWrite (led, HOOG); //digitalWrite(led1,HIGH); analoogWrite(led,ledState); //analogWrite (led1, ledState); if (carPresent1 ==1) { ledState =1; if (ledState ==1) { analogWrite (led1, helderheid); analogWrite(led2, helderheid); } } else if (carPresent1 ==0) { ledState =0; digitalWrite (led1, HOOG); digitalWrite (led2, HOOG); analogWrite(led1, ledState); analogWrite(led2, ledState); } } String data =(String)ledState+","+(String)brightness+";";Serial.print(data); // Serial.print(digitalRead(sensor1));//Serial.print("\t");//Serial.print(digitalRead(sensor2));//Serial.print("\t");// Serial.print(ledState);// Serial.print("\t");// Serial.println(brightness);delay(100);}void checkSensors(){ if (digitalRead(sensor1) ==0)/ /Auto vastgelegd in 1e sensor {if (digitalRead(sensor2) ==1)//Auto heeft de 2e sensor nog steeds niet bereikt carPresent =1; } else if (digitalRead(sensor2) ==0)//Auto bereikte de 2e sensor { //Geen auto's gedetecteerd achter de eerste auto if (digitalRead(sensor1) ==1) { carPresent =0; autoPresent1 =1; } else if (digitalRead (sensor1) ==0) { analogWrite (led, helderheid); analogWrite(led1, helderheid); analogWrite(led2, helderheid); digitalWrite (led, HOOG); digitalWrite (led1, HOOG); digitalWrite (led2, HOOG); } } else if(digitalRead(sensor3) ==0)//auto heeft de 3e sensor bereikt {//Geen auto's gedetecteerd achter de eerste auto if (digitalRead(sensor2) ==1) { carPresent =0; autoPresent1 =0; } else if (digitalRead(sensor2) ==0) { carPresent =0; autoPresent1 =1; } } }
Code deel 2Arduino
#include // Network Informationconst char* ssid ="ardent";const char* password ="12345678";String ledState ="";String helderheid ="";char thingSpeakAddress[] ="api .thingspeak.com";String writeAPIKey ="NUEBLW9OA58DLL4N"; // Zorg ervoor dat u dit wijzigt in uw kanaal Schrijf API-sleutelWiFiClient-client; void setup () {Serial.begin( 115200); // Mogelijk moet u de snelheid aanpassen, afhankelijk van uw hardware. connectWifi();}void loop(){ filterData(); HTTP Post( ); vertraging (15000); // Als je de slaapstand verwijdert, zorg er dan voor dat je meer vertraging toevoegt, zodat je niet te vaak post op ThingSpeak.}int connectWifi(){ WiFi.begin(ssid, wachtwoord); while (WiFi.status() !=WL_CONNECTED) { //Serial.println ("Verbinding maken met wifi"); vertraging (2500); } //Serial.println ("Verbonden"); // Informeer de seriële monitor}void HTTPPost() { // Deze functie bouwt de gegevensreeks op voor het posten naar ThingSpeak en biedt het juiste formaat voor de wifi-client om met ThingSpeak te communiceren. // Het zal "numFields" aan gegevensinvoer posten en de gegevens van de fieldData-parameter die eraan is doorgegeven. // Zorg ervoor dat je numFields verhoogt tot het aantal velden dat je nodig hebt, en activeer de velden in je kanaalweergave. if (client.connect( thingSpeakAddress, 80)) { // Bouw de Posting data string. Als je meerdere velden hebt, zorg er dan voor dat de steek niet langer is dan 1440 tekens. String PostData ="api_key=" + writeAPIKey; PostData +="&field1=" + ledState; PostData +="&field2=" + helderheid; // POST-gegevens via HTTP-client.println ("POST /update HTTP/1.1"); client.println ("Host:api.thingspeak.com"); client.println ("Verbinding:sluiten"); client.println("Content-Type:application/x-www-form-urlencoded" ); client.println("Content-Length:" + String( PostData.length() )); klant.println(); cliënt.println( PostData); klant.stop(); }}void filterData() { if (Serial.available()) { String buffer =""; buffer =Serial.readStringUntil(';'); int i1 =buffer.indexOf(','); ledState =buffer[0]; buffer.verwijder(0, i1 + 1); helderheid =buffer; }}

Schema's


Productieproces

  1. Slim verkeerslicht
  2. Multitemperatuursensor
  3. MotionSense
  4. 3D-printer brandveiligheid
  5. Bewateringssysteem voor planten voor thuis
  6. Arduino afstotende elektromagnetische levitatie
  7. Grijperbot met afstandsbediening
  8. Microcontrollers Lab
  9. Persistence of Vision (POV) Globe
  10. Eenvoudig en slim luchtzuiveringssysteem
  11. CoroFence - Thermische Detector🖖