ลองนึกภาพว่าคุณสามารถควบคุมเครื่องใช้ไฟฟ้าในบ้านของคุณได้จากทุกที่ภายในบ้านเพียงแค่ใช้ Smart phone ของคุณ ในโครงการนี้เราจะใช้แบบไร้สายบลูทู ธ ในการควบคุมเครื่องใช้ในบ้านอิเล็กทรอนิกส์ผ่านโทรศัพท์มือถือ บลูทู ธ มีระยะ 10-15 เมตรเพื่อให้คุณสามารถเปิดและปิดเครื่องใช้ไฟฟ้าใด ๆ ภายในช่วง นอกจากนี้เรายังได้พัฒนารถของเล่นที่ควบคุมโดยโทรศัพท์ Android โดยใช้โมดูลบลูทู ธ และ Arduino
ที่นี่เราได้ใช้ไมโครคอนโทรลเลอร์ 8051 กับโมดูลบลูทู ธ เพื่อรับข้อมูลแบบไร้สายที่ส่งจากโทรศัพท์ Android เพื่อให้ไมโครคอนโทรลเลอร์สามารถเปิดและปิดเครื่องใช้ภายในบ้านได้
องค์ประกอบหลัก
- ไมโครคอนโทรลเลอร์ 8051
- โมดูลบลูทู ธ HC05
- รีเลย์
- ULN2003
- หลอดไฟ
- ที่ยึด
- ลวด
- IC 7805
- โทรศัพท์ Android
- แอพตัวควบคุมบลูทู ธ แอพ Android
- ตัวเก็บประจุ 10uf
- ตัวเก็บประจุ 1000uf
- ตัวต้านทาน 10K
- ตัวต้านทาน 1k
- พาวเวอร์ซัพพลาย
โมดูลบลูทู ธ:
โมดูลบลูทู ธ HC-05 ประกอบด้วยสองสิ่งหนึ่งคือโมดูลอินเทอร์เฟซแบบอนุกรม Bluetooth และอะแดปเตอร์บลูทู ธ โมดูลอนุกรม Bluetooth ใช้สำหรับแปลงพอร์ตอนุกรมเป็นบลูทู ธ
วิธีการใช้งานโมดูลบลูทู ธ ?
คุณสามารถใช้โมดูลบลูทู ธ ได้โดยตรงหลังจากซื้อจากตลาดเนื่องจากไม่จำเป็นต้องเปลี่ยนการตั้งค่าใด ๆ ของโมดูลบลูทู ธ อัตราการส่งข้อมูลเริ่มต้นของโมดูลบลูทู ธ ใหม่คือ 9600 bps คุณเพียงแค่ต้องเชื่อมต่อ rx และ tx เข้ากับคอนโทรลเลอร์หรือตัวแปลงอนุกรมและจ่ายไฟ 5 โวลต์ dc ที่มีการควบคุมให้กับโมดูล
โมดูลบลูทู ธ มีสองโหมดหนึ่งคือโหมดหลักและโหมดที่สองคือโหมดทาส ผู้ใช้สามารถตั้งค่าโหมดใดก็ได้โดยใช้คำสั่ง AT แม้แต่ผู้ใช้ก็สามารถตั้งค่าโมดูลได้โดยใช้คำสั่ง AT นี่คือคำสั่งบางส่วนที่ใช้:
ก่อนอื่นผู้ใช้ต้องเข้าสู่โหมด AT ด้วยอัตรารับส่งข้อมูล 38400 bps โดยกดปุ่ม EN ที่โมดูลบลูทู ธ หรือโดยให้ระดับสูงที่ขา EN หมายเหตุ: คำสั่งทั้งหมดควรลงท้ายด้วย \ r \ n (0x0d และ 0x0a) หรือ ENTER KEY จากแป้นพิมพ์
หลังจากนั้นหากคุณส่ง AT ไปยังโมดูลโมดูลจะตอบสนองด้วยตกลง
ที่→คำสั่งทดสอบ
AT + ROLE = 0 → Slave Mode เลือก
AT + ROLE = 1 →เลือกโหมดหลัก
AT + NAME = xyz →ตั้งชื่อบลูทู ธ
AT + PSWD = xyz →ตั้งรหัสผ่าน
ที่ + UART =
เช่น. ที่ + UART = 9600,0,0
คำอธิบายพินของ accelerometer:
- STATE →เปิด
- Rx →พินรับอนุกรม
- Tx →พินส่งสัญญาณอนุกรม
- GND →กราวด์
- Vcc → + 5 โวลต์ dc
- EN →เพื่อเข้าสู่โหมด AT
คำอธิบายการทำงาน:
ในโครงการนี้เราได้ใช้ไมโครคอนโทรลเลอร์ 8051 สำหรับควบคุมกระบวนการทั้งหมดของโครงการนี้ และโมดูลบลูทู ธ ใช้สำหรับควบคุมเครื่องใช้ภายในบ้านแบบไร้สาย เครื่องใช้ในบ้านจะเปิดและปิดเมื่อผู้ใช้สัมผัสปุ่มในแอพมือถือบลูทู ธ ในโทรศัพท์มือถือ Android ในการเรียกใช้โครงการนี้ก่อนอื่นเราต้องดาวน์โหลดแอปบลูทู ธ จาก Google play store เราสามารถใช้แอพบลูทู ธ ใดก็ได้ที่สามารถส่งข้อมูลโดยใช้บลูทู ธ ชื่อแอพบางตัวที่สามารถใช้ได้:
- บลูทู ธ Spp pro
- ตัวควบคุมบลูทู ธ
หลังจากติดตั้งแอพคุณจะต้องเปิดแอพจากนั้นค้นหาอุปกรณ์บลูทู ธ และเลือกอุปกรณ์บลูทู ธ HC-05 จากนั้นกำหนดค่าคีย์
ที่นี่ในโครงการนี้เราได้ใช้บลูทู ธ แอปควบคุม
- ดาวน์โหลดและติดตั้ง Bluetooth Controller
- เปิดบลูทู ธ มือถือ
- ตอนนี้เปิดแอปตัวควบคุมบลูทู ธ
- กด scan
- เลือกอุปกรณ์บลูทู ธ ที่ต้องการ (โมดูลบลูทู ธ HC-05)
- ตอนนี้ตั้งค่าปุ่มโดยกดปุ่มตั้งค่าบนหน้าจอ
ในการตั้งค่าคีย์เราต้องกด 'ปุ่ม set' และตั้งค่าคีย์ตามภาพด้านล่าง:
หลังจากตั้งค่าปุ่มกดตกลง
คุณจะเห็นในภาพด้านบนว่ามีปุ่ม 9 ปุ่มซึ่งแถวแรกใช้สำหรับควบคุมพัดลมปุ่มที่สองใช้สำหรับควบคุมแสงและปุ่มสุดท้ายใช้สำหรับควบคุมทีวี หมายถึงปุ่มเปิดและปิดของแถวแรกใช้สำหรับเปิดและปิดพัดลมปุ่มของแถวที่สองใช้สำหรับไฟและปุ่มที่สามใช้สำหรับทีวี เราใช้หลอดไฟสามสีแทนทีวีและพัดลมเพื่อการสาธิต
ตอนนี้เมื่อเราแตะปุ่มใด ๆ ในแอพตัวควบคุมบลูทู ธ โทรศัพท์ Android จะส่งค่าไปยังโมดูลบลูทู ธ หลังจากได้รับค่านี้โมดูลบลูทู ธ จะส่งค่าที่ได้รับไปยังไมโครคอนโทรลเลอร์จากนั้นไมโครคอนโทรลเลอร์จะอ่านและเปรียบเทียบกับค่าที่กำหนดไว้ล่วงหน้า หากเกิดการจับคู่ไมโครคอนโทรลเลอร์จะดำเนินการแบบสัมพัทธ์ การดำเนินการเดียวกันจะดำเนินการทุกครั้งเมื่อกดปุ่ม
ตอนนี้เมื่อผู้ใช้แตะปุ่ม 'เปิดพัดลม' ในแอพตัวควบคุมบลูทู ธ ไมโครคอนโทรลเลอร์จะรับ '1' ผ่านโมดูลบลูทู ธ จากนั้นควบคุมสวิตช์ 'เปิด' พัดลมโดยใช้ไดรเวอร์รีเลย์และรีเลย์ และเมื่อผู้ใช้แตะปุ่ม 'ปิดพัดลม' ในแอพตัวควบคุมบลูทู ธ ไมโครคอนโทรลเลอร์จะรับ '2' ผ่านโมดูลบลูทู ธ จากนั้นควบคุมสวิตช์ 'ปิด' พัดลมโดยใช้ไดรเวอร์รีเลย์และรีเลย์
ในทำนองเดียวกันโทรศัพท์ Android จะส่งหมายเลข 3,4,5,6 เมื่อ Light On, Light Off, TV On, TV Off ตามลำดับ:
ปุ่ม |
ข้อมูล |
การดำเนินการ |
เปิดพัดลม |
1 |
พัดลมเปิดอยู่ |
ปิดพัดลม |
2 |
พัดลมปิดอยู่ |
เปิดไฟ |
3 |
เปิดไฟแล้ว |
ปิดไฟ |
4 |
ปิดไฟแล้ว |
เปิดทีวี |
5 |
ทีวีเปิดอยู่ |
ปิดทีวี |
6 |
ทีวีปิดอยู่ |
แผนภาพวงจรและคำอธิบาย
การเชื่อมต่อวงจรของโครงการนี้ง่ายมาก หมุด Rx และ Tx ของโมดูลบลูทู ธ เชื่อมต่อโดยตรงกับพิน Tx และ Rx ของไมโครคอนโทรลเลอร์ รีเลย์ 5 โวลต์สามตัวใช้เป็นสวิตช์สำหรับเปิดและปิดเครื่องใช้ไฟฟ้าภายในบ้านที่ใช้ไฟ AC และรีเลย์ไดรเวอร์ ULN2003 ใช้สำหรับรีเลย์ขับ พัดลมไฟและทีวีเชื่อมต่อที่ P2.1, P2.2 และ P2.3 ผ่านรีเลย์และไดรเวอร์รีเลย์ ใช้คริสตัลออสซิลเลเตอร์ 11.0592 MHz ในวงจรนี้เพื่อสร้างสัญญาณนาฬิกาสำหรับไมโครคอนโทรลเลอร์ และตัวควบคุมแรงดันไฟฟ้า 5 โวลต์ LM7805 ใช้สำหรับจ่ายไฟ 5 โวลต์สำหรับวงจรทั้งหมด
คำอธิบายโปรแกรม:
ในโปรแกรมนี้ก่อนอื่นเราได้รวมไฟล์ส่วนหัวและกำหนดอินพุตพินเอาต์พุตและตัวแปร
# รวม
หลังจากนี้เราได้สร้างฟังก์ชันสำหรับการหน่วงเวลา
ความล่าช้าเป็นโมฆะ (เวลา int) {int ที่ไม่ได้ลงนาม i, j; สำหรับ (i = 0; i
ที่นี่เรามีฟังก์ชั่นบางอย่างที่เราใช้ในโปรแกรมของเรา ในสิ่งนี้เราได้กำหนดค่าอัตรารับส่งข้อมูล 9600bps ที่ความถี่คริสตัล 11.0592MHz
โมฆะ Serialwrite (ถ่านไบต์) {SBUF = ไบต์; ในขณะที่ (! TI); TI = 0; } เป็นโมฆะ Serialprintln (ถ่าน * p) {ในขณะที่ (* p) {Serialwrite (* p); พี ++; } Serialwrite (0x0d); } เป็นโมฆะ Serialbegin () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; }
หลังจากนี้ในโปรแกรมหลักเราได้เริ่มต้น UART และตรวจสอบการลงทะเบียน SBUF เพื่อรับข้อมูล จากนั้นข้อมูลจะถูกจับคู่และเปรียบเทียบกับค่าที่กำหนดไว้ล่วงหน้าและดำเนินการแบบสัมพัทธ์
เป็นโมฆะ main () {P2 = 0x00; Serialbegin (); Serialprintln ("ระบบพร้อม… "); ล่าช้า (50); ในขณะที่ (1) {while (! RI); ชรินทร์ = SBUF; str = ชรินทร์; RI = 0; ถ้า (str == '1') {แฟน = 1; Serialprintln ("เปิดพัดลม"); ล่าช้า (50); } else if (str == '2') {แฟน = 0; Serialprintln ("ปิดพัดลม"); ล่าช้า (50); }
เพื่อให้เป็นวิธีที่เราสามารถสร้างระบบทั้งในบ้านและสามารถเชื่อมต่อทุกเครื่องใช้ไฟฟ้า AC เข้ากับไมโครคอนโทรลเลอร์ 8051 โดยใช้รีเลย์ และระบบอัตโนมัติภายในบ้านที่ควบคุมด้วยบลูทู ธนี้ สามารถใช้งานได้จากโทรศัพท์สมาร์ทโฟน