Advertisement
Guest User

Untitled

a guest
Nov 16th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.17 KB | None | 0 0
  1. #include <SoftwareSerial.h>
  2.  
  3. const String phone = "0786701940"; // Thay so cua ban vao day
  4. const int PWR_KEY = 9; // Chan so 9 arduino uno dung lam chan dieu khien bat tat module sim800C
  5. const int RELAY = 12; // Chan so 12 arduino uno dung lam chan dieu khien dong/cat Relay de On/Off den
  6.  
  7. const int rxpin = 4;
  8. const int txpin = 3;
  9. char receivedChar;
  10. boolean newData = false;
  11. SoftwareSerial myserial(rxpin, txpin);
  12.  
  13. void Gsm_Power_On(); // Bat module Sim800C
  14. void Gsm_Init(); // Cau hinh Module Sim800C
  15. void Gsm_MakeCall(String phone);
  16.  
  17. void recvOneChar() {
  18. if (myserial.available() > 0) {
  19. receivedChar = myserial.read();
  20. newData = true;
  21. }
  22. }
  23.  
  24. void showNewData() {
  25. if (newData == true) {
  26. Serial.print("This just in ... ");
  27. Serial.println(receivedChar);
  28. newData = false;
  29. }
  30. }
  31.  
  32. void setup() {
  33. digitalWrite(RELAY, LOW); // Khai bao chan de dieu khien dong cat RELAY
  34. pinMode(RELAY, OUTPUT);
  35.  
  36. digitalWrite(PWR_KEY, LOW); // Khai bao chan PWR_KEY de dieu khien bat bat module Sim800C
  37. pinMode(PWR_KEY, OUTPUT);
  38.  
  39. delay(1000);
  40. Gsm_Power_On(); // Bat Module Sim800C // Đợi module sim kiểm tra kết nối mạng GSM
  41.  
  42. myserial.begin(9600);
  43. Serial.begin(9600);
  44. myserial.println("AT+CFUN=1");
  45. //myserial.println("AT+CREG=1");
  46. //myserial.println("AT+COPS=0,2");
  47.  
  48. Gsm_Init();
  49. Gsm_MakeCall(phone);
  50. }
  51.  
  52. void loop() { // tre 1s
  53. recvOneChar();
  54. showNewData();
  55. Serial.println("looping...");
  56. delay(1000);
  57. //if (millis() % 15000 == 0) {
  58. // Serial.println("calling... ");
  59. // delay 5s
  60. //}
  61. }
  62.  
  63. void Gsm_Power_On()
  64. {
  65. digitalWrite(PWR_KEY, HIGH); // Du chan PWR_KEY len cao it nhat 1s
  66. delay(1500); // o day ta de 1,5s
  67. digitalWrite(PWR_KEY, LOW); // Du chan PWR_KEY xuong thap
  68. delay(100); // cac ban xem trong Hardware designed sim800C de hieu ro hon
  69. }
  70.  
  71. void Gsm_MakeCall(String phone)
  72. {
  73. myserial.println("ATD" + phone + ";"); // Goi dien
  74. delay(10000); // Sau 10s
  75. myserial.println("ATH"); // Ngat cuoc goi
  76. delay(2000);
  77. }
  78.  
  79. void Gsm_Init()
  80. {
  81. myserial.println("ATE0"); // Tat che do phan hoi (Echo mode)
  82. delay(2000);
  83. myserial.println("AT+IPR=9600"); // Dat toc do truyen nhan du lieu 9600 bps
  84. delay(2000);
  85. myserial.println("AT+CMGF=1"); // Chon che do TEXT Mode
  86. delay(2000);
  87. myserial.println("AT+CLIP=1"); // Hien thi thong tin nguoi goi den
  88. delay(2000);
  89. myserial.println("AT+CNMI=2,2"); // Hien thi truc tiep noi dung tin nhan
  90. delay(2000);
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement