Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Sistema de alumbrado público inteligente basado en IoT

Componentes y suministros

Arduino UNO Wifi Rev.2
× 1
LED (genérico)
× 1
LDR, 1 Mohm
× 1
Sensor de proximidad por infrarrojos Digilent
× 1
Espressif ESP8266 ESP-12E
× 1
Resistencia 1k ohm
× 1

Herramientas y máquinas necesarias

Placa de pruebas, 170 pines

Aplicaciones y servicios en línea

Arduino IDE
API ThingSpeak

Acerca de este proyecto

Definición del problema

Como se dijo anteriormente, en varias ciudades se ve que el alumbrado público es uno de los grandes gastos de una ciudad. El costo gastado es enorme porque todas las lámparas de vapor de sodio consumen más energía. El gasto gastado en la luz de la calle se puede utilizar para otros desarrollos de la nación. Actualmente se utiliza un sistema manual donde la luz se encenderá / apagará, es decir, se hará que la luz se encienda por la noche y se apague en la mañana. Por lo tanto, hay mucho desperdicio de energía entre el ENCENDIDO / APAGADO. Esta es una de las principales causas del cambio al sistema automático, ya que hay menos desperdicio de energía y, por lo tanto, se ahorran muchos gastos monetarios. Aparte de esto, las otras desventajas del sistema existente se describen a continuación.

Desventajas del sistema existente

  • Apagado / encendido manual de las luces de la calle
  • Más consumo de energía
  • Alto gasto
  • Más mano de obra

Ahora, pasando al sistema propuesto automatizado con el uso de sensores de luz, no solo el ahorro de energía y la garantía de seguridad, también podemos ver algunas ventajas más a continuación.

Ventajas del sistema propuesto

  • Cambio automático de las luces de la calle
  • Reducción de costos de mantenimiento
  • Reducción de la emisión de CO₂
  • Reducción de la contaminación lumínica
  • Comunicación inalámbrica
  • Ahorro de energía
  • Reducción de mano de obra

Entrada A.LDR

Una resistencia dependiente de la luz (LDR) también denominada fotorresistencia Es un dispositivo cuyo factor de resistividad es función de la radiación electromagnética, por lo que se trata de dispositivos sensibles a la luz similares a los de los humanos. También se denominan fotoconductores, células conductoras o simplemente fotocélulas. Están formados por materiales semiconductores de alta resistencia A LDR funciona según el principio de fotoconductividad. La fotoconductividad es un fenómeno óptico en el que la conductividad de los materiales se reduce cuando el material absorbe la luz. Sin embargo, cuando la luz incide sobre el LDR, su resistencia cae y la corriente fluye hacia la base del primer transistor y luego hacia el segundo transistor. La resistencia preestablecida se puede subir o bajar para aumentar o disminuir la resistencia, de esta manera puede hacer que el circuito sea más o menos sensible. LDR envía respuesta a Arduino.

Sensor B.IR

Un sensor de infrarrojos es un instrumento electrónico que se utiliza para detectar ciertas características de su entorno emitiendo y / o detectando radiación de infrarrojos. También es capaz de medir el calor de un objeto y detectar movimiento. Las ondas infrarrojas no son visibles para el ojo humano. En el espectro electromagnético, la radiación infrarroja es la región que tiene longitudes de onda más largas que las longitudes de onda de la luz visible, pero más cortas que las microondas. La región infrarroja está aproximadamente demarcada entre 0,75 y 1000 µm. Los sensores IR (infrarrojos) detectan la luz infrarroja. La luz infrarroja se transforma en una corriente eléctrica y esta es detectada por un detector de voltaje o amperaje. IR Sensor envía respuesta a arduino.

C. LED

El diodo emisor de luz (LED) es un diodo de unión que emite luz cuando se activa. Cuando aplicamos voltaje a través de sus cables, los electrones pueden combinarse con los agujeros dentro del LED, liberando energía en forma de fotones que dan la luz. Por lo tanto, es una fuente de luz semiconductora de dos conductores.

Los diodos emisores de luz representan nuestro sistema de iluminación y la cantidad de luz emitida por él está directamente relacionada con la cantidad de luz en el ambiente que es cuando la luz exterior es menor que la luz emitida por los LEDS en su máxima intensidad y viceversa.

D. ESP8266

ESP8266 es un módulo de sistema en chip (SoC) habilitado para Wi-Fi desarrollado por el sistema Espressif. Se utiliza principalmente para el desarrollo de aplicaciones integradas de IoT (Internet of Things).

ESP8266 viene con capacidades de

  • Wi-Fi de 2,4 GHz (802.11 b / g / n, compatible con WPA / WPA2)
  • Entrada / salida de propósito general (16 GPIO)
  • Protocolo de comunicación en serie de circuito integrado (I²C)
  • Conversión de analógico a digital (ADC de 10 bits)
  • Protocolo de comunicación en serie de interfaz periférica en serie (SPI)
  • Interfaces I²S (sonido entre IC) con DMA (acceso directo a memoria) (compartiendo pines con GPIO)
  • UART (en pines dedicados, más un UART de solo transmisión se puede habilitar en GPIO2)
  • Modulación de ancho de pulso (PWM)

Emplea una CPU RISC de 32 bits basada en el Tensilica Xtensa L106 que funciona a 80 MHz (o overclockeado a 160 MHz). Tiene una ROM de arranque de 64 KB, RAM de instrucciones de 64 KB y RAM de datos de 96 KB. Se puede acceder a la memoria flash externa a través de SPI.

El módulo ESP8266 es un transceptor inalámbrico independiente de bajo costo que se puede utilizar en desarrollos de IoT de punto de destino.

Para comunicarse con el módulo ESP8266, el microcontrolador necesita usar un conjunto de comandos AT. El microcontrolador se comunica con el módulo ESP8266-01 utilizando UART con una velocidad de transmisión especificada.

Hay muchos fabricantes de terceros que producen diferentes módulos basados ​​en este chip. Entonces, el módulo viene con diferentes opciones de disponibilidad de pines como:

  • ESP-01 viene con 8 pines (2 pines GPIO) - Antena de rastreo de PCB. (se muestra en la figura anterior)
  • ESP-02 viene con 8 pines, (3 pines GPIO) - Conector de antena U-FL.
  • ESP-03 viene con 14 pines, (7 pines GPIO) - Antena de cerámica.
  • ESP-04 viene con 14 pines, (7 pines GPIO) - Sin hormiga.

etc.

Por ejemplo, la siguiente figura muestra los pines del módulo ESP-01.

Descripción del pin del módulo ESP8266-01

3V3 :- Pin de alimentación de 3,3 V.

GND :- Pin de tierra.

RST :- Pin de reinicio bajo activo.

ES :- Pin activo de alta habilitación.

TX :- Pin de transmisión en serie de UART.

RX :- Pin de recepción en serie de UART.

Código

  • Luz inteligente IOT
  • Parte del código 2
Luz inteligente IOT Arduino
 int suave; int LDR; int umbral =40; // intensidad del solint brillo =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 () {// ponga su código de configuración aquí, para que se ejecute una vez:Serial.begin (115200); pinMode (sensor1, ENTRADA); pinMode (sensor2, ENTRADA); pinMode (sensor3, ENTRADA); pinMode (led, SALIDA); pinMode (led1, SALIDA); pinMode (led2, SALIDA);} bucle vacío () {suave =suave - (beta * (suave - analogRead (A0))); retraso (1); LDR =redondo (((flotar) suave / 1023) * 100); si (LDR <=40) brillo =0; else {brillo =mapa (LDR, 40, 100, 0, 255); } checkSensors (); if (carPresent ==1) {ledState =1; digitalWrite (led, ALTO); digitalWrite (led1, ALTO); analogWrite (led, brillo); analogWrite (led1, brillo); } más si (carPresent ==0) {ledState =0; digitalWrite (led, ALTO); // escritura digital (led1, ALTA); analogWrite (led, ledState); // analogWrite (led1, ledState); if (carPresent1 ==1) {ledState =1; if (ledState ==1) {analogWrite (led1, brillo); analogWrite (led2, brillo); }} más si (carPresent1 ==0) {ledState =0; digitalWrite (led1, ALTO); digitalWrite (led2, ALTO); analogWrite (led1, ledState); analogWrite (led2, ledState); }} String data =(String) ledState + "," + (String) brillo + ";"; Serial.print (datos); // Serial.print (digitalRead (sensor1)); // Serial.print ("\ t"); // Serial.print (digitalRead (sensor2)); // Serial.print ("\ t"); // Serial.print (ledState); // Serial.print ("\ t"); // Serial.println (brillo); delay (100);} void checkSensors () {if (digitalRead (sensor1) ==0) / / Coche capturado en el primer sensor {if (digitalRead (sensor2) ==1) // El coche aún no alcanzó el segundo sensor carPresent =1; } else if (digitalRead (sensor2) ==0) // El automóvil alcanzó el segundo sensor {// No se detectaron automóviles detrás del primer automóvil if (digitalRead (sensor1) ==1) {carPresent =0; carPresent1 =1; } else if (digitalRead (sensor1) ==0) {analogWrite (led, brillo); analogWrite (led1, brillo); analogWrite (led2, brillo); digitalWrite (led, ALTO); digitalWrite (led1, ALTO); digitalWrite (led2, ALTO); }} else if (digitalRead (sensor3) ==0) // coche alcanzó el tercer sensor {// No se detectaron coches detrás del primer coche if (digitalRead (sensor2) ==1) {carPresent =0; carPresent1 =0; } else if (digitalRead (sensor2) ==0) {carPresent =0; carPresent1 =1; }}} 
Parte del código 2 Arduino
 #include  // Información de redconst char * ssid ="ardent"; const char * password ="12345678"; String ledState =""; String shine =""; char thingSpeakAddress [] ="api .thingspeak.com "; String writeAPIKey =" NUEBLW9OA58DLL4N "; // Asegúrese de cambiar esto a su canal Write API keyWiFiClient client; void setup () {Serial.begin (115200); // Es posible que deba ajustar la velocidad en función de su hardware. connectWifi ();} bucle vacío () {filterData (); HTTPPost (); retraso (15000); // Si eliminas la suspensión, asegúrate de agregar más demoras para no publicar en ThingSpeak con demasiada frecuencia.} Int connectWifi () {WiFi.begin (ssid, contraseña); while (WiFi.status ()! =WL_CONNECTED) {//Serial.println ("Conectando a WiFi"); retraso (2500); } //Serial.println ("Conectado"); // Informar al monitor en serie} void HTTPPost () {// Esta función crea la cadena de datos para publicar en ThingSpeak y proporciona el formato correcto para que el cliente wifi se comunique con ThingSpeak. // Publicará "numFields" de entradas de datos y tomará los datos del parámetro fieldData que se le haya pasado. // Asegúrate de aumentar numFields a la cantidad de campos que necesitas y activa los campos en la vista de tu canal. if (client.connect (thingSpeakAddress, 80)) {// Construye la cadena de datos de Publicación. Si tiene varios campos, asegúrese de que la picadura no exceda los 1440 caracteres. String PostData ="api_key =" + writeAPIKey; PostData + ="&field1 =" + ledState; PostData + ="&field2 =" + brillo; // Datos POST a través de HTTP client.println ("POST / actualizar HTTP / 1.1"); client.println ("Host:api.thingspeak.com"); client.println ("Conexión:cerrar"); client.println ("Tipo de contenido:aplicación / x-www-form-urlencoded"); client.println ("Content-Length:" + String (PostData.length ())); cliente.println (); client.println (PostData); client.stop (); }} void filterData () {if (Serial.available ()) {String buffer =""; buffer =Serial.readStringUntil (';'); int i1 =buffer.indexOf (','); ledState =búfer [0]; buffer.remove (0, i1 + 1); brillo =búfer; }} 

Esquemas


Proceso de manufactura

  1. Semáforo inteligente
  2. Sensor de temperatura múltiple
  3. MotionSense
  4. Seguridad contra incendios de la impresora 3D
  5. Sistema de riego de plantas domésticas
  6. Levitación electromagnética repulsiva Arduino
  7. Bot de agarre de control remoto
  8. Laboratorio de microcontroladores
  9. Persistencia de la visión (POV) Globo
  10. Sistema purificador de aire simple e inteligente
  11. CoroFence - Detector térmico🖖