Advertisement
Villalba2006

POST_62_Receptor

Nov 28th, 2016
4,278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.71 KB | None | 0 0
  1. /*  TITULO: Comunicación RS-485 simplex entre dos Arduinos con módulos MAX485 - Receptor_simplex_RS485
  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.     Programa que recibe el valor de la intensidad de brillo de un LED (de 0 a 254) a través de comunicación
  14.     unidireccional (simplex) RS-485 mediante el módulo MAX485 RS485-TTL, y dependiendo de el valor de este,
  15.     brillará el LED en consencuencia, desde permanecer apagado a llegar a su brillo máximo posible.
  16.    
  17.    
  18.     ESQUEMA DE CONEXION
  19.    
  20.                                       +-----+
  21.          +----[PWR]-------------------| USB |--+
  22.          |                            +-----+  |
  23.          |         GND/RST2  [ ][ ]            |
  24.          |       MOSI2/SCK2  [ ][ ]  A5/SCL[ ] |    
  25.          |          5V/MISO2 [ ][ ]  A4/SDA[ ] |    
  26.          |                             AREF[ ] |
  27.          |                              GND[ ] |
  28.          | [ ]N/C                    SCK/13[ ] |  
  29.          | [ ]IOREF                 MISO/12[ ] |  
  30.          | [ ]RST                   MOSI/11[ ]~|  
  31.          | [ ]3V3    +---+               10[ ]~|  
  32.          | [ ]5v    -| A |-               9[ ]~|  
  33.          | [ ]GND   -| R |-               8[ ] |  
  34.          | [ ]GND   -| D |-                    |
  35.          | [ ]Vin   -| U |-               7[ ] |  
  36.          |          -| I |-               6[ ]~|  
  37.          | [ ]A0    -| N |-               5[ ]~|   LED(+)
  38.          | [ ]A1    -| O |-               4[ ] |  
  39.          | [ ]A2     +---+           INT1/3[ ]~|  
  40.          | [ ]A3                     INT0/2[ ] |   Pin RO del Módulo MAX485 RS485-TTL
  41.          | [ ]A4/SDA  RST SCK MISO     TX>1[ ] |  
  42.          | [ ]A5/SCL  [ ] [ ] [ ]      RX<0[ ] |  
  43.          |            [ ] [ ] [ ]              |
  44.          |  UNO_R3    GND MOSI 5V  ____________/
  45.           \_______________________/
  46.  
  47.   NOTAS:
  48.  
  49.    - Conexiones del Módulo MAX485 RS485-TTL:
  50.      - VCC del Módulo MAX485 RS485-TTL --> +5V de Arduino.
  51.      - GND, DE y RE del Módulo MAX485 RS485-TTL --> GND de Arduino.
  52.      - Pines A y B del Módulo MAX485 RS485-TTL receptor --> Pines A y B del Módulo MAX485 RS485-TTL transmisor
  53.    - Cátodo(-) del LED (pata más corta) a GND a través de una R=220 ohms.
  54. */  
  55.  
  56.   // Declaramos la librería para crear otro puerto de comunicación serie para el Módulo MAX485 RS485-TTL
  57.   #include <SoftwareSerial.h>
  58.  
  59.   int LED = 5; // Pin digital con PWM para el LED
  60.   byte intensidad; // Variable para guardar el valor de la intensidad del LED (de 0 a 254)
  61.  
  62.   // Declaración del objeto para crear la comunicación serie con el módulo MAX485 RS485-TTL
  63.   SoftwareSerial mySerial(2, 3); // RX, TX
  64.  
  65.   void setup()
  66.   {
  67.     Serial.begin(9600); // Comienzo de la comunicación con el monitor serie
  68.     mySerial.begin(9600); // Comienzo de la comunicación serie con el módulo MAX485 RS485-TTL
  69.     pinMode(LED, OUTPUT);  // Pin digital 5 como salida
  70.   }
  71.    
  72.   void loop()
  73.   {
  74.     // Si se están recibiendo datos a través de la comunicación serie con el módulo MAX485 RS485-TTL
  75.     if(mySerial.available())
  76.     {
  77.       // Leemos la intensidad recibida a través de comunicación serie con el módulo MAX485 RS485-TTL
  78.       intensidad = mySerial.read();
  79.       Serial.println(intensidad); // Imprimimos el valor de la intensidad a través del monitor serie
  80.       analogWrite(LED, intensidad); // Mandamos analógicamente el valor PWM de la intensidad al LED
  81.     }
  82.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement