Sommario:

Cubo LED Atari: 3 passaggi
Cubo LED Atari: 3 passaggi

Video: Cubo LED Atari: 3 passaggi

Video: Cubo LED Atari: 3 passaggi
Video: Trial by Firelight | Critical Role | Campaign 3, Episode 2 2024, Novembre
Anonim
Cubo LED Atari
Cubo LED Atari

Panoramica

Questa istruzione esamina l'utilizzo della porta joystick Atari 800 per le uscite con un cubo LED come esempio.

introduzione

Hai mai visto uno di quei cubi LED? Sono assolutamente fantastici. Ti sei mai chiesto se il tuo Atari potrebbe fare qualcosa di simile? Anche io.

Forniture

Un Atari a 8 bit - Sto usando un 800 XL

Multiplexer a 16 canali: cerca CD74HC4067 utilizzando il tuo motore di ricerca preferito

Una tonnellata di LED: ho realizzato una matrice 4x4x4 che utilizza 64

fili

resistori

Connettore D femmina a 9 pin x 2

Passaggio 1: costruirlo

Costruirlo
Costruirlo
Costruirlo
Costruirlo
Costruirlo
Costruirlo

Basti dire che costruire queste cose è molto più difficile di quanto sembri (se hai le zampe invece delle dita), e riparare le giunture difettose è come fare un intervento chirurgico al buco della serratura con un saldatore.

Non ho intenzione di dedicare tempo alla costruzione della matrice perché ci sono ragazzi che l'hanno fatto molto meglio. Dai un'occhiata a

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

o

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

multiplexing

Questa è la parte intelligente. Avere 64 LED normalmente significa 64 fili per controllarli, ma l'Atari non ha molti pin che possono essere usati per scrivere.

Entra nel multiplexer!

Il cubo è diviso in 16 colonne e 4 righe. Ogni colonna di LED condivide un ingresso +v dal multiplexer e ogni riga condivide un 0v. Quindi, per accendere un LED, determiniamo in quale colonna si trova, e accendiamo la linea +v, quindi accendiamo la massa appropriata.

Tuttavia, puoi accendere solo un LED alla volta. Se ne provi due o più, si accenderanno anche altri LED.

Tieni presente che il tuo multiplexer potrebbe avere connessioni diverse dal mio! Controlla prima le tue istruzioni.

Passaggio 2: il codice Atari - BASIC

Image
Image
Il codice Atari - Assemblea 6502
Il codice Atari - Assemblea 6502

Oltre al normale funzionamento, le porte del joystick possono anche scrivere. C'è un piccolo trucco per farlo funzionare;

1) Poke porta A controlla $ D302 con $ 38

2) Poke porta A $D300 con $FF

3) Poke porta A controlla $D302 con $ 3C. Questo attiva il bit 2 permettendoci di scrivere sulla porta.

C'è un po' di più sull'uso delle porte del joystick come interfaccia qui

www.atariarchives.org/creativeatari/Interf…

La porta A è strutturata in modo che i bit da 0 a 3 si occupino dello stick 0 e i bit da 4 a 7 si occupino dello stick 1. Inserendo i bit da 0 a 3 con 1 a 15 possiamo controllare il multiplexer e accendere una colonna di LED. Se poi attiviamo i bit da 4 a 7, possiamo controllare una riga. Nel punto in cui la colonna e la riga coincidono, si accende un LED.

Non è necessario attivare singole righe; combinando i bit da 4 a 7, saranno attive due o più righe. Fai solo attenzione che anche altri LED che non vuoi accendere potrebbero accendersi.

5 LIMITE=60

10 PORTE=54016

20 PCTL=54018

30 POKE PCTL, 56

40 PORTA POKE, 255

50 POKE PCTL, 60

60 I=RND(1)*239+16

70 POKE PORT, I

75 FOR WAIT=0 PER LIMITARE:PROSSIMA ATTESA

90 VAI A 60

Non sta succedendo niente qui; il codice imposta la porta A per la scrittura quindi accende un LED a caso. L'effetto è un po' come quello di un computer di un banale spettacolo di fantascienza dei primi anni '80.

Passaggio 3: il codice Atari - Assemblea 6502

Image
Image

La base va bene per accendere un LED alla volta, ma le cose fantasiose accadono quando inizi ad accenderli e spegnerli rapidamente, il che dà l'illusione che più LED siano accesi contemporaneamente. L'effetto è chiamato persistenza della visione e si basa sulla commutazione dei LED più veloce di quanto l'occhio sia in grado di rilevare. La base è troppo lenta, quindi è tempo di assemblaggio.

Questo codice accende i LED angolari

10 *=$6000

20 PORTE = 54016

30 PCTL = 54018

70 LDA #56

80 STA PCTL

90 LDA #$FF

100 STA PORTO

110 LDA #60

120 STA PCTL

130 LDY #0

140 PRINCIPALE

150 CLC

160 LDA SEQ, Sì

170 STA PORTO

180 INY

190 CPY #8

200 BNE PRINCIPALI

210 LDY #0

220 JMP PRINCIPALE

310 SEQ

320. BYTE 16, 18, 24, 26

330. BYTE 64, 66, 72, 74

Ci sono alcuni file "sperimentali" nell'allegato Leds.atr.

Godere

Consigliato: