safwan092

Untitled

May 3rd, 2025
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.66 KB | None | 0 0
  1. #include <SoftwareSerial.h>
  2.  
  3. // تعريف منافذ الاتصال للقارئ
  4. #define QR_RX 2 // RX من القارئ إلى D2 في Arduino
  5. #define QR_TX 3 // TX من القارئ إلى D3 في Arduino
  6.  
  7. // تعريف منافذ الاتصال للوحدة GSM
  8. #define GSM_RX 6
  9. #define GSM_TX 5
  10.  
  11. SoftwareSerial qrSerial(QR_RX, QR_TX); // اتصال مع قارئ QR
  12. //SoftwareSerial gsmSerial(GSM_RX, GSM_TX); // اتصال مع وحدة GSM
  13.  
  14. const String targetNumber = "+966539886029";
  15. bool smsSent = false;
  16.  
  17. void setup() {
  18. Serial.begin(9600); // الاتصال التسلسلي مع الكمبيوتر
  19. qrSerial.begin(9600); // الاتصال مع قارئ QR
  20. //gsmSerial.begin(9600); // الاتصال مع وحدة GSM
  21.  
  22. Serial.println("System Ready - QR Reader with SMS Functionality");
  23. Serial.println("Waiting for scan...");
  24.  
  25. // تهيئة وحدة GSM
  26. initGSM();
  27. delay(1000);
  28. send_sms();
  29. }
  30.  
  31. void loop() {
  32. if (qrSerial.available()) { // إذا كانت هناك بيانات من القارئ
  33. String qrData = "";
  34.  
  35. while (qrSerial.available()) {
  36. char c = qrSerial.read();
  37. qrData += c;
  38. delay(10); // تأخير بسيط لاستقبال كل البيانات
  39. }
  40.  
  41. //Serial.print("Scanned Data: ");
  42. //Serial.println(qrData);
  43.  
  44. // التحقق إذا كانت البيانات تحتوي على الرقم المطلوب
  45. if (qrData.indexOf(targetNumber) != -1 && !smsSent) {
  46. //Serial.println("Detected target QR code, sending SMS...");
  47. send_sms();
  48. smsSent = true; // لمنع إرسال رسائل متعددة
  49. }
  50. }
  51. }
  52.  
  53. void initGSM() {
  54. //Serial.println("Initializing GSM module...");
  55. Serial.println("AT");
  56. delay(1000);
  57. Serial.println("AT+GPS=1");
  58. delay(100);
  59. Serial.println("AT+CREG=2");
  60. delay(1000);
  61. Serial.println("AT+CGATT=1");
  62. delay(1000);
  63. Serial.println("AT+CGDCONT=1,\"IP\",\"WWW\"");
  64. delay(1000);
  65. Serial.println("AT+CGACT=1,1");
  66. delay(1000);
  67. Serial.println("AT+GPS=1");
  68. delay(1000);
  69. Serial.println("AT+GPSRD=10");
  70. delay(100);
  71. Serial.println("AT+CMGF=1");
  72. delay(1000);
  73. //Serial.println("GSM module initialized");
  74. }
  75.  
  76. void send_sms() {
  77. //Serial.println("Sending Message");
  78. Serial.println("AT+CMGF=1");
  79. delay(1000);
  80. Serial.println("AT+CNMI=2,2,0,0,0");
  81. delay(1000);
  82. Serial.print("AT+CMGS=\"");
  83. Serial.print(targetNumber);
  84. Serial.println("\"");
  85. delay(1000);
  86. Serial.print("QR Code detected and processed"); // نص الرسالة
  87. Serial.write(0x1A); // إرسال Ctrl+Z لإنهاء الرسالة
  88. delay(1000);
  89. //Serial.println("SMS sent successfully");
  90. }
Advertisement
Add Comment
Please, Sign In to add comment