สารบัญ:

วิธีควบคุมเกมการประมวลผลอย่างง่ายด้วย Arduino: 6 ขั้นตอน
วิธีควบคุมเกมการประมวลผลอย่างง่ายด้วย Arduino: 6 ขั้นตอน

วีดีโอ: วิธีควบคุมเกมการประมวลผลอย่างง่ายด้วย Arduino: 6 ขั้นตอน

วีดีโอ: วิธีควบคุมเกมการประมวลผลอย่างง่ายด้วย Arduino: 6 ขั้นตอน
วีดีโอ: มาลองเล่น Arduino IoT Cloud ควบคุม LED ep.1 2024, พฤศจิกายน
Anonim
วิธีควบคุมเกมประมวลผลอย่างง่ายด้วย Arduino
วิธีควบคุมเกมประมวลผลอย่างง่ายด้วย Arduino
วิธีควบคุมเกมประมวลผลอย่างง่ายด้วย Arduino
วิธีควบคุมเกมประมวลผลอย่างง่ายด้วย Arduino

สวัสดีทุกคน ในคำแนะนำนี้ เราจะมาดูวิธีสร้าง "ลิงก์" ระหว่างแบบร่างการประมวลผลและการ์ด Arduino ในตัวอย่างนี้ โมดูลอัลตราโซนิกจะถูกนำมาใช้เพื่อควบคุมเครื่องบินในเกมง่ายๆ อีกครั้ง บทช่วยสอนนี้เป็นเพียงตัวอย่าง คุณอาจใช้เพื่อสร้างอย่างอื่น เกมอื่น หรือโครงการสนุก ๆ ! เพียงแค่ดูที่เซ็นเซอร์ประเภทต่างๆ ที่รองรับโดย Arduino แล้วลองนึกภาพว่าคุณสามารถสร้างโปรเจ็กต์ประเภทใด เป้าหมายของเกมนั้นง่ายมาก ควบคุมความสูงของเครื่องบิน และพยายามหลีกเลี่ยงก้อนเมฆ ความสูงของเครื่องบินทำได้ด้วยมือคุณเช่นเคย โปรดบอกฉันหากคุณพบข้อผิดพลาดภาษาอังกฤษ ! อย่าลังเลที่จะถามคำถาม

ขั้นตอนที่ 1: รายการวัสดุ

รายการวัสดุ
รายการวัสดุ

ตกลง คุณจะต้องมี:• การ์ด Arduino (UNO ในตัวอย่างนี้)• โมดูลการวัดแบบอัลตราโซนิก• สายเขียงหั่นขนม• ซอฟต์แวร์ Arduino ที่ติดตั้งบนคอมพิวเตอร์ (ลิงก์ที่นี่)• ซอฟต์แวร์ประมวลผล (ลิงก์ที่นี่)• Arduino และภาพร่างการประมวลผล (ดู ขั้นตอนถัดไป)

ขั้นตอนที่ 2: การเดินสายไฟ Arduino

การเดินสายไฟ Arduino
การเดินสายไฟ Arduino
การเดินสายไฟ Arduino
การเดินสายไฟ Arduino
การเดินสายไฟ Arduino
การเดินสายไฟ Arduino

ตกลง โปรดโหลดภาพร่างที่แนบมาลงใน Arduino IDE การเดินสายโมดูลอัลตราโซนิกทำได้ง่าย:

  • Vcc -> เป็น Arduino 5v
  • Trig -> ขา Arduino 3
  • เสียงสะท้อน -> ขา Arduino 2
  • GND -> เป็น Arduino GND

โมดูลนี้ทำงานอย่างไร ประกอบด้วยตัวส่งและตัวรับ Ultrasonics สองตัว (กระบอกสูบสีเทา) อิมิตเตอร์ส่งเสียงสั่นสะเทือน การสั่นจะกระดอนไปที่วัตถุที่ใกล้ที่สุด (มือของคุณ) และโมดูลรับสัญญาณ โดยการคำนวณเวลาระหว่างการปล่อยและการรับ โมดูลจะอนุมานระยะห่างระหว่างเขากับมือของคุณ ตรวจสอบการเดินสายและอัปโหลดรหัสบน Arduino จากนั้นเปิด Serial Monitor และเลื่อนมือของคุณเหนือโมดูล จอภาพซีเรียลควรแสดงรายการตัวเลข… ระยะห่างระหว่างเขากับคุณในหน่วยซม.ยังคงอยู่ในหน้าต่างนี้ รับหมายเลขพอร์ตซีเรียล ในกรณีของฉัน COM16 (ด้านล่างขวาของหน้าต่าง)

ขั้นตอนที่ 3: กำลังประมวลผลการกำหนดค่า

การกำหนดค่าการประมวลผล
การกำหนดค่าการประมวลผล
การกำหนดค่าการประมวลผล
การกำหนดค่าการประมวลผล

ตกลง เปิดการประมวลผล และเปิดไฟล์ zip ที่แนบมา ประกอบด้วยภาพร่างต้นฉบับและรูปภาพบางส่วน โปรดทิ้งไว้ในโฟลเดอร์เดียวกัน

ในรหัส ให้ตรวจสอบบรรทัดที่ 52 เราจะใส่หมายเลขพอร์ตอนุกรมของเราที่นี่

โอเค มันแปลก การประมวลผลไม่ทำงานโดยตรงกับหมายเลขพอร์ต COM แต่ใช้กับหมายเลขอื่น หากพอร์ตอนุกรมของคุณคือ 1 หมายเลขการประมวลผลคือ 0 COM 2 -> กำลังประมวลผลหมายเลข 1, … ในกรณีของฉัน COM16 คือหมายเลข 2 (ในกรณีที่มีปัญหา เพียงอัปโหลดและเรียกใช้แบบร่างที่แนบมา "serial_ports.pde" ในการประมวลผลเพื่อค้นหาพอร์ตอนุกรมที่มีอยู่)

เกมสเก็ตช์การประมวลผลจะได้รับข้อมูลอนุกรมที่ Arduino จัดเตรียมไว้ให้ และค่าต่างๆ จะถูกใช้เพื่อเคลื่อนย้ายเครื่องบิน

มันทำงานอย่างไร ?

การ์ด Arduino จะส่งข้อมูลก็ต่อเมื่อผู้เล่นขยับมือ ทันทีที่ได้รับข้อมูล กิจกรรมพิเศษในรหัสการประมวลผลจะเปิดใช้งาน:

ดังนั้นเมื่อผู้เล่นขยับมือ จะมีการส่งค่าระยะทางใหม่ ร่างการประมวลผลรับค่า ตรวจสอบช่วง และใช้ค่าใหม่กับตัวแปรความสูง ในขณะเดียวกัน เกมยังคงดำเนินต่อไป…

สำหรับปัญหาการดีบัก ระยะทางขาเข้าจะถูกพิมพ์ลงในคอนโซลการประมวลผล

ขั้นตอนที่ 4: เล่น

เล่น !
เล่น !
เล่น !
เล่น !

ตกลง ถ้าทุกอย่างเรียบร้อย ให้เลือก เรียกใช้ ในแถบเครื่องมือหลัก วางตัวปล่อยในแนวนอนบนโต๊ะ และวางมือของคุณที่ความสูงประมาณ 20 ซม. เพื่อเริ่มต้น เครื่องบินควรเคลื่อนที่เมื่อคุณขยับมือของคุณ… ค่าความสูงจะแสดงในคอนโซลการประมวลผล โปรดจำไว้ว่าเกมนี้เป็นเพียงตัวอย่าง คุณไม่สามารถแพ้หรือชนะ… (แต่ดูยากมาก ?) นั่นคือทั้งหมด วิธีที่ง่าย เพื่อใช้เซ็นเซอร์ Arduino ในการขับเคลื่อน ในกรณีนี้คือเกมที่เขียนในการประมวลผล แต่ลองนึกภาพว่าคุณสามารถทำอะไรกับเซ็นเซอร์อื่นๆ ได้บ้าง: มาตรความเร่ง (เมื่อนึกถึงเกม wiimote) ปุ่มดิจิตอล เซ็นเซอร์ไจโรสโคป เครื่องตรวจจับเสียง เซ็นเซอร์พายซโซ… คุณจะสร้างเกมประเภทใด ขอบคุณที่อ่าน!

UPDATE: ตรวจสอบขั้นตอนถัดไปใหม่เพื่อเรียนรู้วิธีแทนที่การวาดเครื่องบินด้วยรูปภาพที่สวยงาม

ขั้นตอนที่ 5: ขั้นตอนเพิ่มเติม: วิธีการเปลี่ยนเครื่องบินด้วยรูปภาพ

ขั้นตอนเพิ่มเติม: วิธีการเปลี่ยนเครื่องบินด้วยรูปภาพ
ขั้นตอนเพิ่มเติม: วิธีการเปลี่ยนเครื่องบินด้วยรูปภาพ

ฉันได้รับคำติชมมากมายเกี่ยวกับโครงการนี้ ขอบคุณทุกคน มีความสุขเสมอ

บางคนถามฉันถึงวิธีการเปลี่ยนโมเดลเครื่องบิน (น่าเกลียด) ด้วยรูปภาพ เช่น เมฆ (ใช่เลย รุ่นแรกไม่สวย…)

ในการแทนที่ด้วยรูปภาพ คุณเพียงแค่ต้องแทนที่พิกัดเส้นด้วยการโทรด้วยรูปภาพ ดังนั้นคุณต้องโหลดมันก่อน และตรวจสอบให้แน่ใจว่ารูปภาพนั้นแปลและหมุนได้ดี

ตรวจสอบไฟล์ ZIP ที่แนบมา ประกอบด้วยไฟล์โปรเจ็กต์ใหม่ พร้อมรูปภาพระนาบใหม่ คำอธิบายเพิ่มเติมอยู่ในโปรแกรม แค่ถามว่าคุณมีคำถามเพิ่มเติมหรือไม่

ขอบคุณที่อ่าน !!

ขั้นตอนที่ 6: ระบบคะแนน

ระบบคะแนน
ระบบคะแนน

UPDATE 07/12/15:

สวัสดีผู้อ่าน

หลายคนถามถึงวิธีการเพิ่มระบบให้คะแนนเมื่อคุณตีนก (ค่อนข้างรุนแรงนะ ?)

วิธีง่ายๆ ในการบรรลุเป้าหมายนี้คือการคำนวณระยะห่างระหว่างเครื่องบินกับนก เมื่อระยะทางนี้ต่ำกว่าค่าที่กำหนด (40 พิกเซลในรหัสของฉัน) คะแนนจะเพิ่มขึ้นหนึ่งคะแนนและตำแหน่งนกจะถูกรีเซ็ตไปทางด้านขวาของหน้าจอ

คะแนนจะแสดงบนหน้าจอด้วย

ข้อเสียอย่างเดียวของวิธีนี้คือไม่ดูแลตำแหน่งเครื่องบินจริงๆ แต่มันใช้งานได้

หากคุณต้องการอะไรที่หนักกว่านี้ แค่ลดระยะห่างเกณฑ์ ลองใช้ 20 พิกเซล

ตรวจสอบรหัสที่แนบมา แตกไฟล์และเก็บรูปภาพไว้ในโฟลเดอร์เดียวกัน

แนะนำ: