สารบัญ:

Arduino Video Game Controller: 4 ขั้นตอน
Arduino Video Game Controller: 4 ขั้นตอน

วีดีโอ: Arduino Video Game Controller: 4 ขั้นตอน

วีดีโอ: Arduino Video Game Controller: 4 ขั้นตอน
วีดีโอ: วิธีใช้งาน PS2 joystick ไร้สาย กับ Arduino 2024, กรกฎาคม
Anonim
Arduino Video Game Controller
Arduino Video Game Controller

คุณมีชุด Arduino วางอยู่รอบ ๆ แต่ไม่รู้ว่าจะทำอย่างไรกับมัน? อาจไม่ใช่ แต่ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นทีละขั้นตอนถึงวิธีการสร้าง โค้ด และรวม Arduino เข้ากับโครงการของคุณ ในขณะนี้ คู่มือนี้ทดสอบกับ Clickteam Fusion Developer 2.5 เท่านั้น แต่สามารถใช้ขั้นตอนโค้ด build และ Arduino ได้ในระดับสากล คู่มือนี้อาจได้รับการอัปเดตสำหรับ Unreal และ Unity ในอนาคต

ขั้นตอนที่ 1: รายการช้อปปิ้ง

  • Arduino Uno หรือใกล้เคียง
  • สาย USB
  • (400 คะแนน) Breadboard หรือ 1 x perf/strip board
  • สายไฟที่เข้ากันได้กับ Arduino
  • เซนเซอร์ต่างๆ ฉันใช้สิ่งต่อไปนี้ในโครงการตัวอย่างของฉัน:
  • แผงเมาท์โพเทนชิออมิเตอร์ 10K เขียงหั่นขนมที่เป็นมิตร
  • โฟโตรีซีสเตอร์
  • ตัวต้านทานที่ไวต่อแรงกด

ขั้นตอนที่ 2: การเชื่อมต่อ

การเชื่อมต่อ
การเชื่อมต่อ

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

ขั้นตอนที่ 3: รหัส Arduino

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

// สิ่งเหล่านี้ถูกตั้งค่าไว้ที่จุดเริ่มต้นและไม่เปลี่ยนแปลงเมื่อโปรแกรมกำลังทำงาน เช่นเดียวกับที่ ANALOG IN พินใช้

const int potPin = A0; const int fsrAnalogPin = 5; const int photocellPin = 2; //ตัวแปร: //LIGHT SENSOR: //ตัวแปรปริมาณแสง: int photocellReading; //POTENTIOMETER //ค่าของค่า int ของโพเทนชิออมิเตอร์ //PRESSURE SENSOR //นี่คือตัวแปรข้อมูลดิบจากเซ็นเซอร์ความดัน int fsrReading; //เวอร์ชันที่แมปของแรงดัน int ตัวแปร fsrReading; การตั้งค่าเป็นโมฆะ () { // ใส่รหัสการตั้งค่าของคุณที่นี่เพื่อเรียกใช้ครั้งเดียว: pinMode (potPin, INPUT); Serial.begin(9600); } void loop() { // PRESSURE SENSOR // ที่นี่เราใช้ fsrAnalogPin ที่ระบุเพื่ออ่านข้อมูลจากพินนั้น fsrReading = analogRead (fsrAnalogPin); // ค่าแผนที่ 0-1023 ถึง 0-255 ความดัน = แผนที่(fsrReading, 0, 1023, 0, 255); //ตรวจสอบว่าแรงดันต่ำกว่าหรือเกินจำนวนที่กำหนดหรือไม่ พิมพ์ค่าใดค่าหนึ่งจากสองค่านี้ ตัวแปรที่พิมพ์ออกมานี้ใช้ในภายหลังในเอ็นจิ้นเกม ถ้า (ความดัน 70) { Serial.print ("6"); } // ค่าโพเทนชิโอมิเตอร์ = analogRead (potPin); // อ่านและบันทึกค่าแอนะล็อกจากค่าโพเทนชิออมิเตอร์ = แผนที่ (ค่า 0, 1023, 0, 360); // ค่าแผนที่ 0-1023 ถึง 0-360 // ที่นี่เราแบ่ง 360 ออกเป็นหกส่วนที่แตกต่างกัน //คุณสามารถเปลี่ยนจำนวนเซ็กเมนต์เป็นจำนวนที่สูงขึ้นได้ แต่ละส่วนจะมีช่วงที่เล็กกว่า ตัวอย่างเช่น 8 เซ็กเมนต์จะมีช่วงละ 45 (360 / จำนวนเซ็กเมนต์) //หากค่าปัจจุบันอยู่ในเซ็กเมนต์ มันจะพิมพ์ชื่อของกลุ่มนั้น ถ้า (ค่า 60 และค่า 120 และค่า 180 และค่า 240 และค่า 300 และค่า < 375) Serial.print("Six"); // LIGHT SENSOR // ที่นี่เราอ่านและตั้งค่าตัวแปรอีกครั้ง ในกรณีนี้ photocellReading photocellReading = analogRead (ตาแมวพิน); //เราตรวจสอบปริมาณของแสง โดยพิมพ์ที่มืดและมืดมากเป็น 3 และพิมพ์ค่าแสงปกติ 4. if (photocellReading < 10) { Serial.println(" - 3"); } else if (photocellReading < 200) { Serial.println(" - 3 -"); } else if (photocellReading < 500) { Serial.println(" - 4 -"); } // ตัวเลขใน Serial: // ตัวเลขแรกคือเซ็นเซอร์ความดัน 5 ไม่ได้กดและ 6 ถูกกด //หลังจากนั้นเป็นส่วนที่โพเทนชิออมิเตอร์เปิดอยู่ //และตัวเลขสุดท้ายอาจเป็น 3 = มืด หรือ 4 = สว่าง

ขั้นตอนที่ 4: ใน Game Engine: คลิก Team 2.5

ใน Extension Manager ค้นหา Serial Object และติดตั้งสิ่งนี้

วาง Serial Object ตัวนับ และสตริงลงในเฟรมของคุณ (คลิกขวาในกรอบ - แทรกวัตถุ)

ในตัวแก้ไขเหตุการณ์ สร้างเหตุการณ์: หากข้อมูลกำลังรอ: ตั้งค่าสตริงที่ปรับเปลี่ยนได้เป็น GetData("Serial Object")

การดำเนินการนี้จะตั้งค่าสตริงเป็นข้อมูลที่ส่งโดย Arduino ตอนนี้สตริงควรมีลักษณะคล้ายกับ Serial Monitor

สร้างเหตุการณ์อื่นเสมอ: ตั้งค่าตัวนับเป็น: Find(string$("String"), "4", 0)

ตัวอย่างนี้จะพยายามหา 4 ซึ่งเท่ากับแสงที่สามารถเห็นได้ในรหัส Arduino

หากพบ 4 จะตั้งค่าตัวนับเป็น 4 หากไม่พบ 4 ตัวนับจะเป็น -1

ตอนนี้คุณสามารถเพิ่มกิจกรรมใหม่เพื่อทำบางสิ่งกับผลลัพธ์นี้:

ถ้าตัวนับ = -1: คุณสามารถใส่สิ่งที่ควรเกิดขึ้นได้หากเป็นเท็จ เช่น การปิดแอนิเมชั่นของหลอดไฟ

หากตัวนับ = -1: หมายความว่าพบตัวแปรแล้วและตัวนับได้รับการตั้งค่าเป็นตัวแปรใดก็ตามที่อาจเป็น (ตราบใดที่ไม่ใช่ -1) คุณสามารถสร้างมันขึ้นมาเพื่อให้แอนิเมชั่นหลอดไฟสลับเป็นเปิดได้

โดยพื้นฐานแล้วโดยใช้ตัวนับที่ตั้งค่าเป็น -1 ซึ่งเป็นเท็จหรือ -1 ซึ่งเป็นจริง คุณสามารถทำให้เหตุการณ์เกิดขึ้นได้

แนะนำ: