SIM800L เป็นโมดูล GSM/GPRS ยอดนิยมที่ใช้สำหรับการสื่อสารบนมือถือความสามารถในการส่ง SMS โทรออกและเข้าถึงอินเทอร์เน็ต ขนาดขนาดกะทัดรัดและความต้องการพลังงานต่ำทำให้เป็นตัวเลือกที่ยอดเยี่ยมสำหรับโครงการ IoT และการสื่อสาร ในบทช่วยสอนนี้เราจะแสดงวิธีการเชื่อมต่อ SIM800L กับ Arduino
สิ่งที่คุณต้องการ
- โมดูล GSM SIM800L
- คณะกรรมการ Arduino (เช่น Uno, Mega, Nano)
- กระดาน
- สายจัมเปอร์
- ซิมการ์ด (ปลดล็อคและด้วยแผนเครดิต/ข้อมูล)
- แหล่งจ่ายไฟ (สามารถให้ 3.7V-4.2V สำหรับ SIM800L)
- คอมพิวเตอร์ที่ติดตั้ง Arduino IDE
ขั้นตอนที่ 1: เข้าใจพิน SIM800L
โมดูล SIM800L มีหลายพิน แต่สำหรับการทำงานขั้นพื้นฐานคุณต้องใช้สิ่งต่อไปนี้เท่านั้น:
pin sim800l | การทำงาน |
---|---|
VCC | แหล่งจ่ายไฟ (3.7V ถึง 4.2V) |
gnd | พื้น |
TXD | ส่งข้อมูล (ไปยัง Arduino RX) |
RXD | รับข้อมูล (ถึง Arduino TX) |
ครั้งแรก | รีเซ็ต (ไม่บังคับ) |
สำคัญ: SIM800L ต้องการแหล่งพลังงานที่เสถียรระหว่าง 3.7V และ 4.2V อย่าเชื่อมต่อโดยตรงกับเอาต์พุต 5V ของ Arduino เนื่องจากอาจทำให้โมดูลเสียหาย
ขั้นตอนที่ 2: เดินสาย SIM800L ไปยัง Arduino
นี่คือวิธีการเชื่อมต่อโมดูล SIM800L กับ Arduino UNO:
pin sim800l | พิน Arduino |
---|---|
VCC | พลังงานภายนอก (3.7V-4.2V) |
gnd | gnd |
TXD | PIN 10 (ซอฟต์แวร์อนุกรม RX) |
RXD | PIN 11 (ซอฟต์แวร์อนุกรม TX) |
ใช้ตัวเก็บประจุ (เช่น 1,000µF) ข้ามพิน VCC และ GND ของ SIM800L เพื่อให้แน่ใจว่าแหล่งจ่ายไฟที่เสถียรและป้องกันการรีเซ็ตที่ไม่คาดคิด
ขั้นตอนที่ 3: ติดตั้งไลบรารีซอฟต์แวร์
SIM800L สื่อสารผ่าน UART เราจะใช้ไฟล์ SoftwareSerial
ห้องสมุดเพื่อกำหนดหมุด TX และ RX ที่กำหนดเองสำหรับการสื่อสาร
- เปิด Arduino IDE
- ไป ร่าง > รวมห้องสมุด > จัดการห้องสมุด.
- ค้นหา "softwareserial" (รวมอยู่ใน IDE โดยค่าเริ่มต้น)
ขั้นตอนที่ 4: อัปโหลดรหัส
ด้านล่างเป็นตัวอย่างตัวอย่างเพื่อส่ง SMS โดยใช้โมดูล SIM800L:
#include <SoftwareSerial.h>
SoftwareSerial sim800l(10, 11); // RX, TX
void setup() {
Serial.begin(9600); // Monitor baud rate
sim800l.begin(9600); // SIM800L baud rate
Serial.println("Initializing SIM800L...");
delay(1000);
sim800l.println("AT"); // Test communication
delay(1000);
sim800l.println("AT+CMGF=1"); // Set SMS mode to text
delay(1000);
sim800l.println("AT+CMGS=\"+1234567890\""); // Replace with recipient number
delay(1000);
sim800l.print("Hello from Arduino!");
delay(1000);
sim800l.write(26); // End SMS with CTRL+Z
delay(5000);
Serial.println("SMS sent!");
}
void loop() {
// Nothing to do here
}
ขั้นตอนที่ 5: ทดสอบการตั้งค่า
- ใส่ซิมการ์ดที่ถูกต้องลงในโมดูล SIM800L
- ให้พลังงานกับ SIM800L ด้วยแหล่ง 3.7V-4.2.2V
- เชื่อมต่อ Arduino กับคอมพิวเตอร์ของคุณผ่าน USB
- เปิด Arduino IDE และเลือกที่ถูกต้อง กระดาน และ ท่าเรือ จาก เครื่องมือ เมนู.
- อัปโหลดรหัสไปยัง Arduino
- เปิดมอนิเตอร์อนุกรม (เครื่องมือ > จอภาพอนุกรม) และตั้งค่าอัตราการรับส่งข้อมูลเป็น
9600
. - ตรวจสอบการตรวจสอบอนุกรมสำหรับข้อความเริ่มต้นและการยืนยัน SMS
การแก้ไขปัญหา
- โมดูลไม่ตอบสนอง: ตรวจสอบให้แน่ใจว่าแหล่งจ่ายไฟมีเสถียรภาพและอยู่ในช่วงแรงดันไฟฟ้าที่ต้องการ
- ไม่มีการเชื่อมต่อเครือข่าย: ตรวจสอบว่าซิมการ์ดทำงานอยู่หรือไม่และมีเครดิตหรือข้อมูลที่เพียงพอ
- ข้อมูลขยะ: ตรวจสอบว่าอัตราการรับส่งข้อมูลในรหัสตรงกับอัตราการรับส่งข้อมูลเริ่มต้นของ SIM800L (9600)
แอปพลิเคชันของ SIM800L
- การตรวจสอบและควบคุมระยะไกล
- อุปกรณ์ IoT พร้อมการสื่อสาร GSM
- ระบบติดตาม GPS (พร้อมโมดูล GPS ภายนอก)
- การแจ้งเตือน SMS อัตโนมัติ
บทสรุป
คุณสามารถเชื่อมต่อโมดูล GSM SIM800L ได้สำเร็จกับ Arduino เพื่อส่งข้อความ SMS ด้วยความสามารถในการโทรส่งข้อความและเข้าถึงอินเทอร์เน็ต SIM800L จึงเปิดโอกาสให้โครงการที่อิงกับการสื่อสาร สำรวจคุณสมบัติขั้นสูงเพื่อสร้างแอปพลิเคชัน IoT ที่ซับซ้อนมากขึ้น!