- ข้อกำหนดเบื้องต้น:
- การติดตั้ง VPython บนคอมพิวเตอร์ของคุณ:
- การเขียนโปรแกรม VPython:
- เตรียม Arduino ของคุณให้พร้อม:
- การทำงาน:
ในบทช่วยสอนก่อนหน้านี้เราได้เรียนรู้วิธีการติดตั้ง python บนเครื่อง windows ของเราและวิธีเชื่อมต่อ Arduino กับ python โดยใช้โครงการควบคุม LED อย่างง่าย หากคุณยังใหม่ฉันขอแนะนำอย่างยิ่งให้คุณย้อนกลับไปที่บทช่วยสอนก่อนหน้าเนื่องจากบทช่วยสอนนี้เป็นเนื้อหาที่ต่อเนื่องกัน
คุณอาจเริ่มสงสัยแล้วว่าทำไมเราถึงต้องใช้ python กับ Arduino หากสิ่งที่ทำได้ก็เพียงแค่สื่อสารผ่านพอร์ตอนุกรม แต่ Python เป็นแพลตฟอร์มการพัฒนาที่แข็งแกร่งซึ่งมีแอปพลิเคชั่นเจ๋ง ๆ มากมายที่สามารถผสานรวมการเรียนรู้ของเครื่องคอมพิวเตอร์วิชั่นและอื่น ๆ อีกมากมาย ในการกวดวิชานี้เราจะได้เรียนรู้วิธีการ ที่เราสามารถสร้างการเชื่อมต่อแบบกราฟิกขนาดเล็กที่ใช้งูหลามการทำเช่นนี้เราจะต้องเรียกว่าโมดูลVpythonบทช่วยสอนต่อไปนี้ใช้ได้เฉพาะกับผู้ใช้ windows เนื่องจากสำหรับผู้ใช้ Mac หรือ Linux ขั้นตอนจะแตกต่างกัน
ในตอนท้ายของการกวดวิชานี้เราจะได้เรียนรู้วิธีการที่เราสามารถสร้าง GUI ง่ายใช้งูหลาม เราจะสร้างแอนิเมชั่นขนาดเล็กที่ตอบสนองต่อค่าของเซ็นเซอร์อัลตราโซนิกที่ติดอยู่กับ Arduino โปรแกรมนี้จะติดตามวัตถุโดยใช้อัลตราโซนิกเซ็นเซอร์และการแสดงในรูปแบบกราฟิกบนเครื่องคอมพิวเตอร์โดยใช้ VPython ในขณะที่เราเคลื่อนย้ายวัตถุ Ultrasonic sensor จะตรวจจับระยะทางและส่งข้อมูลนี้ไปยังโปรแกรม Python โดยใช้ Arduino และจะย้ายวัตถุในคอมพิวเตอร์ด้วย ฟังดูน่าสนใจ! เริ่มกันเลย…
ข้อกำหนดเบื้องต้น:
- Arduino (ทุกรุ่น)
- อัลตราโซนิกเซนเซอร์ HC-SR04
- การเชื่อมต่อสายไฟ
- คอมพิวเตอร์ที่มี Python
- ความรู้เกี่ยวกับบทช่วยสอนก่อนหน้านี้
การติดตั้ง VPython บนคอมพิวเตอร์ของคุณ:
ในบทช่วยสอนก่อนหน้านี้เราได้เรียนรู้วิธีการติดตั้ง python บนเครื่องของคุณและวิธีการเคลื่อนย้ายและสร้างโปรแกรมง่ายๆด้วย Arduino ตอนนี้เรามีติดตั้ง Visual หลาม (VPython)บนนี้เพื่อให้เราสามารถสร้างเย็นกราฟิกโดยใช้ Python สำหรับ Arduino สำหรับขั้นตอนง่ายๆด้านล่างเพื่อเริ่มต้นกับ VPython
ขั้นตอนที่ 1. ตรวจสอบให้แน่ใจว่าได้ติดตั้ง Python แล้วตามแนวทางการสอนก่อนหน้านี้
ขั้นตอนที่ 2.คลิกที่ VPython เพื่อดาวน์โหลดไฟล์ exe สำหรับ Visual Python อย่าเลือกติดตั้งเวอร์ชัน 64 บิตแม้ว่าเครื่องของคุณจะทำงานบน 64 บิตก็ตาม เพียงทำตามลิงค์ที่ให้มา
ขั้นตอนที่ 3. เปิดไฟล์ exe และทำตามการตั้งค่า อย่าเปลี่ยนเส้นทางไดเรกทอรีเริ่มต้นและตรวจสอบให้แน่ใจว่าคุณได้เลือก“ การติดตั้งแบบสมบูรณ์”
ขั้นตอนที่ 4. เมื่อติดตั้งแล้วคุณจะพบแอปพลิเคชันใหม่ชื่อ“ VIDLE (VPython)” บนเดสก์ท็อปหรือแผงแอปพลิเคชันดังที่แสดงด้านล่าง
ขั้นตอนที่ 5. เปิดแอปพลิเคชั่นและคุณจะได้รับหน้าต่างดังที่แสดงด้านล่าง
ขั้นตอนที่ 6. นี่คือหน้าต่างที่เราจะพิมพ์ลงในโปรแกรมสำหรับ VPython แต่สำหรับตอนนี้ให้เราตรวจสอบว่า Vpython คือการทำงานโดยการเปิดโปรแกรมตัวอย่างในการดำเนินการนี้ให้เลือก File-> Open-> Bounce
ขั้นตอนที่ 7. คุณควรเปิดโปรแกรมตัวอย่าง ลองเปิดตัวโปรแกรมโดยใช้ Run -> Run โมดูล หากทุกอย่างทำงานตามที่คาดไว้คุณจะได้รับหน้าจอต่อไปนี้
คุณควรเห็นหน้าต่างเชลล์ (ซ้าย) พร้อม >>> สองอันแสดงถึงการรวบรวมที่สำเร็จและหน้าต่างจริง (ด้านหน้า) ซึ่งแสดงการกระดอนของลูกบอล
ขั้นตอนที่ 8.คุณยังสามารถลองใช้โปรแกรมตัวอย่างอื่น ๆ เพื่อค้นหาพลังของ VPython เช่นโปรแกรมตัวอย่างที่เรียกว่า "มอเตอร์ไฟฟ้า" จะทำให้คุณประหลาดใจในหน้าจอต่อไปนี้
ขั้นตอนที่ 9.หมายความว่า VPython ของคุณพร้อมใช้งานแล้วและคุณสามารถเข้าสู่หัวข้อ“ การเขียนโปรแกรม Vpython ของคุณ ” ได้
ขั้นตอนที่ 10. หากคุณเป็นเหมือนหนึ่งในหลาย ๆ คนที่ได้รับ “ numpy Error” อย่าเพิ่งหมดหวังเราจะจัดการปัญหานั้นในขั้นตอนต่อไป
ขั้นตอนที่ 11. เปิด คอมพิวเตอร์ของฉัน -> ไดรฟ์ C -> งูหลาม 27 -> สคริป -> local.bat เพื่อเปิดพรอมต์คำสั่งดังที่แสดงด้านล่าง
ขั้นตอนที่ 12. ตอนนี้พิมพ์ “ pip install --upgrade numpy” แล้วกด Enter ควรติดตั้ง Numpy เวอร์ชันใหม่ในเครื่องของคุณ คุณอาจต้องรอสักครู่หากการเชื่อมต่ออินเทอร์เน็ตของคุณช้า
ขั้นตอนที่ 13. เมื่อทำเสร็จแล้วคุณสามารถย้อนกลับไปที่ขั้นตอนที่ 4 และลองใช้โปรแกรมตัวอย่างและคุณควรจะสามารถใช้งานได้
การเขียนโปรแกรม VPython:
ต่อไปเราจะเริ่มเขียนโปรแกรมในหน้าต่าง VPython ของเรา ในโปรแกรมนี้เราจะสร้างวัตถุทรงสี่เหลี่ยม 3 มิติสองชิ้นชิ้นหนึ่งจะถูกวางไว้ตรงกลางของหน้าจอโดยอ้างอิงไปยังเซ็นเซอร์อัลตราโซนิกที่อยู่กับที่และอีกชิ้นจะอยู่ในตำแหน่งแบบไดนามิกตามระยะห่างระหว่างเซ็นเซอร์ของสหรัฐอเมริกากับวัตถุ (กระดาษ)
รหัสหลามที่สมบูรณ์สามารถพบได้ในตอนท้ายของหน้านี้ นอกจากนี้ฉันได้อธิบายรหัสหลามนี้โดยแยกเป็นเรือสำเภาขนาดเล็กที่มีความหมาย
บรรทัดแรกคือการนำเข้า Visual Libraryเพื่อให้เราสามารถสร้างวัตถุ 3 มิติได้ บรรทัดด้านล่างทำเช่นเดียวกัน
จากการนำเข้าภาพ *
คุณควรคุ้นเคยกับสี่บรรทัดถัดไปเนื่องจากเราได้ใช้ไปแล้วในบทช่วยสอนก่อนหน้านี้ ใช้เพื่อนำเข้าไลบรารีอนุกรมและเวลาและสร้างการเชื่อมต่อแบบอนุกรมกับ Arduino ที่ COM18 ด้วย 9600 เป็น baudrate
นำเข้า # อนุกรมนำเข้าสำหรับเวลานำเข้าการสื่อสารแบบอนุกรม # ต้องใช้ฟังก์ชันหน่วงเวลา ArduinoSerial = serial.Serial ('com18', 9600) # สร้างวัตถุพอร์ตอนุกรมที่เรียกว่า arduinoSerialData time.sleep (2) # รอ 2 วินาทีสำหรับการสื่อสาร ได้รับการจัดตั้ง
ตอนนี้ได้เวลาสร้างวัตถุ ผมได้สร้างรูปสี่เหลี่ยมสอง 3d ชื่อเป็น obj และผนัง walll เป็นกำแพงนิ่งสีฟ้าอยู่ที่ศูนย์กลางของหน้าจอและ obj เป็นวัตถุที่สามารถเคลื่อนย้ายในสีขาว ฉันได้วางข้อความ“ เซ็นเซอร์ของสหรัฐฯ” ไว้ใกล้กับวัตถุบนผนังด้วย
obj = box (pos = (- 5,0,0), size = (0.1,4,4), color = color.white) wallL = box (pos = (- 1,0,0), size = (0.2, 12,12), color = color.cyan) text (text = 'US sensor', แกน = (0,1,0), pos = (- 2, -6,0), ความลึก = -0.3, color = color.cyan)
ฉันแน่ใจว่าสามบรรทัดข้างต้นจะปรากฏเป็นภาษากรีกและละตินสำหรับผู้อ่านครั้งแรกส่วนใหญ่ แต่เมื่อเวลาผ่านไปคุณจะสามารถเข้าใจได้ ทุกสิ่งที่กล่าวถึงในวงเล็บคือพิกัด (x, y, z) และพิกัดเหล่านี้คล้ายกับที่เราพบในชั้นเรียนเรขาคณิตของโรงเรียนมัธยมดังที่แสดงด้านล่าง
ตอนนี้กราฟิกและพอร์ตอนุกรมพร้อมแล้วสิ่งที่เราต้องทำคืออ่านข้อมูลและวาง "obj" (สี่เหลี่ยมผืนผ้าสีขาว) ในตำแหน่งตามข้อมูลที่มาจาก Arduino สามารถทำได้โดยบรรทัดต่อไปนี้โดยที่ obj.pos.x ควบคุมตำแหน่งพิกัด X ของวัตถุ (สี่เหลี่ยมผืนผ้าสีขาว)
t = int (ArduinoSerial.readline ()) # อ่านข้อมูลอนุกรมและพิมพ์เป็นบรรทัด t = t * 0.05 obj.pos.x = t
เตรียม Arduino ของคุณให้พร้อม:
สคริปต์ Python พร้อมที่จะรับฟังค่าจากพอร์ต COM และทำให้กราฟิกเคลื่อนไหวตามนั้น แต่ Arduino ของเรายังไม่พร้อม ก่อนอื่นเราต้องเชื่อมต่อเซ็นเซอร์อัลตราโซนิกกับ Arduino ตามแผนภาพวงจรต่อไปนี้ หากคุณยังใหม่กับเซ็นเซอร์ของสหรัฐอเมริกาและ Arduino อย่างสมบูรณ์คุณต้องถอยกลับไปที่บทช่วยสอนการวัดระยะทาง Arduino และเซ็นเซอร์อัลตราโซนิก
จากนั้นอัปโหลดโปรแกรม Arduino ที่ให้ไว้ในตอนท้ายของหน้านี้ โปรแกรมอธิบายด้วยตนเองโดยใช้บรรทัดความคิดเห็น เรารู้ว่าเซ็นเซอร์อัลตราโซนิกทำงานโดยการคำนวณเวลาที่พัลส์กระทบวัตถุและย้อนกลับ ค่านี้คำนวณโดยใช้ฟังก์ชัน PulseIn ใน Arduino หลังจากนั้นเวลาที่ถ่ายจะถูกแปลงเป็นระยะทางโดยใช้บรรทัดด้านล่าง
ระยะ = (Timetaken / 2) / 2.91;
ที่นี่ระยะทางคำนวณเป็นมิลลิเมตร (มม.)
การทำงาน:
การทำงานของโครงการเป็นเรื่องง่าย เปิดโปรแกรม Python และวางวัตถุก่อนเซ็นเซอร์ US ดังที่แสดงด้านล่าง:
ตอนนี้เปิดโปรแกรม python และคุณจะสังเกตเห็นว่าสี่เหลี่ยมผืนผ้าสีขาวเคลื่อนที่ไปพร้อมกับกระดาษของคุณระยะห่างระหว่างกระดาษและเซ็นเซอร์ของคุณจะปรากฏในหน้าต่างเชลล์ตามที่แสดงในภาพด้านล่าง
นี่คือวิธีที่เราสามารถติดตามการเคลื่อนไหวของวัตถุที่ใช้เซ็นเซอร์อัลตราโซนิกและ Python กับ Arduino
หวังว่าคุณจะเข้าใจโครงการและสนุกกับการสร้าง นี่เป็นเพียงขั้นตอนหนึ่งที่ละเอียดอ่อนสำหรับ python แต่คุณสามารถสร้างสิ่งที่สร้างสรรค์ได้มากขึ้นโดยใช้สิ่งนี้ หากคุณมีความคิดว่าจะสร้างอะไรจากโพสต์นี้ในส่วนความคิดเห็นและใช้ฟอรัมเพื่อขอความช่วยเหลือด้านเทคนิค พบกันใหม่กับโปรเจ็กต์หลามที่น่าสนใจ