Construcción paso a paso CASDUINO.

Página 1/5
| 2 | 3 | 4 | 5

Por capsule5000

Master (159)

Imagen del capsule5000

04-09-2017, 21:15

Ante todo quiero agradecer que este proyecto, que anda tiempo por la red, es del autor de blog http://arduitapemarkii.blogspot.com.es/ que entre ostras cosas también desarrolla soft para el TXZduino como otros ordenadores 8 bits. Después de hacer mi propio montaje, y visto que no hay un hilo de la construcción de este dispositivo, que es de gran utilidad sobre todo en MSX, he decidido hacer un manual paso a paso para su construcción.
Tengo que decir que el CASDUINO, sorprende por su fiel funcionamiento al cassete original de los MSX y dicho eso, todos los juegos que he comprobado funcionan todos. Además el CASDUINO permite elegir velocidades de carga de 1200,2400 y 3600.
Hice la prueba de un juego multicarga como es el GAUNTLET, que consta de 2 archivos que hace referencia a la cara A y B de la cinta. En el primer archivo "cara A de la cinta" se pone automáticamente en pausa, para elegir el jugador, continuando la carga otra vez automáticamente, y una vez llegado a la finalización del primer archivo, hay que seleccionar el archivo2 " cara B " para cargar las fases y parándose automáticamente cuando carga la fase concreta. En resumen funciona igual que el cassette del MSX, lo único que no tiene es la función de grabar.
Los botones "<" y ">" sirven para avanzar o retroceder dentro del directorio, el botón "play>>" sirve para entrar en un subdirectorio o seleccionar el archivo para cargar y el boton "stop" sirve para cancelar la ejecución de un juego o ir hacia atrás de subdirectorio. Hay un último botón, que es el de "MENU" que sirve para seleccionar la velocidad de carga 1200,2400 o 3600 bpm y para activar o desactivar el REM,
Sin enrollarme mas pasamos a su montaje.
PASO 1 Construccion del proyecto:
Necesitaremos:
1- Arduino NANO Atmega328, que es el microcontrolador encargado de las funciones del CASDUINO y lleva instalado el software de funcionamiento. Hay dos tipos de Arduino NANO: El Atmega 328, que hace referencia a los 32k de memoria flash y el Atmega 168, en este caso es de 16k de flash. Tener presente que el programa solo cabe en la versión de 32k.

2- Modulo SD


La diferencia de estos dos modulos únicamente es que el segundo es mas pequeño y va alimentado a 3,3V tal como se indica de manera opcional más adelante en el esquema de montaje. El primero se alimenta de 5V
3- Modulo amplificador LM386


La diferencia básicamente es que el primero es más pequeño que el segundo y los pines quedan todos alineados en una banda del modulo y el segundo tiene pines en ambos laterales y según dicen en las especificaciones amplifica 200 veces el audio, por los 100 que tiene el primer módulo. Hice la prueba con los dos y con el primero va sobrado.
4- Pantalla LCD, con un modulo incorporado I2C

5- 5 Micropulsadores

6- Un interruptor para la función de MUTE

7- Un altavoz de unos auriculares
8- 4 resistencias de 4,7KOhms, 3 condensadores cerámicos de 4,7nF y un condensador de 100nF.
9- 1 conector de 3.5 para el AUDIO y 2,5 para el REM


Esquema:
Originalmente el esquema es el que a continuación sale en pantalla

Y la pequeña modificación que hice, fue colocar otro amplificador, el botón MUTE y un pequeño speaker, para hacerlo lo mas fiel al cassete MSX. Para los que somos nostálgicos, el poder escuchar el pitido de la carga ........no tiene precio. El esquema sería el siguiente

Realizar este esquema no presenta ningún misterio ni dificultad, y lo siguiente es buscar una caja contenedora para poder tener el CASDUINO en condiciones. En aliexpress hay todo tipo de cajas con botones que son perfectas para este montaje



A continuación os enseñaré la manera como hice mi montaje
Montaje:
Primero hice el montaje en una protoboard y verificar su funcionamiento.

Una vez verificado su funcionamiento, teniendo en cuenta las dimensiones de la caja y viendo que todo quedaría bastante ajustado presenté todos los módulos para saber que todo encajaba.

Como podéis observar, he dejado en la esquina superior izquierda un pequeño espacio para colocar los condensadores y resistencias que filtrarán el audio que sale directamente del arduino.
Más fotos de la caja

Detalle de la ranura SD


Vista frontal.


Una vez soldados todos los componentes se procederá a realizar las pista con cable AWG30 ( Es un cable bastante fino, con un solo núcleo). Como podéis observar en la foto en la parte lateral derecha he puesto un conector blanco 4 pins donde conectaremos la pantalla LCD


El negativo o masa de circuito lo hice soldando los pads de la placa


Vista inferior de la placa con sus respectiva pistas soldadas, el conector de audio, rem y speaker


Vista superior, con todos los componentes montados

Probando el funcionamiento de la placa acabada

Una vez llegados a este punto solo falta montar la placa y conectores en la caja, como veréis en las fotos todo encaja bastante justo



El agujero que se observa en la foto, es para conectar el UBS al arduino que sirve de alimentación. Si queréis poner un conector de alimentación estandar tipo clavija, en el esquema os indico el conector VIN entrada de alimentación del arduino nano 6v hasta 12v. En este caso no haría falta conectar el USB. Como podéis observar en esta caja no hay mas espacio para este conector lo cual huviera sido ideal.

Una vez todo montado solo faltara ajustar los potenciómetros tanto del speaker como el del audio. Para regular el del audio hay que tener en cuenta que muy bajo no cargara el archivo y muy alto saturá la señal y tampoco cargará. Es ir probando hasta coger el punto que cargan bien todos los archivos. Para tener una referencia, es conectar unos auriculares de pc en el audio y éste se debe escuchar un tanto fuerte, a partir de aquí es ir haciendo pruebas desde el MSX.

IMPORTANTE: El diseñador del programa, advierte que para no tener problemas de lectura con la SD, NO UTILIZAR TARJETAS CLASS 10.

Paso 2 Instalación programa IDE arduino:
Para que este manual intente llegar al máximo de personas posible, y sea mas comprensible, haré una breve explicación de como cargar el programa del CASDUINO a la placa arduino y de paso despertar esa curiosidad para aquellos que quieran experimentar con estas placas, que son muy fáciles de entender y programar.

1- Descargar el programa IDE arduino, donde se edita el programa CASDUINO. Es su entorno de programación. Descargar la versión 1.6.5. Descargar esta versión, porque hay unas bibliotecas, que hacen referencia a la pantalla LCD, el modulo SD y TimeOne, que en esta versión confirmo que funcionan. Me he encontrado librerías que en los IDE más nuevos de arduino no funcionan.
https://www.arduino.cc/en/Main/OldSoftwareReleases
La instalación es como cualquier otro tipo de programa en windows...siguiente....siguiente...siguiente. Hay un paso donde te pide permiso para instalar unos drivers de arduino, que en este caso hay que instalar, hasta que finaliza la misma.
2- Una vez instalado el IDE arduino, hay que instalar un driver para que reconozca el puerto USB de los arduino NANO, en este caso hay que buscar en cualquier navegador "instalar ch340" hay muchos manuales que explican donde descargar el driver he instalarlo, no tiene ningún misterio.
3- Descargar el programa CASDUINO.
-Hay 2 versiones que he probado y funcionan. La versión 1.12b y la 1.21
-La diferencia entre ellas es que la versión 1.12b el botón menu deja configurar velocidades de carga a 1200,2400 y
3600bpm y activar o desactivar el conector REM.
-La versión 1.21 elimina la velocidad de carga 3600bpm ya que da problemas con la mayoría de archivos y la opción de
activar o desactivar la funcion REM, y la tecla MENU pasa a ser solo el seleccionador de velocidad de carga, que se
puede activar en cualquier momento dentro del directorio de archivos
Version 1.12b:
https://mega.nz/#!mAdlSCyJ!FkQffBm-bKYKfe5OEJVO1zLYn9MlvFP4toCMQebk4YE

Version 1.21:
https://mega.nz/#!LJU1hDCa!59fBwwDulguv6xG762qH30oekXxF8EDnyvR4TWeiqSU
NOTA: Esta versión tiene incorporadas las 3 librerías que hacen falta en el IDE del arduino. Para probar la versión
1.12b, instalar estas mismas librerías.

Estos enlaces de descarga son extraidos de la pagina web de blog del autor.

3- Para instalar las 3 librerías arduino en el IDE, descomprimimos el archivo comprimido de la descarga v1.21 y encontraremos, dos carpetas. La primera el programa CASDUINO y la segunda las librerías.

- Entrar en la carpeta de librerías y encontraremos las 3 librerías descritas anteriormente

-Lo que tenemos que hacer a continuación es tan sencillo como seleccionar las 3 carpetas y pegarlas dentro de documentos/arduino/libraries. Con esto ya tenemos el IDE de arduino preparado para subir el programa CASDUINO a la placa.
4- En el cuarto punto continuaré con el ejemplo de instalar la v1.21, que es lo mismo para el 1.12b.
- Ir a la carpeta descomprimida donde se encuentra el programa CASDUINO y las librerías.
- Entrar en la carpeta CASDUINO y encontraremos un fichero CASDUINO.INO

----En la version 1.12b encontraremos 3 archivos, pero igualmente ejecutar el CASDUINO.INO.
- Al ejecutarlo, automáticamente se abre el IDE arduino
- A continuación se visualizará el programa CASDUINO en el editor IDE, y lo siguiente es configurar la placa Arduino NANO donde compilará y subirá el programa a la placa.
- Ir a herramientas y seleccionar la placa Arduino NANO

- Ir a herramientas y seleccionar el procesador

- Y por último seleccionar el puerto USB

NOTA: Normalmente el puerto COM1 siempre esta instalado en el PC así pues si os sale otro puerto diferente a COM1 ese tendría que ser el driver CH340 que se instaló anteriormente que puede ser en el COM4,5 ect. Para saber concretamente en que puerto está el driver CH340, hay que hacer botón derecho a EQUIPO/propiedades/administrador de dispositivos/ y desplegar el submenú PUERTOS(COM y LPT)

- Con todo esto ya tendremos la placa configurada y el programa listo para compilar y subir a la placa Arduino NANO.
- Solo falta un último paso más.
-En el programa CASDUINO hay una linea que hace referencia a la dirección del BUS I2Cde la pantalla LCD que vamos a utilizar

- Donde hace referencia a lcd(0x3f,16,2); se especifica la dirección del BUS I2c 0x3f, y que se trata de un LCD de 16 caracteres y 2 lineas. Estos LCD suelen tener direcciones de BUS I2c diferentes pero los mas usuales son 0x3F, 0x27. Si se coloca una dirección erronea, en el LCD no se visualiza nada. Si fuera el caso que no es ninguna de estas direcciones, hay un programa del arduino llamado Ic2Scanner ( Si buscáis en cualquier navegador os explicarán donde descargarlo, y como utilizarlo), que al ejecutarlo hay que pulsar el botón "monitor serie"

- Se abrirá una ventana emergente dando como resultado la dirección del BUS I2C de vuestra pantalla LCD

- Una vez que sepamos que dirección tiene tan solo hay que editarlo y guardar los cambios.
- Como ejemplo lcd(0x3F,16,2);
lcd(0x27,16,2);
lcd(0x20,16,2);

- Ahora si llegados a este punto, tan solo queda verificar el programa

-Veréis que en este punto el IDE de arduino verifica que el programa no tiene ningún error de sintaxis.
- Y a continuación subir el programa a la placa Arduino NANO

- Con todo esto concluyo este manual, que no es difícil de hacer y creo que siguiendo todos estos pasos no debe haber ninguna dificultad para realizarlo. Para cualquier duda tan solo hay que preguntar y os invito ver el blog de su creador que ha hecho un gran trabajo y tiene muchas cosas interesantes.
http://arduitapemarkii.blogspot.com

Login sesión o register para postear comentarios

Por erpirao

Paragon (1315)

Imagen del erpirao

04-09-2017, 21:23

joder tio que currazo te has pegado.. mis felicitaciones..

Por inyigo

Champion (355)

Imagen del inyigo

04-09-2017, 21:35

Qué chulada gracias por el tutorial

Por Oniric-Factor

Master (178)

Imagen del Oniric-Factor

04-09-2017, 21:36

Vaya pedazo de aporte Capsule, muchas gracias. Big smile

Por htdreams

Champion (298)

Imagen del htdreams

05-09-2017, 17:53

Currazo de tutorial :-D

Yo de electrónica voy muy pegao, así que lo mío es tirar de guía burros y santiguarme con el soldador, pero con algo así me voy a atrever a montar uno

Muchísimas gracias :-D

Por QBee Sam

Champion (291)

Imagen del QBee Sam

05-09-2017, 18:21

Excelente trabajo si señor, yo diría que de "chicheta" ¿no?

Por capsule5000

Master (159)

Imagen del capsule5000

05-09-2017, 20:18

Gracias por los comentarios, todo lo que sea aportar ideas o conocimientos a la comunidad MSX es un placer y orgullo. Como había comentado este proyecto ya hace tiempo que existe, pero los tutoriales que hay, ya dan cosas por supuestas, o no quedan del todo claras en un primer momento. Mi idea es que cualquier usuario MSX, incluso sin conocimientos de la plataforma arduino se atreva a construir su propio CASDUINO sin complicaciones. Siguiendo esta guía, ya contemplo, una serie de situaciones que pueden generar dudas, con su correspondiente respuesta. Por tanto animo a realizar este proyecto, que siguiendo esta guía si o si, le saldrá sin ningún problema, y cualquier duda aquí estamos para ayudarnos.

Por capsule5000

Master (159)

Imagen del capsule5000

05-09-2017, 20:51

Solo un pequeño detalle sin importancia que no comenté en el tutorial, y que en un primer momento puede generar una mala interpretación de mal funcionamiento del CASDUINO. Cuando apretamos el PLAY para cargar el juego no reproduce directamente el audio si no que se activa automáticamente el PAUSE. Eso no es ningún error o que los botones fallen, eso es exactamente igual como pasaba con el cassette MSX con la clavija del REM puesta. Es decir, CASDUINO activa el PAUSE a la espera de la instrucción de carga ejem. bload"cas:",r. En el momento de pulsar ENTER automáticamente se desactiva el PAUSE y reproduce el audio.

Al pulsar play para ejecutar el juego se activa el PAUSE.

CASDUINO preparado para recibir el ENTER y reproducir el audio.

Recordar que para cargar según que juegos en MSX2 (desconozco en MSX), que no cargan directamente con la instruccion de carga, hay un poke genérico que funciona muy bien.
POKE -1,((PEEK(-1)XOR&HFF)AND&HF0)*1.0625

Por Jury MSX

Expert (99)

Imagen del Jury MSX

05-09-2017, 23:31

Qué gran tutorial!! Para los que no sabemos de electrónica un bonito reto, en cuanto pueda me pongo manos a la obra.
Una pregunta, en el esquema falta la línea del negativo del arduino? En la figura siguiente si va marcada.

Lo dicho por todos, todo un señor tutoríal, muchas gracias.

Por x-nen Aivalahostia

Paragon (1546)

Imagen del x-nen Aivalahostia

06-09-2017, 19:37

Gran tutorial!!!!, se prodia crear un apartado de Diy para tener cosas como esta.

Por capsule5000

Master (159)

Imagen del capsule5000

06-09-2017, 20:48

Hola buenas Jury MSX, pues tienes toda la razón en el esquema me faltó conectar la masa al arduino. Si os fijas el arduino NANO tiene masa en ambos lados de la placa, podeis elegir conectarla, donde os vaya mejor para pasar los cables.
Paso el esquema corregido y un poco más grande y de paso como quedaría con un jack estandar de alimentación de 3.5mm. Hay que tener en cuenta que el arduino NANO lo alimentamos con los 5V del USB o 6V-12V a traves de pin VIN más MASA. Elegir uno, el que más os convenga.

Página 1/5
| 2 | 3 | 4 | 5