Indicador de rendimiento SD para Wii

[DeadlyFoez] quería saber cuándo estaba en uso la tarjeta SD de su Nintendo Wii. Construyó y apuntó un LED usando PICAXE 08M y lo agregó junto a la ranura SD. Utiliza un pin del microcontrolador para monitorear el voltaje en un pin de la ranura de la tarjeta SD. Este pin tiene un valor específico cuando la tarjeta está inactiva, el cual aumenta cuando se usa. No reveló los detalles de qué pin está probando, o qué representa realmente el número mágico de su código fuente. Pero el concepto debería ser un buen comienzo si quieres hacerlo tú mismo. Míralo parpadear-ity-blink en el clip después del descanso.

https://www.youtube.com/watch?v=IchRODxOG6w

  • Alankilian dice:

    Hay cinco señales digitales que tienen un pullup
    resistencias conectadas. CMD y las cuatro líneas de datos.

    Porque dice que la tarjeta está inactiva si el analógico
    el voltaje es mayor que el valor mágico, yo
    suponiendo que marque una de estas cinco líneas,
    y cuando empieza a cambiar que a veces
    detecta "bajo" en línea e ilumina el LED.

    Parece que solo vincula la línea CMD a un
    entrada digital en el PIC y encendiendo el LED
    durante 1 segundo más o menos cada vez que baja
    hazlo tú también, pero debes asegurarte de que el
    el voltaje en CMD se volvió lo suficientemente alto como para mostrarse como "1"
    en el PIC.

    Sin un esquema es casi adivinable.
    mí, así que espero equivocarme en algo de esto.
    (No creé un inicio de sesión en este sitio para ser
    capaz de mirar las fotos, por lo que puede ser
    alguna información útil en esos también.)

  • cara de pedo dice:

    Si no publica detalles sobre su "truco", entonces lo está falsificando.

    Hasta que describa los detalles, es un engaño.

  • reproductor de cohetes1001 dice:

    Al principio pensé que era demasiado usar un microcontrolador cuando bastaría con un solo transistor o un temporizador monoestable.

    Pero entonces a £ 1,50 por PICAXE 08, ¿por qué no?

    Buen trabajo de todos modos.

  • Factura dice:

    Parece que 74123 one shot haría lo mismo.

  • Ninguna dice:

    ¿Qué muestran las imágenes que están enlazadas en la publicación?

  • Leif-KC8RWR dice:

    ¿Se necesita un pinchazo para hacer esto? ¿El parpadeo de un LED basado en el estado de solo 1 entrada no requeriría un máximo de un solo transistor? ¿O me estoy perdiendo algo?

  • MortalFoez dice:

    Lo lamento. No sabía que debes ser miembro de wiihacks.com para ver algo en el sitio.

    Así que subí mis fotos a mi página de FB. Aquí estan algunas de las fotos.
    http://bit.ly/ecm1dB
    http://bit.ly/ihom7t
    http://bit.ly/hTEQ4k
    http://bit.ly/e64E4Z

    Y aquí está el código inicial que usé, aunque lo cambié un poco para poder detectar pequeños cambios de voltaje, pero perdí el archivo que tenía el código más nuevo, así que aquí está el primer código que hice.

    start:
    setfreq m4          
    low 1                
    
    
    main:
    readadc 4,b1       
    if b1 > 210 then   
            low 1         
    end if
    if b1 < 210 then   
            high 1        
    pause 50
    end if
    goto main
    

    Básicamente, lo que me está pasando aquí es que el pin 4 de la 08M lee el voltaje del pin 7 de las tarjetas SD. El pin 1 de la 08M controla el LED. Pude encontrar una salida constante de 5v en el tablero de la wii y la usé para alimentar la 08M.

    Si la gente todavía insiste en un esquema, entonces puedo hacer uno, pero estoy seguro de que se verá delgado.

  • fumanto_dave dice:

    ¡No necesita uC para verificar el nivel de voltaje!

  • MortalFoez dice:

    Traté de usar un transistor al principio, pero ¿qué pasa si ese LED siempre estaba encendido cuando la tarjeta SD estaba inactiva y el LED se atenuaría donde hay actividad de datos? Además, a veces el transistor tomaba demasiado voltaje del pin 7 de la tarjeta SD y causaba que no se escribieran datos en la tarjeta SD y fallaba. Utilicé el 08M para solucionar estos problemas para poder reducir la velocidad de parpadeo y así no se eliminó demasiado voltaje del pin 7 de la tarjeta SD.

  • Felipe dice:

    ¿No se podría hacer esto con una resistencia y un LED conectados al pin 7 (paralelo a DO) de la tarjeta SD a tierra?

  • MortalFoez dice:

    Sé que NO NECESITO un microcontrolador para monitorear el voltaje, pero eso fue parte de la diversión de tener un proyecto por la tarde. Hice el truco por diversión, no por eficiencia.

  • MortalFoez dice:

    @filip. No, no puede. Lo probé y el LED consumió demasiada energía y provocó que no se escribieran datos en la tarjeta SD. Obtuve errores en la lectura y escritura de datos como un loco cuando lo probé de esa manera o con un transistor. Muchas veces ni siquiera se detecta la tarjeta SD.

  • dext0rb dice:

    ¿Ha probado un tipo diferente de transistor (NPN vs. PNP)?

  • Gdogg dice:

    eso simplemente cambiaría cuando esté encendido o apagado.

    Tú, usó un juego de darlington o usó un temporizador 555 para mantener el pulso "encendido" por más tiempo, pero personalmente lo haría como él (excepto con una imagen normal. Odio las picaduras)

  • visionario dice:

    @DeadlyFoez.
    Entonces Op-amp, comparador incluso 555 servirá. Tienen una impedancia de entrada muy alta.
    Y si el voltaje es compatible con un nivel lógico, la mayoría de los dispositivos lógicos pueden manejarlo.

  • Leif-KC8RWR dice:

    Ah ... solo pregunta, no quise sonar crítico ni nada. ¡Gran trabajo!

  • dext0rb dice:

    joder, lo sé. dijo que siempre está encendido cuando no se ha accedido a la SD.

    "el LED siempre estaba encendido cuando la tarjeta SD estaba inactiva",

  • st2000 dice:

    ¿Esto realmente funciona?

    1) Diría que es mejor que nada.

    2) También diría que no es una prueba completa.

    Cualquiera que haya intentado usar tarjetas SD en una gran cantidad de productos conoce el problema. ¡Cuando puedes apagar con seguridad la maldita cosa (o sacarla)!

    ¿La respuesta? Bueno, supongo que el fabricante no lo dirá. Lo intenté. A decir verdad, estas cosas manejan su propia memoria y no tienes idea de lo que están haciendo. Por ejemplo cuando pueden explotar y hacer un promedio de carga de memoria.

    Supongo que hacen el servicio de limpieza cuando se encienden y luego cuando es necesario. Supongo que es más seguro sacarlos después de preguntarles si están listos para hacer algo. Lo cual es algo que solo el anfitrión puede eliminar fácilmente. Incluso entonces todo es una conjetura.

    Si alguien sabe lo contrario, ¡me encantaría saberlo yo mismo! De verdad, me haría la vida más fácil.

    -Buena suerte

  • Lo siento dice:

    @ st2000
    Las tarjetas SD utilizan el reloj SPI como reloj principal. Si no tiene el reloj SPI funcionando, la tarjeta SD se congelará en el tiempo, sin darse cuenta de que algo está sucediendo y no hará nada por sí misma.

    Sé que en casi todas mis aplicaciones solo registro cuando ingreso un comando, y la especificación requiere que envíe un período de reloj en blanco para darle a la tarjeta SD suficiente "tiempo" para procesar porque no puede funcionar. a menos que haya pulsos de reloj.

    Esto está (hasta donde puedo recordar) bastante bien organizado en la especificación. Por lo tanto, en la mayoría de los casos de uC, puede estar seguro de que, si no ejecuta un comando, la tarjeta SD es segura de quitar.

  • Lo siento dice:

    Ack, y perdón por el cartel doble, pero en un entorno que no es SPI (también conocido como un periférico integrado o una fpga elegante) supongo que la tarjeta todavía usa el pin del reloj para el mismo propósito, así que puedes adivinar. si el reloj no funciona, es seguro sacar la tarjeta.

  • MortalFoez dice:

    @seeper, pensé en usar un temporizador 555 porque tengo uno dando vueltas. No tengo amplificadores operacionales ni he jugado nunca con uno para saber cómo usarlo correctamente.

    Pero con 555 tendría que agregar más componentes como condensadores y resistencias y no quería tener que agregar más de los necesarios. Tenía muchas ganas de mantenerlo simple y tuve éxito en eso.

  • zigzag dice:

    Hice esto para el zipit de primera generación (una pequeña máquina Linux integrada). Ya había usado un inversor 74HC04, así que lo conecté al pin SPI y listo, luz activa.

  • MortalFoez dice:

    Recuerdo que mi código actualizado funcionaba mejor.

    start:
    setfreq m4
    low 1
    readadc 4,b1
    
    main:
    readadc 4,b2
    
    if b1 > b2 then
    	let b3 = b1 - b2
    else
    	let b3 = b2 - b1
    end if
    
    
    if b3 > 7 then 
    	toggle 1
    else
    	low 1
    end if
    
    let b1 = b2
    pause 50
    goto main
    

    Básicamente lo que pasa es que el microcontrolador y controlando el voltaje del pin 1 (variable b1), luego va y lo vuelve a controlar (variable b2). Luego compara esas 2 variables. Si el valor es mayor a 7, entonces se sabe que la tarjeta SD no está inactiva y se procederá a cambiar la salida del pin 4 (por el LED).

    Tuve que hacerlo de esta manera porque muchas veces la wii lee o escribe datos en la tarjeta SD a través de una conexión en serie con datos transmitidos solo por el pin 7 de la tarjeta SD. Pero me di cuenta de que al intentar repetidamente escribir datos en la tarjeta SD, que es de 1 bit, la 08M veía que la tarjeta estaba inactiva porque estuvo alta durante un período más largo hasta el punto de que la 08M recibiría. lectura superior a 210.

    Al final, esto resultó ser bastante bueno para alguien que no tiene muchas habilidades eléctricas.

  • EE.UU. dice:

    La próxima vez que intente Emitter-Follower para controlar el LED, puede tener una reducción del 100 % en los MIPS requeridos.

    solo digo

  • MortalFoez dice:

    @EE, si supiera cuáles son, probablemente pensaría en eso como una idea. Honestamente, no tengo absolutamente ninguna habilidad en este campo. Soy genial con la soldadura y eso es todo. Tuve la suerte de juntar algunas cosas que incorporé y sabía lo suficiente para poder hacer que sucediera.

    Lo único que realmente tenía para mí era que usaba muchos programas en QBasic cuando era niño.

  • Reikaze dice:

    Si tuviera uC por ahí, por simplicidad haría lo mismo.
    Con OPamp necesitará resistencias, luego 555 (y todos los periféricos) para ralentizar el parpadeo, y tal vez algunas cosas más para que se vea bien.
    Simple, fácil, bastante barato, y funciona. Exactamente lo que le gustaría a un ingeniero jefe, prefiero pensar (y mis maestros también dirían eso)
    Pero lo más importante, que Wii era una prostituta. (aunque solo un poco)

  • MortalFoez dice:

    Así que decidí darle una oportunidad ¿Puedo agregar un LED NAND activo a mi wii? Para esto utilicé mi microcontrolador PICAXE 08M para leer el pin CE de la flash NAND para determinar si hay alguna actividad. Cuando hay alguna actividad NAND, el pin CE baja (0 voltios), pero cuando está inactivo, el pin CE flota a unos 3,5 voltios.

    El rendimiento de una tarjeta SD está determinado por el pin 7 de la tarjeta SD que lee el PICAXE. Cuando está inactivo, el pin 7 flota en un rango de voltaje, pero cuando hay actividad, el voltaje rebota.

    He cambiado la forma en que lo tengo ahora antes. Ahora, el LED azul de acción de la tarjeta SD se coloca sobre la ranura de la tarjeta SD y el LED rojo de acción NAND está a la izquierda de la ranura de la tarjeta SD.

    También agregué un auricular a la derecha de la ranura para tarjeta SD. Este auricular se utiliza para reprogramar el microcontrolador.

    [img]http://sphotos.ak.fbcdn.net/hphotos-ak-ash1/hs736.ash1/162958_172245846148049_100000879040713_328375_5028548_n.jpg[/img]

    [img]http://sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs1384.snc4/163674_172245869481380_100000879040713_328376_3443203_n.jpg[/img]

    El siguiente video muestra el rendimiento de los LED en la actividad de la tarjeta SD y NAND.

    [youtube]http://www.youtube.com/watch?v=-F6GfkcOc2E[/youtube]

    start:
    setfreq m8                        ;Make sure the frequency is set to 8 Mhz
    low 0 , 1                         ;Make sure pins 0 and 1 are low
    main:
    readadc10 4,w0                    ;Read pin 7 of the SD card.
    if w0 < 604 or w0 > 620 then      ;values between 604 and 620 are when the SD card is idle.
        toggle 0                      ;If there is activity then toggle pin 0 (the blue LED)
    else
        low 0                         ;If there was no activity then make sure pin 0 is low
    end if
    readadc 2, b2                     ;read the CE pin of the NAND flash
    if b2 = 0 then                    ;A value of 0 means there is NAND activity
        toggle 1                      ;If there is activity then toggle pin 1 (the red LED)
    else
        low 1                         ;If there was no activity then make sure pin 1 is low
    endif 
    goto main                         ;Go to the main: label to loop the code.
    

    [b][size=”3″]Futuras adiciones:[/size][/b]

    Indicador de rendimiento WiFi
    Supervisión de la temperatura de la CPU
    Controlador de velocidad del ventilador
    LCD retroiluminado que muestra varias cosas.
    Reprogramación NAND con PICAXE y tarjeta SD (No requiere infección)
    Wiimotes que explotarían si mi esposa jugara y no lavara los platos 😀

  • Connor dice:

    Podrías usar un comparador. De esa manera podrías saltarte el código. (:

  • ejércitos de ardillas dice:

    @DeadlyFoez o cualquier otra persona capaz de luchar con wii.

    He estado en la lucha libre últimamente y me gusta lo que has hecho con la luz activa.

    Sin embargo, tuve algunos problemas, intenté deshacer el puerto de la tarjeta SD y jugar en otro porque dejó de ver las tarjetas SD que inserté. Conduje dos ranuras para tarjetas SD diferentes, pero ambas terminaron diciéndome que la tarjeta SD. una tarjeta estaba bloqueada cuando no lo estaba. Espero que puedas decirme qué estoy haciendo mal. Veré si puedo enviarte un MP si no recibes este mensaje.

    • MortalFoez dice:

      Lo siento por la respuesta tardía. Puede enviarme un mensaje privado a GBAtemp.net si aún necesita ayuda.

      • ejércitos de ardillas dice:

        Te envié un mensaje, gracias.

Nora Prieto
Nora Prieto

Deja una respuesta

Tu dirección de correo electrónico no será publicada.