Un I/O para ZX Spectrum
Moderador: Fundadores
- Fermars
- Demonio segundo orden
- Mensajes: 1195
- Registrado: 20 Feb 2014, 16:58
- Ubicación: El Escorial
- Been thanked: 3 times
Un I/O para ZX Spectrum
Hola a todos,
He visto esto:
http://www.ebay.co.uk/itm/PIO-Interface ... 19fb3cea52
Le he echado un vistazo y parece que la placa habilita un puerto externo con el fin de poder, desde él, controlar dispositivos al más puro estilo GPIO de una Raspberry o las salidas analógicas/digitales de un Arduino (por ejemplo). No hay que navegar mucho para encontrar que esa placa se parece mucho a la información contenida aquí: http://bneven.com/zxio.html, o sea, que es copiable.
La pregunta es ¿Qué utilidad le véis?¿Cómo se controla? Si es como he descrito, tendríamos un Spectrum preparado para mover cualquier trasto conectado a esta placa....
A ver qué opináis.
He visto esto:
http://www.ebay.co.uk/itm/PIO-Interface ... 19fb3cea52
Le he echado un vistazo y parece que la placa habilita un puerto externo con el fin de poder, desde él, controlar dispositivos al más puro estilo GPIO de una Raspberry o las salidas analógicas/digitales de un Arduino (por ejemplo). No hay que navegar mucho para encontrar que esa placa se parece mucho a la información contenida aquí: http://bneven.com/zxio.html, o sea, que es copiable.
La pregunta es ¿Qué utilidad le véis?¿Cómo se controla? Si es como he descrito, tendríamos un Spectrum preparado para mover cualquier trasto conectado a esta placa....
A ver qué opináis.
Fernando
- Ben-kenobi
- Hermano de Lucifer
- Mensajes: 3547
- Registrado: 12 Nov 2013, 10:00
- Has thanked: 1 time
- Been thanked: 18 times
Re: Un I/O para ZX Spectrum
En la revista resistor , habia publicados varios montajes para controlar electrodemesticos con el spectrum , seguramente esto seri algo similar.
Quieres vinilos para makear tu spectrum? Mira Aqui
- Fermars
- Demonio segundo orden
- Mensajes: 1195
- Registrado: 20 Feb 2014, 16:58
- Ubicación: El Escorial
- Been thanked: 3 times
Re: Un I/O para ZX Spectrum
Se que también había algún trasto comercial que permitía el control de dispositivos (creo que de indescomp), pero me gustaría saber si este se controla desde Basic de una forma sencilla porque desde luego sería curioso hacer algo con un Spectrum de forma similar a como se trabaja con una Raspberry o un Arduino.
Quisiera no obstante que alguien con más vistas que yo , pueda echarle un vistazo y decirme las posibilidades que tiene antes de tomar alguna decisión para materializar la placa...a lo mejor ni siquiera merece la pena, no lo se.
Quisiera no obstante que alguien con más vistas que yo , pueda echarle un vistazo y decirme las posibilidades que tiene antes de tomar alguna decisión para materializar la placa...a lo mejor ni siquiera merece la pena, no lo se.
Fernando
- wilco2009
- Hermano de Lucifer
- Mensajes: 8156
- Registrado: 01 Abr 2013, 23:47
- Ubicación: Valencia
- Has thanked: 47 times
- Been thanked: 107 times
Re: Un I/O para ZX Spectrum
El de la revista Resistor creo recordar que iba con relés, por lo que no creo que pueda controlar cosas rápidas, aunque sí te permite activar/desactivar elemento con un alto consumo.
Este lleva un 8255, que se puede usar para comunicaciones, por ejemplo con una impresora u otro ordenador. El tema es que estas señales son de +5v voltios y sin mucha potencia, por lo que necesitas circuiteria adicional (un relé) para activar o desactivar un motor.
Este lleva un 8255, que se puede usar para comunicaciones, por ejemplo con una impresora u otro ordenador. El tema es que estas señales son de +5v voltios y sin mucha potencia, por lo que necesitas circuiteria adicional (un relé) para activar o desactivar un motor.
"Aprender a volar es todo un arte. Aunque sólo hay que cogerle el truco. Consiste en tirarse al suelo y fallar".
Douglas Adams. Guía del autoestopista galáctico.
Douglas Adams. Guía del autoestopista galáctico.
- Fermars
- Demonio segundo orden
- Mensajes: 1195
- Registrado: 20 Feb 2014, 16:58
- Ubicación: El Escorial
- Been thanked: 3 times
Re: Un I/O para ZX Spectrum
O sea, la respuesta a mi pregunta es sí. Este dispositivo sirve para controlar hardware externo ¿no?. Con la Raspberry pasa igual, los pines no son capaces de controlar nada que tenga un consumo mucho mayor que un LED...Lo de usar hardware externo es lo habitual en estos casos, pero sería muy fácil, hay relés muy baratos (yo compré varios) que se activan con una tensión/intensidad baja y permiten controlar casi cualquier cosa.wilco2009 escribió:El de la revista Resistor creo recordar que iba con relés, por lo que no creo que pueda controlar cosas rápidas, aunque sí te permite activar/desactivar elemento con un alto consumo.
Este lleva un 8255, que se puede usar para comunicaciones, por ejemplo con una impresora u otro ordenador. El tema es que estas señales son de +5v voltios y sin mucha potencia, por lo que necesitas circuiteria adicional (un relé) para activar o desactivar un motor.
Si lo anterior es cierto ¿alguna idea de cómo se activan/desactivan los pines de salida por software?
Fernando
- yombo
- Demonio tercer orden
- Mensajes: 737
- Registrado: 01 Ago 2014, 21:21
Re: Un I/O para ZX Spectrum
Habría que ver la decodificación exacta que hace de la dirección. Y luego mirar la especificación del 8255, pero por el segundo enlace que pones parece que se puede escribir y leer (WR y RD) en tres puertos (A1 y A0 lo indican junto con PA, PB, PC)
Respecto a controlar cosas, en vez de usar relés yo usaría transistores MOSFET, son muy eficientes y basta poner una resistencia de 10K para hacerlos funcionar, soportan cientos de amperios y el rango de voltajes es bueno. Ah y hace falta poner un diodo si la carga es inductiva (como un motor), e incluso se puede hacer un "puente H", que puede controlar un motor en ambas direcciones.
Los MOSFET que tengo yo: http://es.rs-online.com/web/p/transisto ... et/7259325
Respecto a controlar cosas, en vez de usar relés yo usaría transistores MOSFET, son muy eficientes y basta poner una resistencia de 10K para hacerlos funcionar, soportan cientos de amperios y el rango de voltajes es bueno. Ah y hace falta poner un diodo si la carga es inductiva (como un motor), e incluso se puede hacer un "puente H", que puede controlar un motor en ambas direcciones.
Los MOSFET que tengo yo: http://es.rs-online.com/web/p/transisto ... et/7259325
- Fermars
- Demonio segundo orden
- Mensajes: 1195
- Registrado: 20 Feb 2014, 16:58
- Ubicación: El Escorial
- Been thanked: 3 times
Re: Un I/O para ZX Spectrum
Solamente me plantearía probar este hardware más adelante si se que sería capaz de controlar esas salidas, aunque sean solo 3. ¿Crees que se puede hacer fácilmente con comandos de BASIC o que habría que desarrollar algún software específico para ello? Si es el segundo caso estonces me olvido, no tendría tiempo para dedicarle...
Fernando
- yombo
- Demonio tercer orden
- Mensajes: 737
- Registrado: 01 Ago 2014, 21:21
Re: Un I/O para ZX Spectrum
No son solo tres señales, son tres puertos de 8 bits cada uno, o sea 24 entradas/salidas
Para controlarlos en principio tendría que bastar con un POKE o un OUT desde basic, dependiendo si lo ha implementado en memoria o en un puerto I/O (lo más lógico)
Edit: Ah, en el esquema de tu segundo enlace usa IORQ, o sea que usa puertos. De ese esquema se puede deducir cuales son.
Para controlarlos en principio tendría que bastar con un POKE o un OUT desde basic, dependiendo si lo ha implementado en memoria o en un puerto I/O (lo más lógico)
Edit: Ah, en el esquema de tu segundo enlace usa IORQ, o sea que usa puertos. De ese esquema se puede deducir cuales son.
- stratotrasto
- Hermano de Lucifer
- Mensajes: 2494
- Registrado: 20 Feb 2014, 17:23
- Ubicación: Abula
Re: Un I/O para ZX Spectrum
Que estarás tramando, me apunto...
Si me muero no dejéis a mi mujer vender mis cacharros por lo que le dije que me costaron...
- yombo
- Demonio tercer orden
- Mensajes: 737
- Registrado: 01 Ago 2014, 21:21
Re: Un I/O para ZX Spectrum
He mirado el esquema y la decodificación es muy facil, solo usa A0 en positivo, o sea se activa con todas las direcciones impares.
Y A2A1 forman la dirección del registro (esto es un ejemplo, hay que mirarlo en el datasheet pero seguramente sería algo así):
por lo que:
Activaría y desactivaría (según los bits a 1 del valor 34) las salidas del registro A, y:
Leería las 8 entradas del puerto B. Fácil, no?
Y A2A1 forman la dirección del registro (esto es un ejemplo, hay que mirarlo en el datasheet pero seguramente sería algo así):
Código: Seleccionar todo
A2A1
00 Registro A
01 Registro B
10 Registro C
11 No usado
Código: Seleccionar todo
OUT 1, 34
Código: Seleccionar todo
LET a = IN 3