โมดูล JDY-33 Dual Mode Bluetooth
คุณสมบัติหลัก
- รองรับการเชื่อมต่อแบบ Dual Mode: BLE (Bluetooth Low Energy) และ SPP (Serial Port Profile)
- เวอร์ชัน Bluetooth: Bluetooth 2.0/3.0 (SPP) และ Bluetooth 4.0+ (BLE)
- ช่วงการทำงาน: สูงถึง 30 เมตรในพื้นที่โล่ง
- แรงดันไฟฟ้า: 3.3V-5V DC
- การเชื่อมต่อ: อินเตอร์เฟซ UART (TTL)
- อัตราการส่งข้อมูล: ตั้งค่าได้ (ค่าเริ่มต้น 9600 bps)
- การตั้งค่า: ผ่านคำสั่ง AT command
- ขนาด: 27mm x 13mm x 2mm
ฟังก์ชันการทำงาน
- รองรับการเชื่อมต่อกับอุปกรณ์ Android และ iOS
- สามารถตั้งค่าชื่ออุปกรณ์ รหัสผ่าน และอัตราการส่งข้อมูลได้
- รองรับการทำงานแบบ Master และ Slave mode
- มีไฟ LED แสดงสถานะการทำงาน
- เหมาะสำหรับการพัฒนาโปรเจคที่ต้องการการเชื่อมต่อไร้สาย
การนำไปใช้งาน
- ควบคุมอุปกรณ์อิเล็กทรอนิกส์ผ่านสมาร์ทโฟน
- การพัฒนาโปรเจค IoT (Internet of Things)
- การสื่อสารไร้สายระหว่างอุปกรณ์ไมโครคอนโทรลเลอร์
- การเชื่อมต่อกับบอร์ด Arduino, ESP8266, ESP32 และอื่นๆ
- การพัฒนาแอพพลิเคชันสั่งงานและควบคุมระยะไกล
คำสั่ง AT พื้นฐาน
- AT - ทดสอบการเชื่อมต่อ (ตอบกลับ "OK")
- AT+NAME=xxx - เปลี่ยนชื่ออุปกรณ์
- AT+PIN=xxxx - เปลี่ยนรหัสผ่าน (ค่าเริ่มต้น "1234")
- AT+BAUD=x - เปลี่ยนความเร็วการสื่อสาร (4=9600, 8=115200)
- AT+DEFAULT - รีเซ็ตเป็นค่าเริ่มต้นจากโรงงาน
ข้อมูลการเชื่อมต่อ
- VCC: 3.3V-5V
- GND: Ground
- TXD: ส่งข้อมูล (เชื่อมต่อกับ RX ของไมโครคอนโทรลเลอร์)
- RXD: รับข้อมูล (เชื่อมต่อกับ TX ของไมโครคอนโทรลเลอร์)
- STATE: แสดงสถานะการเชื่อมต่อ (HIGH เมื่อเชื่อมต่อ)
ข้อดีของโมดูล JDY-33
- รองรับการเชื่อมต่อทั้งแบบ SPP และ BLE ในโมดูลเดียว
- ใช้งานง่ายผ่านคำสั่ง AT command
- ราคาประหยัดเมื่อเทียบกับประสิทธิภาพ
- ประหยัดพลังงานในโหมด BLE
- มีความเสถียรสูงในการรับส่งข้อมูล
โมดูล JDY-33 แสดงชื่อ 2 ชนิดคือ SPP และ BLE เพราะเป็น "Dual mode Bluetooth"
ซึ่งรองรับทั้งสองโปรโตคอล:
SPP (Serial Port Profile)
- เป็นโปรโตคอล Bluetooth แบบดั้งเดิม (Classic Bluetooth หรือ BT 2.0/3.0)
- ใช้สำหรับการจำลองพอร์ตอนุกรม (Serial Port) ผ่าน Bluetooth
- เหมาะสำหรับการส่งข้อมูลที่ต้องการแบนด์วิดท์สูงหรือข้อมูลขนาดใหญ่
- ใช้พลังงานมากกว่า BLE
- การเชื่อมต่อมั่นคงและเชื่อถือได้สูงกว่า
BLE (Bluetooth Low Energy)
- เป็นโปรโตคอล Bluetooth รุ่นใหม่ (Bluetooth 4.0 ขึ้นไป)
- ออกแบบมาเพื่อประหยัดพลังงาน (เหมาะกับอุปกรณ์ที่ใช้แบตเตอรี่)
- เหมาะสำหรับการส่งข้อมูลขนาดเล็กเป็นระยะๆ
- มีเสถียรภาพน้อยกว่า SPP สำหรับการส่งข้อมูลต่อเนื่อง
- รองรับการเชื่อมต่อระยะไกลกว่า
การเลือกใช้งาน
- ถ้าต้องการส่งข้อมูลขนาดใหญ่หรือต่อเนื่อง (เช่น การควบคุมหุ่นยนต์) → เลือก SPP
- ถ้าต้องการประหยัดพลังงานหรือใช้กับแอปพลิเคชันมือถือสมัยใหม่ → เลือก BLE
ในการทดสอบโมดูล คุณสามารถลองเชื่อมต่อทั้งแบบ SPP และ BLE เพื่อดูว่าทั้งสองโหมดทำงานได้อย่างถูกต้อง แอปพลิเคชัน Bluetooth Terminal บางตัวสามารถทำงานได้กับทั้งสองโปรโตคอล แต่บางตัวอาจรองรับเฉพาะโปรโตคอลใดโปรโตคอลหนึ่งเท่านั้น
ทดสอบการใช้งาน

สำหรับฝั่งมือถือให้ติดตั้งโปแกรม Serial Bluetooth Terminal จาก Google Play Store

โคดทดสอบสำหรับฝั่ง arduino
#include <SoftwareSerial.h>
// กำหนดขาที่ใช้สำหรับ Software Serial
#define BT_TX_PIN 2 // ต่อกับขา RX ของโมดูล JDY-33
#define BT_RX_PIN 3 // ต่อกับขา TX ของโมดูล JDY-33
// กำหนด LED สำหรับแสดงสถานะ (ไม่จำเป็นต้องมี)
#define STATUS_LED 13
// สร้าง Software Serial port
SoftwareSerial BTSerial(BT_RX_PIN, BT_TX_PIN); // RX, TX
void setup() {
// เริ่มต้น Hardware Serial ที่ 9600 bps
Serial.begin(9600);
Serial.println("Arduino JDY-33 Bluetooth Test");
// เริ่มต้น Software Serial สำหรับการสื่อสารกับโมดูล JDY-33
BTSerial.begin(9600); // ค่าเริ่มต้นของ JDY-33 มักจะเป็น 9600 bps
// กำหนดขา LED เป็น output
pinMode(STATUS_LED, OUTPUT);
// ส่งคำสั่ง AT เพื่อทดสอบการสื่อสารกับโมดูล
Serial.println("Sending AT command to check module...");
BTSerial.print("AT");
delay(1000);
}
void loop() {
// อ่านข้อมูลจากโมดูล JDY-33 แล้วส่งไปที่ Serial Monitor
if (BTSerial.available()) {
char data = BTSerial.read();
Serial.write(data);
// กระพริบ LED เพื่อแสดงว่าได้รับข้อมูล
blinkLED();
}
// อ่านข้อมูลจาก Serial Monitor แล้วส่งไปที่โมดูล JDY-33
if (Serial.available()) {
char data = Serial.read();
BTSerial.write(data);
}
}
// ฟังก์ชันกระพริบ LED
void blinkLED() {
digitalWrite(STATUS_LED, HIGH);
delay(100);
digitalWrite(STATUS_LED, LOW);
}
ผลการทดสอบ
ส่งจากมือถือ และส่งจาก arduino


