Advertisement
Villalba2006

POST_30

Nov 25th, 2016
14,974
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.12 KB | None | 0 0
  1. /*  TITULO: Como activar un ventilador de 12V a través de un relé de 5V.
  2.  
  3.     AUTOR:
  4.    
  5.     MARIANO DEL CAMPO GARCÍA (@2016) --> INGENIERO TÉCNICO INDUSTRIAL ESPECIALIDAD ELECTRÓNICA
  6.     - FACEBOOK: https://www.facebook.com/mariano.delcampogarcia
  7.     - TWITTER: https://twitter.com/MarianoCampoGa
  8.     - CORREO: marianodc83@gmail.com
  9.    
  10.    
  11.     DESCRIPCIÓN DEL PROGRAMA
  12.    
  13.     Con este programa controlamos el encendido y apagado de un ventilador de 12VDC, mediante un solo pulsador
  14.     y un RELÉ de 5VDC, alimentando su salida NA con una fuente de tensión de 12VDC.
  15.    
  16.    
  17.     ESQUEMA DE CONEXION
  18.    
  19.                                       +-----+
  20.          +----[PWR]-------------------| USB |--+
  21.          |                            +-----+  |
  22.          |         GND/RST2  [ ][ ]            |
  23.          |       MOSI2/SCK2  [ ][ ]  A5/SCL[ ] |    
  24.          |          5V/MISO2 [ ][ ]  A4/SDA[ ] |    
  25.          |                             AREF[ ] |
  26.          |                              GND[ ] |
  27.          | [ ]N/C                    SCK/13[ ] |  
  28.          | [ ]IOREF                 MISO/12[ ] |  
  29.          | [ ]RST                   MOSI/11[ ]~|  
  30.          | [ ]3V3    +---+               10[ ]~|  
  31.          | [ ]5v    -| A |-               9[ ]~|   Pin(S) del Relé
  32.          | [ ]GND   -| R |-               8[ ] |   PA
  33.          | [ ]GND   -| D |-                    |
  34.          | [ ]Vin   -| U |-               7[ ] |  
  35.          |          -| I |-               6[ ]~|  
  36.          | [ ]A0    -| N |-               5[ ]~|  
  37.          | [ ]A1    -| O |-               4[ ] |  
  38.          | [ ]A2     +---+           INT1/3[ ]~|  
  39.          | [ ]A3                     INT0/2[ ] |  
  40.          | [ ]A4/SDA  RST SCK MISO     TX>1[ ] |  
  41.          | [ ]A5/SCL  [ ] [ ] [ ]      RX<0[ ] |  
  42.          |            [ ] [ ] [ ]              |
  43.          |  UNO_R3    GND MOSI 5V  ____________/
  44.           \_______________________/
  45.  
  46.   NOTAS:
  47.    - Conexión de la parte de control (entrada) del Relé:
  48.      - Pin(+) --> +5V.
  49.      - Pin(-) --> GND.
  50.    - Conexión de la parte de potencia (salida) del Relé:
  51.      - COM del Relé --> Negativo de la fuente de tensión de 12VDC.
  52.      - NA del Relé --> Cable negro(-) del ventilador de 12VDC.
  53.      - Cable rojo(+) del ventilador de 12VDC --> Positivo de la fuente de tensión de 12VDC.
  54.    - Los pulsadores suelen tener dos pines, que vamos a denominar PA y PB (si es de 4 sólo usamos 2 de ellos)
  55.    - Conexión PULL-DOWN del pulsador.
  56.        - PB conectado a VCC.
  57.        - PA conectado a GND a través de una R=10K omhs.
  58.        
  59. */
  60.  
  61.  
  62.   int Pulsador = 8; // Pin digital 8 para el pulsador
  63.   int RELE = 9; // Pin digital 9 para la señal de entrada del Relé
  64.  
  65.   // Variables internas para el pulsador con enclavamiento
  66.   int encender = 0;
  67.   int anterior = 0;
  68.   int estado = 0;
  69.    
  70.   void setup()
  71.   {
  72.     pinMode(Pulsador, INPUT); // Pin digital 8 como entrada
  73.     pinMode(RELE, OUTPUT); // Pin digital 9 como salida
  74.    
  75.     Serial.begin(9600); // Comienzo de la comunicación serie
  76.   }
  77.    
  78.   void loop()
  79.   {
  80.     estado = digitalRead(Pulsador); // Comprobamos el estado actual del pulsador
  81.    
  82.     // Si el pulsador está presionado y su estado anterior es desactivado
  83.     if(estado && anterior == 0)
  84.     {
  85.       encender = 1 - encender;
  86.       delay(30); // Evita los rebotes del pulsador
  87.     }
  88.    
  89.     anterior = estado; // Se actualiza el estado anterior del pulsador
  90.    
  91.     // Si es la primera vez que presionamos el pulsador se activa el RELÉ y el ventilador
  92.     if(encender)
  93.     {
  94.       digitalWrite(RELE, HIGH);
  95.       Serial.println("VENTILADOR ACTIVADO!!!");
  96.       Serial.print("RELE = ");
  97.       Serial.print(digitalRead(RELE));
  98.       Serial.print("\n");
  99.     }
  100.    
  101.     // Si es la segunda vez que presionamos el pulsador se desactiva el RELÉ y el ventilador
  102.     // y se repite el proceso anterior.
  103.     else
  104.     {
  105.       digitalWrite(RELE, LOW);
  106.       Serial.println("VENTILADOR DESACTIVADO!!!");
  107.       Serial.print("RELE = ");
  108.       Serial.print(digitalRead(RELE));
  109.       Serial.print("\n");
  110.     }
  111.      Serial.print("\n");    
  112.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement