Kiến Thức Điện

Rơle điều khiển bằng SMS SIM800L

Như bạn có thể thấy từ sơ đồ trên, mạch của tôi cần nguồn điện DC ổn định và sạch sẽ 5-V / 1-A (tối thiểu) để có hiệu suất phù hợp. Bo mạch vi điều khiển (Nano_V3) chạy trên nguồn cung cấp 5-Vdc và modem (SIM800L) có khoảng 4,3 Vdc. Mặc dù hầu hết các mô-đun SIM800L hoạt động trên 3,7 V, nhưng mô-đun SIM800L của tôi từ một người bán eBay mới dường như dễ mất kết nối mạng dưới 4 V. Đó là lý do tại sao nó được đặt thành 4,3 Vdc.

Mã (bản phác thảo Arduino) là mã cơ bản không có bất kỳ thư viện SIM800L chuyên dụng nào. Trong mã, các chân RX và TX được chỉ định làm chân nối tiếp phần mềm. Điều này được thực hiện có chủ ý để cổng nối tiếp phần cứng của Arduino vẫn được sử dụng với màn hình nối tiếp. Sau khi mã được tải lên, bạn có thể chuyển sang bước tiếp theo. Lúc đầu, hãy dành một chút thời gian để đảm bảo rằng thiết lập phần cứng đã theo thứ tự. Đừng quên lắp thẻ micro-SIM hợp lệ vào khe cắm trước khi bật nguồn hệ thống. Thông thường, thẻ SIM sẽ tự động đăng ký với mạng gia đình trong vòng vài giây. Lưu ý rằng chỉ báo LED trên bo mạch của mô-đun SIM800L sẽ nhấp nháy hai đến ba giây một lần (không liên tục) khi nó đã đăng ký hoàn toàn với mạng. Sau đó, bạn nên ấn công tắc đặt lại một lần để hệ thống hoạt động đầy đủ.

Hãy bắt đầu với việc gửi SMS: Gửi văn bản “ON” (không phân biệt chữ hoa chữ thường) sẽ bật rơ le và “OFF” sẽ tắt rơ le. Các tiếp điểm rơle có thể được nối dây như mong muốn để chuyển đổi bất kỳ tải điện phù hợp nào. Đó là tất cả!

/*
 * SIM800L SMS RELAY v1.0
 * Arduino Hardware (Author): Nano V3 (ATmega328)
 * Arduino IDE (Author): 1.6.9
 * T.K.Hareendran/2018
 */

#include 
SoftwareSerial mySerial(10,11);  // (Rx,Tx  > Tx,Rx) 

char incomingByte; 
String inputString;
int relay = 13; // Output for Relay Control

void setup() 
{
      pinMode(relay, OUTPUT);
      digitalWrite(relay, LOW); // Initial state of the relay
      Serial.begin(9600);
      mySerial.begin(9600); 

     while(!mySerial.available()){
        mySerial.println("AT");
        delay(1000); 
        Serial.println("Connecting...");
        }
      Serial.println("Connected!");  
      mySerial.println("AT+CMGF=1");  //Set SMS to Text Mode 
      delay(1000);  
      mySerial.println("AT+CNMI=1,2,0,0,0");  //Procedure to handle newly arrived messages(command name in text: new message indications to TE) 
      delay(1000);
      mySerial.println("AT+CMGL=\"REC UNREAD\""); // Read Unread Messages
     }

void loop()
{  
  if(mySerial.available()){
      delay(100);

      // Serial Buffer
      while(mySerial.available()){
        incomingByte = mySerial.read();
        inputString += incomingByte; 
        }

        delay(10);      

        Serial.println(inputString);
        inputString.toUpperCase(); // Uppercase the Received Message

        //turn RELAY ON or OFF
        if (inputString.indexOf("ON") > -1){
          digitalWrite(relay, HIGH);
          }
         if (inputString.indexOf("OFF") > -1){
          digitalWrite(relay, LOW);
          }          

        delay(50);

        //Delete Messages & Save Memory
        if (inputString.indexOf("OK") == -1){
        mySerial.println("AT+CMGDA=\"DEL ALL\"");

        delay(1000);}

        inputString = "";
  }
}

Đây là ảnh chụp màn hình nối tiếp của tôi:

Một số lưu ý quan trọng

  • Thẻ SIM phải được lắp vào khe với các điểm tiếp xúc của nó hướng vào bảng mạch và đầu có khía nhô ra ngoài.
  • Bản thân SIM800L yêu cầu điện áp đầu vào từ 3,4 V đến 4,4 V (1–2 A) và mô-đun (bảng đột phá) được sử dụng ở đây không có bộ điều chỉnh điện áp tích hợp (và bộ dịch chuyển mức logic). Điều này yêu cầu một đơn vị cung cấp điện gọn gàng (và một mạch dịch chuyển mức logic). Nếu nguồn điện không theo kịp, mô-đun sẽ tắt / đặt lại khi đang thực hiện.
  • Trong trường hợp có sự cố, hãy cố gắng đóng điện hệ thống. Đảm bảo rằng đăng ký mạng lại thành công và chỉ sau đó, thực hiện thiết lập lại phần cứng bằng công tắc đặt lại.
  • Mã đã cho rõ ràng cần một số sàng lọc. Tôi vừa mới đào mã này lên và dùng thử, và nó phù hợp với tôi. Nếu bạn phát hiện ra sai sót hoặc nghĩ rằng tôi đang tình cờ bỏ qua những điều quan trọng, vui lòng cho tôi biết.

Đỗ Thủy

Trang web cung cấp kiến thức điện tử cơ bản về tụ điện , điện trở các kiến thức về mạch điện hy vọng sẽ mang lại cho các bạn những kiến thức điện tử online hữu ích nhất.

Trả lời

Email của bạn sẽ không được hiển thị công khai.

Back to top button