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ú

Temas - Meta

#271
Hola:

Quiero hacer una prueba sencilla para lograr un objetivo. Intentar leer en la memoria RAM unos valores de las variables que no conoces, localizar esa variable, crear tu aplicación aunque sea en C# capaz de leer sus valores. Hay que crear dos proyectos. Uno como hice abajo, lo que hace es con un timer incrementar el valor del componente progressBar y mostrar su valor en label1.

Como muestra en la imagen de abajo, se ha incluido en el Form1, un lable, un button, un timer y progressBar.


Su código fuente es:
Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Leer_RAM
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // Si pulsas el botón, empieza el contador.
        private void button2_Click(object sender, EventArgs e)
        {
            timer1.Start();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            int Valor = progressBar1.Value; // Guarda el valor actual.
            progressBar1.Increment(1); // Incrementa a 1.
            label1.Text = Valor.ToString(); // Muestra el valor del incremento del ProgressBar.

            // Si el valor llega a 100.
            if (Valor == 100)
            {
                progressBar1.Value = 0; // Empieza desde 0.
            }
        }
    }
}


Este programa se recomienda ejecutarlo directamente del .exe compilado, no usando Visual Express 2013. Supuestamente no tengo idea del código fuente del .exe de arriba, tener claro que no lo conoces, se los dejo para dar ideas. Ahora hay que crear otro proyecto desde cero, puedes usar C++ que es más rápido a la hora de intercambiar información, para dejarlo más fácil ya que estamos aprendiendo, usaremos C#, y los que quieran VB .net.

Para leer los valores del archivo.exe, hay que verlo desde un descompilador o algún programa que lea en tiempo real el proceso. Aquí hay uno, es muy utilizado para cambiar vidas infinitas a los juegos de PC. Se logra buscar esa variable, se le suma nuevos valores y tiene más vida, en nuestro caso no trataremos este tema, se tratará de localizar dicha variable y ver como cambian sus estados. Luego crear un progrma a parte que lea dichas variables y mostrarla en un label.

Cheat Engine
http://www.cheatengine.org/?referredby=CE63

Puedes usar otro programa y también recomendarlo si parece interesante.

La idea principal es, ser capaz de localizar esas variables, hacer una aplicación que los lea y muestre en un form1 con C# o otro lenguaje que más te guste.

El ejemplo que puse arriba quiero sacar los valores que muestra en label1, que es el mismo del progressBar1.

En un juego de Rally, quiero sacar el cuentakilómetros indicado en pantalla a mi propia aplicación, pero esto es otra historia mucha más adelante. Por ahora me conformo en entender lo más básico.

¿Parace fácil?

Un cordial saludo.
#272
Hola:

Presento un mini tutorial para resetear los contadores de la impresora especialmente este caso la Brother MFC-440CN.
http://electronica-pic.blogspot.com.es/2014/03/resetear-contador-impresora-brother-mfc.html

PDF.
https://drive.google.com/file/d/0B6HKwsbbpgrLTm1mUF9UVWtnMkE/edit?usp=sharing

XPS.
https://drive.google.com/file/d/0B6HKwsbbpgrLLU5WbVJkaTZTM00/edit?usp=sharing

Cualquier sugerencia para su mejora, será muy bienvennida.

Un saludo y gracias por leer hasta aquí. ;)
#273
Hola:

Veo mucho por Internet que hacen ejemplos simples, recomendables, esquemas dibujo y sumulador a la vez. ¿Cuáles son los más usados?

Quiero hacer ejemplos gráficos para mostrarlos a los demás com estas imágenes.

http://fritzing.org/download/

No se si este de abajo es el mismo programa.


Si hay varios, pueden poner el enlace y comentar cual es el más usado o recomendado.

Saludo.
#274
Electrónica / Saber más sobre UDATA delos PIC
17 Febrero 2014, 08:58 AM
Cita de: Meta;774159Hola:

Tanto el MPLAB v8.89 y el más moderno MPLAB X v1.60 pesco.

En MPLAB puedo ver los nombres de las variables y los datos que contiene. En cuanto a MPLAB X, puedo ver los datos de las variables pero no sus nombres.



He comprobado que en el MPLAB v8.89 si compilo bajo Absolute, se me ven los nombres de las variables. Si lo compilo bajo Relocatable, no se ven los nombres de las variables.

Sospecho que el MPLAB X 1.60 pasará algo similar. Creo que lo guardé en auto, no se cual de los dos tiene realmente para descartar este tipo de cosas.

La pregunta es. ¿Cómo voy en las opciones para cambiarlo a Absolute del MPLAB X?

En el MPLAB normal se hace así. En la barra de herramientas arriba:


Espero que en el nuevo MPLAB no hayan quitado de leer los nombres de las variables, entonces para depurar sería un misterio, es más, vuelvo mientras puedas solo al MPLAB v8.xx.



Saludo.
#275
Hola:

He comprado Arduino UNO y la LCD Keypad Shield.
http://1.bp.blogspot.com/--kl6XSF_NZo/UDDhi2hzjLI/AAAAAAAAE8g/EOcULXBNTNo/s1600/IMG_0730.jpg

He probado códigos para sber si muestra mensajes pero no me dice ni el "Hola".
Códigos que he probado y ninguno me da respuesta. Quiero saber si es el código o la LCD está rota.

Ejemplo 1:
#include <LiquidCrystal.h>
LiquidCrystal milcd(12, 11, 5, 4, 3, 2);
byte smiley[8] = { B00000, B10001, B00000, B00000, B10001, B01110, B00000 };  

void setup() {
       milcd.createChar(0, smiley);
       milcd.begin(16, 2);          
       milcd.write(0);
}

void loop() {}


Ejemplo 2:
#include <LiquidCrystal.h>
LiquidCrystal milcd(12, 11, 5, 4, 3, 2);

void setup() {
     milcd.begin(16,2);
     milcd.print("Hola");
}

void loop() {
     milcd.setCursor(0,1);
     milcd.print(millis()/1000);
}


Ejemplo 3:
#include <LiquidCrystal.h>
LiquidCrystal milcd(12, 11, 5, 4, 3, 2);
int luzFondo = 13;

void setup() {
    pinMode(luzFondo, OUTPUT);
    digitalWrite(luzFondo, HIGH);
    lcd.begin(20,4);
    Serial.begin(9600);
}

void loop() {
    if (Serial.available()>0) {
           delay(100);
           lcd.clear();
           while (Serial.available() > 0) {
                lcd.write(Serial.read());
           }
    }
}


¿Hay alguna solución?

Un cordial saludo.
#276
Hola:

Compré estos días un Arduino UNO rv3. Incluye el AVR ATMEGA328P. Hago algunas preguntas.

1.
¿Hay varios AVR compatibles con ATMEGA328P con más RAM, memoria Flash y EEPROM para Arduino UNO rv3? (Al menos para saber unos cuantos AVR hay, ya que en algunos proyectos se necesita más memoria para todo. Su encapsulado es de tipo DIP).

2. Quiero comprar ATMEGA328P vacío. ¿Dónde consigo y como cargo un bootloader para que funcione en Arduino UNO?

3. ¿Puedo extraer el bootloader del ATMEGA328P como copia de seguridad?

4. ¿El bootloader del ATEMAGA328P sobre Arduino UNO es compatible con otros AVR más potentes?

Un cordial saludo.
#277
Redes / Todo sobre MAC en la red
11 Febrero 2014, 09:56 AM
Hola:

Hace tiemmpo, dando clases de sistemas operativos y redes en programación, nos hacía leer que es una MAC.
http://es.wikipedia.org/wiki/Direcci%C3%B3n_MAC

Como dice es único en cada dispositivo mundialmente. Amigos me contaban que no se puede cambiar físicamente. De echo hay emuladores de MAC para conectarse a las redes Wi-Fi. ;) Es solo emular, pero se puede burlar la MAC.

En un router he cambiado el firmware la MAC y si se puede. luego subí su firmware modificado el .bin directamente desde un editor hexadecimal.
Las tarjetas de red parece ser que lo cambias directamente desde una aplicación.
http://www.cualesmiip.com/es/noticias/Windows_7_Mac_Address_Changer/16816.html
http://soonware.blogspot.com.es/2013/08/win7-mac-address-changer-v20-released.html

¿Qué pasa si dos MAC idénticas e idénticos router coincide, dentro del mismo país y ciudad?

Un saludo.
#278
Electrónica / Mejor libro recomendo de Arduino
9 Febrero 2014, 05:00 AM
Hola:

He estado buscando libros de Arduino, de lo mejorcito que pueda haber, por lo que parece, me llaman la atención dos de ellos.





Si hay más y que sea bueno lo puden publicar. En mi caso quiero uno que te enseñen bien a programar el Arduino UNO con C. Ese es el libro que busco, que sea centrado en programación. Más adelante que se centren en proyectos de todo tipo que sea más complicado, no básico, soy técnico electrónico y en este campo tengo cierto grado de conocientos.

Me gustan los libros grandes de calidad, que tenga mucho documentación y ejemplos prácticos.

¿Alguna sugerencia?

Un cordial saludo.
#279
Scripting / Hacer un Script para un router
1 Febrero 2014, 20:02 PM
Hola:

Tengo un router ZyXEL P660HW-D1. El antiguo que tenía XAVI 7968 tenía un botón por detrás que desconectaba o conectaba directamente sin entrar por vía Web o Telnet hacia el router.

Ahora quiero poner un script en el escritorio de Windows sea cual sea, el más cómodo, sea archivo BAT o VBS. Si pueden hacer los dos, mejor que mejor para comparar. También si es posible, en Linux para probarlo.

Este router al entrar con la dirección IP 192.168.1.2 en mi caso con la contraseña 1234 para entrar directamente. Los pasos para el script sería:

Código (bash) [Seleccionar]
telnet 192.168.1.2 {ENTER}
1234 {ENTER}
24 {ENTER} 
8 {ENTER} 
wlan active 1 {ENTER}
e {ENTER}
99 {ENTER}
{ENTER}
q{ENTER}


Cuando ejecute el Scripts se conecte al router de una pasada y haga la configuración. Con otro Script será todo igual pero en el punto 5. sería así:
wlan active 0

¿Cómo se hace?

Saludo.

Un cordial saludo.
#280
Foro Libre / Controlar WLAN por puerto serie
1 Febrero 2014, 08:46 AM
Hola:

Una pregunta tonta.

En estos router de la marca ZyXEL a parte de actualizar por el puerto serie el Firmware en la placa.

¿Se puede controlar la activación y desactivación del WLAN como en Telnet?

Un saludo.

PD: Disculpen si este tema no va aquí.
#281
Hola:

Quiero saber en un programa la fórmula matemática que tiene incluida como muestra esta imagen.



La descarga es aquí.
https://mega.co.nz/#!wU9HCSAZ!fnT5yQRkR-PUiDrkPNB7TAlHNecRa9p-2EUVChCPuM0

Donde pone seedNumber que como ejemplo introduje 123456789000, pulsas el botón generar y te sale en Password e código generado que en este caso es 1110EDEF, en hexadecimal.

¿Es posible saber lo que quiero?

Parece que le código está hecho con VB 6 o C++ 6 de MicroSoft por supuesto.

Vamos haber si se puede hacer una igeniería inversa de este pequeño programa que aparenta ser sencillo.

Cuando averigüe la fórmula, lo pasaré a C#, C++ y V Basic 2013.

Saludo.
#282
Redes / Conectar un segundo router y equipos
28 Enero 2014, 03:47 AM
Hola:

Me han regalado el router ZyXEL 660HW-D1. El otro que usa mi hermano, el principal no lo toco. He reseteado el router cuya Usuario/Contraseña es 1234/1234 y lo se gracias a esta Web.

El Xavi que tenía antes siempre me da problemas o fallos por temas de temperaturas y este modelo no se si en el futuro será igual, para solucionarlo, poner un ventilador de PC al lado, o ponerle una caja mayor y preparalo con buenos ventiladores, en un tema a parte que ya subiré fotos.

A lo que iba. Tengo tres dispositivos a conectar, uno es un PC de sobremesa, un portail HP Mini y una PlayStation 3.

En el grupo de trabajo lo he llamado T_Server para los dos ordenadores, en cuanto a la PS3 no se donde hay que ponerle un grupo de trabajo, el que lo sepa lo puede expresar por aquí, si lo desea, claro. ;)


En grupos de Red, quiero ver desde el PC principal todos los dispositivos que tengo agregado.

¿Cómo lo hago?

Veo solo el mio propio y el HP Mini, la PS3 nada de nada y eso que está configurado y funcionando con IP fija en cada equipo.

¿Nunca puedes ver una PS3 en Red?

Un cordial saludo.
#283
Hola:



Hace tiempo hice un mini proyecto cuando estaba aprendiendo a programar asm del PIC16F84A.

Debo mejorarlo muy bien antes de fabricar uno. Por eso es bueno hacer una lista de lo que se va hacer. En mi caso es este.


- Condensador de 100 nF entre los pines de allimentación del PIC.

- Usar un IC 40106 para estabilizar las señales de entrada del PIC sobre la LDR.

- Controlar los tiempos con Timer dentro del PIC.

El problema de arriba que usa los tiempos con retardos y el PIC queda esclavo, si cambio la configuración de los tiempos no puedo hasta que el tiempo iniciado termine, la única manera es resetear el PIC.

La solución es usar el Timer 0 con interrupciones. Es lo que debo hacer. Para aquellos que tienen muy al día de manejar bien el timer a su antojo con interrupciones puedes modificar el código principal que es este.



;
;         Programa de un interruptor con sensor movimiento y de luz solar: Si es de noche,
;        mientras el sensor de movimiento (PIR) detecta la presencia de alguien
;        entorno a 6 metros, activa o se    pone a 1 la entrada RA3 y la lámpara
;        se enciende. En caso de que sea de día detectado por la LDR, nunca se enciende
;        la lámpara. En la otra opción, cuando la LDR detecta la noche o falta de Sol,
;        la lámpara se enciende, cuando sea de día, la lámpara se apaga.
;        En los microinterruptores puedes activar el tiempo que tarda en apagarse la
;        lámpara después de ser detectado por el sensor Pir y de noche de un máximo
;        una hora y treinta y cinco minutos.
;
;¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

; DATOS ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬
   LIST        P=16F84A
   INCLUDE        <P16F84A.INC>
   __CONFIG    3FF1
   __idlocs    0001                ; ID, versión del programa.

   CBLOCK  0x0C
   ENDC

#DEFINE        Led_verde    PORTA,0        ; Led verde indica opción LDR seleccionada.
#DEFINE        Led_rojo    PORTA,1        ; Led rojo indica opción PIR seleccionada.
#DEFINE        Led_azul    PORTA,2        ; Led azul indica que el Relé está activado.
#DEFINE        lámpara        PORTA,3        ; lámpara.
#DEFINE        PIR            PORTB,1        ; Sensor PIR.
#DEFINE        LDR            PORTB,3        ; Sensor LDR.
#DEFINE        Int_RB4        PORTB,4        ; Interruptor RB4.
#DEFINE        Int_RB5        PORTB,5        ; Interruptor RB5.
#DEFINE        Int_RB6        PORTB,6        ; Interruptor RB6.
#DEFINE        Int_RB7        PORTB,7        ; Interruptor RB7.

; EEPROM ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

   ORG        0x2100                    ; Comienza en la direccoón 0 de la memoria EERPOM.
                                   ; Datos nombre del archivo, versión del programa
                                   ; y dirección del correo electrónico.
   DE    "Senpir.asm. v1.0. 25-03-2009. metaconta@gmail.com", 0x00
                               
; CÓDIGOS ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

   ORG     0
Inicio
   bsf        STATUS,RP0                ; Accede al Banco 1.
   clrf    PORTA                    ; Puerto A como salidas.
   movlw    b'11111111'                ; Las 8 líneas del puerto B se configura como entradas.
   movwf    PORTB
   bcf        STATUS,RP0                ; Accede al Banco 0.
   clrf    PORTA                    ; Supuestamente la lámpara y Led apagadas.    

Opcion_principal
   btfss    Int_RB4                    ; ¿Bit 4 del PORTB es "1"? ¿Int_RB4 activado?
   goto    Opcion_LDR                ; No, activa modo LDR.
   goto    Opcion_PIR                ; Sí, activa modo PIR.

; INTERRUPTOR CREPUSCULAR LDR ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

Opcion_LDR
   bcf        Led_rojo                ; Se apaga el Led rojo.                            
   bsf        Led_verde                ; Enciende Led verde indicando modo LDR activado.
   btfss    LDR                        ; ¿La entrada LDR es igual a 1?, ¿LDR en oscuridad?
   goto    Apaga_la_lámpara        ; No, la LDR está iluminada por el Sol. La lámpara se apaga.
Enciende_la_lámpara
   call    Retardo_20_seg            ; Espera 20 segundos para confirmar la oscuridad.
   btfss    LDR                        ; ¿Entrada es igual a 1?, ¿LDR aún en oscuridad?
   goto    Opcion_principal        ; No, sale fuera.
   bsf        lámpara                    ; Sí, enciende la lámpara.
   bsf        Led_azul                ; Led_azul activo.
   goto    Opcion_principal
Apaga_la_lámpara
   call    Retardo_20_seg            ; Espera 20 segundos para confirmar la oscuridad.
   btfsc    LDR                        ; ¿Entrada es = 0?, ¿LDR sigue iluminada por luz del sol?
   goto    Opcion_principal        ; No, sale fuera.
   bcf        lámpara                    ; Sí, apaga lámpara.
   bcf        Led_azul                ; Led_azul indica que la lámpara está apagada.
   goto    Opcion_principal

; DETECTOR DE MOVIMIENTO ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

Opcion_PIR    
   bcf        Led_verde                ; Apaga el Led verde de aviso.
   bsf        Led_rojo                ; Enciende Led rojo avisando que está activado el modo PIR.
   btfss    LDR                        ; ¿La entrada LDR es igual a 1?, ¿LDR en oscuridad?
   goto    lámpara_OFF                ; No.
   btfss    PIR                        ; ¿La entrada PIR es igual a 1?, ¿PIR ha detectado presencia?
   goto    lámpara_OFF                ; No, no ha detectado presencia o movimiento.
lámpara_ON
   bsf        lámpara                    ; Sí, enciende la lámpara.
   bsf        Led_azul                ; Led_azul activo.
   btfss    Int_RB5                    ; ¿Bit 5 del PORTB es igual a 1?, ¿Activado el interruptor RB5?
   goto    RB6                        ; No, salta a la línea siguiente.
   call    Retardo_5_min            ; Tiempo lámpara encendida 5 minutos.
RB6
   btfss    Int_RB6                    ; ¿Bit 6 del PORTB es igual a 1?, ¿Activado el interruptor RB6?
   goto    RB7
   call    Retardo_30_min            ; Tiempo lámpara encendida 30 minutos.
RB7
   btfss    Int_RB7                    ; ¿Bit 7 del PORTB es igual a 1?, ¿Activado el interruptor RB7?
   goto    Opcion_principal
   call    Retardo_1_hora            ; Tiempo lámpara encendida 1 hora.
   goto    Opcion_principal
lámpara_OFF
   bcf        lámpara                ;     Apaga lámpara.
   bcf        Led_azul                ; Apaga Led_azul.
   goto    Opcion_principal

; SUBRUTINAS ¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬

; Retardo de 20 segundos ................................................................
   cblock
   ret_00
   ret_01
   ret_02
   Nulo
   endc

Retardo_20_seg
           ;19999992 ciclos
   movlw    0xB5
   movwf    ret_00
   movlw    0x99
   movwf    ret_01
   movlw    0x2C
   movwf    ret_02
Retardo_20_seg_0
   decfsz    ret_00, f
   goto    $+2
   decfsz    ret_01, f
   goto    $+2
   decfsz    ret_02, f
   goto    Retardo_20_seg_0

           ;4 ciclos
   goto    $+1
   goto    $+1

           ;4 ciclos (incluyendo call)
   return

; Retardo de 5 minutos ..................................................................
   cblock
   ret_05
   ret_06
   ret_07
   ret_08
   endc

Retardo_5_min
           ;299999995 ciclos
   movlw    0x54
   movwf    ret_05
   movlw    0xA1
   movwf    ret_06
   movlw    0xFD
   movwf    ret_07
   movlw    0x02
   movwf    ret_08
Retardo_5_min_0
   decfsz    ret_05, f
   goto    $+2
   decfsz    ret_06, f
   goto    $+2
   decfsz    ret_07, f
   goto    $+2
   decfsz    ret_08, f
   goto    Retardo_5_min_0

           ;1 ciclo
   nop

           ;4 ciclos (incluyendo call)
   return

; Retardo de 30 minutos .................................................................
   cblock    
   ret_09
   ret_10
   ret_11
   ret_12
   endc

Retardo_30_min
           ;1799999989 ciclos
   movlw    0xFE
   movwf    ret_09
   movlw    0xC2
   movwf    ret_10
   movlw    0xEC
   movwf    ret_11
   movlw    0x0C
   movwf    ret_12
Retardo_30_min_0
   decfsz    ret_09, f
   goto    $+2
   decfsz    ret_10, f
   goto    $+2
   decfsz    ret_11, f
   goto    $+2
   decfsz    ret_12, f
   goto    Retardo_30_min_0

           ;7 ciclos
   goto    $+1
   goto    $+1
   goto    $+1
   nop

           ;4 ciclos (incluyendo call)
   return

; Retardo de 1 hora .....................................................................
   cblock
   ret_13
   ret_14
   ret_15
   ret_16
   endc

Retardo_1_hora
           ;3599999989 ciclos
   movlw    0xFE
   movwf    ret_13
   movlw    0x84
   movwf    ret_14
   movlw    0xD8
   movwf    ret_15
   movlw    0x18
   movwf    ret_16
Retardo_1_hora_0
   decfsz    ret_13, f
   goto    $+2
   decfsz    ret_14, f
   goto    $+2
   decfsz    ret_15, f
   goto    $+2
   decfsz    ret_16, f
   goto    Retardo_1_hora_0

           ;7 ciclos
   goto    $+1
   goto    $+1
   goto    $+1
   nop

           ;4 ciclos (incluyendo call)
   return

   END

El proyecto pueden verlo en el enlace de abajo.
http://electronica-pic.blogspot.com.es/2009/11/interruptor-crepuscular-y-de-movimiento.html

Cualquier consejo, sugerencia o algún comentario para mejorarlo es bienvenido.
#284
Hola:

Me han prestado Tomb Raider para PlayStation 3. Antes de terminar el juego he conseguido todo a 100 % y no me dan el trofeo de plata llamado



¡Inconcebible!
Completa todos los desafíos.

Parece que es un fallo del Trofeo. ¿Hay alguna solución? ¿Debo pasar el juego otra vez desde cero?


He intentado ir desde la PLAYA DEL NAUFRAGO hasta llegar a la BASE DE INVESTIGACIÓN, hay zonas que ya no puedo ir. Aún así tengo todo a 100 % y el trofeo no cuenta.


Un saludo.
#285
Hola:

Quiero saber si hay revistas españolas (en España) que trate de electrónica. Sobre todo que traten de hacer circuitos por nosotros mismos y que se haga público en esas revistas. Antiguamente se hacía mucho con programas y electrónica básica, un ejemplo es ZX Spectrum +2 128K por poner un ejemplo. En el enlace de abajo, está las de antes MicroHobby en español, buenísima para la época.

Lista en la parte izquierda.
http://www.microhobby.org/

LA más moderna que se dejó de vender por el 2009 fue esta otra.
http://todoelectronica.com/revistas-c-32_360.html?osCsid=c83f6780e4e61451c06aaf2f9c759ca6

La que si está de de moda son estas dos, el segundo enlace es casi imposible presenter tus proyectos salvo que sea muy innovador.
http://www.nuevaelectronica.com/kiosco.asp
http://www.elektor.es/revistas.264382.lynkx

De poco se trata sobre Arduino y temas similares.

Puede que haya revistas nuevas de ese tipo y no lo se.

¿Hay revistas en españa de electrónica como las de antes que no estén mensionada arriba?

Un saludo.
#286
Hola de nuevo:

En mi caso también tengo mis dudas, he decidido entrar más en el mundo de las tablas. Quiero hacer mensajes en una LCD o el puerto serie, me da igual, la idea es que muestre mensajes por lo menos unas 255 carácteres en cada tabla de la directiva DT.

En cada DT sea largo el mensaje a 255 como máximo, quiero ponerlo en cada ORG diferente. Por ejemplo, así:

     ORG     0x0100
     DT "Mensaje hasta 255.", 0x00

     ORG     0x0200
     DT "Más mensajes todavía.", 0x00

     ORG     0x0300
     DT "Más mensajes en la posición 300", 0x00
Al acabar cada mensaje, tiene que volver a la posición ORG 0x00. Bajo mi punto de vista, debería ser así. Quiero tener claro otra cosa.

¿Hay que usar los bancos de memoria para almacenar más mensajes en la directiva DT?

Espero que se entienda lo que quiero decir.

Un saludo.
#287
Buenas Arduinos:

Haciendo experimento con Teensyduino, quiero sacar estos datos en el puerto COM1 real hacia mi ordenador. Cuando me di cuenta, los datos salían por USB, ajjajajajajaja, simulando el COM3. ;)

Uso el código de ejemplo de esta Web donde compramos Teensy ++2.0.
/* Temperature Sensor, Simple Scaling, Teensyduino Tutorial #4
  http://www.pjrc.com/teensy/tutorial4.html

  This example code is in the public domain.
*/

void setup()
{                
 Serial.begin(38400);
}

float code;
float celsius;
float fahrenheit;

void loop()                    
{
 code = analogRead(PIN_F0);
 celsius = 25 + (code - 512) / 11.3;
 fahrenheit = celsius * 1.8 + 32;
 Serial.print("temperature: ");
 Serial.print(celsius);
 Serial.print(" Celsius, ");
 Serial.print(fahrenheit);
 Serial.println(" Fahrenheit");
 delay(1000);
}



He logrado pasar los datos al HyperTerminal que he hecho con C#. Por eso me confundí que lo había logrado. Se que no pasa por el MAX232 porque los Led de Tx y Rx no parpadean.

Por lo que veo, aquí no son los comandos adecuados. Tal vez sea eso. Pues mira que he configurado los puertos buscándome la vida, jejejejjeje. ;)

¿Hay algún modo que pueda enviar y recibir caracteres ASCII desde el puerto COM físico?

[youtube=640,360]https://www.youtube.com/watch?v=Vl3ie37WQzU[/youtube]

Un saludo.
#288
Electrónica / MAnejar un motor universal
13 Noviembre 2013, 16:59 PM
Hola:

Quiero hacer tres cosas, de las cuales dos parece que está claro, si no lo estoy, me pueden ayudar. Tengo un motor de lavadora Arcelik 230Vac/50 Hz, de la lavadora Beko WMD 25100T.

Por lo que he estado viendo, usa un BTB16-600BW, un triac de 16 A.


La placa lo controla un microcontrolador y con ello quiero hacer algo similar.

Quiero saber si este esquema vale bien para controlar la velocidad del motor y cambio de giro.

1) Esquema cambio de giro del motor universal de una lavadora.


En el esquema tenemos numerados los siguientes componentes:
• 3-4 Corresponden al tacogenerador, representado por la letra T
• 8-9 Corresponden al rotor del motor (la parte que gira), representado con la letra M
• 5-10 Corresponden al estator (parte fija del motor, donde esta el bobinado), representado con
la letra S
• 6-7 Corresponden al protector termico (en caso de sobecalentamiento dispara y corta el flujo
de corriente), representado con la letra P
• EC es el circuito de control (placa electronica)
• R1 y R2 son reles para invertir el sentido de giro.
• TY es el triac de control
• L Fase y N neutro (entrada de corriente)

¡¡Atencion!! La numeracion no corresponde a los terminales del motor

2) Esquema controlar el motor con un triac y un microcontrolador PIC.


3) Me falta saber más sobre el tacómetro. Lo poco que se, es que entrega una tensión en alterna y el microcontrolador controla el motor, por ejemplo, antes de hacer un cambio de giro en el motor, primero el microcontrolador detecta 0 rpm que el motor está completamente detenido, luego cambia de giro cada 15 segundos. No cambia de giro hasta que el motor esté completamente detenido.

Hace un tiempo para ver como se comporta el giro del motor, cual relé usa puse unos Led y me ayudaron a orientarme, subí un vídeo hace un tiempo.
[youtube=640,360]http://www.youtube.com/watch?v=T8qssJ0vBhQ[/youtube]

Con todo indicado arriba, antes de montar algo, quiero asegurarme qué circuito indicado para controlar el giro del motor y valocidad a la hora del centrifugado. Cuando lo tenga todo claro, montaré una placa genérica para lavadoras. Esta placa también controlará las electroválvulas y motor de bomba.

Alguna sugerencia, ideas en bienvenida. ;)

Un saludo.
#289
Hola:

Como curiosidad hice un programa de consola bajo C# Express 2013. Consiste en introducir '1234' para acceder.

Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Password
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Title = "Contraseña"; // Título de la ventana.
            int password_fijo = 1234; // Contrasela preficaja.
           
            Console.WriteLine("Introduce contraseña o password: "); //Mostrar texto.
            int contraseña = Convert.ToInt32(Console.ReadLine()); // Leer contraseña que pulsas en el teclado y lo almacena en una variable 'contraseña'.

                    // Si 'contraseña' introducida en el teclado es igual a 'password_fijo' o '1234' se cumple la condición.
                    if (contraseña == password_fijo)
                    {
                        Console.WriteLine("La contraseña es correcta.");
                    }
                    else
                    {
                        Console.WriteLine("INCORRECTO. Vuelva a intentarlo.");
                    }
               
                Console.ReadKey(); // Pulse una tecla cualquiera para salir.
        }
    }
}


El programa es muy sencillo. Supuestamente este código fuente no lo tienes. Pero si su ejecutable que lo habrí con H&D, un editor hexadecimal y lo pasé a un txt. Este txt indicado abajo no es fiable porque es en binario, y leerlo en txt no sirve, pero si con el H&D, es para coger un ejemplo.

Código (ada) [Seleccionar]
MZ       ÿÿ  ¸       @                                   €   º ´ Í!¸LÍ!This program cannot be run in DOS mode.

$       PE  L ½È{R        à    
         ~)       @    @                       €          `...                           0)  K    @  @                   `     ø'                                                               H           .text   ,,        
                    `.rsrc   @   @                     @  @.reloc      `                    @  B                `)      H     ¼   <                                                      0 V      r  p( 
  Ò 
r  p( 
( 
( 
þþ - r[  p( 
  +
r'  p( 
  ( 
&*( 
*  BSJB          v4.0.30319     l      #~  x  À  #Strings    8  Ô   #US      #GUID        #Blob         G     ú%3                                   
      8 1  i O  " ,  « ,  È ,  ç ,   ,  ,  4,  O,  ‡h ›h ©,  ,  òß?    5 U s1  ˜1  ¨1                    P     ' ?
 ²     †D      J  D   D  ! D  ) D  1 D  9 D  A D  I D  Q D  Y D  a D  i D  q D  y D  ‰ D $ ' D  ™ {) ™ ...) ™ . ¡  2 ™ ·7 D  . B .  Œ .  š . # š . + š . 3 Œ . ;   . C š . S š . [ ¸ . k  . s ï . { ø . ƒ < €                              (        <Module> Password.exe Program Password mscorlib System Object Main .ctor args System.Runtime.Versioning TargetFrameworkAttribute System.Reflection AssemblyTitleAttribute AssemblyDescriptionAttribute AssemblyConfigurationAttribute AssemblyCompanyAttribute AssemblyProductAttribute AssemblyCopyrightAttribute AssemblyTrademarkAttribute AssemblyCultureAttribute System.Runtime.InteropServices ComVisibleAttribute GuidAttribute AssemblyVersionAttribute AssemblyFileVersionAttribute System.Diagnostics DebuggableAttribute DebuggingModes System.Runtime.CompilerServices CompilationRelaxationsAttribute RuntimeCompatibilityAttribute Console set_Title WriteLine ReadLine Convert ToInt32 ConsoleKeyInfo ReadKey   C o n t r a s e ñ a CI n t r o d u c e   c o n t r a s e ñ a   o   p a s s w o r d :   5L a   c o n t r a s e ñ a   e s   c o r r e c t a . AI N C O R R E C T O .   V u e l v a   a   i n t e n t a r l o .   eþSi¶ýJ½ðçi´N/# ·z\V4à‰      A       UI .NETFramework,Version=v4.5 TFrameworkDisplayName.NET Framework 4.5
 Password       Copyright ©  2013  ) $981582b7-8f6b-4a6d-94bc-9c2811816606   1.0.0.0               TWrapNonExceptionThrows    ½È{R         (  
  RSDS{='@®Ý@¤Ã^3$ºÔ=   c:\Users\Meta\Documents\Visual Studio 2013\Projects\Password\Password\obj\Debug\Password.pdb                                                                                                                                                                        X)          n)                          `)        _CorExeMain mscoree.dll     ÿ%  @                                                                                                                                                  €   8  €                  P  €                  h  €                   €                          @  °          PC  ê          °4   V S _ V E R S I O N _ I N F O     ½ïþ                 ?                         D    V a r F i l e I n f o     $    T r a n s l a t i o n       °   S t r i n g F i l e I n f o   ì   0 0 0 0 0 4 b 0   <  F i l e D e s c r i p t i o n     P a s s w o r d     0   F i l e V e r s i o n     1 . 0 . 0 . 0   <
 I n t e r n a l N a m e   P a s s w o r d . e x e     H   L e g a l C o p y r i g h t   C o p y r i g h t   ©     2 0 1 3   D
 O r i g i n a l F i l e n a m e   P a s s w o r d . e x e     4  P r o d u c t N a m e     P a s s w o r d     4   P r o d u c t V e r s i o n   1 . 0 . 0 . 0   8   A s s e m b l y   V e r s i o n   1 . 0 . 0 . 0   ï»¿<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>
                                                                                                                                                                                                             €9                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     


La pregunta definitiva es:

¿Hay posibilidad de averiguar la contraseña que está dentro del ejecutable aunque sea con un editor hexadecimal?

En este caso es 1234, supuestamente no lo sabes. Ese es el lema.

Un saludo.
#290
Hola:

Quiero pasar este código hecho en C para mircrocontroladores a C# en modo consola.
¿Es posible?

int16 ListaNumeros[10]={54,1238,41,2500,640,99,1,999,1001,2666};
char Resultados[10][16];
char Resultado[16];

int16 Contador=0;

void ConvierteARomano(int16 Numero) {

}

#INT_TIMER1
void Incrementa_Contador() {
   Contador++;
}

void main()
{
   int i;
   int16 Duracion;
   
   setup_timer_1 ( T1_INTERNAL);
   

   printf ("Numeros romanos\n\r");
   printf ("prueba\n\r\n\r");
   set_timer1(0);
   enable_interrupts(INT_TIMER1);
   enable_interrupts(GLOBAL);

   for (i=0;i<10;i++) {
      ConvierteARomano(ListaNumeros[i]);
      memcpy(Resultados[i], Resultado, sizeof Resultado);
   }
   disable_interrupts(INT_TIMER1);
   Duracion=get_timer1();
   
   for (i=0;i<10;i++)
      printf ("%LU = %s\n\r", ListaNumeros[i], Resultados[i]);

   printf ("Ha tardado %LU ticks\n\r",make32(Contador,Duracion));
   while(TRUE);

}


Un saludo.
#291
GNU/Linux / Mensajes de bienvenida sobre ssh
22 Octubre 2013, 18:38 PM
Hola:

Estoy con la máquina virtual virtual Box donde tengo instalado Ubuntu 13.04, 13.10 y el openSUSE 12.3.

Desde openSUSE al entrar en la máquina desde SSH me parece este mensaje:

Welcome to Ubuntu 13.04 (GNU/Linux 3.8.0-19-generic x86_64)

* Documentation: https://help.ubuntu.com

New release '13.10' available.
etc...................fecha y hora cuando entré la última vez.


Cuando entre desde Ubuntu a openSUSE 12.3 solo aparece el mensaje la fecha y hora de la últama vez que me conecté y esto: Have a lot of fun...

Quiero saber si desde openSUSE 12.3 se le puede cambiar o poner el mensaje de bienvenida cuando acceda por ssh desde cualquier máquina.

¿Es posible hacerlo?

Un cordial saludo.
#292
Electrónica / Portatil y su contador de batería
22 Octubre 2013, 03:46 AM
Hola:

Un portatil pequeño HP Mini la batería hay que cambiarla cada 1 a 1.5 años porque HP lo diseñó así. Para que te compres otra y ellos tener negocio. Así que comprar HP portátiles, PC de sobre mesa y impresoras, no valen la pena.


Ver imagen

Lo he desarmado rompiéndolo ya que está muy pegado. La batería pone en su plástico o carcasa que es de 10.8V / 27Wh. Comprobado con el tester tiene 4.9V. Veo que tiene una placa electrónica lo que controla la batería desde el portatil.

Sospecho que esconde algo más, ya que cuando cumpla unas condiciones como 300 cargas de la batería y un año y poco más, esta deja de dar orden a cargar la batería pero si la detecta.

Pensé en buscar una EEPROM facilonga como las impresoras, con la esperanza de encontrar una muy conocido como 93C66 o algo similar para resetearlo pero veo que no. Lo que tiene como laca en la placa hasta en los circuitos integrados y demás componente que me cuesta leerlo.

Si es posible, quiero más información de sus conectores, cuales son de carga y cuales con de descarga, pin a pin para hacer todo tipo de pruebas.

Cualquier información es útil.

Un cordial saludo.

PD: Esto de la absolescencia programada se están pasando.
#293
Hola:



Se me atasca el PIC tanto en el simulador Proteus y físicamente, no graba en la su EEPROM interna del PIC16F88.

Lo que hace el PIC del programa principal es, con un pulsador en RA0 enciende y apaga un LEd en la salida RB0.

Hasta ahí todo bien. Solo que no es capaz de grabar nada en la EEPROM, cuando está encendido el Led o apagado, la EEPROM la función que hace es esa, mantener lo últimos valores del Led.

Siempre se me atasca por aquí.
;Guarda en la EEPROM el valor de la salida.
Escribe_Dato_EERPOM
    BANKSEL EEADR
    movlw   0x00                    ; Dirección.
    movwf   EEADR                   ; Carga registro EEADR con la dirección a escribir.
    movf   Dato,W
    movwf   EEDATA                  ; Carga el registro EEDATA con el dato a escribir.
    BANKSEL EECON1
    bcf     EECON1,EEPGD            ; Selecciona acceso a memoria EEPROM de datos.
    bsf     EECON1,WREN             ; Permiso de escritura.
    movlw   0x55
    movwf   EECON2
    movlw   0xAA
    movwf   EECON2                  ; Secuencia de escritura según Mirochip.
    bsf     EECON1,WR               ; Inicio del ciclo de escritura.
[COLOR="red"]Espera
    btfsc   EECON1,WR
    goto    Espera                  ; Esperar que finalice (WR=0).
[/COLOR]
    bcf     EECON1,WREN             ; Retira el permiso de escritura.
   return



; Cada vez que presiona el pulsador conectado a la línea RA0 conmutará el estado de
; un LED conectado a la línea RB0.
;
; ZONA DE DATOS **********************************************************************

    LIST        P=16F88
    INCLUDE     <P16F88.INC>
    __CONFIG    _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _FOSC_EC
    __CONFIG    _CONFIG2, _IESO_OFF & _FCMEN_OFF
ERRORLEVEL -302

    CBLOCK 0x20
RAM_ret
RAM_ret_1
    ENDC

    CBLOCK 0x110
Dato
    ENDC

#DEFINE Pulsador   PORTA,0        ; Pulsador conectado a RA0.
#DEFINE Led        PORTB,0        ; Línea donde se conecta el diodo LED.


; ZONA DE CÓDIGOS ********************************************************************

    ORG     0
Inicio
clrw
    clrf    PORTB               ; Borra los latch de salida.
    BANKSEL ANSEL
    clrf    ANSEL               ; Puerto A digital.
    BANKSEL TRISA
movlw b'11111111'
    bsf     Pulsador           ; Pulsador activado como entrada.
clrf TRISB
    bcf     Led                ; Activar como salida Led.
call Lee_Dato_EERPOM_2
    BANKSEL PORTA               ; Vuelve al banco 0.
Principal
    btfsc   Pulsador            ; ¿Pulsador presionado?, ¿(Pulsador)=0?
    goto    Fin                    ; No. Vuelve a leerlo.
;    call    Retardo_20ms        ; Espera que se estabilicen los niveles de tensión.
    btfsc   Pulsador            ; Comprueba si es un rebote.
    goto    Fin                    ; Era un rebote y sale fuera.
    btfsc   Led                ; Testea el último estado del LED.
    goto    EstabaEncendido
EstabaApagado
    bsf     Led                ; Estaba apagado y lo enciende.
;movlw b'00000001'
BANKSEL Dato
movf Led
movwf Dato
call Escribe_Dato_EERPOM_2
BANKSEL PORTA ; Banco 0.
    goto    EsperaDejePulsar
EstabaEncendido
    bcf     Led                ; Estaba encendido y lo apaga.
;movlw b'00000000'
movf Led
movwf Dato
call Escribe_Dato_EERPOM_2
BANKSEL PORTA ; Banco 0.
EsperaDejePulsar
    btfss   Pulsador            ; ¿Dejó de pulsar?. ¿(Pulsador)=1?
    goto    EsperaDejePulsar    ; No. Espera que deje de pulsar.
Fin
    goto    Principal

;Subrutina EEPROM ******************************************************************
Lee_Dato_EEPROM
    BANKSEL EEADR
    movlw   0x00                    ; Dirección.
    movwf   EEADR                   ; Carga el registro EEADR con la dirección que se desea leer.
    BANKSEL EECON1
    bcf     EECON1,EEPGD            ; Selecciona el acceso a memoria EEPROM.
bsf    EECON1,RD               ; Inicia el ciclo de lectura.
    BANKSEL EEDATA
    movf    EEDATA,W                ; Carga en W el dato recuén leído.
    return

;Guarda en la EEPROM el valor de la salida.
Escribe_Dato_EERPOM
    BANKSEL EEADR
    movlw   0x00                    ; Dirección.
    movwf   EEADR                   ; Carga registro EEADR con la dirección a escribir.
    movf Dato,W
    movwf   EEDATA                  ; Carga el registro EEDATA con el dato a escribir.
    BANKSEL EECON1
    bcf     EECON1,EEPGD            ; Selecciona acceso a memoria EEPROM de datos.
    bsf     EECON1,WREN             ; Permiso de escritura.
    movlw   0x55
    movwf   EECON2
    movlw   0xAA
    movwf   EECON2                  ; Secuencia de escritura según Mirochip.
    bsf     EECON1,WR               ; Inicio del ciclo de escritura.
Espera
    btfsc   EECON1,WR
    goto    Espera                  ; Esperar que finalice (WR=0).
    bcf     EECON1,WREN             ; Retira el permiso de escritura.
return

     END


¿Alguna idea?

Saludo.
#294
Hola:



Me dio por probar la GameCube para jugar al Resident Evil Remake, motivo de su compra. Hace muchos años, antes de que saliera la PS3, mucho antes, no he tocado la GC. Me limitaba a jugar juegos de PS2 y PS3. Ahora me encuentro que la GC enciende, puedo leer la Memory Card y ya está. En cuestión de leer juego nada de nada. Nunca muesta el laser rojo, ni un poco. Lo tengo ahora mismo desarmado, le he puesto grasa a los engranajes para que vaya con soltura y nada. No tiene ningún tipo de mod o chip, tal como vino al mundo.

¿Hay alguna solución para salvarlo?

¿Comprar otro lector?
Para eso me compra una Wii (que nunca lo he podido ver ni en pintura), pero sus juegos con compatibles.

Un cordial saludo.

PD: Lo que no me gusta de las consolas con fomato disco, que los lectores no duran como los cartuchos de antes. A parte de ello, no puedes cambiar de lector con PS3. ;(
#295
Hola:



Quiero saber, dentro de España, revistas favoritas sobre el mundo de programación que leen y practican con ellas algunos códigos. He estado en elmundo de la electrónica, PC, Linux y videojuegos, ahora toca programación, se pueden intercalar. En este caso, si lees alguna revista muy de solo programación, cuál te gusta y cual das consejos sobre ella.

Quiero saber cuantas marcas hay en el mercado ahora mismo. Me picó la curiosidad porque encontré en el baúl de los recuerdo una que se llama Divmanía Año1, número 1. Muy pero que muy entretenido para la época ya más de 10 años por lo menos.

El que me llama la atención es relacionado con Visual Studio y Bases de datos, solo se centran en ello, las demás de todo un poco.

No la he comprado pero las pongo y nos de consejos o sugerencias de que les parece.
http://www.dotnetmania.com/revista

Me da la sensación que las revistan antiguas, son muy entretenidas.

Un saludo.
#296
Electrónica / Manejar EEPROM interna
7 Marzo 2013, 15:51 PM
Hola:

Uso el PIC12F629 puedo leer un valor en la EEPROM interna pero no soy capaz  de almacenarlo en la misma dirección.

Este es el código.
;No olvidar que si GP2 detecta un un 0 en la entreda menor de 5 segundos,
;el PIC no actua, vuelve a lo suyo como si no pasara nada.
;
; Cuando detecte
;GP2|GP0 GP1 GP4 GP5
;---+----------------
;1) | 0   1   0   0
;2) | 1   0   1   0
;3) | 0   1   1   0
;4) | 1   0   0   1
;
;ZONA DE DATOS*****************************************************************

    LIST P=12F629                          ; Procesador usado.
    INCLUDE <P12F629.INC>                  ; Fichero que definen las etiquetas.

    __CONFIG   _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_OFF & _FOSC_INTRCIO
    ERRORLEVEL -302

#DEFINE     Pulsador    GPIO,2      ; Pulsador.
#DEFINE     Leds        GPIO        ; Leds está conectado al GPIO.

VARIABLES UDATA_SHR
ContadorEstado RES 1
RAM_ret RES 1
RAM_ret_1 RES 1
Contador RES 1

;ContadorEstado     equ  20h
;RAM_ret         equ 21h
;RAM_ret_1       equ 22h
;Contador        equ 23h

; ORG 0x2100 ; Corresponde a la dirección 0 de la zona EEPROM de datos.
; DE 0x00 ; El contador en principio a cero.

;ZONA DE CÓDIGOS***************************************************************
    ORG     0     
                  ; El programa comienza en la dirección 0.
    goto    Inicio

Inicio
    bsf     STATUS,RP0                  ; Selecciona banco 1.
    call    0x3FF                    ; Lo el valor de la calibración que sera almacenada en W.
    movwf   OSCCAL                    ; Paso el valor de W a OSCCAL para calibrar el oscilador.
    movlw   b'00000100'
    movwf   TRISIO
    movlw   b'00001111'
    movwf   OPTION_REG              ; Activa Pull Up.
    movlw   b'0000100'
    movwf   WPU                     ; Activada Pull Up del GP0.
    bcf     STATUS,RP0                      ; Selecciona banco 0.
    movlw   b'00000111'             ; Desactivar comparadores.
    movwf   CMCON
movlw .3
    movwf Contador
clrf GPIO
;***************************************************************************

Principal
    btfsc   Pulsador                ; ¿Pulsador presionado?, ¿(Pulsador)=0?
    goto    Principal               ; No. Vuelve a leerlo.
;    call    Retardo_20ms            ; Espera que se estabilicen los niveles de tensión.
    btfsc   Pulsador                ; Comprueba si es un rebote.
    goto    Principal               ; Era un rebote y sale fuera.
    call    IncrementaVisualiza             ; Incrementa el contador y lo visualiza.
EsperaDejePulsar
    btfss    Pulsador                ; ¿Dejó de pulsar?. ¿(Pulsador)=1?
    goto    EsperaDejePulsar         ; No. Espera que deje de pulsar.
Fin    goto    Principal

;***************************************************************************   
; Subrutina "IncrementaVisualiza" ---------------------------------------------------------

IncrementaVisualiza
call Lee_Dato_EEPROM
incf Contador,F ; Incrementa el contador y comprueba si ha
call Escribe_Dato_EERPOM
movlw d'4' ; llegado a su valor máximo mediante una
subwf Contador,W ; resta. (W)=(Contador)-4.
btfsc STATUS,C ; ¿C=0?, ¿(W) negativo?, ¿(Contador)<4?
InicializaContador
clrf Contador ; No, era igual o mayor. Por tanto, resetea.
Visualiza
movf Contador,W
call Tabla ; Lo pasa a siete segmento para poder ser
movwf GPIO ; visualizado en el display.
return


Tabla
    addwf PCL,F                      ; Sumo W al contador de programa. ;
    retlw b'00000010'  ;1
    retlw b'00010001'  ;2         
    retlw b'00010010'  ;3               ; Retorno con el valor correspondiente. 
    retlw b'00100001'  ;4
;Subrutina EEPROM ******************************************************************

Lee_Dato_EEPROM
    bsf     STATUS,RP0              ; Banco 1
    movlw   0x00              ; Primera posición de la tabla
    movwf   EEADR                  ; Apunta ahí
;    movf    Contador,W       ; Coge el contador
;    addwf   EEADR                  ; Suma el contador para apuntar al dato que nos interesa
    bsf     EECON1,RD              ; Lee el valor de la tabla
    movf    EEDATA,W              ; Pasa el valor a W para trabajar con él.
bcf STATUS,RP0
    return



;Guarda en la EEPROM el valor del contador
Escribe_Dato_EERPOM
    bsf      STATUS,RP0             ; Banco 1.
    movlw    0x00                 ; Elijo esta dirección de la EEPROM y
    movwf    EEADR                  ; lo cargo en EEADR con el dato a escribir.
    movlw    Contador
    movwf    EEDAT                  ; Cargo el registro EEDAT con el dato a escribir.
    bsf      EECON1,WREN            ; Habilitar
    bcf     INTCON,GIE              ; Deshabilitar intercepciones.
    movlw     0x55                  ; Desbloquear escritura.
    movwf     EECON2
    movlw     0xAA
    movwf     EECON2
    bsf     EECON1,WR               ; Inicie la escritura.
    bsf     INTCON,GIE              ; Habilitar INTS.
bcf STATUS,RP0
    return
   
;Subrutina Retardo_20ms ************************************************************
; Retardo = 0.02 segundos.
; Frecuencia Reloj = 4 MHz.
; Retardo actual = 0.02 segundos = 20000 ciclos.

Retardo_20ms
            ;19993 ciclos.
    movlw    0x9E
    movwf    RAM_ret
    movlw    0x10
    movwf    RAM_ret_1
Retardo_20ms_0
    decfsz    RAM_ret, f
    goto    $+2
    decfsz    RAM_ret_1, f
    goto    Retardo_20ms_0
            ;3 ciclos.
    goto    $+1
    nop
            ;4 ciclos (incluyendo call).
    return

END


Salu2.
#297
Hola:





He visto este enlace y está caducado. A estas altura de la vida, a lo mejor hay mejores versiones o más actualizado.

http://www.emudesc.net/foros/anade-tus-manuales/7759-aprende-a-crackear-tutorial-crack-dia.html

Si alguien lo conoce y lo tiene. ¿Lo compraten?

Un saludo.

Edito:

Parece que hay algo aquí.
http://systeek.blogspot.com.es/2011/10/tema-2-sistemas-numericos-y-stack.html
#298
Hola:

Quiero hacer un mini ejemplo sobre Overloads y no me fucniona.

Código (vbnet) [Seleccionar]
Module Module1

   Sub Main()
       Dim Ejemplo1 As String = "AAAA"
       Dim Ejemplo2 As Integer = 123445

       testSub()
       testSub(Ejemplo1)
       testSub(Ejemplo2)
       testSub(Ejemplo1, Ejemplo2)

   End Sub

   Overloads Sub testSub()
       Debug.WriteLine("No pasa nada.")
   End Sub

   Overloads Sub testSub(ByVal i As String)
       Debug.WriteLine(i)
   End Sub

   Overloads Sub testSub(ByVal i As Integer)
       Debug.WriteLine(i.ToString)
   End Sub

   Overloads Sub testSub(ByVal i As String, ByVal j As Integer)
       Debug.WriteLine(i & " -- " & j.ToString)
   End Sub
End Module


Error    2    Uso no apropiado de la palabra clave 'Overloads' en un módulo.    C:\Users\Usuario\documents\visual studio 2010\Projects\Ejemplito\Ejemplito\Module1.vb    18    5    Ejemplito

A pesar de leer por aquí sobre Overloads, no me guío.

Salu2.
#299
Hola:



Viendo los capítulos del Cybergeddon, me ha gustado bastante para ser peli de hackers, más bien episodios, me he fijado hasta los códigos de lso programas que muestran, aunque a día de hoy, si sabes programación, esos sistemas operativos no se usan, más bien ningún mortal los conoces. Los códigos sin saber que lenguaje usan, he puesto pausa y e visto que tienen hasta IF, For, While...

En cuanto a la acción e investigación de los policías está muy bien hecha y en castellano.

La pregunta del millón.

¿Tienen intención de hacer una buena película hackers con fundamento?

Ver capítulos.

Un cordial saludo.

PD: Disculpen si este tema no va aquí.
#300
.NET (C#, VB.NET, ASP) / Cambiar fuente de letras
24 Septiembre 2012, 08:39 AM
#301
Software / Tener disco de arranque en CD
8 Septiembre 2012, 19:41 PM
Hola:

Tengo un portatil viejo. La diskettera funciona, solo tengo uno y el XP me pide 4 para instalar el disco de inicio. Lo quiero para actualizar la BIOS.

¿Hay una manera de hacerlo con un CD-ROM?

La BIOS se descaga desde aquí.

http://support.acer-euro.com/drivers/notebook/as_1700.html

Saludo.
#302
Hola:


He comprado una palca base ASRock G41C-CS.

Luego me dio por cambiar de DDR2 a DDR3, no pueden estar las dos juntas. La marca de la RAM es ADATA, 4GB a 1333Mhz por 22€. Ahora vi otro módulo por 19€ KingSton 4GB a 1333 MHz, las características parece la misma.

¿Hay algún problema en usar la marca ADATA y KINGSTOM en la misma placa base?


Bajo mi punto de vista me da que no, por si acaso pregunto si alguien se ha llevado el chasco y da problemas de algún tipo aunque sea pequeño y poco molesto.

Un cordial saludo.
#303
Hola:



Me regalaron un portatil viejo que no se si funciona hasta conseguir un cargador de baterías. El modelo es un Acer Aspire 1700. Concretamente el 1705SCi. Por debajo del portatil pone DC RATING: 19V, 7.9A. (España).

El conector tiene 4 contactos. Por eso quiero saber como alimentarlo y sin l abatería del portatil. Al menos los portatiles de ahora, puedes tenerlo encendido sin batería con el cargador enchufado.

El conector parece ser este.


Compatibilidad:
Acer Aspire 1700
Acer Aspire 1702
Acer Aspire 1702SC
Acer Aspire 1703
Acer Aspire 1703ESC
Acer Aspire 1703ESM
Acer Aspire 1703S
Acer Aspire 1703SC
Acer Aspire 1703SCMe
Acer Aspire 1705
Acer Aspire 1705SCi (El que tengo)
Acer Aspire 1705SMi

http://www.bateriasdigitales.com/cargador-portatil-acer/381-ac-19v-10090.html

Lo más barato que he visto son de 28€ y el más caro a 99€. Una diferencia de precio abismal. Quiero hacer una cosa, alimentar el portatil sea como sea, aunque sea con una fuente conmutada de un PC de sobre mesa. El origianl parace ser de 150W, el de sobre mesa es mucho más, es decir, que te lo aguanta. 

Quiero saber el conector hembra del portatil, para saber que tipo es cada pin ya que viene 4 y no se de que tensión es exactamente.


El conector hembra del portatil es así.


Cualquier información es bienvenido.

Un cordial saludo.
#304
Programación General / Capturar datos de la RAM
3 Septiembre 2012, 04:26 AM
Hola:

Se que hay programas que puedes leer los datos que tienes en la memoria RAM de un PC, puedes ver procesos activos como la calculadora de Windows. Al ejecutar una operación de la calculadora de Windows 7, podemos hacer esta operación:



7 + 5 = 12

En alguna parte de la RAM del PC, puede manejar el 7 + 5 = 12, es decir, modificar el 7 por otro número como poner el 6 y el resultado ya es 11. También simplemente leo lo que hay en la RAM, lo que sea y lo guardo en el disco duro o SSD llamado .DAT por poner un ejemplo.

¿Es posible hacer esto?

Un saludo.
#305
Electrónica / Usar móviles sin tarjeta SIM
30 Agosto 2012, 22:54 PM
Hola:

Cuadno dejo de usar un movil porque ya es viejo y me compro el nuevo, quiero hacer experiemto con él. Los Nokia que tengo no hace falta tener la tarjeta SIM insertada para usar el movil, incluso para sacar foto con ella.

Tengo un SamSung modelo SGH-L760V.

Este modelo no me deja hacer nada si no tiene una SIM insertada.

¿Existe alguna manera de saltar esta opción aunque sea usando un microcontrolador para emular una SIM?

Un cordial saludo.
#306
Hardware / Creo que falla la placa base.
25 Agosto 2012, 15:21 PM
Hola:

Tengo un PC que se me apagó de la nada, al encenderlo de nuevo aparece la pantalla en negro. Oigo el disco duro, no muestra códigos POST, pantalla negra, el ventilador del microprocesador gira. ¿Qué puede ser el fallo?

He cambiado la fuente conmutada nueva, hace lo mismo. Funciona, enciende el PC y lo apaga, pero se ve todo negro.

Me falta probar otra tarjeta gráfica para seguir descartando fallos.

Sospecho que es la placa base. Un Pentium IV de un amigo vi verca del microprocesador FET quemados y no arranca. En mi caso no lo tiene y arranca el PC.

No encuentro nada quemado, he mirado a ojo por ojo y con luz. No tiene condensadores reventados o inflados.



Características:
- Microprocesador: Q6600 2.800 MHz (Quad Core).
- 6 GB de RAM.
- 1 TB de disco duro.
- Placa base GIGABYTE GA-P35-DS3L Rev: 2.0.

Aquí hay un manual por si acaso.

En la pantalla aparece a veces el mensaje directo del monitor que pone:

Modo de ahorro de energía.

No hay manera de salir de ahí. Quiero al menos que se quite ese modo, por eso creo que era la fuente y comprobñe con varias diferentes y ocurre lo mismo.

¿Alguna sugerencia?

Un saludo.
#307
Hacking Wireless / Quitarme un pesado encima
5 Agosto 2012, 01:50 AM
Hola:

Algún vecino me entra en mi red aunque ponga la mejor seguridad en el router y formate Windows o Linux. Puse como nombre ¿Hola? y parece que se ofende, ajjajaja.

No me entra en el PC, pero puede enviarme mensajes que me sale al centro de la pantalla y no puedo responder, solo pone el botón Aceptar y se cierra la ventana.

¿Hay alguna manera de entrar su PC cuando entra en mi router para conectarse a internet?

De ahí quiero aprovecharme mientras se me aprovecha. Darle un sustillo com dejar un mensaje de texto en el escritorio saludándolo. A pesar de ser amistoso, puede asustarle más que los insultos (innecesarios).

Un saludo.
#308
Seguridad / Recuperar datos del disco duro
31 Julio 2012, 21:15 PM
Hola:

Me ha lelgado el virus de la policía mientras buscaba serial y crack.

Como no hice caso al chantaje de pagar 50€, ya no me arranca Windows. Puse un Linux de arranque y me dice que el disco duro no tiene formato. Por lo que no puedo recuperar los 8 GB que tengo de fotos y vídeos.

¿He perdido los archivos para siempre o se puede recuperar de alguna forma?

Necesito ayuda.

Un saludo.
#309
Hola:

Una amiga me llamó por teléfono y me contó que alguien le ha entrado. Llamó a la Guardia Civil (informatico). Le respondieron que limpie todo donde te quedas un buen rato, o formatees todo. Luego me llamó a mí. Le resppondí lo mismo, a formatear.

Ya lo de las copias de seguridad no hace falta, el portatil es nuevo y apenas tiene nada. Le han borrado fotos, le han cambiado carpetas a otro sitio, le han sacado fotos con la webcam. Ahí se dio cuenta porque sacaba flash unas 5 veces, y menos mal que tenia tapado con algo, hasta que se le cayó y sabe que al final le sacaron algunas.

Con esto quiero saber si hay algún registro para saber la IP o alguna evidencia de donde es su origen del intruso. China, Japón, o donde sea, capaz que puede ser hasta español, chiquillos de 14 años metiendose donde no le llaman, ajjajajjajaja.

Espero que esta vez de formatear, ponerle antivirus, que si cortafuegos, etc, espero que no navegue como administrador del sistema, sino con una cuenta limitada y muchos no hacen caso, de esa manera, evitará tener el control total de la cuenta.

Un cordial saludo.
#310
Desarrollo Web / Enviar un dato a MySQL
11 Abril 2012, 23:14 PM
Hola:

Teniendo un html desde cero. Dentro de él hay un botón normal. Ese botón tiene un dato que debe ser enviado a una base de datos MySQL.

Una base de datos se llama prueba_db, una tabla que se llama, prueba_t. En ella hay sólo un campo llamado datos que es un entero INT.

Al pulsar ese botón que se almacene un número que puede ser este: 258.
Hay otro botón, al pulsarlo que se almacene en el mismo campo 000.

No tengo idea sobre ello.

¿Cómo se hace?

Un saludo.
#311
La Unión Europea está desarrollando una nueva normativa para lidiar con la ciberdelincuencia. Entre los puntos que están teniendo en cuenta se encuentra tipificado como delito la 'posesión y uso de herramientas de hacking'. Tal y como está redactado el proyecto de ley trataría como criminales a investigadores, analistas, o administradores TIC que usan este tipo de herramientas sin malas intenciones.

Como sabes, la Comisión de Justicia e Interior de la Unión Europea aprobó la semana pasada el proyecto de Ley de una nueva directiva que pondrá al día la legislación actual contra la ciberdelincuencia, hoy desfasada por el rápido avance tecnológico.

Motivada principalmente por los grandes ciberataques en Estonia o Lituania en 2008, la nueva normativa aumenta considerablemente las penas y medios para combatir los ataques cibernéticos a gran escala contra sistemas de información, los creadores de redes de bots, los ataques de denegación de servicio DDoS o el robo de identidad, entre otros.

También la posesión y uso de herramientas de hacking, lo que en medio de una redacción general ha causado polémica y crítica, ya que este tipo de aplicaciones software son ampliamente utilizadas por investigadores de seguridad legítimos, analistas, administradores TI, hackers en busca de vulnerabilidades sin intenciones criminales o simples usuarios aficionados a la seguridad y programación.

Aún queda tiempo para que el comité envíe al Parlamento Europeo el texto por lo que se espera una revisión al menos en este punto. De lo contrario, escáneres de puertos y vulnerabilidades, análisis forense, archivos de exploits, test de penetración, sniffer y otras herramientas, quedarán fuera de la Ley, incluso para usos imprescindibles de los profesionales de la seguridad y de usuarios avanzados cuyas prácticas han mostrado sus beneficios comunitarios en múltiples ocasiones

Fuente:
http://www.muycomputer.com/2012/04/08/tener-o-utilizar-programas-de-hackingsera-delito-en-europa
#312
Hola:



Llevo tiempo con el tema de ser capaz de crear un progrma con Visual Studio .net como el ic-prog y winpic800 para lograr grabar un hex a un PIC16F84A, 16F88 o el que sea.

He encontrado mucha documentación, aún así, dan pistas pero no tutoriales. Les agradezco si encuentran alguna información plasmarla por estos foros. Los que he encontrado por ahora son estos. Es un proyecto como curiosidad y para aprender que tengo pendiente.

Cuanta más documentación sobre programación, hardware o lo que sea, para hacer el proyecto, luego haré un buen manual de los buenos sobre lo que he aprendido y serán capaces de hacerlos pos ustedes mismos si les interesan.

Enalces que he encontrado por el momento. Se que me faltan algunos y en español personas que han realizado, programar para grabar PIC16F84A, etc y no encuentro ahora.
Grabación de microcontroladores PIC
Hoja de datos: PIC16F87 y PIC16F88
Protocolo documentación ICSP
Guía ICSP (Inglés)
UTILIZACIÓN DE LA PROGRAMACIÓN SERIAL IN-CIRCUIT (ICSP)
Serial PG1A (Inglés)

Un cordial saludo.
#313
Java / Manjear archivo.txt con Java
26 Marzo 2012, 23:54 PM
Hola:

Estoy con el netbeans usando Java.
Intento crear un menú sencillo, al menos lo intento.
Quiero lograr hacer cosas con un archivo.txt, crearlo y almacenar datos en él, también borrar datos, cosas así pero con Java.

La chapuza que he hecho hasta ahora es esta.
Código (java) [Seleccionar]
package ficheros;
import java.io.*;
import java.util.*;
import java.text.*;
import java.lang.RuntimeException;

public class Main {

   
        public FileWriter writer;
        public BufferedWriter buffer;
        public PrintWriter output;
        public int numero = 0;
       
    public static void main(String[] args) {
       
      File archivo = null;
      FileReader fr = null;
      BufferedReader br = null;

        while(true)
        {
        Scanner teclado=new Scanner(System.in); // Creamos el objeto teclado.
       
       
        System.out.printf("1. Mostrar la lista de contactos.\n");
        System.out.printf("2. Crear un nuevo contacto.\n");
        System.out.printf("3. Borrar contacto.\n");
        System.out.printf("4. Modificar contacto.\n");
        System.out.println("Introduce número: ");
        int n = teclado.nextInt();
       
            switch(n) {
               
            case 1:
                System.out.printf("Mostrar la lista de contactos.");
                public Abrir();
     
                break;
               
            case 2:
                System.out.printf("Crear un nuevo contacto.");
               
                break;
            case 3:
                System.out.printf("Borrar contacto.");
                break;
            case 4:
                System.out.printf("Modificar contacto.");
                break;
            case 5:
                System.out.printf("Salir del programa.");
               
                break;
            default:
                System.out.printf("Selecciona las opciones del 1 al 5.");
                break;
            }
   
              }
       
     public void abrir (case1,case2)
        throws IOException
        {
        try {
            writer = new FileWriter( "clientes.txt" );
            buffer = new BufferedWriter(writer);
            output = new PrintWriter(writer);

        } catch (SecurityException securityException) {
            System.err.println("No tiene permiso para escribir en el fichero.");
            throw securityException;

        } catch (FileNotFoundException fileException) {
        System.err.println("Error al crear el fichero.");
        throw fileException;
        }
        }

    // Cierre del fichero de texto.
    public void cerrar()
        throws IOException
        {
            if ( output != null ) // Si output es distinto a null (nulo).
            output.close(); // Cierra.
        }

     // Escribir los datos de un contacto en el fichero.
    public void escribir (Contacto contacto)
        {
            if (contacto!=null) {
            output.println(contacto.getNombre());
            output.println(contacto.getTelefono());
            }
        }

}


No continuo porqu eme da errore spor todas partes y eso que está incompleto.
#314
Hola:

En cualquier consola, sea PS1, PS2 y PS3 o demás marcas, por ejemplo el disco de un juego tiene un código dentro de un archivo de arranque. PlayStation lo conoce y arranca. Lo que quiero saber para poder hacer es...

Si hay alguna forma que el lector o integrado sepa qué título ha cargado el juego desde que lo insertas. Por ejemplo. Introduzco un juego en la PS1, o un juego de PS1 en cualquier consola, aunque sea PS2 o PS3. Lee un archivo que PS reconoce, lo que no se cuales son.

Estoy probadno con un juego viejo de PSOne llamado "Mortal Kombat Trilogy" en un PC para ver los archivos que tiene.



Escogí un archivo llamado SYSTEM y en su interior tiene estos datos.
CitarBOOT = cdrom:\SLES_005.28;1
TCB = 4
EVENT = 10
STACK = 801ffffc


La idea es recoger un archivo adecuado, y con un microcontrolador detectar el contido que leer el lector y saber qué título se ha introducido. En el LCD muestrael nombre del título del juego.

Por poner un ejemplo, no creo que sea este archivo pero bueno, es un ejemplo. El lector de la PSOne leer el archivo llamado SYSTEM, claro que no te pone el nombre del juego pero sí su código. El PIC deberá estar grabado el código a buscar, por ejemplo, donde poner STACT = 801ffffc es el único código mundial en su título. Con el PIC traduzco que 801ffffc es igual "Mortal Kombat Trilogy". El PIC lee 801ffffc y en el LCD aparece el título del juego. Se que esto no es tan así como digo, quiero saber si alguien sabe algo y si se puede hacer.

La funcionalidad final como curiosidad es saber qué título es y aparezca en el LCD.
Se puede programar el PIC para que detecte juegos para bloquearlos, así un niño pequeño no podrá jugar a ciertos títulos.
Cosas así...

Cualquier idea, información sobre el contenido de los discos es bienvenido.  :-)

Un cordial saludo.
#315
Hola:

Como curiosidad os dejo un documental sobre los aparatos de hoy en día. Fabricados para no durar.

¿Qué hacer? ¿Comprar uno nuevo? ¿Llamar a un técnico? ¿Repararlo uno mismo?
[youtube=425,350]
http://www.youtube.com/watch?v=UkqdcBww1SU[/youtube]

Un cordial saludo.