Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Meta

#1181
Electrónica / Re: Intentar reparar la 360
2 Enero 2011, 23:26 PM
Encontré un método en youtube de poner una manta a la 360 con 20 minutos, después deja enfriar 15 minutos y no sale las luces rojas. No es fiable pero hay gente que le ha funcionado.

En cuanto a la PS3 Slim, depende de como la cuide. Se cree que harán la PS3 Ultra Slim mejor aún en que no de fastidie. PS3 Slim dura más que la 360 Slim según leo por ahí, no tengo idea pero me lo creo, ya Sony presume de que se rompe menos.

Espero que con la nueva XBox y PS4 habrán aprendido en mejorar el tema de sistemas de refrigeración.
#1182
Electrónica / Intentar reparar la 360
2 Enero 2011, 03:44 AM
Hola:

Viendo este vídeo:
http://tu.tv/videos/reparar-3-luces-rojas-del-xbox-360

Quiero saber si hay otra posibilidad de reparar las tres luces rojas sin este soldador de aire caliente.


Tengo un soldador normal pero no funciona. Si saben técnicas de soldaduras que no sea de solsador de aire caliente y que funcione me dan el aviso. Para comprar ese aparato prefiero comprar la PS3 Slim que esta vez si vale la pna y dura mucho más.

Un cordial saludo.
#1183
Electrónica / Re: Teensy ++ 2.0 (A estrenarlo).
25 Diciembre 2010, 07:30 AM
Arduino.

Digo con pequeños avances para el manual en PDF.

Descargar manual Teensy++ 2.0 en PDF DEMO 2.

Saludo.
#1184
Electrónica / Bloquear PIC adrede
23 Diciembre 2010, 05:20 AM
Hola:

Me han llamado algunos conocidos que dicen pagarme por hacerle un trabajo al PIC. Les comenté que depende de lo laborioso y majadero lo hago o no. Quieren que les de todo completo, los esquemas ya lo tienen ellos. Se me ocurre hacer una parte del código aprovechando la EEPROM interna que al usarlo una determinadas de veces el PIC quede bloqueado, hasta que no me paguen sabrán que la única forma es reprogramarlo. Ya me la han querido jugar.

La otra opción es buscarse la vida o ir a por otro siempre que no estén apurado.

Otra técnica que hay que hacer es si el PIC que me dan para programarlo no tiene EEPROM. Lo que puedo hacer es guardar un valor en la RAM, cuando haga una serie de funciones determinatas, por ejemplo, si haz pulsado el mismo botón 5 veces, el PIC se bloquea porque lo pongo a modo goto $, o le hago un desbordamiento de pila. Si te descuidas tienen un truco, que si pulsa Reset vuelve a empezar y les funciona. Lo bueno del 16F88 que puede desactivar el Reset y no les funcionará.

Si conocen alguna técnica más las pueden contar por aquí.

Felices fiestas 2010.
#1185
Electrónica / Re: Teensy ++ 2.0 (A estrenarlo).
23 Diciembre 2010, 01:04 AM
Por lo que me haz contado arriba. Mejor cambio de tuorial siguiento este enlace.

http://www.pjrc.com/teensy/tutorial.html

[youtube=425,350]http://www.youtube.com/watch?v=pu28-XQOIbU[/youtube]

Parece que hay buen tutorial y esquemas para hacer cosas.







Edito:

He estado investigando y he aprendido solo cargar el hex al Teensy. Con todo lo que aprenda y que no se me olvide, les paso un mini manual de lo que he hecho hasta el momento, por ahora no es gran cosa. Según voy aprendiendo y descubirendo cosas con Teensy, lo iré actualizando con cualquier ejemplo, pondré fotos y vídeos.

[youtube=425,350]http://www.youtube.com/watch?v=4NjcFH2BDaY[/youtube]

Descargar manual: (PDF)
#1186
Electrónica / Re: Teensy ++ 2.0 (A estrenarlo).
22 Diciembre 2010, 22:56 PM
Gracias por la información.

Esta parte del código viene así:
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <util/delay.h>
#include "usb_debug_only.h"
#include "print.h"
Por lo que veo, hay que quitar los # que son como comentarios, si los deja los lee como comentario y el compilador lo ignora.


include <avr/io.h>
include <avr/pgmspace.h>
include <util/delay.h>
include "usb_debug_only.h"
include "print.h"
En esta otra parte del código que se muestra abajo, corríjanme si me equivoco hay que usar la configuración adecuada.

// Teensy 2.0: LED is active high
#if defined(__AVR_ATmega32U4__) || defined(__AVR_AT90USB1286__)
#define LED_ON        (PORTD |= (1<<6))
#define LED_OFF        (PORTD &= ~(1<<6))

// Teensy 1.0: LED is active low
#else
#define LED_ON    (PORTD &= ~(1<<6))
#define LED_OFF    (PORTD |= (1<<6))
#endif

#define LED_CONFIG    (DDRD |= (1<<6))
#define CPU_PRESCALE(n)    (CLKPR = 0x80, CLKPR = (n))
#define DIT 80        /* unit time for morse code */

void morse_character(char c);
void morse_P(const char *s);
const unsigned char morse_code_table[];
Como el que uso es el Teensy 2, quitaré las # y el código puede quedar así:

// Teensy 2.0: LED is active high
if defined(__AVR_ATmega32U4__) || defined(__AVR_AT90USB1286__)
define LED_ON        (PORTD |= (1<<6))
define LED_OFF        (PORTD &= ~(1<<6))

// Teensy 1.0: LED is active low
#else
#define LED_ON    (PORTD &= ~(1<<6))
#define LED_OFF    (PORTD |= (1<<6))
#endif

define LED_CONFIG    (DDRD |= (1<<6))
define CPU_PRESCALE(n)    (CLKPR = 0x80, CLKPR = (n))
define DIT 80        /* unit time for morse code */

void morse_character(char c);
void morse_P(const char *s);
const unsigned char morse_code_table[];
Justo debajo del Teensy 1 quité también las # del código de arriba.

Ahora voy a compilar y generar el .hex. Quiero saber el esquema eléctrico que todavía no conozco para hacer pruebas.

Leyendo bien puede ser quitando todas las #.
// Teensy 2.0: LED is active high
if defined(__AVR_ATmega32U4__) || defined(__AVR_AT90USB1286__)
define LED_ON        (PORTD |= (1<<6))
define LED_OFF        (PORTD &= ~(1<<6))

// Teensy 1.0: LED is active low
else
define LED_ON    (PORTD &= ~(1<<6))
define LED_OFF    (PORTD |= (1<<6))
endif

define LED_CONFIG    (DDRD |= (1<<6))
define CPU_PRESCALE(n)    (CLKPR = 0x80, CLKPR = (n))
define DIT 80        /* unit time for morse code */

void morse_character(char c);
void morse_P(const char *s);
const unsigned char morse_code_table[];
Sigo investigando...
#1187
Electrónica / Re: Teensy ++ 2.0 (A estrenarlo).
22 Diciembre 2010, 16:32 PM
Hola:

Por ahora estoy probando el Teensy ++ 2.0 que es lo unico que tengo. En el futuro habrá un Teensy ++ 3.0, eso no lo dudo. Mi problema ahora es entender este código que puse antes. Parece que hay que configurarlo y que tiene varios. Lo he posido grabar desde ubuntu el .hex.

/* LED Blink Example with USB Debug Channel for Teensy USB Development Board
* http://www.pjrc.com/teensy/
* Copyright (c) 2008, 2010 PJRC.COM, LLC
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/

#include <avr/io.h>
#include <avr/pgmspace.h>
#include <util/delay.h>
#include "usb_debug_only.h"
#include "print.h"


// Teensy 2.0: LED is active high
#if defined(__AVR_ATmega32U4__) || defined(__AVR_AT90USB1286__)
#define LED_ON        (PORTD |= (1<<6))
#define LED_OFF        (PORTD &= ~(1<<6))

// Teensy 1.0: LED is active low
#else
#define LED_ON    (PORTD &= ~(1<<6))
#define LED_OFF    (PORTD |= (1<<6))
#endif

#define LED_CONFIG    (DDRD |= (1<<6))
#define CPU_PRESCALE(n)    (CLKPR = 0x80, CLKPR = (n))
#define DIT 80        /* unit time for morse code */

void morse_character(char c);
void morse_P(const char *s);
const unsigned char morse_code_table[];


int main(void)
{
    unsigned char i;

    // set for 16 MHz clock, and make sure the LED is off
    CPU_PRESCALE(0);
    LED_CONFIG;
    LED_OFF;

    // initialize the USB, but don't want for the host to
    // configure.  The first several messages sent will be
    // lost because the PC hasn't configured the USB yet,
    // but we care more about blinking than debug messages!
    usb_init();

    // blink morse code messages!
    while (1) {
        for (i=0; i<6; i++) {
            morse_P(PSTR("SOS"));
            _delay_ms(1500);
        }
        morse_P(PSTR("DOES ANYBODY STILL KNOW MORSE CODE?"));
        _delay_ms(4000);
    }
}

// blink a single character in Morse code
void morse_character(char c)
{
    unsigned char code, count;

    if (c == ' ') {
        print("Space\n");
        _delay_ms(DIT * 7);
        return;
    }
    if (c < 'A' || c > 'Z') {
        print("Opps, unsupported character: ");
        pchar(c);
        print("\n");
        return;   
    }
    print("Char ");
    pchar(c);
    pchar(':');
    code = pgm_read_byte(morse_code_table + (c - 'A'));
    for (count = code & 0x07; count > 0; count--) {
        LED_ON;
        if (code & 0x80) {
            print(" dah");
            _delay_ms(DIT * 3);
        } else {
            print(" dit");
            _delay_ms(DIT);
        }
        LED_OFF;
        _delay_ms(DIT);
        code = code << 1;
    }
    print("\n");
    _delay_ms(DIT * 2);
}

// blink an entire message in Morse code
// the string must be in flash memory (using PSTR macro)
void morse_P(const char *s)
{
    char c;
   
    while (1) {
        c = pgm_read_byte(s++);
        if (!c) break;
        morse_character(c);
    }
    print("\n");
}

// lookup table for all 26 letters.  Upper 5 bits are the pulses
// to send (MSB first), and the lower 3 bits are the number of
// bits to send for this letter.
const unsigned char PROGMEM morse_code_table[] = {
    0x40 + 2,    // A: .-
    0x80 + 4,    // B: -...
    0xA0 + 4,    // C: -.-.
    0x80 + 3,    // D: -..
    0x00 + 1,    // E: .
    0x20 + 4,    // F: ..-.
    0xC0 + 3,    // G: --.
    0x00 + 4,    // H: ....
    0x00 + 2,    // I: ..
    0x70 + 4,    // J: .---
    0xA0 + 3,    // K: -.-
    0x40 + 4,    // L: .-..
    0xC0 + 2,    // M: --
    0x80 + 2,    // N: -.
    0xE0 + 3,    // O: ---
    0x60 + 4,    // P: .--.
    0xD0 + 4,    // Q: --.-
    0x40 + 3,    // R: .-.
    0x00 + 3,    // S: ...
    0x80 + 1,    // T: -
    0x20 + 3,    // U: ..-
    0x10 + 4,    // V: ...-
    0x60 + 3,    // W: .--
    0x90 + 4,    // X: -..-
    0xB0 + 4,    // Y: -.--
    0xC0 + 4    // Z: --..
};


1) Quiero un código de ejemplo de parpadeo de Led.
2) He conseguido grabar el .hex con el código de arriba.
3) Un esquema eléctrico de una resistencia y un Led. Quiero saber el patillaje donde hay que conectarlo al menos.
4) Sospecho que el código de arriba hay que modificarlo y so varios programas en uno me da la impresión.
Saludo.
#1188
Electrónica / Re: Teensy ++ 2.0 (A estrenarlo).
22 Diciembre 2010, 06:11 AM
Ni se cuál es el más sencillo, ahora acaba de avanzar un poco y me volví a atascar.

Buenas:

Por ahora lo que puedo mostrar son capturas de pantalla.



Estoy atascado y no se que hacer a partir de aquí. Recuerdo que no tengo ni la más idea de los AVR de Atmel y me cuesta el Inglés.
Details In The Blinky Source Code

Using avr-gcc with the Teensy USB development board

Compilé el archivo make y me generó el .hex del AT90USB1826.

Parece que hay que seguir con este archivo llamado blicky.c, su código interior es:

/* LED Blink Example with USB Debug Channel for Teensy USB Development Board
* http://www.pjrc.com/teensy/
* Copyright (c) 2008, 2010 PJRC.COM, LLC
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/

#include <avr/io.h>
#include <avr/pgmspace.h>
#include <util/delay.h>
#include "usb_debug_only.h"
#include "print.h"


// Teensy 2.0: LED is active high
#if defined(__AVR_ATmega32U4__) || defined(__AVR_AT90USB1286__)
#define LED_ON        (PORTD |= (1<<6))
#define LED_OFF        (PORTD &= ~(1<<6))

// Teensy 1.0: LED is active low
#else
#define LED_ON    (PORTD &= ~(1<<6))
#define LED_OFF    (PORTD |= (1<<6))
#endif

#define LED_CONFIG    (DDRD |= (1<<6))
#define CPU_PRESCALE(n)    (CLKPR = 0x80, CLKPR = (n))
#define DIT 80        /* unit time for morse code */

void morse_character(char c);
void morse_P(const char *s);
const unsigned char morse_code_table[];


int main(void)
{
    unsigned char i;

    // set for 16 MHz clock, and make sure the LED is off
    CPU_PRESCALE(0);
    LED_CONFIG;
    LED_OFF;

    // initialize the USB, but don't want for the host to
    // configure.  The first several messages sent will be
    // lost because the PC hasn't configured the USB yet,
    // but we care more about blinking than debug messages!
    usb_init();

    // blink morse code messages!
    while (1) {
        for (i=0; i<6; i++) {
            morse_P(PSTR("SOS"));
            _delay_ms(1500);
        }
        morse_P(PSTR("DOES ANYBODY STILL KNOW MORSE CODE?"));
        _delay_ms(4000);
    }
}

// blink a single character in Morse code
void morse_character(char c)
{
    unsigned char code, count;

    if (c == ' ') {
        print("Space\n");
        _delay_ms(DIT * 7);
        return;
    }
    if (c < 'A' || c > 'Z') {
        print("Opps, unsupported character: ");
        pchar(c);
        print("\n");
        return;   
    }
    print("Char ");
    pchar(c);
    pchar(':');
    code = pgm_read_byte(morse_code_table + (c - 'A'));
    for (count = code & 0x07; count > 0; count--) {
        LED_ON;
        if (code & 0x80) {
            print(" dah");
            _delay_ms(DIT * 3);
        } else {
            print(" dit");
            _delay_ms(DIT);
        }
        LED_OFF;
        _delay_ms(DIT);
        code = code << 1;
    }
    print("\n");
    _delay_ms(DIT * 2);
}

// blink an entire message in Morse code
// the string must be in flash memory (using PSTR macro)
void morse_P(const char *s)
{
    char c;
   
    while (1) {
        c = pgm_read_byte(s++);
        if (!c) break;
        morse_character(c);
    }
    print("\n");
}

// lookup table for all 26 letters.  Upper 5 bits are the pulses
// to send (MSB first), and the lower 3 bits are the number of
// bits to send for this letter.
const unsigned char PROGMEM morse_code_table[] = {
    0x40 + 2,    // A: .-
    0x80 + 4,    // B: -...
    0xA0 + 4,    // C: -.-.
    0x80 + 3,    // D: -..
    0x00 + 1,    // E: .
    0x20 + 4,    // F: ..-.
    0xC0 + 3,    // G: --.
    0x00 + 4,    // H: ....
    0x00 + 2,    // I: ..
    0x70 + 4,    // J: .---
    0xA0 + 3,    // K: -.-
    0x40 + 4,    // L: .-..
    0xC0 + 2,    // M: --
    0x80 + 2,    // N: -.
    0xE0 + 3,    // O: ---
    0x60 + 4,    // P: .--.
    0xD0 + 4,    // Q: --.-
    0x40 + 3,    // R: .-.
    0x00 + 3,    // S: ...
    0x80 + 1,    // T: -
    0x20 + 3,    // U: ..-
    0x10 + 4,    // V: ...-
    0x60 + 3,    // W: .--
    0x90 + 4,    // X: -..-
    0xB0 + 4,    // Y: -.--
    0xC0 + 4    // Z: --..
};
No veo ni rastro de esquema eléctrico para poner un Led. Como no conozco este dispositivo, no me quiero arriesgar a quemar, romper o lo que sea del Teensy y no es mio. Bastante he quemado PIC16F84A y 16F88 como para quemar un AVR sin estrenar, ejjejejeejejej.
Por ahí debe haber algúl esquemita de lo que me está hablando, más que el Inglés me cuestra, capaz que me salté algo.

Subiré más fotos y vídeos del primer Led intermitente.



Parece que ahora falta un toque de acción. Antes ver esquema para conectar los Led y resistencias en sus debidos pines del Teensy ++ 2.0.

Saludo.
#1189
Cierto.

Se aprende destapando. Ten cuidado al destaparlo. Puedes hacerlo quitando la carcasa. Lo del riesgo eléctico lo puedes tener si te pones a tocar la electrónica sin saber. No toque nada de la placa ni componentes electrónicos aunque esté desenchufaso, hay condensadores cargados.

Ánimos y adelante, que si no, no aprendes. Si llevas guates de latex no correrás riesgo de tocas algo que te haga la permanente con la corriente.

Saludo.
#1190
Desarma el TV. Mira en las conexiones de soldaduras por debajo de la placa madre y sobre todo los conectores de todos los cables. Es eso y nada más.