Advertisement
Guest User

Slave

a guest
Jun 28th, 2017
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. /*-----( Import needed libraries )-----*/
  2. #include <SoftwareSerial.h>
  3. /*-----( Declare Constants and Pin Numbers )-----*/
  4. #define SSerialRX 10 //Serial Receive pin
  5. #define SSerialTX 11 //Serial Transmit pin
  6.  
  7. #define SSerialTxControl 3 //RS485 Direction control
  8. #define RS485Transmit HIGH
  9. #define RS485Receive LOW
  10.  
  11. #define Pin13LED 13
  12. int rele1 = 7;
  13. /*-----( Declare objects )-----*/
  14. SoftwareSerial RS485Serial(SSerialRX, SSerialTX); // RX, TX
  15.  
  16. /*-----( Declare Variables )-----*/
  17. int byteReceived;
  18. int byteSend;
  19. int botao = 6;
  20.  
  21. void setup() /****** SETUP: RUNS ONCE ******/
  22. {
  23. // Start the built-in serial port, probably to Serial Monitor
  24. Serial.begin(9600);
  25. Serial.println("SerialRemote"); // Can be ignored
  26. pinMode(rele1, OUTPUT);
  27. pinMode(botao, INPUT_PULLUP);
  28. pinMode(Pin13LED, OUTPUT);
  29. pinMode(SSerialTxControl, OUTPUT);
  30.  
  31. digitalWrite(SSerialTxControl, RS485Receive); // Init Transceiver
  32.  
  33. // Start the software serial port, to another device
  34. RS485Serial.begin(4800); // set the data rate
  35. }//--(end setup )---
  36.  
  37.  
  38. void loop() /****** LOOP: RUNS CONSTANTLY ******/
  39. {
  40. int ler = digitalRead(botao);
  41. //Copy input data to output
  42.  
  43. if (RS485Serial.available())
  44. {
  45. byteSend = RS485Serial.read(); // Read the byte
  46.  
  47. digitalWrite(Pin13LED, HIGH); // Show activity
  48. delay(10);
  49. digitalWrite(Pin13LED, LOW);
  50.  
  51. if(byteSend == '1'){
  52. digitalWrite(rele1, HIGH);
  53. }
  54. if(byteSend == 'a'){
  55. digitalWrite(rele1, LOW);
  56. }
  57. digitalWrite(SSerialTxControl, RS485Transmit); // Enable RS485 Transmit
  58. RS485Serial.write(byteSend); // Send the byte back
  59. delay(10);
  60. digitalWrite(SSerialTxControl, RS485Receive); // Disable RS485 Transmit
  61. // delay(100);
  62. }// End If RS485SerialAvailable
  63.  
  64. }//--(end main loop )---
  65.  
  66. /*-----( Declare User-written Functions )-----*/
  67. //NONE
  68.  
  69. //*********( THE END )***********
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement