Actualización de un viejo radiocasete


Esta claramente   de moda la reutilización  de electrónica antigua a nuevos tiempos acoplando   uno de los elementos mas versátiles que existen como son los smartphones

En este caso se trata de  conversión de  viejas pletinas analógica   donde se instala un smartphone que también puede ser reciclado o desuso   en el hueco originalmente destinado a la cinta de casete.

Para  dar mas  realismo ,mientras el reproductor está en funcionamiento sobre la pantalla del smartphone se muestra la imagen animada de una cinta de casete en movimiento sobre la que ademas podemos interactuar.

En realidad puede parecer ingenioso la conversión ,  pero el proceso  no es demasiado complejo sobre todo si  no se tiene nostalgia de mantener la parte mecánica del casete pues esta no sera útil  , pero  haciendo por tanto el proceso irreversible

 

 

Cada pletina actualizada con este sistema  está llena de posibilidades:

  •  Reproductor de MP3 y FLAC con simulación de casete animado
  •  Radio Internet
  • Reproductor  de Spotify, Tidal, Deezer, Pandora etc.
  •  Radio FM
  •  Carga y administración de música inalámbrica
  •  Control táctil
  •  Almacenamiento interno para archivos de música

 

En realidad como se comentaba ,los pasos para la conversión no son demasiado complejos:

Paso 1 :Elección de la pletina

El primer paso es encontrar una pletina grabadora que sea adecuada para la modificación y luego imaginar y planificar con precisión el efecto final.

Debido a la construcción sólida y duradera y la simplicidad, las pletinas  mecánicas vintage  con amplificador HIFI  incorporado son una de las  opciones preferidos   pues le daremos una segunda oportunidad  al menos a  la parte de BF y de paso recordaremos tiempos pasados.

Algunas grabadoras no son adecuadas para el procesamiento debido a su diseño mecánico y eléctrico. Las viejas y simples cubiertas vintage con teclas mecánicas son una opción favorita para la conversión .La cubierta destinada a la conversión debe ser eléctricamente funcional. Los circuitos de audio, las entradas / salidas, los medidores de nivel, las regulaciones, los interruptores, etc. deberían funcionar correctamente.

El motor, las correas y los engranajes no son importantes, pueden estar rotos o dañados.

 

Obviamente para poder partir de algo sobre lo que montar el smartphone al menos la parte de BF ( es decir la etapa de audio ) debería funcionar para poder continuar la conversión , aunque si esta parte  no funciona también podemos optar por reemplazar la vieja etapa de audio por un amplificador clase D ya montado, pues no ocupan nada de espacio y son realmente económicos .

 

 

Paso 2 Software

El corazón del sistema es un teléfono inteligente con pantalla táctil con software dedicado.

El teléfono debe estar equipado con suficiente memoria incorporada   a ser posible con una tarjeta de memoria adicional para almacenar música.

Es ademas necesario  un cargador adecuado  y  cables de audio de jack de 2 1/2″ stereo a dos conectores macho RCA

En cuanto al software  el abanico es inmenso,como pueden ser Casse-o-player, Cassete Tapes, Easy Music Player, etc

Uno de los mas realistas es Delitape   una app nº 1 para iPhone ahora disponible también para Android. Esta app  rememora el sentimiento de los viejos tiempos y convierte cualquier smartphone moderno en un walkman clásico

 

cintas

Esta app vintage de musica le devuelve a los viejos tiempos. Deslízese por las cintas más elegantes, hechas con pasión por los detalles. Durante la reproducción de los temas, la app simula la forma en que se reproducían las cintas de antes.

Esta app ademas tiene  Soporte de radio de Internet con más de 1000 de las mejores estaciones de radio del mundo web!

Otro app necesaria es Airdroid   pues esta app permite acceder y manejar su teléfono o tableta Android desde Windows, Mac o la web, sin cables, y de forma gratuita.

Cada platina sin cinta ofrece muchas posibilidades: reproductor MP3 / FLAC con animación de cassette, radio por Internet y radio FM (algunos modelos). Si lo desea, puede instalar cualquier aplicación de Android, por ejemplo, su servicio favorito de transmisión de música: Tidal, Spotify, Dezeer, Pandora … o lo que sea que necesite.

 

Paso 3 Montaje

Es hora de ensamblar y combinar componentes, incluidos trabajos mecánicos de precisión .

Lo más difícil es poner el teléfono inteligente en el compartimiento del casete  sin romper nada lo cual necesitara grandes dosis de paciencia  e ingenio

Durante el procesamiento, muchas partes mecánicas se eliminan para siempre, por lo que ya no podrá usar las casetes siendo la conversión irreversible.

Respecto a la electrónica , debemos conectar con cable estero apantallado  desde un jack macho stereo de 2 1/2″ hacia la entrada de auxiliar de la pletina ( bien con conectores RCA o bien soldando a la placa de BF).

Obviamente tampoco debemos olvidarnos de alimentar  al smartphone por lo  que situaremos el cargador en el interior de la pletina tomando  la alimentación de ca directamente desde esta (por ejemplo a la salida de interruptor mecánico de power que este tipo de equipos llevan)

La batería se cargara automáticamente cuando se encienda la plataforma. Si no usa la plataforma durante un período prolongado, recuerde apagar el teléfono para evitar descargar la batería por completo. En caso de que la batería esté descargada, simplemente encienda la plataforma y espere un momento hasta que el teléfono muestre signos de vida. Luego encienda el teléfono nuevamente.

Para  operar el teléfono dentro de la plataforma se hará al igual que un teléfono estándar, con una excepción, ya que el teléfono está integrado en la plataforma y el conmutador de encendido / apagado es de difícil acceso, por lo que  lo  “correcto” seria  conectarlo  eléctrica mente a una de las teclas de la plataforma y así funcionaria de la misma manera que el original.

El resultado como se podía  esperar  es bastante impresionante  dependiendo mucho de como seamos capaces de disimular el smartphone dentro de la pletina :

 

Finalmente, el dispositivo se ve y actúa como una platina de cinta real, que incluye una fascinante animación de casete, medidores de nivel de trabajo, señal de salida ajustable, etc. Hermosa pieza de artesanía hecha a mano. Además, cada TapeLess Deck MP3 es un dispositivo único y artesanal, el único en el mundo.

 

Paso 4: Subir y administrar música…

Para preparar  el smartphone , conecte  el  WiFi del smartphone e inicie sesión en su red doméstica. Recuerde que sin cubierta y ordenador  deben trabajar en la misma red.
 
Haga clic en el icono de AirDroid y espere pacientemente a la siguiente pantalla. En el primer uso toma algún tiempo…
Encuentre y haga clic en el icono azul de la AirDroid Web. A veces puede ser cubierto por los anuncios, así que mire con atención…
Espere al respuesta del servidor y escriba dado la dirección exactamente para el navegador de su ordenador.
Vaya a su ordenador  e introduzca  la url citada en un navegador .Ahora verá una página web generada por AirDroid. Contiene algunas informaciones útiles acerca de los teléfonos sin cubierta, como memoria disponible o estado de la batería y mucho mas
 
Haga clic en el icono de archivos y localize la carpeta MUSIC en la tarjeta SD o tarjeta SD externa (dependiendo de la configuración del teléfono). Es el momento para cargar música del ordenador a la memoria del smartphone:Abra la carpeta con la música en su ordenador  seleccione los archivos y sólo tiene que arrastrar a la! Ventana _MUSIC. Espere a que la transferencia hasta el final.

 

 

 

Por cierto esta idea se puede extender no solo a una pletina hifi, también  radiocasete , equipos compactos , etc ¿tiene alguno  de estas viejas leyendas en el trastero  y no sabe que hacer con estas pues con un viejo smartphone le puede dar otra nueva vida?

 

 

Fuente  http://www.mp3tapelessdeck.pl/

Anuncios

Software para CNC


Aunque  vivimos sin duda  una gran revolución  con la impresión 3d, de forma  silenciosa ,pero firme ,  también estamos viviendo  un considerable avance en el mundo de las maquinas tradicionales de todo tipo (fresadoras, piro-grabadoras, dibujo, corte, láser, etc. )  , eso si  ,controladas no por maquinas especificas diseñadas para su control como antaño , sino  simplemente por cualquier  ordenador y  por potentes  software de control que sin duda permite  obtener resultados completamente profesionales.

Estas maquinas conocidas como router CNC  o simplemente  CNC  en efecto son adecuadas para tallar madera, acrílico o metal blando, madera nativa, PCB CCL, PVC y un largo etcétera  lo cual permite infinidad   de aplicaciones para los profesionales  y también para los aficionados  al bricolaje  y  a la electrónica  dado que su precio  así como también  su tamaño  han hecho que estén accesibles a  casi todos los bolsillos .

Un  router CNC  se puede simplemente comprar  ya montado , en kit  con  todos los componetes ya preparados para montarlos por uno mismo  o fabricarlo  por uno mismo (en la web de OpenBuilds han publicado unos interesantes vídeos sobre una maquina llamada OX  y todo el proceso ), pero en todo caso   su coste suele ser una fracción de lo que cuesta una impresora 3d   en parte porque   normalmente se va a mover sobre solo dos ejes y no requiere  otras partes   que añaden coste y complejidad al  equipo ( un eje z largo , el extrusor o la cama caliente)

 

Una de las utilidades que ya comentamos en un post anterior es la  posibilidad de realizar placas de circuito impreso (PCB),  pero hay muchísimas opciones  como cortar madera, realizar grabados , escultura   y un largo etcétera

 

 

Para  fabricar  placas de circuito   impreso  con  una maquina  CNC   comentamos en  este post  , el   potente  programa    OPenCNCPilot que  nos permite obtener resultado muy profesionales  precisos y limpios  sin usar peligrosos líquidos  peligrosos, pero para otros  usos , sin  duda   bCNC   es  otro programa muy versátil   que  permite controlar  CNC que funcionen a través de arduino y que usen el firmware grbl.

bCNC

Este programa en un gestor GRBL es un    CNC command sender, autoleveler y editor de g-code

Cuenta con un  emisor avanzado de códigos g para GRBL . Este programa es  multiplataforma (Windows, Linux, Mac) escrito en python. El remitente es robusto y rápido capaz de trabajar muy bien con hardware antiguo o lento como Rasperry PI (como fue validado por el mainter de GRBL en pruebas pesadas)  y como vamos  a ver tiene infinidad de opciones.

Como no podía  ser  de otra manera  también permite realizar placas de circuito impreso:

 

bCNC screenshot

Instalación

 

El sw  se puede descargar directamente  desde https://github.com/vlachoudis/bCNC

Necesitará los siguientes paquetes para ejecutar bCNC

  • tkinter el conjunto de herramientas gráficas para python Dependiendo de su python / OS ya puede estar instalado o bajo los nombres tkinter, python-tkinter, python-tk
  • pyserial o bajo el nombre python-serial, python-pyserial
  • python-image-tk: las bibliotecas PIL para el mapa de altura de autolevel  (opcional)
  • python-opencv: para la transmisión por webcam en el colgante web(opcional)

Expanda el directorio o descárguelo desde github y ejecute el comando bCNC

Puede modificar la mayoría de los parámetros desde la página “Herramientas -> Máquina”. Solo los cambios / diferencias del archivo de configuración predeterminado se guardarán en su directorio de inicio $ {HOME} /. BCNC o ~ / .bCNC

La configuración predeterminada se almacena en bCNC.ini en el directorio de instalación. (POR FAVOR NO CAMBIE ESTE)

 

Menú editor Gcode

Entre sus características principales esta el editor de gcode, que nos permite hacer modificaciones sin tener que volver al software CAM.

Entre las opciones del menú de edición podemos nombrar las funciones de copiar y pegar lo que nos permite duplicar una porción del código, opciones de selección de bloques de código lo que nos facilita la edición.

El botón insertar nos permite, agregar lineas de código dentro de un bloque, clonar nos permite duplicar bloques, ademas tenemos botones para eliminar bloques, habilitar o deshabilitar bloques para que estos no se ejecuten pero sin borrarlos.

Los botones de Subir y Bajar , cambian el orden en el que se ejecuta un bloque de código,esto nos permite ordenar el gcode a nuestro gusto, y también tenemos una herramienta para invertir el orden de los bloques seleccionados.La herramienta mover nos permite cambiar la posición de los bloques simplemente seleccionando un bloque y arrastrarlo a la posición deseada. Necesaria para mover bloques que fueron clonados o copiados.El botón de establecer origen nos permite mover todo el trabajo, a la posición donde hagamos clic con el ratón.

Adicionalmente tenemos herramientas de rotar y reflejar y botones que nos permiten invertir el la dirección del corte.

Menú Herramientas

En el menú herramientas o tools tenemos la posibilidad de configurar los materiales o sustratos que usamos y guardarlos en una base de materiales y lo mismo podemos hacer con las herramientas de corte. Esto nos sirve en caso de que generemos las trayectorias directamente desde bCNC.

Ya que en bCNC es posible importar directamente vectores DXF o SVG y hasta tiene soporte para STL.

Dentro de las opciones cam, tenemos herramientas para hacer cortes, perfilados y taladrados.También podemos ahuecar una superficie, generar pestañas y aplanar superficies.

Y   aqui   vienen realmente  las posibilidades de este programa :

E

  • BOWL   Bowl, sirve para generar una concavidad o como su propio nombre loo describe un bowl.
  • BOX :Box es una herramienta para generar cajas con encastres como las que se encuentran en la web pero esta integrada con el programa , ademas las trayectorias generadas con para corte con fresa o con router cnc ya que compensa la circunferencia de la herramienta.Para poder generar una caja lo único que tenemos que hacer es darle los valores de altura, ancho, y profundidad ( X, Y, Z), ademas de la cantidad de encastres que queremos en cada cara y seleccionar el tipo de corte perfilado (Por fuera) , o corte (por sobre).Y por ultimo presionamos el botón ejecutar y se nos genera el g-code de nuestra caja con encastres.
  • Driller:El Driller nos permite generar trayectorias de taladrado, a lo largo de un vector, como se puede ver en la imagen hemos creado una seria de taladrados a lo largo de un vector con forma de circulo.
  • Aplanado (Flatten):Esta herramienta es muy simple nos permite generar una trayectoria de aplanado, con nuestro router cnc, solo tenemos que darle las coordenadas de los ejes X e Y para el inicio, y luego el alto, el ancho y la profundidad final del aplanado.Luego damos en el botón ejecutar y se nos genera el código G correspondiente.
  • Gear – Generador de Engranajes:Esta opción nos permite generar engranajes, los parámetros que debemos pasarle con el numero de dientes el angulo del diente y el diámetro.
  • Heightmap – Mapas de altura:Los mapas de altura son imágenes en escala de grises, que el programa interpreta como ALTOS los colores obscuros y como bajos los colores claros.Bcnc tiene la función heightmap que lo que hace es generar una trayectoria de corte a distintas profundidades generando así un relieve o corte en 3d.Pero en vez de usar un modelo 3d se pueden usar imágenes o fotografías pero para obtener buenos resultados se requiere que la imagen tenga las condiciones adecuadas de luz y sombras.
  • Pyrograph – Pirograbado con router cnc: El pirograbado es similar al grabado con láser, pero en vez de utilizar un haz de luz láser para el grabado, (lo cual es bastante peligroso si no se toman las medidas  de protección correspondientes  ) , utilizando en su lugar  una punta caliente o pirograbador. Bcnc cuenta con una herramienta para generar gcode para pirograbado, este gcode lo que hace es recorrer la imagen variando la velocidad de avance o feed rate para así lograr mayor o menor grado de quemado sobre la madera o material a grabar, sin cambiar la altura del eje Z.Para hacer una trayectoria de pirograbado necesitamos una imagen de preferencia en escala de grises, y luego pasar los parámetros.Diámetro de la punta, altura de trabajo en Z, tamaño máximo, velocidad mínima, velocidad máxima, dirección del recorrido, y la imagen a grabar.Luego damos click en execute y se nos genera el gcode correspondiente, si ven la imagen anterior parece que el gcode solo fuera un recorrido recto, pero eso es por que solo varia la velocidad de avance de la herramienta no la altura en Z.
  • Spirografo – Generador de patrones espirografico.:Interesante si le gustan los espirografos….
  • Text Generator – Generador de Texto para CNC o Imagen Texto:Interesante herramienta para generar texto para cortar letras con tu cnc o Láser.Solo tendremos que introducir el texto deseado elegir el archivo del tipo de fuente que queramos, establecer parámetros como anchura de los caracteres y listo.Pero esta herramienta tiene una función extra que es la capacidad de generar un texto a partir de una imagen.

 Menu maquina o (machine)

En este menú tendremos la posibilidad de configurar las características de nuestro router cnc o Láser. Primero configuramos las unidades, por defecto vienen configurado para milímetros así que a menos que queramos trabajar en pulgadas no deberemos tildar la opción UNITS (INCHES).

La siguiente opción es LaserCutter esta opción solo se deberá activar si en vez de un router cnc tenemos un cortador o grabador Láser. Lo que hace esta opción es activar el uso del los comandos gcode para control de un modulo láser por ttl. Esta opción esta disponible para la versión del firmware GRBL V1.1

En los siguientes nueve parámetros podremos configurar las aceleraciones, velocidades, y recorrido máximo para cada eje de nuestro router o maquina cnc.La opción decimal digits nos permite configurar cuentos decimales le enviara el programa al firmware en los movimientos de los ejes.Luego tenemos resolución de arcos, por defecto en 0,1.

Startup es el gcode de inicio que se envía a la maquina por defecto G90 ( distancias absolutas) si queremos movimientos incrementales tenemos que poner ( G91).Spindle RPM maximas y minimas.

Y por ultimo el header gcode y footer gcode, estos son los gcodes de inicio y fin nos sirve para por ejemplo hacer que se encienda nuestro husillo y que se ajuste a las rpm deseadas antes de empezar y el de fin nos sirve para mover los ejes a una posición deseada luego de finalizado el corte o trabajo.

Control

En esta pestaña es donde vamos a pasar ms tiempo ya que aquí están todas las herramientas de control mas comunes de cualquier software para cnc.

Primero tenemos los botones para crear, abrir y guardar gcode o cualquier archivo con el que vallamos a trabajar. Ademas tenemos el botón de HOME, que lo que hace es enviar el comando G28.

Lo que hace es mover los ejes en busca de los finales de carrera, luego el botón de unlock que nos permite desbloquear nuestra maquina ( recordar que GRBL firmware tiene una opción para bloquear los movimientos de los ejes. ), y por ultimo el reset que reinicia el firmware.

Ahora le toca el turno a una de las funciones que yo mas valoro de este software, y aunque es muy simple también resulta muy util.

Scan

SCAN este botón nos permite hacer un recorrido por los margenes de nuestro vector, gcode o diseño. De modo que al presionarlo los ejes X e Y se moverán recorriendo los limites del espacio que ocupa el modelo.   Esta función es muy útil cuando deseamos saber si lo que vamos a cortar, entra dentro del sustrato o de la pieza a cortar. También podremos determinar si la posición a cortar sera la que necesitamos. Hay que tener la precaución de levantar el eje Z a una posición en la que no tenga riesgos de colisionar con la pieza o algún otro obstáculo.

Debajo de scan tenemos otros botones que son 2, 3, 4, 5 y 6, estos botones son programables o personalizables aquí podemos escribir comandos.

Por ultimo los botones de control de gcode:  Start inicia el corte o trabajo, pause nos permite pausar el trabajo y stop detienen el proceso que se este ejecutando. Luego tenemos el visualizador del estado de la maquina, donde veremos el estado de la conexión con el cnc, las posiciones de trabajo y las posiciones de la maquina.

Debajo de la posición de caga eje tenemos 3 botones con la inscripción X=0, Y=0 y Z=0. Estos nos permiten establecer el cero de cada eje para la posición de trabajo.

Ahora vemos la sección workspaces, donde tenemos 6 espacios de trabajo (G54, G55, G56, G57, G58 y G59)  donde podremos personalizar distintas configuraciones para aplicarlas al trabajo que estemos por realizar. Aquí podremos definir valores como el el modo de desplazamiento (absoluto o incremental), las unidades de trabajo (mm o Pulgadas) plano de trabajo (XY, YZ o ZX),

 

Control de los ejes

Aquí tendremos acceso a los botones correspondientes al control manual de los ejes de nuestro cnc donde ademas podremos seleccionar la cantidad de unidades de desplazamiento.También vemos que podremos controlar el feed rate, al vuelo mientras estamos realizando un corte o trabajo con nuestro cnc.

Y de el mismo modo podremos acceder al control de rpm de nuestro husillo.

Visor de trabajo

A la derecha tenemos el visor del gcode o archivo que estemos por ejecutar, aquí podremos seleccionar entre distintos planos de vista, ( XY, XZ, YZ, ISO1, 2, 3).Ademas tenemos los controles de zoom in y zoom out y mostrar todo.Ahora en la sección tool tenemos la herramienta de selección que lo que nos permite es seleccionar partes de nuestro gcode para realizar acciones como eliminar o desactivarlas entre otras.b También tenemos la herramienta mover visor que lo que hace es mover la posición del modelo en el visor.

Y ahora vemos las funciones MoveGantry y Set Work Position,

  • Move gantry nos permite mover con 2 click el cabezal a la posiciones de nuestro gcode que le indiquemos en el visor.Asi por ejemplo si yo hago click en move Gantry y luego hago click en el centro de mi gcode formado por 2 círculos concéntricos, los ejes X e Y se moverán hasta alcanzar la posición señalada con el puntero.Esto es muy útil por ejemplo para saber donde estará el centro de mi gcode en el material o pieza a cortar, de modo que con esta herramienta podremos movernos con 2 clics a cualquier posición de nuestro plano de visión. Tener en cuenta que los ejes se moverán de a cuerdo al plano de visión, de modo que si estamos en el plano X-Z los ejes que se moverán serán X y Z.
  •  SetWorkPosition;Esta botón también es uno de los mas usados en Bcnc ya que nos permite establecer la posición de trabajo de nuestros ejes con solo hacer 2 clicks.Como en el ejemplo anterior, con set work position podremos con solo 2 clicks decirle al programa que en la posición donde hicimos click es donde están posicionados nuestros ejes X e Y en este momento. Otro ejemplo de uso seria, mover nuestros ejes a una posición determinada donde queremos que quede el centro de nuestro trabajo, y luego damos click en SetWorkPosition y luego hacemos click en el centro de nuestro gcode en el visor.

Ademas en la sección Draw tenemos botones para activar o desactivar la visualización de las diferentes partes de nuestro trabajo. Primero tenemos el botón Display Axis, que lo que hace es activar o desactivar la visualización de los ejes del visor.Después tenemos Grid Lines que activa o desactiva la visualización de la cuadricula.

Display Margins lo que hace es activar o desactivar la visualización de los margenes.

Por ultimo activar o desactivar la visualización de los movimientos G1, G2 y G3 o los movimientos de corte y también tenemos un botón para desactivar los movimientos G0 o los movimientos Rápidos.

 

 

Terminal

Ademas bcnc nos provee de un terminal desde el que podremos enviar comando manuales a nuestro cnc, en grbl es muy útil por ejemplo para hacer la configuración de los valores de la eeprom. Y para dar por finalizado este recorrido por las características y herramientas de bcnc, nos vamos a la pestaña files: Aquí vamos a encontrar la configuración de la conexión con nuestra maquina, donde podremos seleccionar el puerto serie donde tenemos conectado nuestro arduino, y la velocidad de comunicación o baudrate.

 

 

Hemos recorrido la mayoría de las funciones disponibles en este estupendo  software Libre para control de una  CNC llamado Bcnc.

Un paso más hacia la conversión de un coche convencional en coche semi autónomo


George Hotz,  es conocido por ser  el hacker   americano experto en seguridad de sistemas informáticos que cobró notoriedad por la gran precocidad que demostró con solo  17 años  crear blackra1nque, aprovechando otros desarrollos, logrando ser el primero en desbloquear el iPhone, permitiendo que el dispositivo fuese utilizado con otros operadores de telecomunicaciones, a diferencia de la intención de Apple de proveer a sus clientes el terminal sólo en  la red de AT&T , pero  quizás  muchos no sepan que tambien es uno de los primeros en   construir  un coche autónomo en su garaje convirtiendo su turismo convencional T Acura ILX en un coche semiautónomo.

Según Hotz, el desarrollo de su tecnología debería resultar en un kit de conversión capaz de transformar un coche convencional en un coche semiautónomo  pudiéndose instalar en vehículos relativamente modernos y que cumplan ciertos requisitos mínimos, como disponer de dirección asistida eléctrica y de frenado automático  .

Los modelos soportados   por este kit son los siguientes:

  • cura ILX 2016 con AcuraWatch Plus (debido al uso del control de crucero para el gas, solo se puede habilitar a más de 25 mph)
  • Honda Civic 2016-2017 con Honda Sensing.(debido a limitaciones en el firmware de la dirección, la dirección se desactiva a menos de 12 mph .El modelo hatchback no es compatible
  • Honda CR-V Touring 2015-2016 (Solo se puede habilitar a más de 25 mph)
  • Honda Odyssey 2018 con Honda Sensing (alfa!)Solo se puede habilitar a más de 25 mph
  • Acura RDX 2018 con AcuraWatch Plus (alfa!)Solo se puede habilitar a más de 25 mph
  • Honda Pilot 2017 con Honda Sensing (alfa!)Solo se puede habilitar a más de 27 mph
  • Toyota RAV-4 2016+ no híbrido con TSS-P.Por defecto usa stock Toyota ACC para control longitudinal .control longitudinal de piloto abierto disponible después de desenchufar la ECU de soporte de conducción y se puede habilitar a más de 20 mph
  • Toyota Prius 2017 (alfa!).Por defecto usa stock Toyota ACC para control longitudinal. El control longitudinal de Openpilot disponible después de desenchufar la ECU de soporte de conducción.El control lateral necesita mejoras
  • Toyota RAV-4 2017 híbrido (alfa!)Por defecto usa stock Toyota ACC para control longitudinal.El control longitudinal de Openpilot está disponible después de desenchufar la ECU de soporte de conducción y puede detenerse e irse
  • Toyota Corolla 2017 (alfa!)Por defecto usa stock Toyota ACC para control longitudinal.El control longitudinal de piloto abierto disponible después de desenchufar la ECU de soporte de conducción y se puede habilitar a más de 20 mph
  • Lexus RX 2017 hybrid (alpha!).Por defecto usa stock Lexus ACC para control longitudinal.El control longitudinal de Openpilot disponible después de desenchufar la ECU de soporte de conducción

    Proximos

  • Todos los TSS-P Toyota con asistente de dirección.Se requiere ‘control de crucero de radar dinámico de rango de velocidad máxima’ para permitir el arranque y la parada. Solo el Prius, Camry y C-HR tienen esta opción.Aunque la Tundra, Sequoia y Land Cruiser tienen TSS-P, no tienen Steering Assist y no son compatibles.
  • Todos los LSS-P Lexus con asistente de dirección o Lane Keep Assist.Se requiere ‘Control de crucero de radar dinámico de rango de todas las velocidades’ para permitir el arranque y la parada. Solo los GS, GSH, GS, F, RX, RXH, LX, NX, NXH, LC, LCH, LS, LSH tienen esta opción.Aunque el LX tiene TSS-P, no tiene Steering Assist y no es compatible.

 

Hardware necesario

En octubre pasado, Comma.ai  abandono  sus primer producto:el kit de recambio $999, que fue diseñado para dar a coches normales  habilidades semiautónomas, después de recibir una consulta de  la administración de seguridad del tráfico por la seguridad del producto. En su lugar,  publicó OpenPilot, el  código desarrollado que se presenta como una alternativa de código abierto de la  función semiautónoma del piloto automático de  Tesla . No ha perdido la esperanza  y desde su empresa alenta de  hecho  la gente a construir sus propios kits  para  auto-conducción, pero al poner su código  Comma.ai  libre  ha sido capaz de evitar esos molestos reguladores federales y, esperemos tambien que pueda mejorar el software.

De hecho todavía la version publicada tiene  sus limitaciones pues el software permite control de crucero adaptativo y mantener asistencia para los coches demostrando lo con  un Acura ILX en 2015, un Honda Civic en 2016 y este año, un Toyota Prius  que es plausible ,  pero todavía le falta mas desarrollo

A falta de qeu el kit sea completamente seguro , su empresa por el momento han comercializado las siguientes herramientas:

 

Panda OBD2 Dongle

El componente de hardware primario llamado Panda  que vende pro unos 99$  es en realidad  un dongle que se conecta al puerto OBDII  presente en todos los coches fabricados después de 1996( y del que hemos hablado en numerosa ocasiones en este blog)

Este dongle  soporta  tanto  USB como Wi-Fi  permitiendo extraer los  datos  tanto a ordenadores como a  teléfonos inteligentes.

El dongle   junto con su nuevo software “Cabana”, debería ayudar a los propietarios    a ver los datos  que están recogiendo los sensores en sus coches .Ademas los datos que vierte se  pueden estudiar aparte  como podemos  ver en esta demostración

 

odb2.PNG

La compañía ha creado un repositorio DBC llamado opendbc que se integra con el software de Cabana y permite a los usuarios crear una base de datos sobre su coche y compartirla.El objetivo es construir un repositorio con un archivo DBC para cada coche  fabricado y democratizar el acceso al anillo decodificador para su automóvil,Con esta información se proporciona el primer paso para hacer un coche uno mismo-conduciendo

Según afirman sus creadores panda + cabana es como fitbit para su  coche pues rastrea  RPM, MPG, fuerza G en las curvas, duración de la batería y mucho más. Ademas se puede usar  para sincronizarlo con el video

Sus creadores  sostiene que este  dongle no es como las decenas de otros dongles desarrollado por la interminable cadena de startups de coches conectados que han surgido en los últimos años. “Lo que están haciendo esas cosas usa el API estándar para coches,”  que es la misma API que mecánicos y personas que llevan a cabo las pruebas de emisiones y por tanto muy limitada. Este dongle obtiene acceso a todo lo que el fabricante tiene acceso. Por otro lado el sw  Panda es compatible con todas las redes de comunicaciones internas  (conocidas como CAN BUS   que interconecta los componentes de un vehículo.

Giraffe

Los automóviles tienen muchos buses CAN que no están expuestos en el conector OBD-II principal. jiraffe es una placa adaptadora que cuesta unos 60$  y que  permite acceder a estos

Hay dos modelos: para Toyota  y para Honda .

En la foto vemos la diseñada para Honda Civic (no hatchback) con Honda Sensing y Acura ILX con AcuraWatch Plus. También puede funcionar en otros automóviles con el mismo conector.

La  funcionalidad de esta placa es pasar a través de las señales al sistema de asistencia al conductor existente apagando los interruptores y bloqueando las señales. Es como desconectarse, pero mejor.  Cuando se usa con un panda chffr, obtiene más señales y acceso para leer de un automóvil. También tiene un puerto de Ethernet falso compatible con NEO con acceso a CAN1, CAN2, detección iniciada, +12v y tierra.

Esta placa  pues permite a los propietarios de automóviles grabar y revisar sus unidades. Si el Panda se empareja con Chffr, los usuarios pueden registrar todos los datos del sensor de sus coches. Si el coche tiene sensores,  entonces los usuarios podrán ver todo tipo de datos  tanto  información simple como la velocidad y datos más complejos como las RPM del motor, cuánto gasolina le queda  es en el tanque, lo que está haciendo la suspensión, si los frenos antibloqueo estan actuando  o incluso si el conductor cómo duro golpeo los frenos.

 

EON Dashcam DevKit

Necesita tres cosas en su salpicadero: una dashcam, navegación y música. EON son los tres.Construido sobre una base sólida de NEOS, ejecuta chffrplus, el  galardonado software dashcam de fuente abierta. chffrplus es una dashcam basada en la nube, lo que significa que todas sus unidades no consumen el espacio en su dispositivo.

Explore sus discos desde la aplicación chffr o desde el dispositivo; EON se integra con el ecosistema de coma.

Como está basado en Android, también ejecuta Waze y Spotify. Las aplicaciones de música y navegación de más alta calidad en el mundo. No ejecuta radio slacker o mapquest.

 

 

chffr – dash cam by comma.ai

app.PNG

 

Chffr es una app par aandroid   de  dashcam que entrena automoviles  sin conductor. Conducir con chffr mejora el sistema  de comma.ai openpilot, software de auto sin conductor gratis. Usando la app se contribuya a las más de 1 millón de millas manejadas con Chffr  de modo que cada   minuto que se conduces con Chffr, gana 1 punto de coma.

Los líderes de puntos recibiran acceso temprano a la tecnología coma.ai y consiguen un lugar en la clasificación de Chffr en http://beta.comma.ai.

Esta app :

  • permite  grabar viajes y ver el velocímetro en vivo, la duración del viaje y las recompensas de punto de coma.T
  • Tambien Chffr graba en segundo plano para que pueda usar otras aplicaciones (Maps, Waze, Spotify)
  •  Revisa sus viajes con la cámara del tablero en el Driving Explorer
  •  Comparte momentos de tus viajes

 

Chffr conserva el almacenamiento y los datos al guardar los viajes de la cámara de su tablero a la nube cuando está conectado a WiFi. Recomendamos enchufar su teléfono mientras conduce.

 

 

 

Ya, para terminar, esperando que el producto final que se lance   en un futuro muy cercano sea seguro y funcional , os dejamos con un video de las primeras pruebas realizadas:

 

 

 

 

 

 

En el artículo A16z Led a $3.1 Million Round in Aftermarket Autonomous Car Company, Comma.ai George Hotz deja claro que su gran aspiración es batir a Tesla, «líder no porque su tecnología sea mejor, sino porque ya la ha puesto en la calle.»

Introducción al modelado 3d con OpenSCAD para electrónicos


Para el modelado 3D, Tinkercad debería ayudarnos ante cualquier diseño inicial de una manera  más sencilla con el proceso de modelado 3D, tanto es así, que incluso los modeladores experimentados lo hacen  explorando las formas de Tinkercad,  pues curiosamente, una herramienta “simple” como Tinkercad puede conducir a formas complejas.

Lógicamente detrás de Tinkercad y de cualquier otro programa de modelado 3D está el código, de modo que a medida que arrastra y suelta formas, los algoritmos complejos están trabajando para calcular cómo aparecerán los gráficos en la pantalla, asi que  también debería ser posible crear figuras geométricas directamente mediante código.

Para aquellos que tienen curiosidad sobre el código, OpenSCAD es una herramienta gratuita de software para explorar el modelado 3d desde esa perspectiva,  resultando  mucho mas eficiente   y concisa   en el  proceso de diseño que cualquier otra herramienta gráfica como por ejemplo Tinkercad..

A diferencia de Tinkercad, OpenSCAD no es una aplicación basada en la web de  modo que si esta interesado  en la herramienta   tendrá que descargarla ( OpenSCAD se puede descargar gartis en http://www.openscad.org y está disponible para Windows, Mac OS X y Linux)   e instalarla en su PC para usarla.

La interfaz OpenSCAD es sencilla  en comparación con Tinkercad ,constando  de sólo tres ventanas, siendo la ventana de la izquierda un editor de texto utilizado para ingresar el código.

 

panel

Con OpenSCAD está diseñando código,pero no se preocupe: escribir código con Open SCAD es similar al uso de HTML en una página web, siendo el código para crear objetos  autoexplicativo  (por ejemplo, el comando del cubo crea cubos, el comando de esfera crea esferas y el comando del cilindro crea cilindros, etc).

Probablemente haya alrededor de 60 comandos en OpenSCAD, muchos de los cuales  permitirán manipular la geometría ,  como por ejemplo mover, rotar, escalar y usar operaciones booleanas para combinar objetos, pero no se preocupe porque  para modelar  la mayoría de la piezas solo necesitaran  unos pocos comandos como  son union , difference, translate, cylinder o  cube.

 

Las secuencias de comandos en el lenguaje de OpenSCAD se utilizan para crear modelos en 2D o 3D.

Este script es una lista de formato libre de instrucciones de acción.

 object();
 variable = value;
 operator()   action();
 operator() { action();    action(); }
 operator()   operator() { action(); action(); }
 operator() { operator()   action();
              operator() { action(); action(); } }

 

Como vemos  hay objetos,acciones  y operadores para construir un pieza:

  • Objetos:Los objetos son los bloques de construcción de modelos, creados por primitivas 2D y 3D. Los objetos terminan en un punto y coma ‘;’.
  • Acciones: Instrucciones de acción  que incluyen la creación de objetos usando las primitivas y asignar valores a variables. Las instrucciones de acción también terminan en un punto y coma ‘;’.
  • Operadores :Los operadores o las transformaciones, modifican la ubicación, color y otras propiedades de los objetos. Los operadores usen llaves ‘{}’ cuando su ámbito de aplicación abarca más de una acción. Más de un operador puede usarse para la misma acción o grupo de acciones. Varios operadores se procesan de derecha a izquierda, es decir, el más cercano a la acción del operador se procesa primero. Los operadores no terminan en punto y coma ‘;‘, pero la persona hacen acciones que contienen.

 

 

Las unidades en OpenSCAD son genéricas  de modo que no hay sistemas de medición en OpenSCAD, es decir , no hay designación para las unidades, y le corresponde al diseñador definir el tamaño del objeto al configurar el archivo antes de la impresión 3D.

CLINDRO (Cylinder)


Crea un cilindro o un cono centrado sobre el eje z. Cuando el centro es cierto, también se centra verticalmente a lo largo del eje z.

Nombres de los parámetros son opcionales si en el orden que se muestra a continuación. Si un parámetro se denomina, deben también llamarse todos los parámetros siguientes.

Nota: Si se utilizan r, d, d1 o d2 debe llamarse.

cylinder(h = height, r1 = BottomRadius, r2 = TopRadius, center = true/false);
Parámetros
h : altura del cilindro o de cono
r : radio del cilindro. R1 = r2 = r.
R1 : radio, parte inferior del cono.
R2 : radio superior del cono.
d : diámetro del cilindro. R1 = r2 = 2 d.
D1 : diámetro, parte inferior del cono. R1 = d1/2
D2 : diámetro superior del cono. R2 = d2/2

(Nota: d, d1, d2 requiere 2014.03 o posterior. Debian en la actualidad se sabe que detrás de esto)
Centro

falso (por defecto), z va desde 0 a h
cierto, rangos de z de -h/2 a + h/2
$fa : ángulo mínimo (en grados) de cada fragmento.
$fs : longitud circunferencial mínima de cada fragmento.
$fn : fija el número de fragmentos en 360 grados. Valores de 3 o más reemplazar $fa y $fs

$fa, $fs y $fn deben ser nombrados. 
defaults: cylinder();  yields: cylinder($fn = 0, $fa = 12, $fs = 2, h = 1, r1 = 1, r2 = 1, center = false);

OpenSCAD Cone 15x10x20.jpg

equivalent scripts
 cylinder(h=15, r1=9.5, r2=19.5, center=false);
 cylinder(  15,    9.5,    19.5, false);
 cylinder(  15,    9.5,    19.5);
 cylinder(  15,    9.5, d2=39  );
 cylinder(  15, d1=19,  d2=39  );
 cylinder(  15, d1=19,  r2=19.5);

OpenSCAD Cone 15x10x0.jpg

equivalent scripts
 cylinder(h=15, r1=10, r2=0, center=true);
 cylinder(  15,    10,    0,        true);
 cylinder(h=15, d1=20, d2=0, center=true);
equivalent scripts
 cylinder(h=20, r=10, center=true);
 cylinder(  20,   10, 10,true);
 cylinder(  20, d=20, center=true);
 cylinder(  20,r1=10, d2=20, center=true);
 cylinder(  20,r1=10, d2=2*10, center=true);

 

CUBO (Cube)


Crea un cubo en el primer octante. Cuando el centro es cierto, el cubo se centra en el origen. Nombres de argumento son opcionales si en el orden que se muestra a continuación.

cube(size = [x,y,z], center = true/false);
cube(size =  x ,     center = true/false);
parámetros:
tamaño

solo valor, cubo con los lados de esta longitud
3 valor array [x, y, z], cubo con dimensiones x, y y z.
Centro

falso (predeterminado), 1 º octante (positivo), una de las esquinas en (0,0,0)
cierto, cubo está centrado en (0,0,0)
default values:  cube();   yields:  cube(size = [1, 1, 1], center = false);
ejemplos:

OpenSCAD example Cube.jpg

equivalent scripts for this example
 cube(size = 18);
 cube(18);
 cube([18,18,18]);
 .
 cube(18,false);
 cube([18,18,18],false);
 cube([18,18,18],center=false);
 cube(size = [18,18,18], center = false);
 cube(center = false,size = [18,18,18] );

OpenSCAD example Box.jpg

equivalent scripts for this example
 cube([18,28,8],true);
 box=[18,28,8];cube(box,true);

 

 

ROTATE

Gira su objeto ‘a’ grados sobre el eje del sistema coordinado o alrededor de un eje arbitrario. Los nombres de argumento son opcionales si los argumentos se dan en el mismo orden como se especifica.

//Usage:
rotate(a = deg_a, v = [x, y, z]) { ... }  
// or
rotate(deg_a, [x, y, z]) { ... }
rotate(a = [deg_x, deg_y, deg_z]) { ... }
rotate([deg_x, deg_y, deg_z]) { ... }

El argumento ‘a’ (deg_a) puede ser una matriz, tal como se expresa en el uso de más arriba; Cuando deg_a es una matriz, se omite el argumento de ‘v’. Donde ‘a’ especifica múltiples ejes después de la rotación se aplica en el siguiente orden: x, y, z. que significa el código:

rotate(a=[ax,ay,az]) {...}

es equivalente a:

rotate(a=[0,0,az]) rotate(a=[0,ay,0]) rotate(a=[ax,0,0]) {...}

El argumento opcional de ‘v’ es un vector y le permite establecer un eje arbitrario que será girado al objeto.
Por ejemplo, para voltear un objeto boca abajo, se puede girar el objeto 180 grados alrededor del eje ‘y’.

rotate(a=[0,180,0]) { ... }

Con frecuencia esto se simplifica a

rotate([0,180,0]) { ... }

Cuando se especifica un solo eje el argumento de ‘v’ permite especificar cuyo eje es la base para la rotación. Por ejemplo, el equivalente a lo anterior, para girar a la vuelta y

rotate(a=180, v=[0,1,0]) { ... }

Cuando se especifica un solo eje, ‘v’ es un vector de definición de un eje arbitrario de rotación; Esto es diferente del eje múltiple anterior. Por ejemplo, rotar el objeto 45 grados alrededor del eje definido por el vector [1,1,0],

rotate(a=45, v=[1,1,0]) { ... }

 

 

TRANSLATE

Se  mueve sus elementos secundarios a lo largo del vector especificado. El nombre de argumento es opcional.

Example:
translate(v = [x, y, z]) { ... }
cube(2,center = true); 
translate([5,0,0]) 
   sphere(1,center = true);

image of result of the translate() transformation in OpenSCAD

image of result of rotate() transformation in OpenSCAD

 

 

MINKOWSKY

Muestra la suma de minkowski de los nodos secundarios.

Supongamos que tiene una caja plana y quiere un borde redondeado. Hay muchas formas de hacerlo, pero minkowski es muy elegante.

Por ejemplo toma un cubo  y un cilindro:

 $fn=50;
 cube([10,10,1]);
 cylinder(r=2,h=1);

Luego, haga una suma de minkowski de ellos (tenga en cuenta que las dimensiones exteriores de la caja ahora son 10 + 2 + 2 = 14 unidades por 14 unidades por 2 unidades de altura a medida que se suman las alturas de los objetos):

$fn=50;
minkowski()
{
  cube([10,10,1]);
  cylinder(r=2,h=1);
}

Note que el origen del segundo objeto se usa para la suma. Si el segundo objeto no está centrado, entonces la adición será asimétrica. Las siguientes sumas de Minkowski son diferentes: la primera expande el cubo original en 0.5 unidades en todas las direcciones, tanto positivas como negativas. El segundo lo expande en +1 en cada dirección positiva, pero no se expande en las direcciones negativas.

minkowski() {
    cube([10, 10, 1]);
    cube(1, center=true);
}
minkowski() {
    cube([10, 10, 1]);
    cube(1);
}

 

 

mikonsji.png

En  nuestro  diseño final que veremos  para la caja ATX  nos sirve para   redondear los bordes de la caja  :

minkowski(){
translate([0,0,0]) cube([151,85,29]);
cylinder(r=2);

Observar que una caja ATX es de 151 x 85

 

TRANSFORMACIONES

La transformación afectan a  los nodos secundarios y como su nombre indica transforma de diversas maneras las figuras como moviéndolas , rotándolas   o escaléndolas . Las transformaciones en cascada se utilizan para aplicar una gran variedad de transformaciones a un a figura 

En cascada se logra mediante declaraciones de anidación,

Un ejemplo :

rotate([45,45,45])
  translate([10,20,30])
    cube(10);

Las transformaciones pueden aplicarse a un grupo de nodos secundarios mediante el uso de ‘ {‘ y ‘}’ para incluir por ejemplo el subárbol

translate([0,0,-5])
{
    cube(10);
    cylinder(r=5,h=10);
}

Un  aspecto a tener muy en cuenta es  que las transformaciones se escriben antes el objeto que afectan.

 

 

 

Primer ejemplo

 

Como  habrá  podido deducir , construir una pieza en  OpenSCAD es un proceso mucho más eficiente cuando se  usa código.

Por ejemplo,  el uso de Tinkercad para crear una caja y su tapa toma más de diez operaciones que consisten en dejar caer y arrastrar objetos, alinearlos y agruparlos para crear las formas finales, de modo que  este proceso podría tardar mucho tiempo según el manejo que se tenga de la herramienta.

Con OpenSCAD, puede crear la misma pieza en menos de diez minutos simplemente usando el siguiente código:

difference () {
cube ([4,3,2], center=true);
translate ([0,0,1])
cube ([3.5,2.5,2], center=true);
}

union () {
translate ([0,0,2])
cube ([4,3,.4], center=true);
translate ([0,0,1.8])
cube ([3.49,2.49,.4], center=true);

translate ([0,0,2.2])
scale ([.1,.1,.1])
sphere (r=5, center=true);

translate ([0,0,2.7])
scale ([.07,.07,.07])
sphere (r=5, center=true);
}

Explicamos a continuacion el código:

La primera sección del código se usa para crear una  caja hueca .

El  comando (cube [4,3,2], center = true); crea el cuadro inicial.

El  comando center= true  se usa para asegurar que la caja esté perfectamente centrada en 3D

La siguiente serie de comandos, translate ([0,0,1]) cube ([3.5,2.5,2], center = true) ;, se usa para crear un segundo cuadro más pequeño.

Esta segunda caja, más pequeña, se mueve hacia arriba en 1 unidad en la dirección Z usando el comando translate y se usará en la operación boleana para crear la caja hueca  gracias al comando difference  que  se usa para restar el cuadro más pequeño (3.5×2.5×2)  para el cuadro grande (4x3x2)

Como vemos cualquier comando de forma como cubo, esfera y cilindro que se encuentre dentro de los corchetes que preceden al comando de diferencia se usará en la operación booleana  dando resultado que el primer objeto enumerado en los corchetes tendrá la forma de base, y los objetos anteriores enumerados serán “objetos de corte” y restarán la geometría de la base.

cajas.png

Para la tapa de  la caja, simplemente usaremos el comando unión para   formar una pieza compuesta por dos cubos superpuestos  ,uno de 4x3x.4  y  otro algo  mas pequeño de 3.49×2.49x.4

tapas.png

Los últimos dos conjuntos de comandos crean el mango esférico para la parte superior de la tapa

translate ([0,0,2.2])
scale ([.1,.1,.1])
sphere (r=5, center=true);

translate ([0,0,2.7])
scale ([.07,.07,.07])
sphere (r=5, center=true);

 

Finalmente, el comando de unión se usa para combinar todos los elementos de tapa juntos.

 

caja

 

 

Ejemplo fuente ATX

Para mostrar lo util que es el prototipado  con esta herramienta, vamos   a ver como se puede hacer un tapa a una fuente de ordenador ATX de ordenador  de modo que queden accesibles las tensiones principales de la fuente(+12,-12 y +5V)   y además podamos controlarlas con un conmutador y un instrumento de panel.

El prototipo final es el que mostramos a continuación:

atx2.png

 

 

Podemos ver  la tapa como dos bloques , donde uno sera la caja  y el otro  todos los orificios que se practiquen sobre el mismo

Bloque  inicial

La primera sección del código se usa para crear una  caja hueca  y los agujeros de los laterales.

El  comando translate([0,0,0]) cube([151,85,29]); crea el cuadro inicial  de medidas algo superiores al frontal de una caja ATX dado que debe colocarse esta deno.

La siguiente serie de comandos, trtranslate([0,0,2]) cube([151,85,28]);  se usa para crear un segundo cuadro más pequeño  .

Esta segunda caja, más pequeña, se mueve hacia arriba en 2 unidades en la dirección Z usando el comando translate y se usará en la operación boleana para crear la caja hueca  gracias al comando difference  que  se usa para restar el cuadro más grande al cuadro pequeño

En  el  diseño   para la caja ATX  nos sirve la función minkowski   para   redondear los bordes de la caja  :

minkowski(){
translate([0,0,0]) cube([151,85,29]);
cylinder(r=2);

Observar que una caja ATX es de 151 x 85 x29.

En este bloque además se practican los agujeros  de refrigeracion en la cara inferior por medio de la creación de cilindros de radio 5

//agujeros de refrigeracion
translate([40,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);
translate([60,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);
translate([75,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);
translate([90,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);
translate([110,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);

Asimismo, se crean 4 orificios para los 4 tornillos que  serviran para sujetar esta pieza a la caja ATX  :

// 4 agujeros para sujetarlos a la caja ATX
translate([15.5,-2,25]) rotate([-90,0,0]) cylinder(h=3,r1=3.5,r2=1.5);
translate([135.5,-2,25]) rotate([-90,0,0]) cylinder(h=3,r1=3.5,r2=1.5);

translate([-2,80,25]) rotate([0,90,0]) cylinder(h=3,r1=3.5,r2=1.5);
translate([154,80,25]) rotate([0,-90,0]) cylinder(h=3,r1=3.5,r2=1.5);

 

Además, en este bloque se han añadido dos patas  compuestas por dos cubos que se fijaran a la cara inferior

//2 pies de apoyo
translate([10,86,0]) rotate([.5,0,0]) cube([10,3,30]);
translate([131,86,0]) rotate([.5,0,0]) cube([10,3,30]);

 

Bloque de vaciados

Se ha visto interesante reforzar los 5 bornas  por medio de 5 cilindros interiores  que ayudan a  dar más consistencia  a las bornas en su operacion  normal ,las cuales estan   formados simplemente por cilindros  de poca altura:

//refuerzo conectores
translate([18,70,0]) cylinder(h=5,r=6);
translate([38,70,0]) cylinder(h=5,r=6);
translate([58,70,0]) cylinder(h=5,r=6);
translate([151-18,70,0]) cylinder(h=5,r=6);
translate([151-38,70,0]) cylinder(h=5,r=6);

Asimismo  se han añadido refuerzos en el interior para mejorar la estabilidad mecánica  formados por cubos   y que recorren toda la caja :

//Costillas de refuerzo  para la caja
translate([0,0,0]) cube([3,3,20]);
translate([0,82,0]) cube([3,3,20]);
translate([148,0,0]) cube([3,3,20]);
translate([148,82,0]) cube([3,3,20]);
translate([47,0,0]) cube([3,3,20]);
translate([47,82,0]) cube([3,3,20]);
translate([77,0,0]) cube([3,3,20]);
translate([100,82,0]) cube([3,3,20]);
translate([0,40,0]) cube([3,3,20]);
translate([148,50,0]) cube([3,3,20]);
translate([47,40,0]) cube([3,45,4]);
translate([100,50,0]) cube([3,35,4]);
translate([0,40,0]) cube([80,3,4]);
translate([77,0,0]) cube([3,50,4]);
translate([77,50,0]) cube([151-77,3,4]);
}

También es interesante destacar la abertura para el interruptor  de encendido  y el display led  formado por dos  simples cubos , así como tambien  los agujeros para los conectores formados por 5 cilindros:

//Abertura para el display
translate([32,12,0]) cube([45.3,25.7,10]);

//Abertura para el interruptor
translate([15,15,0]) cube([11.7,19.6,10]);

//Agujeros para los conectores
translate([18,70,0]) cylinder(h=9,r=5);
translate([38,70,0]) cylinder(h=9,r=5);
translate([58,70,0]) cylinder(h=9,r=5);
translate([151-18,70,0]) cylinder(h=9,r=5);
translate([151-38,70,0]) cylinder(h=9,r=5);

 

Por ultimo, para mejorar la refrigeración   se ha optado por poner rejillas de ventilación en el frontal formadas cada una por 2 cilindros huecos y un cubo

Como novedad   se realiza  de forma re-cursiva mediante el empleo de un bucle for

//Rejilla de ventilacion
for ( i = [85 : 8 : 145] )
{
translate([i,10,0]) cylinder(h=9,r=2);
translate([i,45,0]) cylinder(h=9,r=2);
translate([i-2,10,0]) cube([4,35,4]);
}

 

Finalmente, si lo unimos todo, tenemos el siguiente código para general la pieza entera:

 

// …………………………
// Panel para fuente ATX
// CRN
// 17/01/2018
// GNU GPL v3
// …………………………

 

module box(){
difference(){
union(){
minkowski(){
translate([0,0,0]) cube([151,85,29]);
cylinder(r=2);
}
//2 pies de apoyo
translate([10,86,0]) rotate([.5,0,0]) cube([10,3,30]);
translate([131,86,0]) rotate([.5,0,0]) cube([10,3,30]);
}
//vaciado de la caja
translate([0,0,2]) cube([151,85,28]);

//agujeros de refrigeracion
translate([40,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);
translate([60,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);
translate([75,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);
translate([90,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);
translate([110,80,12]) rotate([-90,0,0]) cylinder(h=9,r=5);

// 4 agujeros para sujetarlos a la caja ATX
translate([15.5,-2,25]) rotate([-90,0,0]) cylinder(h=3,r1=3.5,r2=1.5);
translate([135.5,-2,25]) rotate([-90,0,0]) cylinder(h=3,r1=3.5,r2=1.5);

translate([-2,80,25]) rotate([0,90,0]) cylinder(h=3,r1=3.5,r2=1.5);
translate([154,80,25]) rotate([0,-90,0]) cylinder(h=3,r1=3.5,r2=1.5);

}
}

 

 

 

 

difference(){
union(){
box();

//refuerzo conectores
translate([18,70,0]) cylinder(h=5,r=6);
translate([38,70,0]) cylinder(h=5,r=6);
translate([58,70,0]) cylinder(h=5,r=6);
translate([151-18,70,0]) cylinder(h=5,r=6);
translate([151-38,70,0]) cylinder(h=5,r=6);

//Costillas de refuerzo  para la caja
translate([0,0,0]) cube([3,3,20]);
translate([0,82,0]) cube([3,3,20]);
translate([148,0,0]) cube([3,3,20]);
translate([148,82,0]) cube([3,3,20]);
translate([47,0,0]) cube([3,3,20]);
translate([47,82,0]) cube([3,3,20]);
translate([77,0,0]) cube([3,3,20]);
translate([100,82,0]) cube([3,3,20]);
translate([0,40,0]) cube([3,3,20]);
translate([148,50,0]) cube([3,3,20]);
translate([47,40,0]) cube([3,45,4]);
translate([100,50,0]) cube([3,35,4]);
translate([0,40,0]) cube([80,3,4]);
translate([77,0,0]) cube([3,50,4]);
translate([77,50,0]) cube([151-77,3,4]);
}
//Abertura para el display
translate([32,12,0]) cube([45.3,25.7,10]);

 

//Aabertura para el interruptor
translate([15,15,0]) cube([11.7,19.6,10]);

 

//Agujeros para los conectores
translate([18,70,0]) cylinder(h=9,r=5);
translate([38,70,0]) cylinder(h=9,r=5);
translate([58,70,0]) cylinder(h=9,r=5);
translate([151-18,70,0]) cylinder(h=9,r=5);
translate([151-38,70,0]) cylinder(h=9,r=5);

//Rejilla de ventilacion
for ( i = [85 : 8 : 145] )
{
translate([i,10,0]) cylinder(h=9,r=2);
translate([i,45,0]) cylinder(h=9,r=2);
translate([i-2,10,0]) cube([4,35,4]);
}
}

Mejora de un mini conmutador Hdmi


La mayoría de los conmutadores HDMI   de 5 puertos o mas  con mando a distancia cuestan cuatro veces  o mas  veces  de  lo que cuesta  un  mini-conmutador  automático de tres  puertos(unos 8€)  lo cual puede hacernos pensar que quizás  estos  sencillos mini-conmutadores  sean una buena opción ,   pues ademas coincide  que estos dispositivos mas económicos  son totalmente compatibles con v.1.3, un estándar que Blu-Ray y algunas consolas de juegos requieren para funcionar correctamente.   Incluso en algunos casos puede que  un Blu Ray o PS3 solo funcionen en un puerto concreto hdmi del conmutador  (o puede que en ninguno de  estos).

Algunos conmutadores no cambian automáticamente  según la señal de vídeo presente , y esto solo justifica  el precio una mas bajo .  Respecto a los modelos sin mando a distancia , hay  algunas personas que suplen la carencia con los mandos de la fuentes de video , incluso usando mandos que aúnan el control de todas la fuentes  ( por ejemplo el control remoto universal Harmony ) ,de modo que desde estos, pueden  apagar cada dispositivo antes de encender el que se quiere ver, pues el conmutador hdmi encuentra automáticamente el puerto activo y conmuta  hacia él.

 

Un peculiaridad de estos conmutadores es  su pequeño espacio  ( aproximadamente del tamaño de un paquete de naipes), pues suelen estar  destinados a estar escondidos manteniendo la unidad principal fuera de la vista , pero esto conlleva precisamente dos graves inconvenientes:

  • No podemos ver cual es la fuente que esta conmutando pues los leds de canal activos no quedan visibles
  • No es posible acceder  fácilmente al conmutador  para forzar al selección de fuente de vídeo en caso de desear  conmutar entre varias fuentes de vídeo disponibles. .

minihdmi.png

 

Uno de los  conmutadores HDMI de 3 puertos mas conocidos el modelo Portta  que permite conmutar entre varias fuentes HDMI, como portátiles, HD-DVD, PS3 y Xbox 360, a televisores o pantallas HDMI ,Soporta 3D, 12 bits por píxel y resolución en alta definición [email protected] . Se pueden conmutar hasta 3 entradas, manteniendo todos los componentes de señal codificados mediante el sistema HDCP obtieniendo la energía que es necesaria para su funcionamiento directamente desde el cable / HDMI desde la fuente de salida .

El cambio entre dos fuentes en este conmutador  tarda aproximadamente un segundo, en modo  auto-switch. Aunque estamos seguro de que existen  algunos que son más rápidos, no creemos que valga la pena pagar más.

Aparte de conectores hdmi en los laterales  (tres o mas de entrada y uno de salida),   en la parte superior cuentan con  leds indicadores de la fuentes de video  seleccionado ( tantos como fuentes pueda conmutar ) y  un  pulsador   en la parte superior de la unidad principal  que sirve para forzar la entrada deseada.

Estos conmutadores   que  vamos a mejorar en realidad de venden bajas diferentes marcas siendo en esencia la misma electronica y las mejoras por tanto las mismas :

  • Los leds de canal activos no quedan visibles
  • No se puede  acceder  fácilmente al conmutador  para forzar al selección de fuente de vídeo en caso de desear  conmutar entre varias fuentes de vídeo disponibles. .

 

Para  solucionar ambos problemas   accederemos a la electronica,  capturarnos las salidas de los leds, el pulsador de cambio , conectaremos un interruptor de energía ( opcional)   y ocultaremos los conectores, así que empecemos:

En primer lugar, debemos de desmontar un conmutador  , lo cual es una tarea bien sencilla ,pues solo cuenta con tres tornillos que nos dejaran al descubierto la placa

Observe que no son 4 tornillos  con toda la intención , pues es un medida  justo para que no hay equívocos al cerrar las tapas en el ensamblaje

IMG_20171026_180412[1]

En la parte trasera queda visible claramente el regulador de tensión muy cerca precisamente de la salida del conmutador hdmi,  pues es precisamente desde esa fuente es desde donde se alimenta el circuito.

IMG_20171026_180418[1]

En el lado del chip de conmutación de video hdmi , ya vemos los leds formato miniatura ( tantos como entradas )   y el pulsador normalmente abierto para el cambio de entradas

 

IMG_20171026_180944[1]

Para hacerlo accesible el pulsador  soldaremos dos cables en el lado de las conexiones por detrás justo del pulsador físico de la placa

Para quitar los leds, unos alicates de corte puede ser mucho mas sencillo  y rápido antes que intentar desoldarlos ,pues desoldar estos puede acarrear demasiado calor para la placa;

 

IMG_20171026_182639[1].jpg

Deberemos soldar en los terminales de los leds  justo en el lado de atrás  dos cablecillos  por cada led ( ojo con no confundir el ánodo con el cátodo) y respetando el orden  de éstos.IMG_20171026_195754[1].jpg

Se pueden poner los leds originales o leds convencionales de color con objeto de que sea mas visible la  entrada de señal de vídeo a conmutar

Una vez soldado los cables de los leds  meteremos   todo en un receptáculo  que quede  visible el  frontal  con objeto de poder cambiar y visualizar claramente el resultado

IMG_20171026_195828[1].jpg

 

El resultado estéticamente es muy mejorable , pero funcionalmente es mucho mas interesante cel conmutador con este montaje que la configuración original  donde prácticamente no veimos ni podiamos intereactuar apenas con las fuentes de video.

IMG_20171029_221835[1].jpg

 

Una mejora  opcional es conectaremos un interruptor de energía para que no se encienda  ningún led  y por supuesto no conmute ninguna fuente de vídeo , pero esto es mas complejo porque hay que capturar la salida del regulador e intercalar  un interruptor  para desconectar toda la electrónica .

Clon de Nintendo con Raspberry Pi


Recientemente se celebró   el 25 aniversario de la célebre consola de  Nintenedo,  de modo que la comunidad  de aficionados  ha querido rendirle un homenaje   a este dispositivo de juego clásico,  mediante la construcción de su propia versión actualizada gracias a la impresión 3D y la electrónica de la Raspberry Pi.

La caja  recreada   a imagen y semejanza de la versión   original, esta vez  se obtiene  impresa en 3D  alojando todos los componentes,  permitiendo ademas  un personalización total , pues se puede imprimir en su color favorito.

Existiendo los mini ordenadores Raspberry Pi y siendo más que suficientes para hacer funcionar en ellos varios emuladores de consolas como NES, SNES o incluso MAME, era cuestión de tiempo que se iniciara un proyecto como PIGRRL,  nombre realmente curioso    pues  esconde el diseño de la primera consola portátil impresa en 3D que funciona mediante una Raspberry Pi, una pequeña pantalla TFT y un controlador compatible.

Esta es la lista de la compra  (coste total alrededor de 90€):

  • Raspberry Pi Model B  ( descatalogado) o  en su defecto Raspberry Pi 3 modelo B
  • PiTFT Mini Kit –( pantalla TFT  con sensor capicitivo  pero puede usarse sin el sensor)
  • Cable GPIO Pi –   ( también sirve un  viejo cable IDE de 23 pnes de  los  usados   en ordenadores )
  • PowerBoost 500 –  ( convertidor  DC /DC  con salida a 5V DC)
  • Micro Lipo Charger   (circuito de carga para la  batería)
  • SNES Controller –   ( si no se tiene se pueden usar 10 mini-pulsadores roscados normalmente abiertos)
  • 2200mAh 3.7V  ( bateria de litio)ry
  • Power slide switch – ( cualquier interruptor pequeño nos deberia de servir)

Por supuesto, una vez tengamos todo el material podemos ir imprimiendo nuestra carcasa portátil en forma de Game Boy donde acomodaremos la Raspberry Pi una vez esté completamente configurada.

Las piezas necesarias las podemos comprar online por unos 90€, a los que habría que añadir la tarjeta SD que elijamos, por menos del precio de una Nintendo DS tenemos miles de juegos gracias a los emuladores libres que podemos utilizar en la Raspberry Pi dentro de PIGRRL.

Veamos   los  pasos para la construcción de esta ingeniosa consola:

 

1-Descargar la caja de Raspberry Pi con forma de Game Boy

PIGRRL Raspberry Gameboy 3

 

Este proyecto consta de sólo dos piezas  que están optimizados para imprimir en cualquier impresora 3D FDM con un área de construcción mínima de 150mm x 150mm x 100mm.  

Para ello debemos descargarnos todos los archivos STL de DIY Raspberry Pi Game Boy en Thingiverse.

Piboy-top.stl
Piboy-bottom.stl
PLA @ 230
2 conchas
10% Infil
0,2 altura de capa
Velocidades de 90/120
Sin balsa
Sin soporte

Ajuste a presión :  Las dos piezas encajan juntas y se aseguran con tornillos philips.Los cargadores Raspberry Pi, PowerBoost 500 y Micro Lipo se montan en la parte piboy-bottom.stl con tornillos phillips # 6-32 x 1/2 ‘.

 

Los acabados en 3D dependen de cada impresión pero los diseños se han optimizado para ser impresos en ABS, al ser dos impresiones: parte frontal y parte trasera, de modo que podemos tener una Game Boy de dos colores .

 

 

2-Ensamblaje

Una vez descargado el modelo 3D de Game Boy para PIGRRL deberemos proceder al montaje, para ello requeriremos un soldador, todos los componentes citados  y pro supuesto algo de perseverancia ya que toca cablear a mano todo el proyecto.

Todos los diagramas simplificados y una clara explicación del proyecto se pueden encontrar en esta guía de Adafruit   paso a paso  , pero para entender  el montaje  mejro resumiremos  las partes mas importantes para que  el lector se haga una ideal del montaje  final

La siguiente ilustración es una referencia del circuito de alimentación y los botones del controlador de juego cuyos circuitos impresos se han reciclado de un viejo mando . La posición de los componentes no es exacta y tampoco esta  a escala.Si no se tiene un viejo mando obviamente se pueden usar pulsadores roscados ( aunque no quedara tan realista)

Gaming_circuit-diagram.png
Circuitos de potencia
La carga de la batería se realiza mediante uno de los circuitos que soldaremos y dado el mínimo consumo de la Raspberry Pi pronto comprobaremos que podemos jugar muchas horas al MAME con PIGRRL.
Utilizaremos una batería recargable grande para alimentar el PiGrrl durante unas horas! Para mantener la batería recargada, utilice una tarjeta MicroLipo o MiniLipo (que son lo mismo básicamente, sólo uno tiene un microB toma, el otro tiene una toma de miniB)
Lo bueno de esta batería es que es bastante pequeña y densa, pero es  de 2.7V  ( y NO  de 5V ) asi que se se usa  un convertidor cc/cc para elevar a 5V.

El convertidor  es  un PowerBoost500 que puede aumentar el 3.7V hasta  5V para alimentar a la RPi

Cuando la batería cae demasiado bajo, se encenderá una luz roja en el PowerBoost para avisarle que debe recargar la batería.

Usted puede recargar y jugar al mismo tiempo

Circuitos del teclado

Con el fin de hacer que la almohadilla de control se sienta como el original, vamos a “reciclar” un controlador SNES. Al abrirlo y cortar el PCB podemos reutilizar los elastómeros de goma y los botones.

La forma en que funciona el teclado es súper simple. Cada elastómero tiene un pedazo de material conductor en la parte posterior. Cuando presiona hacia abajo en la PCB, pone en cortocircuito dos cojines de oro juntos. Una almohadilla está molida, la otra almohadilla es la señal. Reutilizaremos el código GPIO de CupCade para que cada pad sea un pin RasPi. Cuando el pin se pone en cortocircuito a tierra, vamos a generar una pulsación de tecla

Gaming_diagram-buttons.png
Su teclado puede ser un poco diferente mirando pero no se preocupe  pues basta con trazar el cobre para identificar la traza de tierra común para cada conjunto de botones
A continuación se muestra una lista de conexiones de Raspberry Pi que se conectarán a los botones correspondientes. 1-26 son el número de cables en un haz de cables Pi, siendo 1 el cable blanco (tierra). No nos conectamos a los últimos 6 pines, ya que se utilizan para la pantalla PiTFT!
  1. n/c – not connected (3v3)
  2. connect to output of PowerBoost500 (5v0)
  3. LEFT BUTTON (SDA)
  4. n/c (5v0)
  5. RIGHT BUTTON – (SCL)
  6. connect to ground of boost (GND)
  7. DOWN BUTTON (GPIO #4)
  8. n/c (TXD)
  9. connect to ground on Dpad (GND)
  10. n/c (RXD)
  11. UP BUTTON (GPIO #17)
  12. START BUTTON (GPIO #18)
  13. A BUTTON (GPIO #27)
  14. Select/start ground pad (GND)
  15. B BUTTON (GPIO #22)
  16. SELECT BUTTON (GPIO #23)
  17. n/c (3v3)
  18. n/c (GPIO #24)
  19. n/c (MOSI)
  20. AB BUTTON ground pad (GND)
  21. n/c
  22. n/c
  23. n/c
  24. n/c
  25. n/c
  26. n/c

 

Para conectar Al GPIO lo mejor es usar un conector de 26 pines ( de los  usados en los conectores IDE de los HDD) . Retire los cables # 1, 4 , 8 , 10 , 17 , 18 , 19 . ¡No necesitaremos éstos también, así que recórtelos abajo!

Gaming_cut-wires-4_8_10_17_18_19-too.jpg

Estas  son las conexiones  a realizar

  • Izquierda DPad :Alambre de soldadura # 3 al botón izquierdo en el rastro expuesto del PCB de DPad. Hay un pequeño agujero que puedes enhebrar el cable.
  • Derecho DPad :Alambre de soldadura # 5 al botón derecho del PCB de DPad.
  • Abajo DPad ;Añada el alambre # 7 al botón de desconexión de la PCB de DPad. Pinzas son útiles durante la soldadura!
  • DPAD común :Alambre de soldadura # 9 a la mas de la DPad.
  • Up DPad :Alambre de soldadura # 11 al botón de arriba de la DPad.
  • Botón de inicio:Alambre de soldadura # 12 al botón de arranque en la PCB de arranque + seleccione.
  • Un botón :Solde el alambre # 13 al botón A en el A + B PCB.
  • Inicio Común + Seleccionar :Alambre de soldadura # 14 al suelo de la PCB de arranque + seleccione.
  • B Botón:Solde el alambre # 15 al botón B en el A + B PCB.
  • Botón Seleccionar:Solde el alambre # 16 al botón de selección en la PCB de Start + Select.
  • Común A + B: Alambre de soldadura # 20 a la tierra común del A + B PCB.
Gaming_Wire-_20-AB-ground.jpg

 

Como vemos el montaje de esta videoconsola impresa en 3D es relativamente simple  y quizás lo mas  laborioso  sea  las conexiones de los pulsadores realizando  las soldaduras y asegurándonos eso si  de que los cables son suficientes para que todo encaje en la propia carcasa.

raspberry pi game boy

Montada la energía  y los controles   ya solo queda montar la  pantalla  y la propia Raspberry Pi

Pantalla  PiTFT Mini Kit
Gaming_screen-solder-front.jpg

 

El  kit de pantalla táctil de 2.8 ‘incluye los extras que se necesita para montar la pantalla. Sólo necesita soldar los cabezales extraxuales macho y hembra 2×13 a la PCB. Asegúrese de revisar la  guía paso a paso haciendo clic en el enlace de abajo!

Sugerencia de montaje; Aquí está una extremidad rápida en soldar esas cabeceras. Si tienes algo divertido, coloca un poco de tac en los lados de los cabezales para mantenerlos en su lugar mientras suelda y lo retira cuando hayas terminado.

 

 

3-Configuración de la tarjeta SD

Puesto que estamos usando la misma configuración de controlador en el CupCade también vamos a utilizar la misma imagen de tarjeta SD! Descargue esta imagen que tiene soporte NES

Este es un archivo grande (alrededor de 840 megabytes) y tomará un tiempo para transferir.

Después de descargar, la imagen del disco necesita ser instalada en una tarjeta SD (4 GB o más). Si eres nuevo en esto, el proceso se explica en Adafruit’s Raspberry Pi Lesson 1 .

4-Configuración de Pi

Conecte un teclado al PiTFT + Pi e inserte la nueva tarjeta SD CupCade.
El Pi puede arrancar y reiniciar para terminar la configuración (como expandir la imagen)
Una vez que arranque el Cupcade usted notará que la pantalla es vertical. ¡Tiene que girar la pantalla!

Pulse Alt-F3 para abandonar el software GAMERA y el shell. Inicie sesión con pi / frambuesa y edite /etc/modprobe.d/adafruit.confcon sudo nano /etc/modprobe.d/adafruit.conf

Y cambiar la línea fbtft a esto:

options fbtft_device name=adafruitts frequency=80000000 fps=60 rotate=270

 

A continuación, sudo reiniciar para que la nueva rotación activar!

Siempre se puede cerrar con un teclado conectado escribiendo ESC que saldrá del emulador / GAMERA

5-Cargar ROMs

Su PiGrrl puede ejecutar MAME ROMs, así como NES!  Haydocumentación sobre cómo instalar ROMs en la página tutorial de cupcade

Para ROMs MAME, ¡sólo podrás jugar con estilos “horizontales / paisajistas”!

Para ROMs NES, necesita utilizar el formato de archivo .nes (no .ZIP!) Y colocarlos en la ruta de directorio siguiente.

~ / BOOT / fceu / rom 

Todas las ROM de NES deben estar en esta carpeta para que el emulador los ejecute.

 

Uan vez creada la imagen de ls SD , insertela  y pruebe el circuito con un micro cable USB conectado al puerto micro USB del Raspberry Pi. Conecte un teclado USB al lado del Pi para la entrada.

El PiTFT debería arrancar en la ROM del juego de   Aggregator

Recuerde que tiene que configurar la rotación de la pantalla para que sea 270 así que comprueba el paso anterior si aún no lo has hecho!

Coloque la junta de elastómero D-Pad sobre el PCB y coloque la parte de plástico en la parte superior. Presione el D-Pad hacia arriba y hacia abajo para probar una conexión sólida. Añadir el resto de las juntas de elastómero y seleccionar un juego para jugar la prueba.

Ejecutar Mario o algo similar para probar la latencia. Puede ser un poco difícil de jugar con las gomas asi  pero se sentirá más natural con la parte superior  montad  así que una vez probado todo ya es momento de terminar de montar todo  y cerrar  la caja.

raspberry pi game boy 2

Vemos el aspecto final donde quizás destaque  la tarjeta SD insertada , pero  lo cierto es que es una consola portátil mucho más versatil que la Nintendo DS o incluso la Playstation Vita, no es especialmente más potente pero dado su espíritu open source seguro que encontraremos decenas de emuladores que hacer funcionar con ella.

Además, podemos acompañarla con un mini teclado inalámbrico para poder realizar todo tipo de tareas con ella en cualquier lugar, aunque la pantalla sea táctil

En el siguiente vídeo de Adafruit podemos ver resumidamente el proceso de montaje completo para hacernos una idea completa de  lo relativamente sencillo que es el proceso de su construcción:

 

 

Como muchos de los proyectos que vemos realizados con impresoras 3D PIGRRL es completamente opensource y tenemos las instrucciones de montaje a nuestra disposición.

 

Imágenes de Adafruit y usuarios de Thingiverse

Actualización de la batería de una bicicleta eléctrica


A lo largo de los años  las baterías tanto  las de Ni/Cd como las iones de Litio terminan perdiendo su capacidad  , siendo necesaria su sustitución ,lo cual por cierto no es una tarea sencilla dado que no siempre están accesibles los recambios de estas.

Normalmente la baterías instaladas en las bicicletas eléctricas corresponden a configuraciones especificas  para cada modelo a la que se conecta, por lo que   dado a  que existen múltiples formatos ,tanto de compartimientos como de características eléctricas (tensión y capacidad en amperios /hora) se hace muy complicado reemplazarlas .

Para terminar de empeorar las cosas , en el caso de las batería de Ni/Cd  , éstas están compuestas por múltiples  células  que agrupándolas en serie o en paralelo nos producen la tensión y capacidad final, eso si unidas por laminas de niquel ,lo cual nos hace complejo su sustitución , a no ser que nos construyamos nosotros nuestra propia soldadora de puntos  para realizar precisamente las conexiones entre las diferentes celdas, las cuales  se pueden adquirir aparte en portales web especializados.

Como ejemplo ,vemos una batería  real  formada  por 20 celdas de 1,2V 7AH que en total nos viene a dar unos 24V (20X 1,2) y 7AH dado que  todas están conectadas en serie

 

IMG_20170714_230447[1]

Un procedimiento para reparar la citada batería , seria adquirir 20 baterías de Ni/Cd 1,2V 7AH  y sustituir las antiguas por las nuevas  usando laminas de Niquel  con  una soldadora de puntos  para realizar precisamente las conexiones entre las diferentes celdas.

Afortunadamente la tecnología de las baterías Litio proporciona ventajas superiores a la vieja tecnología de NiCD,    entre ellas una densidad de energia mucho mayor , con el consiguiente ahorro de espacio   y peso .

Como actualmente el precio no es una barrera ( de hecho  se ha invertido la tendencia), lo ideal es reemplazar las viejas baterias de nicd por una nueva  de Iones de Litio , siempre  que la tensión sea la misma y la capacidad sea igual o superior.

Para el ejemplo de    una bicicleta eléctrica de bajo coste,  usando una batería de  24v 10ah de litio  nos seria suficiente para alimentar un  motor de 24v   y de potencias comprendidas entre 350w  o 250w.

Las especificaciones de la batería elegida son las siguientes:

  • Tensión nominal: 24V
  • Voltaje de salida: 16.5-25.2 V
  • Capacidad de la batería: 10Ah
  • Dimensiones: 68x100x112mm
  • Peso total: 2kg alrededor
  • Circuito interno de la protección: sobrecarga, sobre la descarga, sobre la corriente, protección del cortocircuito
  • Peso de la batería: cerca de 1825g
  • Embalaje: PVC azul
  • Celdas de la batería dentro: Células grandes modelo 18650.
  • Ciclos de vida: Más de 1000 veces
  • Descarga de la batería :La corriente de pico máxima: 36A/Corriente máxima de funcionamiento: 18A

 

 

bateria

 

La mejora en cuanto a  dimensiones y peso suelen ser considerables , tal y como se puede ver en la siguiente imagen , donde prácticamente  por una tercera parte doblamos la capacidad con una batería de Litio:

IMG_20170714_230525[1]

 

Para controlar la bicicleta, dado que la caja de antigua  batería es demasiado grande, lo mas sencillo  es optar por una sencilla caja transparente donde  ademas del voltímetro de leds  (que suelen ir integrados en la caja de la batería) podemos conectar hasta 9 leds de alta potencia y los dos interruptores de corte del motor   y de la iluminación.

El esquema de conexiones de la caja propuesta es bastante sencillo pues se limita a solo dos interruptores , el voltimetro de leds que puede obtenerse de la caja original  y 9 leds de alta potencia que  se han obtenido de una luminaria de leds cuya fuente se habia quemado:

 

bicicleta lectrica

Resumidamente estos serian los pasos  a seguir  para realizar la conveersión:

  • Empezamos ubicando el voltimetro de leds que solo cuenta con dos cables : el negro o negativo que conectaremos a la mas general   y el rojo que conectaremos a la salida del interruptor general

 IMG_20170714_231241[1].jpg

  • Practicaremos dos agujeros en la caja para los dos interruptores ( el general   y el de la iluminación)

IMG_20170715_005900[1].jpg

  • Seguidamente contrariamos las conexiones de los dos interruptores  que irán  tanto a los leds como al cable del motor

IMG_20170715_005907[1]

 

  • El resultado como vemos es bajo la opinión del que escribe  bastante aceptable, mejorando  ademas en aspectos como la usabilidad pues ahora los controles de las luces y del motor se colocarían mucho mas accesibles

 

IMG_20170822_072409[1].jpg

 

 

 

  • Aunque el interruptor de encendido y  el voltímetro se podrian colocar en el mismo lugar  de la batería ( y nos ahorraríamos el cableado de tres hilos ) , en aras a mejorar la usabilidad se ha optado por llevar tres cables de 1 mm a la caja controladora:
    •  El negativo general   que ira conectado tanto  al motor  como  al negativo de la nueva batería
    • El positivo de la batería  , que nos servirá para alimentar los leds  o el motor en función de la posición de los interruptores
    • El positivo del motor  , el cual lógicamente viene de la caja para alimentar o no el motor brushless
  • Por ultimo , respecto a la nueva  batería , esta iría  donde  va el porta-baterías original  .

    IMG_20170822_072423[1]