สารบัญ:

Atari LED Cube: 3 ขั้นตอน
Atari LED Cube: 3 ขั้นตอน

วีดีโอ: Atari LED Cube: 3 ขั้นตอน

วีดีโอ: Atari LED Cube: 3 ขั้นตอน
วีดีโอ: 3D hologram fan portrait solution. Who wanna date this holographic sexy lady #3dhologramfan 2024, กรกฎาคม
Anonim
Atari LED Cube
Atari LED Cube

ภาพรวม

คำแนะนำนี้จะดูที่การใช้พอร์ตจอยสติ๊ก Atari 800 สำหรับเอาต์พุตด้วยลูกบาศก์ LED เป็นตัวอย่าง

บทนำ

เคยเห็นหนึ่งในลูกบาศก์ LED เหล่านั้นหรือไม่? พวกมันเจ๋งมาก เคยสงสัยหรือไม่ว่า Atari ของคุณสามารถทำสิ่งที่คล้ายกันได้หรือไม่? ฉันด้วย.

เสบียง

Atari 8 บิต - ฉันใช้ 800 XL

มัลติเพล็กเซอร์ 16 ช่อง - ค้นหา CD74HC4067 โดยใช้เครื่องมือค้นหาที่คุณชื่นชอบ

LED จำนวนหนึ่ง - ฉันสร้างเมทริกซ์ขนาด 4x4x4 ซึ่งใช้ 64

สายไฟ

ตัวต้านทาน

ขั้วต่อ D ตัวเมีย 9 ขา x 2

ขั้นตอนที่ 1: สร้างมัน

สร้างมัน
สร้างมัน
สร้างมัน
สร้างมัน
สร้างมัน
สร้างมัน

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

ฉันจะไม่ใช้เวลาใดๆ ในการสร้างเมทริกซ์ เพราะมีพวกที่ทำได้ดีกว่านี้มาก มองไปที่

www.instructables.com/id/LED-Cube-4x4x4/

หรือ

www.instructables.com/id/8x8x8-RGB-LED-Cub…

มัลติเพล็กซ์

นี่คือบิตที่ฉลาด โดยปกติแล้วการมีไฟ LED 64 ดวงหมายถึงสายไฟ 64 เส้นในการควบคุม แต่ Atari ไม่มีพินจำนวนมากที่สามารถใช้เขียนได้

ใส่มัลติเพล็กเซอร์!

ลูกบาศก์ถูกแบ่งออกเป็น 16 คอลัมน์และ 4 แถว แต่ละคอลัมน์ของ LEDs แบ่งปันอินพุต +v จากมัลติเพล็กเซอร์ และแต่ละแถวจะใช้ 0v ร่วมกัน ดังนั้นในการเปิดไฟ LED เราคำนวณว่าอยู่ในคอลัมน์ใด และเปิดบนเส้น +v จากนั้นเปิดกราวด์ที่เหมาะสม

อย่างไรก็ตาม คุณสามารถเปิดไฟ LED ได้ครั้งละหนึ่งดวงเท่านั้น หากคุณลองสองดวงขึ้นไป ไฟ LED อื่นๆ จะเปิดขึ้นเช่นกัน

โปรดทราบว่ามัลติเพล็กเซอร์ของคุณอาจมีการเชื่อมต่อที่แตกต่างกับของฉัน! ตรวจสอบคำแนะนำของคุณก่อน

ขั้นตอนที่ 2: รหัส Atari - พื้นฐาน

Image
Image
The Atari Code - 6502 Assembly
The Atari Code - 6502 Assembly

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

1) Poke port A ควบคุม $D302 ด้วย $38

2) โผล่พอร์ต A $D300 ด้วย $FF

3) Poke port A ควบคุม $D302 ด้วย $3C สิ่งนี้จะเปิดบิต 2 ทำให้เราสามารถเขียนไปยังพอร์ตได้

มีอีกเล็กน้อยเกี่ยวกับการใช้พอร์ตจอยสติ๊กเป็นอินเทอร์เฟซที่นี่

www.atariarchives.org/creativeatari/Interf…

พอร์ต A มีโครงสร้างเพื่อให้บิต 0 ถึง 3 ดูแลแท่ง 0 และบิต 4 ถึง 7 จัดการกับแท่ง 1 โดยการเจาะบิต 0 ถึง 3 ด้วย 1 ถึง 15 เราสามารถควบคุมมัลติเพล็กเซอร์และเปิดคอลัมน์ของ LEDS หากเราเปิดบิต 4 ถึง 7 เราสามารถควบคุมแถวได้ เมื่อคอลัมน์และแถวตรงกัน ไฟ LED จะสว่างขึ้น

คุณไม่จำเป็นต้องเปิดแต่ละแถว โดยการรวมบิต 4 ถึง 7 สองแถวขึ้นไปจะเปิดขึ้น เพียงระวังว่าไฟ LED อื่นๆ ที่คุณไม่ต้องการเปิดอาจสว่างขึ้นเช่นกัน

5 LIMIT=60

10 PORT=54016

20 PCTL=54018

30 POKE PCTL, 56

40 โป้กพอร์ต 255

50 POKE PCTL, 60

60 I=RND(1)*239+16

70 โป้กพอร์ต ฉัน

75 FOR WAIT=0 TO LIMIT: NEXT WAIT

90 GOTO 60

ไม่มีอะไรเกิดขึ้นที่นี่; รหัสตั้งค่าพอร์ต A สำหรับการเขียนจากนั้นเปิดไฟ LED แบบสุ่ม เอฟเฟกต์เป็นเหมือนคอมพิวเตอร์จากการแสดงไซไฟต้นยุค 80 ที่วิเศษ

ขั้นตอนที่ 3: รหัส Atari - 6502 Assembly

Image
Image

การเปิดไฟ LED ทีละดวงเป็นเรื่องพื้นฐาน แต่สิ่งที่น่าสนใจจะเกิดขึ้นเมื่อคุณเริ่มปิดไฟ LED อย่างรวดเร็ว ซึ่งทำให้เกิดภาพลวงตาว่ามีไฟ LED หลายดวงเปิดพร้อมกัน ผลกระทบนี้เรียกว่าการคงอยู่ของการมองเห็นและอาศัยการสลับ LED เร็วกว่าที่ตาจะตรวจจับได้ พื้นฐานช้าเกินไปจึงเป็นเวลาประกอบ

รหัสนี้เปิดที่มุม LEDS

10 *=$6000

20 พอร์ต = 54016

30 PCTL = 54018

70 LDA #56

80 STA PCTL

90 LDA #$FF

100 STA PORT

110 LDA #60

120 STA PCTL

130 LDY #0

140 หลัก

150 CLC

160 LDA SEQ, Y

170 STA PORT

180 นาที

190 CPY #8

200 BNE หลัก

210 LDY #0

220 JMP หลัก

310 SEQ

320. BYTE 16, 18, 24, 26

330. BYTE 64, 66, 72, 74

มีไฟล์ 'ทดลอง' บางไฟล์ในไฟล์แนบ Leds.atr

สนุก

แนะนำ: