สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
สวัสดี!
ทุกวันนี้ คุณแทบจะไม่ต้องเซอร์ไพรส์ใครเลยด้วยโทรศัพท์มือถือที่มีกล้อง อุปกรณ์ไร้สาย และความก้าวหน้าทางเทคนิคอื่นๆ ด้วยแพลตฟอร์ม Arduino ผู้คนนับล้านได้ค้นพบโลกมหัศจรรย์ของอุปกรณ์อิเล็กทรอนิกส์และการเขียนโปรแกรม มีการเขียนคำแนะนำ 100, 500 รายการเกี่ยวกับวิธีการแลกเปลี่ยนข้อมูลระหว่างโทรศัพท์มือถือกับ Arduino ผ่านบลูทูธ … ฉันกำลังพูดถึงอะไร ใช่. ฉันต้องการแลกเปลี่ยนข้อมูลระหว่างโทรศัพท์มือถือบน Android และ Arduino UNO ผ่านบลูทูธ 100, 501 ครั้ง แต่ฉันต้องการส่งไม่ใช่แค่ชุดของตัวอักษรและตัวเลขเท่านั้น แต่รวมถึงรูปภาพด้วย
บางคนอาจจะบอกว่าเป็นไปไม่ได้ Arduino ช้าเกินไปที่จะประมวลผลข้อมูลจำนวนมากด้วยความเร็วที่ดี และเขาจะถูกต้องอย่างแน่นอน แล้วถ้า Arduino ช่วยได้เล็กน้อยในการถ่ายโอนงาน "ยาก" ทั้งหมดบนไหล่ของอุปกรณ์อื่น ๆ ล่ะ? และมีอุปกรณ์ดังกล่าว!
นี่คือแผงป้องกัน TFT ที่ไม่เหมือนใครสำหรับ Arduino ข้อมูลเกี่ยวกับโลโก้นี้อยู่ในบทความเหล่านี้: บทความ 1 บทความ 2 ในคำแนะนำนี้ ฉันจะสาธิตวิธีการเชื่อมต่อผ่านบลูทูธระหว่างโทรศัพท์ Arduino และ Android รับรูปภาพจากกล้อง OV7670 บน Arduino UNO และโอนไปยังโทรศัพท์ Android. จากนั้นโอนรูปภาพ (ภาพจากกล้อง) จากโทรศัพท์ Android ไปยัง Arduino UNO และแสดงบนหน้าจอของ TFT shield ที่ไม่เหมือนใคร
แอปพลิเคชันพิเศษถูกเขียนขึ้นสำหรับโทรศัพท์ Android
ลักษณะโดยย่อของแผงป้องกัน TFT:
- ขนาด 3.5" เส้นทแยงมุม,
- ความละเอียด 320x240,
- จำนวนสี 65536 (16 บิต)
- หน้าจอสัมผัสแบบ Resistive (คอนโทรลเลอร์ XPT2046),
- 5 ปุ่ม,
- RTC IC DS1307 พร้อมแบตเตอรี่ลิเธียม 3V CR1220,
- ช่องสำหรับเชื่อมต่อการ์ด micro SD,
- ขั้วต่อ 4 ขา (2.54 มม.) สำหรับเชื่อมต่อโมดูล Bluetooth HC-05 (-06), โมดูล ESP8286 WiFi
- ขั้วต่อ 20 พิน (2.54 มม.) สำหรับกล้อง (OV7670)
ขั้นตอนที่ 1: รายการส่วนประกอบที่จำเป็น
ฮาร์ดแวร์:
- Arduino UNO;
- โล่ TFT ที่ไม่เหมือนใคร
- อะแดปเตอร์ไฟ AC-DC 6-12 โวลต์, >600mA;
- กล้อง OV7670;
- โมดูลบลูทูธ HC-06 (HC-05);
- โทรศัพท์แอนดรอยด์
ข้อควรสนใจ: จำเป็น (!) ในการใช้อะแดปเตอร์จ่ายไฟขนาด 6-12 โวลต์เพื่อใช้งานแผงป้องกัน TFT เนื่องจากกระแสไฟสูงสุด 500 mA จาก USB ไม่เพียงพอสำหรับการทำงานปกติ
ซอฟต์แวร์:
- Arduino IDE;
- ห้องสมุดสำหรับโล่ TFT ที่ไม่ซ้ำใคร;
- ไฟล์ APK สำหรับโทรศัพท์ Android
ขั้นตอนที่ 2: การเตรียม
ซอฟต์แวร์
ภาพสเก็ตช์สาธิตทั้งหมดเขียนขึ้นในสภาพแวดล้อม Arduino IDE ดังนั้นในตอนเริ่มต้น จำเป็นต้องติดตั้ง Arduino IDE - https://www.arduino.cc/en/main/software จากนั้นคุณจะต้องติดตั้งไลบรารี่สำหรับแผงป้องกัน TFT - github.com/YATFT/YATFT (ดาวน์โหลดไลบรารี่แล้วแตกไฟล์ลงในโฟลเดอร์ "libraries" ในไดเร็กทอรี Arduino IDE)
หลังจากติดตั้ง Arduino IDE คุณต้องตั้งโปรแกรมบอร์ด Arduino UNO เพื่อความง่าย ฉันแนะนำให้กะพริบแยกกัน โดยไม่ต้องใช้แผงป้องกัน TFT สำหรับสิ่งนี้:
- ต่อสาย USB เข้ากับบอร์ด Arduino UNO;
- เรียกใช้ Arduino IDE บนคอมพิวเตอร์
- เลือกพอร์ตที่เกี่ยวข้องซึ่งเชื่อมต่อกับ Arduino UNO
- ดาวน์โหลดร่างสาธิต ArduinoBluetoothCamera.ino (และไฟล์ ov7670_regs.h สำหรับการเริ่มต้นกล้อง);
- คลิกปุ่มอัปโหลด
หากตั้งโปรแกรมบอร์ด Arduino UNO สำเร็จแล้ว คุณสามารถไปยังขั้นตอนถัดไปได้
Android
บนโทรศัพท์ Android คุณต้องติดตั้ง ArduinoTFT.apk อนุญาตให้แอปใช้บลูทูธและกล้องถ่ายรูป
อัพเดท 2020-25-07 (ขอบคุณ fano13250)
สวัสดี ฉันมีปัญหาเดียวกันกับแอป Android ซึ่งใช้งานไม่ได้ แก้ไขหลังจากอนุญาตให้แอปเข้าถึงที่กล้องสมาร์ทโฟน แค่นั้นแหละ. ลาก่อน
โมดูลบลูทูธ
จำเป็นต้องตั้งค่าอัตราแลกเปลี่ยนในโมดูล Bluetooth เป็น 115200 (คำสั่ง "AT+UART=115200, 0, 0") นี่คือความเร็วที่เหมาะสมที่สุดที่ Arduino UNO จัดการเพื่อรับและประมวลผลข้อมูล (ในทางทฤษฎี คุณสามารถเพิ่มความเร็ว ปรับการรับและประมวลผลข้อมูลให้เหมาะสม แต่ต้องใช้ RAM จำนวนมากขึ้น) คำแนะนำโดยละเอียดเพิ่มเติมเกี่ยวกับวิธีตั้งค่าอัตราแลกเปลี่ยนมีอยู่ในอินเทอร์เน็ต เช่น https:/ /www.instructables.com/id/Communication-Bluetooth-Module-With-HC-05-HC-06/
(!) โปรดทราบว่าโมดูล Bluetooth เชื่อมต่อกับพอร์ตดีบักของ Arduino UNO ดังนั้น เมื่อทำงานกับบลูทูธ พอร์ตดีบักจะไม่พร้อมใช้งาน และก่อนที่จะตั้งโปรแกรม Arduino UNO (พร้อมโมดูล Bluetooth) จะต้องถอดโมดูล Bluetooth ออก และหลังจากตั้งโปรแกรมแล้ว ให้ตั้งค่ากลับ (!)
อัพเดท 2020-26-05
ฉันเพิ่มซอร์สโค้ดของ ArduinoTFT.apk อย่างที่เป็น! ดาวน์โหลด ArduinoTFT.zip.h เปลี่ยนชื่อเป็น ArduinoTFT.zip และเปิดเครื่องรูด สนุก!
ขั้นตอนที่ 3: การประกอบ
การประกอบอุปกรณ์ค่อนข้างง่าย:
- เชื่อมต่อ Arduino UNO และ TFT-shield เข้าด้วยกัน
- เชื่อมต่อกล้อง OV7670 กับขั้วต่อ 20 พินบนแผงป้องกัน TFT ของแผงป้องกัน (บางครั้ง ฉันใช้ขั้วต่อแบบ 18-20 พินที่ทำมุมโดยมีระยะพิทช์ 2.54 มม. เป็นอะแดปเตอร์)
- เชื่อมต่อโมดูล Bluetooth HC-06 (HC-05) กับขั้วต่อ 4 พินด้วยคำว่า "Bluetooth" บน TFT-shield
- เชื่อมต่ออะแดปเตอร์ไฟ 6-12V เข้ากับอินพุตพลังงานบนบอร์ด Arduino UNO
หลังจากเปิดเครื่องแล้ว หน้าจอของแผงป้องกัน TFT ควรเปลี่ยนเป็นสีแดง นี่หมายถึงความเต็มใจที่จะรับคำสั่งจากโทรศัพท์ Android
ขั้นตอนที่ 4: การสาธิต
ดำเนินการต่อไปนี้บนโทรศัพท์ Android:
- เปิดแอปพลิเคชั่น ArduinoTFT บนโทรศัพท์ Android
- หมุนโทรศัพท์ในแนวนอน
- เปิดใช้งานการเชื่อมต่อ Bluetooth เลือกโมดูล Bluetooth ที่ตรวจพบ (HC-06);
สองหน้าต่างและสี่ปุ่มควรปรากฏบนหน้าจอ:
- หน้าต่างด้านบนขวาเป็นหน้าต่างช่องมองภาพกล้องของโทรศัพท์
- หน้าต่างด้านซ้ายขนาดใหญ่ - รับหรือส่งรูปภาพ
ฟังก์ชั่นปุ่ม:
- ถ่ายโอนภาพเดียวจากโทรศัพท์ Android ไปยัง Arduino;
- ถ่ายโอนรูปภาพจากโทรศัพท์ Android ไปยัง Arduino อย่างต่อเนื่อง
- ถ่ายโอนภาพเดียวจาก Arduino ไปยังโทรศัพท์ Android
- ถ่ายโอนรูปภาพอย่างต่อเนื่องจาก Arduino ไปยังโทรศัพท์ Android
ขนาดภาพ 320x240 พิกเซล (2-5 kB) บทนี้มีวิดีโอสาธิต
ถ้าคุณชอบการสอนของฉัน ฉันจะขอบคุณการประเมิน บางทีนี่อาจเป็นแรงบันดาลใจให้ฉันได้เรียนรู้คำสั่งใหม่:-)
ขอบคุณที่ให้ความสนใจ!
อัปเดต 31.03.2021:
สวัสดีอีกครั้ง! มีไลบรารีที่อัปเดตสำหรับชุดหน้าจอต่างๆ ซึ่งปัจจุบันประกอบด้วยแผงป้องกันสองตัวและกระดานฝ่าวงล้อมสองแผง ร่างภาพจะถูกรวบรวมขึ้นอยู่กับเวอร์ชันที่เลือก (ตั้งแต่ 1 ถึง 4) และประเภทของไมโครคอนโทรลเลอร์ (MegaAVR หรือ ESP-32) เพิ่มรูปภาพตัวอย่าง ข้อมูลเพิ่มเติมสามารถพบได้ใน