คอนโทรลเลอร์ USB NES พร้อม Arduino!: 6 ขั้นตอน (พร้อมรูปภาพ)
คอนโทรลเลอร์ USB NES พร้อม Arduino!: 6 ขั้นตอน (พร้อมรูปภาพ)
Anonim

UPDATE 22-12-2014Instructables ผู้ใช้ mattpbooth ได้อัปเดตรหัสและโฮสต์บน github:

github.com/mattpbooth/ArduinoNESController…

ขอบคุณแมตต์!

UPDATE 03-12-2011

แทนที่ println ด้วย print (derp)

UPDATE 01-12-2011

สร้างรหัสใหม่ทั้งหมดตั้งแต่เริ่มต้น

Remade 'ส่วนรหัส ible; ขณะนี้มี 'การประมวลผลการกำหนดค่าพอร์ต COM สำหรับหุ่น'

ท่านสุภาพบุรุษและสุภาพสตรี ฉันภูมิใจนำเสนอ 8bit ที่มีความสุข.. ของคุณสำหรับการคว้า! ไม่ว่าคุณจะใช้ GNU/Linux, Mac OS X หรือ Windows คอนโทรลเลอร์ USB NES ก็เข้ากันได้

สิ่งนี้จะเปลี่ยนแปลงคอนโทรลเลอร์หรือไม่?

ไม่ คอนโทรลเลอร์จะยังคงเหมือนเดิม ดังนั้นคุณจึงยังคงใช้งานได้บน NES. จริง

แต่ฉันไม่มีอาร์ดิโน;_;

คุณสามารถใช้พอร์ตขนาน:

ซื้อ Arduino:

หรือชุดอุปกรณ์ Retrozone NES:

ขั้นตอนที่ 1: ส่วนผสมสำหรับซุปคอนโทรลเลอร์ที่ยอดเยี่ยม

คุณจะต้องการ: ตัวควบคุม NES Arduino A สายเคเบิล USB ชนิด B บางสิ่งที่คุณสามารถใช้เป็นปลอกและสายไฟได้.. ตัวเลือก: พอร์ต NES https://www.parallax.com/Store/Components/Other/tabid/157/ CategoryID/32/List/0/SortField/0/Level/a/ProductID/522/Default.aspx ซอฟต์แวร์ Arduino https://arduino.cc/ กำลังประมวลผล

ขั้นตอนที่ 2: วิธีเชื่อมต่อ Arduino กับ Nes Controller

ด้วยลวดเชื่อมต่อหมุดตามข้อความบนทั้งสองภาพ.. คุณยังสามารถใช้พอร์ตคอนโทรลเลอร์จาก NES ได้อีกด้วย (อันที่เสีย ไม่ต้องเสียอันที่ใช้งานได้) คุณต้องการบางอย่างที่คล้ายกับภาพสุดท้าย

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

UPDATE 22-12-2014

ผู้ใช้ที่สอนได้ mattpbooth ได้อัปเดตรหัสและโฮสต์บน github:

github.com/mattpbooth/ArduinoNESController

ขอบคุณแมตต์!

เฮ้ พวก ฉันได้เขียนโค้ดใหม่ทั้งหมดแล้ว และตอนนี้มันน่าจะทำงานได้อย่างไม่มีที่ติ การปรับเปลี่ยนเพียงอย่างเดียวที่คุณอาจต้องทำคือการประมวลผลภาพร่าง คุณต้องปรับพอร์ต COM ที่ควรใช้ โปรดทำตามขั้นตอนเหล่านี้อย่างระมัดระวัง!

ขั้นตอน

1) ตัดการเชื่อมต่อ Arduino หากเชื่อมต่ออยู่ 2) เรียกใช้สเก็ตช์การประมวลผล มันจะ (!) แสดงข้อผิดพลาด 3) ตรวจสอบคอนโซล (กล่องดำที่มีข้อความที่ด้านล่างของการประมวลผล) 4) ในคอนโซลจะมีรายการพอร์ต COM ที่ใช้งานอยู่;

รายการซีเรียล คำเตือน: เวอร์ชัน RXTX ไม่ตรงกัน รุ่น Jar = RXTX-2.2pre1 เวอร์ชัน lib ดั้งเดิม = RXTX-2.2pre2 [0] "COM3" สิ้นสุดรายการซีเรียล

5) ดังที่คุณเห็นในปัจจุบัน COM3 ทำงานอยู่และเป็นพอร์ต COM แรกในขณะนี้ (แสดงด้วย "[0]") 6) หากสเก็ตช์การประมวลผลทำงานโดยไม่แสดงข้อผิดพลาด ให้กดปุ่มหยุด 7) เชื่อมต่อ Arduino 8) เรียกใช้สเก็ตช์การประมวลผลอีกครั้ง 9) ตรวจสอบคอนโซลสำหรับพอร์ต com ที่ใช้งานอยู่

รายการซีเรียล คำเตือน: เวอร์ชัน RXTX ไม่ตรงกัน รุ่น Jar = RXTX-2.2pre1 เวอร์ชัน lib ดั้งเดิม = RXTX-2.2pre2 [0] "COM3" [1] "COM5" สิ้นสุดรายการซีเรียล

10) อย่างที่คุณเห็น COM5 ปรากฏขึ้นในรายการทันทีหลังจากที่เราเชื่อมต่อ Arduino 11) ตอนนี้เรารู้แล้วว่า Arduino มี COM5 และเป็นพอร์ต COM ที่สอง (แสดงด้วย "[1]") 12) เรารู้แล้วว่าปรับโค้ดของเรา

แทนที่: arduino = new Serial(this, Serial.list()[?], 9600); // ความสนใจ!!!

ด้วย: arduino = new Serial(this, Serial.list()[1], 9600); // ความสนใจ!!!

13) บันทึกโปรแกรม 14) โหลดภาพร่าง Arduino ไปยัง Arduino 15) เริ่มร่างการประมวลผล!

ขั้นตอนที่ 4: การสร้างเคส

ปล่อยให้จินตนาการของคุณโลดแล่น! ฉันใส่ Arduino ของฉันลงในอะแดปเตอร์เครื่องพิมพ์เก่าที่ฉันพบและฉันคิดว่ามันดูค่อนข้างดี =) ฉันทำสิ่งนี้โดยการกำจัดอะแดปเตอร์และบันทึก 'จุกนม' เท่านั้น ฉันถอด 'จุกนม' ออกจากสายเคเบิลด้วยมีดตัดเข้าด้านหนึ่ง จากนั้นจึงดึงสายเดิมออกและแทนที่ด้วยสาย USB ของฉัน อะแดปเตอร์มีรูเล็ก ๆ (ซึ่งฉันใช้สำหรับสาย usb) และรูใหญ่ที่ฉันใช้สำหรับคอนโทรลเลอร์ NES อย่างไรก็ตาม รูขนาดใหญ่นั้นไม่ใหญ่พอ ดังนั้นฉันจึงตัดบางส่วนออกด้วยเลื่อย (เลอะเทอะมาก) หลังจากนั้นมันก็ใหญ่เกินไป ฉันแก้ไขปัญหานี้ชั่วคราวโดยติดเทปกาวรอบๆ ปลั๊กของตัวควบคุม ขณะนี้ฉันได้สั่งให้ NES ที่เสียไปเก็บเกี่ยวพอร์ตควบคุมจากเพื่อที่จะทำให้มันมากขึ้น.. เซ็กซี่

ขั้นตอนที่ 5: มันยังมีชีวิตอยู่

ขณะนี้ฉันไม่มีกล้องอยู่ในมือ ดังนั้นนี่คือภาพยนตร์เดสก์ท็อปสั้นๆ ที่ฉันทุบปุ่มบนตัวควบคุม หากคุณได้รับไฟล์แสดงข้อผิดพลาดที่แจ้งว่าไม่พบจาวา คุณจะต้องติดตั้ง (อีกครั้ง) https://java.com/ ในกรณีที่ใครสงสัยว่าทำไมฉันถึงสร้างไฟล์แบตช์ ฉันขี้เกียจเกินไปที่จะติดตั้งจาวาใหม่และทำการแก้ไขด้วยตนเองเล็กน้อย ในการเล่นเกม NES บนคอมพิวเตอร์ของคุณ คุณจะต้องมีโปรแกรมจำลอง: [windows] https://www.emulator-zone.com/doc.php/nes/ (หากคุณใช้ vista ให้ใช้ FakeNes) [Mac] https://www.zophar.net/macintosh/nes.html [Linux] https://www.zophar.net/linux/nes.html และคุณจะต้องมีเกม (ROMS) แน่นอน แต่สิ่งเหล่านี้ผิดกฎหมายในการดาวน์โหลด (ใช่ แม้ว่าคุณจะเป็นเจ้าของต้นฉบับ) ดังนั้นสิ่งที่คุณไม่ดาวน์โหลดและโดยเฉพาะอย่างยิ่งไม่ได้มาจากเว็บไซต์นี้ https://vimm.net/ เพราะอันนั้นผิดกฎหมายมากที่สุด *GASP*

ขั้นตอนที่ 6: ข้อมูลเพิ่มเติม

รายละเอียดเพิ่มเติมภายในคอนโทรลเลอร์ NES คือการลงทะเบียนกะ 8 บิต โดยการใส่สลักสลักให้สูงสักสองสามไมโครวินาที ฉันกำลังบอกให้ชิปเริ่มคายข้อมูลใส่ฉัน เมื่อทำเช่นนี้ ไบต์แรกจะพร้อมให้อ่านผ่านพินอนุกรม. ถ้าฉันต้องการรับไบต์ถัดไป ฉันจะต้องตั้งเข็มนาฬิกาให้สูงเป็นเวลา 200 ไมโครวินาที ฉันต้อง 'แฟลช' หมุดนาฬิกา 7 ครั้งเพื่อรับไบต์ทั้งหมด [นาฬิกาสูง รอ 200 ไมโครวินาที อ่านอนุกรมนาฬิกาต่ำ รอ 200 ไมโครวินาที]*/ตัวควบคุม SNES รหัสที่ฉันเขียนสามารถใช้กับตัวควบคุม SNES ได้เช่นกัน! หากมีคนส่งคำขอ ฉันสามารถขยาย 'สามารถแสดงวิธีการดำเนินการดังกล่าวได้ ต้นฉบับด้วย codehttps://little-scale.blogspot.com/2007/07/nes-controller-to-arduino.html'and ในที่สุด.. นี่เป็นคำสั่งแรกของฉันที่สอนได้ดังนั้นไปกับฉัน =P (ใช่ยากไม่อ่อน = NS)