- ส่วนประกอบที่ใช้:
- วิธีใช้งานโมดูลบลูทู ธ :
- คำอธิบายการทำงาน:
- คำอธิบายวงจร:
- การกำหนดค่า Raspberry Pi และโปรแกรม Python:
วันนี้เรากำลังสร้างโครงการที่มีประโยชน์มากในการที่เราสามารถ ควบคุมไฟ LED โดยใช้เสียงของเราผ่านทางมาร์ทโฟน ในโครงการนี้เราจะส่งคำสั่งเสียงจาก Smart Phone ไปยัง Raspberry Pi โดยใช้โมดูลบลูทู ธและ Raspberry Pi จะรับสัญญาณที่ส่งแบบไร้สายและจะทำงานตามลำดับผ่านฮาร์ดแวร์ เราสามารถเปลี่ยนไฟ LED ที่มีเครื่องใช้ภายในบ้าน AC โดยใช้รีเลย์และสามารถสร้างโครงการบ้านอัตโนมัติควบคุมด้วยเสียง
ส่วนประกอบที่ใช้:
- Raspberry Pi 3 (ทุกรุ่นจะใช้งานได้)
- โมดูลบลูทู ธ HC-06
- กระดานขนมปัง
- ตัวต้านทาน 100 โอห์ม (3)
- LED (น้ำเงินแดงเขียว)
- สายเชื่อมต่อ
- พาวเวอร์ซัพพลาย
- สายอีเธอร์เน็ต
- โทรศัพท์ Android
โมดูลบลูทู ธ:
โมดูลบลูทู ธ ประกอบด้วยสองสิ่งหนึ่งคือโมดูลอินเทอร์เฟซแบบอนุกรมบลูทู ธ และอะแดปเตอร์บลูทู ธ โมดูลอนุกรม 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 à Master Mode เลือก
AT + NAME = xyz àตั้งชื่อบลูทู ธ
AT + PSWD = xyz àตั้งรหัสผ่าน
ที่ + UART =
เช่น. ที่ + UART = 9600,0,0
คำอธิบายพินของโมดูลบลูทู ธ HC-06:
1. STATE àเปิด
2. Rx àพินรับอนุกรม
3. Tx àพินส่งสัญญาณอนุกรม
4. พื้นดิน GND
5. Vcc à + 5volt dc
6. คีย์เพื่อเข้าสู่โหมด AT
คำอธิบายการทำงาน:
การทำงานของโครงการ LED ที่ควบคุมด้วยเสียงนี้ทำได้ง่ายมาก ในโครงการนี้เราได้ใช้ LED สามสีที่แตกต่างกัน (น้ำเงินแดงและเขียว) HC-06 บลูทู ธ โมดูลจะใช้สำหรับการรับคำสั่งเสียงที่ส่งออกในรูปแบบสตริง Raspberry Piรับสตริงที่เข้ามาจากโมดูลบลูทู ธ และเปรียบเทียบกับสตริงที่กำหนดไว้ล่วงหน้าและดำเนินการตามลำดับ
ในโครงการนี้เพื่อให้คำสั่งเสียงแก่ Raspberry Pi จากสมาร์ทโฟนของเราเราได้ใช้แอพ AMR Voice ในโทรศัพท์ Android (Android Meets Robots: Voice Recognition)
การติดตั้งและกำหนดค่าแอป AMR Voice:
สามารถดาวน์โหลดและติดตั้งแอป AMR Voice ได้จาก Google Play Store คุณต้องติดตั้งแอป Google Voiceสำหรับโครงการนี้ด้วย แอป AMR Voice รับเสียงเป็นอินพุตและแปลงเป็นสตริงข้อความโดยใช้การรู้จำเสียงภายในโทรศัพท์มือถือ Android (แอป Google Voice) และส่งข้อความที่แปลงแล้วนี้เป็นลำดับผ่านบลูทู ธ
ตอนนี้เปิดแอปเสียง AMR ไปที่เมนูตัวเลือกและเชื่อมต่อกับโมดูลบลูทู ธโดยคลิกที่ 'Connect Robot':
ตอนนี้ผู้ใช้สามารถแตะที่สัญลักษณ์ไมค์บนหน้าจอมือถือและพูดคำสั่งเสียงที่กำหนดไว้ล่วงหน้าเพื่อใช้งานไฟ LED:
1. "ไฟสีน้ำเงินเปิด" (เฉพาะ LED สีน้ำเงินเปิด)
2. “ ปิดไฟสีน้ำเงิน” (ปิดเฉพาะ LED สีน้ำเงิน)
3. "ไฟสีแดงเปิด" (เฉพาะ LED สีแดงเปิด)
4. "ปิดไฟสีแดง" (ปิดไฟ LED สีแดงเท่านั้น)
5. "ไฟสีเขียวเปิด" (เฉพาะ LED สีเขียวเปิด)
6. “ ปิดไฟเขียว” (ปิดไฟ LED สีเขียวเท่านั้น)
7. “ ไฟทั้งหมดติด” (ไฟ LED สีน้ำเงินสีแดงและสีเขียวเปิดอยู่)
8. “ ปิดไฟทั้งหมด” (ไฟ LED สีน้ำเงินแดงและเขียวปิดอยู่)
9. “ กะพริบ” (ไฟ LED ทั้งหมดเริ่มกะพริบในช่วงเวลา 100 มิลลิวินาที)
แล้วapp เสียง AMR บันทึกเสียงนี้และส่งไปยังแอป Google Voice แปลงเป็นรูปแบบสตริงข้อความ ตอนนี้สตริงที่แปลงแล้วนี้จะถูกส่งไปยัง Raspberry Pi ผ่านโมดูลบลูทู ธ และ Raspberry Pi อ่านสตริงนี้จากพอร์ต UART และเก็บไว้ในสตริงในโค้ด จากนั้นเปรียบเทียบกับสตริงที่กำหนดไว้ล่วงหน้าหากมีการจับคู่เกิดขึ้น Raspberry Pi จะดำเนินการตามลำดับหรือดำเนินการ
คำอธิบายวงจร:
วงจรของโครงการนี้คือง่ายมากซึ่งมีราสเบอร์รี่ Pi 3 คณะกรรมการไฟ LED และ Bluetooth Module (HC-06) Raspberry Pi อ่านโมดูลบลูทู ธ และควบคุมไฟ LED ตามลำดับ LED สีน้ำเงินแดงและเขียวเชื่อมต่อที่ GPIO 17, 27 และ 22 Rx และ Tx ของโมดูลบลูทู ธ เชื่อมต่อโดยตรงกับพิน Tx และ Rx ของ Raspberry Pi การเชื่อมต่อที่เหลือจะแสดงในแผนภาพวงจร
การกำหนดค่า Raspberry Pi และโปรแกรม Python:
เรากำลังใช้ภาษา Pythonที่นี่สำหรับโปรแกรม ก่อนที่จะเข้ารหัสผู้ใช้ต้องกำหนดค่า Raspberry Pi คุณสามารถตรวจสอบบทช่วยสอนก่อนหน้าของเราสำหรับการเริ่มต้นใช้งาน Raspberry Pi และการติดตั้งและกำหนดค่า Raspbian Jessie OS ใน Pi
หลังจากนั้นคุณต้องเรียกใช้คำสั่งต่อไปนี้เพื่อเรียกใช้การอัปเดตล่าสุดบน Raspbian Jessie:
sudo apt-get update sudo apt-get upgrade
หลังจากนั้นเราจำเป็นต้องติดตั้งเครื่องมือพัฒนา Raspberry Pi GPIOสามารถติดตั้งได้โดยใช้คำสั่งต่อไปนี้:
sudo apt-get ติดตั้ง python-dev sudo apt-get install python-rpi.gpio
จากนั้นผู้ใช้ต้องกำหนดค่าพอร์ตอนุกรมของ Raspberry Pi ที่นี่เราใช้ Raspberry Pi 3 สำหรับโครงการนี้ ดังนั้นผู้ใช้ต้องกำหนดค่าพอร์ตอนุกรมตามเวอร์ชัน Raspberry Pi สำหรับ Raspberry Pi 3 ผู้ใช้รายแรกต้องปิดการเข้าสู่ระบบคอนโซลผ่านพอร์ตอนุกรมผ่าน RPi Software Configuration Tool เปิดโดยใช้คำสั่งด้านล่าง:
sudo raspi-config
จากนั้นไปที่ 'Advance Options' เลือก 'Serial' และ 'Disable'
หลังจากนี้เราจำเป็นต้องปิดใช้งานบลูทู ธ ในตัวของ Raspberry Pi 3โดยเพิ่ม dtoverlay = pi3-miniuart-bt ที่ท้าย ไฟล์ /boot/config.txt :
sudo nano /boot/config.txt
หลังจากเพิ่มบรรทัด รีบูต Raspberry Piโดยออกคำสั่ง sudo reboot
สุดท้ายเข้าสู่ระบบ Raspberry Pi อีกครั้งและกำหนดค่าไฟล์ /boot/comline.txt:
sudo nano /boot/comline.txt
และแก้ไขไฟล์ดังต่อไปนี้:
dwc_otg.lpm_enable = 0 console = tty1 console = serial0,115200 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = deadline fsck.repair = yes rootwait
ตอนนี้คุณสามารถเรียกใช้โปรแกรม Python ที่ระบุด้านล่างใน Raspberry Pi ได้แล้วและเสร็จสิ้น! โปรแกรมเป็นเรื่องง่ายและสามารถเข้าใจได้ง่าย
ที่นี่เราได้สร้างอุปกรณ์ที่ควบคุมด้วยเสียงโดยใช้ Raspberry Piเสร็จเรียบร้อยแล้ว คุณสามารถปรับปรุงเพิ่มเติมและปรับเปลี่ยนเพื่อควบคุมเครื่องใช้ไฟฟ้าภายในบ้านได้โดยเพิ่มรีเลย์