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

#316
Electrónica / Señales de vídeos
19 Febrero 2012, 13:44 PM
Hola:

Viendo el Tetris con PIC16F84A por todas partes, aquí y allá.

Con este trozo de código que encontré hace tiempo y lo tengo conservado para aprender hacer cosas en TV con señales de vídeos tanto PAL donde vivo, y NTSC que también se configura ahora en las TV €uropeas.

¿Alguien que tenga la TV NTSC estandar se su país, tiene la posibilidad de usar la configuración PAL como los €uropeos al NTSC? Esi si, la versión PAL la imagen se ve más nítida, sobre todo en los videojuegos PlayStation, etc... se nota mucho.

; Prueba de sincronización horizontal
; Este código crea líneas verticales
; en el centro se despliega una línea blanca, a las orillas
; dos líneas grises y todo lo demás aparece en negro.
; Se debe utilizar un cristal de 12MHz
; A RB0 se conecta una resistencia de 1K ohm
; A RB1 se conecta una resistencia de 470 ohm
; ---|
;    |
; RB0|-/\/\/\--|
;    |         |
; RB1|-/\/\/\--|---* Salida de video
;    |
; -- |

    list    p=16f88
    include    p16f88.inc
    radix    hex
    __config    _CONFIG1,_CP_OFF&_DEBUG_OFF&_WRT_PROTECT_OFF&_CPD_OFF&_LVP_OFF&_BODEN_OFF&_MCLR_OFF&_PWRTE_OFF&_WDT_OFF&_HS_OSC
   
    cblock    0x20
    delaycnt
    hrzcnt
    stuff
    counter1
    counter2
    endc

COLOR_SYNC    EQU    0x00
COLOR_BLACK    EQU    0x01
COLOR_GRAY    EQU 0X02
COLOR_WHITE    EQU    0X03

VIDEO_PORT    EQU    PORTB


DELAY    MACRO
        LOCAL    LABEL
        movwf    delaycnt
LABEL    decfsz    delaycnt,f
        goto LABEL
        ENDM

dnop    MACRO
        LOCAL    label
label    goto    label+1
        ENDM

    org        0x00
    goto    INICIO

    org        0x05
INICIO
    bsf        STATUS,RP0    ; Cambio al banco 1
    clrf    ANSEL        ; Todos los pines digitales
    clrf    TRISB        ; Puerto B como salida
    bcf        STATUS,RP0    ; Regreso al banco 0
    clrf    VIDEO_PORT    ; Se limpia el puerto B

    clrf    TMR2
    clrf    T2CON
    bsf        STATUS,RP0
    movlw    0xFF
    movwf    PR2
    bcf        STATUS,RP0

HORIZONTAL
    bsf        T2CON,TMR2ON
    movlw    COLOR_BLACK
    ; Front Porch
    movwf    VIDEO_PORT
    movlw    .1
    DELAY
    DNOP
    movlw    COLOR_SYNC
    ; 5us de sincronización
    movwf    VIDEO_PORT
    movlw    .4
    DELAY
    movlw    COLOR_BLACK
    ; Back Porch por 5us
    movwf    VIDEO_PORT
    movlw    .4
    DELAY
    ; 52us de video
    movlw    COLOR_GRAY
    ; 4us de gris
    movwf    VIDEO_PORT
    movlw    .3
    DELAY
    movlw    COLOR_BLACK
    ; 20us de negro
    movwf    VIDEO_PORT
    movlw    .19
    DELAY
    movlw    COLOR_WHITE
    ; 4us de blanco
    movwf    VIDEO_PORT
    movlw    .3
    DELAY
    movlw    COLOR_BLACK
    ; 20us de negro
    movwf    VIDEO_PORT
    movlw    .19
    DELAY
    movlw    COLOR_GRAY
    ;4us de gris
    movwf    VIDEO_PORT
    movlw    .3
    DELAY   
    goto    HORIZONTAL

    end



Estoy pendiente de que me llegue por correos una DemoBoard y hacer cosas de estas con ella. En este caso da igual que PIC hacerlos, ya que me vienen estos:
1 x PIC12F508 de la gama baja y 8 patillas
1 x PIC16F88 de la gama media y 18 patillas
1 x PIC16F886 de la gama media y 28 patillas (viene de serie con USB-PIC'SCHOOL, insertado en su zócalo)
1 x PIC16F887 de la gama media y 40 patillas
1 x PIC18F2550 de la gama alta y 28 patillas
1 x PIC18F4550 de la gama alta y 40 patillas
También tengo el PIC16F84A-04 que no debe faltar. Así tengo para rato.

Con esto quiero entender como se hace señales de TV y sonidos tipo beep como los PC al iniciar.
Poco a poco entenderé el código. Los que sepan o hayan hechos proyectos sobre señales de TV, es buena idea poner enlaces por aquí.

Para hacer pruebas primero haré un montaje completo como indica aquí sobre el tetris. Luego hexaminar con menos códigos el de arriba para no volverse loco. Documentaciones mucha, explicar abiertamente como se crea dibujitos es un poco lioso.



La idea principal de todo es ser capaz de mostrar mensajes en pantalla y ver qué salidas y entradas visualizadas en un Televisor por un PIC.

Un cordial saludo.
#317
Hola:

Llevo años queriendo comprar una DemoBoard a más de 200 €urazos con ejemplos incluidos aunque sea en inglés sobre PIC. Las demoBoard que busco son para PIC12F, 16F y 18F, todos de 8 bits.

Por ahora me llama la atención algunos para PIC:

EasyPIC v7:


Fuente:
http://www.mikroe.com/eng/products/view/757/easypic-v7-development-system/

USB-PIC'School De Luxe:


Fuente:
http://www.msebilbao.com/tienda/product_info.php?cPath=23_87&products_id=586

Algunos tienens Review por aquí:
http://www.limoncellodigital.com/2010/02/laboratorio-usb-picschool-para-pics.html
http://www.redeweb.com/_txt/663/58.pdf

Quiero saber sus opiniones, sugerencias, consejos, etc. Aunque parezca mentira, una Demoboard ahorra muchísimo tiempo, y sobre todo el USB'PICSchool te viene muchos ejemplos del 16F886 y 18F tanto en ASM como en C.

Un saludo.
#318
Hola:

En los locales por ahí he visto dos SAI que parece que me irá bien. Quiero saber si lo conocen estas dos marcas o modelos sus experiecias ahasta en los soporte técnicos, cuanto dura realmente o cualquier otra sugerencia.

1300VA LCD Management UPS 600W (1.50€).

http://www.appinformatica.com/sais-sweex-sai-1500va-900w-6p-salida.php 900W (1.37€).

Otra marca más.


http://www.mercadoactual.es/mactual/SAIS_SAI_1400_VA_SALICRU_SPS1400SOHO-_1400_SPS1400SOHO_335291_mactual.html (840W).

Se que APC y otras más son muy buenas, pero no las he visto.
#319
Bases de Datos / Saber hacer filtro.
7 Diciembre 2011, 19:10 PM
Hola:

Uso el MySQL 5.5.18 y el Workbench 5.2.36 en un Windows 7 - 64 bits.

Usando la famosa base de datos de ejemplo SAKILA.

http://mysql-tools.com/en/downloads/...databases.html

Con el WorkBench quiero aprender como se hace una consulta. Por ejemplo: Quiero saber la cantidad de películas que hay en la categoría DRAMA que es el 7.
¿Cómo lo hago?

Un cordial saludo.
#320
Programación C/C++ / Entrar con contraseña
11 Septiembre 2011, 22:34 PM
Hola:

Quiero tener una idea de C, ya que vengo del Java y no es tan fácil el cambio como creía.

Una prueba muy sencilla con Win32 de Visual C++ 2010 Express.

En el programa principal de C, que me pregunte una contraseña.
Tengo tres intento.
Si acierto, me que muestre un mensaje en pantalla y diga: Contraseña incorrecta.
Si fallo, la primera muestre en pantalla: Contraseña incorrecta.
Como son tres intentos, al acabar el tercer intento, muestre un mensaje: Te haz equivocado 3 veces. Vuelva a intentarlo dentro de 15 minutos.

¿Algún ejemplo?

Un cordial saludo.
#321
Programación C/C++ / Poner título en C
11 Septiembre 2011, 10:15 AM
Hola:



Quiero poner un título por encima de la consola.

Lo he intentado con  Console::Title = "Mensaje desde la parte de la esquina en la ventana de comandos"; pero no me sale.

Si em funciona si pongo Aplicación de consola CLR, en mi caso uso el Win32.

Como se ve en la imagen, quiero poner un nombre, en este caso se ve la dirección del ejecutable.

Un saludo.
#322


El lenguaje de programación es definido como un idioma artificial, formado por símbolos y reglas sintácticas y semánticas, para expresar computaciones y que pueden usarse para crear programas que controlen el comportamiento de una máquina, expresar algoritmos con precisión, o como modo de comunicación humana.

Leer más.
#323
Hola:

Quiero hacer una cosa en programación como curiosidad. Puede que se maneje menor con GDI+. Se trata de hacer la misma acción con dibujos vectoriales a GDI+ o otra tecnología como muestra el vídeo a parit del 5 segundos.

Ver vídeo
[youtube=425,350]http://www.youtube.com/watch?v=M_5GddFrzjI[/youtube]

Por lo que veo, hay que seguir una velocidad constante en el círculo con el punto que da vueltas. Las otras bolas o puntos, simplemente siguen con su variable X e Y las coordenadas del punto circulante.

¿Complicado?

Para mi lo es. Ni se como empezar.

Usando un Form1, luego a diburjar un círculo que luego pongo aquí, lo que no se es como hacer girar el punto del círculo, me imagino con un timer por medio.

Un saludo.
#324
Redes / Hacer algo con dos router
12 Agosto 2011, 23:33 PM
Hola:

Tengo un router principal. ME regalaron dos router Xavi Wireless 7968 para experimentar. Lo he reiniciado a 0 para empezar desde cero. Me refiero la configuración.
El primer ruoter no lo puedo tocar ya que lo mantiene mi hermano. Lo que he hecho es conectar el cable al router Xavi 7968 en uno de los puertos RJ45 y otro cable al PC, al principio detecte Internet unos segundos, luego no lo detrecta.

Antes que nada. ¿Existe la manera de conectar tres router uno detrás del otro?

Quiero hacer experiemtos de todo tipo para aprender.

Saludo.
#325
Hola:

Tengo una cámara IP Wifi de Telefónica Fonytel , modelo: Cámara IP WIFI Estandar v.12C .

Encender me enciende, lo que no tengo el software necesario para descargarlo y probar si la cámara me funciona. Se puede conectar mediante Wifi o red.

Espero ayuda si es posible.

Un cordial saludo y gracias por su tiempo.
#326
Electrónica / Diseño boceto de un circuito
19 Julio 2011, 00:02 AM
Hola:

Quiero comprar un cargador barato de batería. Estos cargadores te avisan con un Led que están cargado pero no deja de cargar y cargar hasta que lo quites, si lo dejas mucho tiempo se sobrecargan.



Quiero diseñar un circuito que sea capaz de detectar cuando el led está activo, es decir, batería llena, y por medio de un relé, desactive la entrada del cargador para protegerlo.

El boceto medi cuenta que no está bien organizado y tiene fallos, loharé mejor.

Por otro lado, quiero hacer una cosa, al detectar que la luz de entrada al cargador no hay luz de red 230 VAC, uno de los relés conmute la energía de la batería cargada y enciende los LEd blancos, unos 5.

¿Es muy complejo de entender?

Con el tiempo acabaré haciendo esto, claro que no tengo mucho tiempo porque estoy trabajando. Aún así quiero vuestras ideas para hacerlo. Cuando tengamos un boceto de lo que queremos hacer, lo pasaré con el proteus 7.8 SP2.

Una cosa más, pondré una LDR, si es de día, no se encienda los Led aunque tenga luz de 230VAC.

El circuito puede tener o no un PIC que controle y simplifique la cosa, ya me encargaré de la programación si lo llegamos a usar.

¿Te animas?

Saludo-
#327
Hola:

¿Con una fuente alimentación de 0 a 24V regulable a 12V me vale para cargar una batería de 12V 7Ah?
Mi fuente trabaja con un LM723, es estabilizada, regulable y cortocircuitable en corriente limitada.



Es para no comprar un cargador de ese tipo de baterías.

Saludo.
#328
Electrónica / Nuevo libro sobre PIC16F88x
10 Julio 2011, 13:24 PM
Hola:

Me he topado con ete libro y no se si vale la pena al menos leerlo.



Tamaño: 17 x 24
Páginas: 428
Encuadernación: Rústica
Desde sus orígenes esta obra ha sido concebida por el autor como una herramienta teórico-práctica para el estudio de los modernos microcontroladores actuales, y el uso de sus múltiples recursos internos para el desarrollo de todo tipo de aplicaciones y proyectos. La obra se centra en los microcontroladores PIC en general y en la familia PIC16F88X en particular.
En cada tema se hace una explicación teórica de los diferentes recursos que integran estos dispositivos, seguida de una propuesta práctica con numerosos ejemplos de carácter didáctico y de aplicación. Dada la experiencia docente del autor, así como las sugerencias recibidas por parte de otros profesionales de la enseñanza, se ha procurado que tanto los temas teóricos como los ejemplos, estén organizados en orden progresivo de complejidad. Basta con leer los cuatro primeros temas, para adquirir los conocimientos teóricos/prácticos esenciales sobre los controladores PIC. El resto de temas nos permiten profundizar en los múltiples recursos que integran. Tenemos así una obra orientada a profesores y estudiantes de grado medio, grado superior y universitario. También a cualquier persona, sea profesional o aficionada, que disponga de conocimientos básicos de electrónica digital y esté interesado en este fascinante mundo de los microcontroladores que, hoy en día, los tenemos presentes en todos los ámbitos: doméstico, industrial, médico, ocio y un largo etcétera. Como no podía ser menos, la obra va acompañada de un material complementario. En él se incluyen los anexos a la obra, así como todos los programas fuente de los ejemplos propuestos. Se presentan escritos tanto en lenguaje ensamblador como en lenguaje C de alto nivel. Todos ellos se desarrollan y ejecutan sobre el laboratorio USB-PIC'School.También incluye abundante información técnica de todos los dispositivos y componentes utilizados en esas prácticas, así como una versión libre del software FlowCode para la programación gráfica de microcontroladores. Se puede descargar íntegramente desde la página web de la editorial: ¡Más de 100 ejemplos y librerías a tu disposición!


Ver índice,
http://www.creacionescopyright.com/documentoscc/978-84-92779-98-7.pdf


Hay otros enlaces que no puedo descargar aunque esté registrado donde pone

Material complementario.

Saludo.
#329
Electrónica / Saber de UPS-SAI
23 Junio 2011, 18:35 PM
Hola:

Quiero comprar un SAI o UPS (No se cual es la palabra indicada). Uso un PC de sobremesa, un monitor, una impresora grande.

¿Qué marca es recomendable comprar un SAI o UPS?

Me han contado que se puede hacer tu propia UPS sencilla con microcontroladores y baterías, pero esto ya es otro cantar.

Un cordial saludo.
#330
Electrónica / Detectar I2C con tu hardware
14 Mayo 2011, 13:17 PM
Hola:

Quiero hacer un hardware o simplemente saber que hardware está en venta para comprarlo. No conozco ninguno.

Hay aparatos que usan el I2C, quiero detectar los datos que pasan por ahí con un hardware como dije antes. Me imagino que estará conectado a un ordenador o PC para leer los datos después.

¿Alguna sugerencia?

Un cordial saludo.
#332
Electrónica / Descifrar el hex de un PIC
12 Mayo 2011, 00:33 AM
Hola:

Quiero descifrar el .hex de este PIC12F629.
:020000040000FA
:020000004F2887
:08000800A4030B1109000230F2
:1000100010280730102850301028A0301028103039
:10002000A40007301828023016280430A40000303D
:100030008316810083128B172408031D1C288B1341
:100040000800A200A401A30D3120A30D3420A30DAC
:100050003420A20D3420A40AA41D29284120A30184
:100060001528031C45284628031C3D28412805184F
:1000700037280800051C3A280800372085103A2048
:100080000800372085143A200800851005184628F6
:100090000800851A49280800851E4C280800831688
:1000A000FF2390008312073099008316FD308500EE
:1000B00001308100FF30950083128B16A301851457
:1000C0000F2078200F2068280B200B200B200B20FE
:1000D0007C2009207620851A6B28851E6D287C20BF
:1000E00009207A206428A30185140800AF30212854
:0C00F00084302128043021289030212881
:10060000580062006F007800200033003600300090
:10061000200043004D00440020005200460020000E
:1006200063006F006E00740072006F006C006C005D
:100630006500720020005600650072002E00300038
:100640002E00310000005400680061006E006B0055
:10065000730020007700770077002E00650075009A
:10066000720061007300690061002E006E00750069
:1006700020002D0020007700770077002E00780002
:1006800062006F0078002D007300630065006E004B
:1006900065002E0063006F006D0020002D0020001B
:1006A0007700770077002E0065006C006F00740003
:1006B00072006F006C00610064006F002E006E001D
:1006C000650074000000530070006500630069005D
:1006D00061006C002000520065006700610072003C
:1006E0006400730020005300740065006600610020
:1006F0006E006900610020002600200054006100A7
:1007000074006F006E006500000042007900200058
:1007100047006F0064007A004900760061006E00B7
:020720000000D7
:02400E00D431AB
:00000001FF
Todo esto es para saber si lo puedo adaptar al PIC12F508, en caso que no quepa, pues en PIC12F509 que tiene le doble de memoria.

Importé el hex al MPLAB v8.66 y me salió el txt.

[code]
Line  Address  Opcode Label                Disassembly             

    14   00D     30A0         MOVLW 0xa0                           
    15   00E     2810         GOTO 0x10                             
    16   00F     3010         MOVLW 0x10                           
    17   010     00A4         MOVWF 0x24                           
    18   011     3007         MOVLW 0x7                             
    19   012     2818         GOTO 0x18                             
    20   013     3002         MOVLW 0x2                             
    21   014     2816         GOTO 0x16                             
    22   015     3004         MOVLW 0x4                             
    23   016     00A4         MOVWF 0x24                           
    24   017     3000         MOVLW 0                               
    25   018     1683         BSF STATUS, 0x5                       
    26   019     0081         MOVWF TMR0                           
    27   01A     1283         BCF STATUS, 0x5                       
    28   01B     178B         BSF INTCON, 0x7                       
    29   01C     0824         MOVF 0x24, W                         
    30   01D     1D03         BTFSS STATUS, 0x2                     
    31   01E     281C         GOTO 0x1c                             
    32   01F     138B         BCF INTCON, 0x7                       
    33   020     0008         RETURN                               
    34   021     00A2         MOVWF 0x22                           
    35   022     01A4         CLRF 0x24                             
    36   023     0DA3         RLF 0x23, F                           
    37   024     2031         CALL 0x31                             
    38   025     0DA3         RLF 0x23, F                           
    39   026     2034         CALL 0x34                             
    40   027     0DA3         RLF 0x23, F                           
    41   028     2034         CALL 0x34                             
    42   029     0DA2         RLF 0x22, F                           
    43   02A     2034         CALL 0x34                             
    44   02B     0AA4         INCF 0x24, F                         
    45   02C     1DA4         BTFSS 0x24, 0x3                       
    46   02D     2829         GOTO 0x29                             
    47   02E     2041         CALL 0x41                             
    48   02F     01A3         CLRF 0x23                             
    49   030     2815         GOTO 0x15                             
    50   031     1C03         BTFSS STATUS, 0                       
    51   032     2845         GOTO 0x45                             
    52   033     2846         GOTO 0x46                             
    53   034     1C03         BTFSS STATUS, 0                       
    54   035     283D         GOTO 0x3d                             
    55   036     2841         GOTO 0x41                             
    56   037     1805         BTFSC GPIO, 0                         
    57   038     2837         GOTO 0x37                             
    58   039     0008         RETURN                               
    59   03A     1C05         BTFSS GPIO, 0                         
    60   03B     283A         GOTO 0x3a                             
    61   03C     0008         RETURN                               
    62   03D     2037         CALL 0x37                             
    63   03E     1085         BCF GPIO, 0x1                         
    64   03F     203A         CALL 0x3a                             
    65   040     0008         RETURN                               
    66   041     2037         CALL 0x37                             
    67   042     1485         BSF GPIO, 0x1                         
    68   043     203A         CALL 0x3a                             
    69   044     0008         RETURN                               
    70   045     1085         BCF GPIO, 0x1                         
    71   046     1805         BTFSC GPIO, 0                         
    72   047     2846         GOTO 0x46                             
    73   048     0008         RETURN                               
    74   049     1A85         BTFSC GPIO, 0x5                       
    75   04A     2849         GOTO 0x49                             
    76   04B     0008         RETURN                               
    77   04C     1E85         BTFSS GPIO, 0x5                       
    78   04D     284C         GOTO 0x4c                             
    79   04E     0008         RETURN                               
    80   04F     1683         BSF STATUS, 0x5                       
    81   050     23FF         CALL 0x3ff                           
    82   051     0090         MOVWF T1CON                           
    83   052     1283         BCF STATUS, 0x5                       
    84   053     3007         MOVLW 0x7                             
    85   054     0099         MOVWF CMCON                           
    86   055     1683         BSF STATUS, 0x5                       
    87   056     30FD         MOVLW 0xfd                           
    88   057     0085         MOVWF GPIO                           
    89   058     3001         MOVLW 0x1                             
    90   059     0081         MOVWF TMR0                           
    91   05A     30FF         MOVLW 0xff                           
    92   05B     0095         MOVWF 0x15                           
    93   05C     1283         BCF STATUS, 0x5                       
    94   05D     168B         BSF INTCON, 0x5                       
    95   05E     01A3         CLRF 0x23                             
    96   05F     1485         BSF GPIO, 0x1                         
    97   060     200F         CALL 0xf                             
    98   061     2078         CALL 0x78                             
    99   062     200F         CALL 0xf                             
   100   063     2868         GOTO 0x68                             
   101   064     200B         CALL 0xb                             
   102   065     200B         CALL 0xb                             
   103   066     200B         CALL 0xb                             
   104   067     200B         CALL 0xb                             
   105   068     207C         CALL 0x7c                             
   106   069     2009         CALL 0x9                             
   107   06A     2076         CALL 0x76                             
   108   06B     1A85         BTFSC GPIO, 0x5                       
   109   06C     286B         GOTO 0x6b                             
   110   06D     1E85         BTFSS GPIO, 0x5                       
   111   06E     286D         GOTO 0x6d                             
   112   06F     207C         CALL 0x7c                             
   113   070     2009         CALL 0x9                             
   114   071     207A         CALL 0x7a                             
   115   072     2864         GOTO 0x64                             
   116   073     01A3         CLRF 0x23                             
   117   074     1485         BSF GPIO, 0x1                         
   118   075     0008         RETURN                               
   119   076     30AF         MOVLW 0xaf                           
   120   077     2821         GOTO 0x21                             
   121   078     3084         MOVLW 0x84                           
   122   079     2821         GOTO 0x21                             
   123   07A     3004         MOVLW 0x4                             
   124   07B     2821         GOTO 0x21                             
   125   07C     3090         MOVLW 0x90                           
   126   07D     2821         GOTO 0x21                             
   127   07E     3FFF                                               
   128   07F     3FFF                                               
   129   080     3FFF                                               
   130   081     3FFF                                               
   131   082     3FFF                                               
   132   083     3FFF                                               
   133   084     3FFF                                               
   134   085     3FFF                                               
   135   086     3FFF                                               
   136   087     3FFF                                               
   137   088     3FFF                                               
   138   089     3FFF                                               
   139   08A     3FFF                                               
   140   08B     3FFF                                               
   141   08C     3FFF                                               
   142   08D     3FFF                                               
   143   08E     3FFF                                               
   144   08F     3FFF                                               
   145   090     3FFF                                               
   146   091     3FFF                                               
   147   092     3FFF                                               
   148   093     3FFF                                               
   149   094     3FFF                                               
   150   095     3FFF                                               
   151   096     3FFF                                               
   152   097     3FFF                                               
   153   098     3FFF                                               
   154   099     3FFF                                               
   155   09A     3FFF                                               
   156   09B     3FFF                                               
   157   09C     3FFF                                               
   158   09D     3FFF                                               
   159   09E     3FFF                                               
   160   09F     3FFF                                               
   161   0A0     3FFF                                               
   162   0A1     3FFF                                               
   163   0A2     3FFF                                               
   164   0A3     3FFF                                               
   165   0A4     3FFF                                               
   166   0A5     3FFF                                               
   167   0A6     3FFF                                               
   168   0A7     3FFF                                               
   169   0A8     3FFF                                               
   170   0A9     3FFF                                               
   171   0AA     3FFF                                               
   172   0AB     3FFF                                               
   173   0AC     3FFF                                               
   174   0AD     3FFF                                               
   175   0AE     3FFF                                               
   176   0AF     3FFF                                               
   177   0B0     3FFF                                               
   178   0B1     3FFF                                               
   179   0B2     3FFF                                               
   180   0B3     3FFF                                               
   181   0B4     3FFF                                               
   182   0B5     3FFF                                               
   183   0B6     3FFF                                               
   184   0B7     3FFF                                               
   185   0B8     3FFF                                               
   186   0B9     3FFF                                               
   187   0BA     3FFF                                               
   188   0BB     3FFF                                               
   189   0BC     3FFF                                               
   190   0BD     3FFF                                               
   191   0BE     3FFF                                               
   192   0BF     3FFF                                               
   193   0C0     3FFF                                               
   194   0C1     3FFF                                               
   195   0C2     3FFF                                               
   196   0C3     3FFF                                               
   197   0C4     3FFF                                               
   198   0C5     3FFF                                               
   199   0C6     3FFF                                               
   200   0C7     3FFF                                               
   201   0C8     3FFF                                               
   202   0C9     3FFF                                               
   203   0CA     3FFF                                               
   204   0CB     3FFF                                               
   205   0CC     3FFF                                               
   206   0CD     3FFF                                               
   207   0CE     3FFF                                               
   208   0CF     3FFF                                               
   209   0D0     3FFF                                               
   210   0D1     3FFF                                               
   211   0D2     3FFF                                               
   212   0D3     3FFF                                               
   213   0D4     3FFF                                               
   214   0D5     3FFF                                               
   215   0D6     3FFF                                               
   216   0D7     3FFF                                               
   217   0D8     3FFF                                               
   218   0D9     3FFF                                               
   219   0DA     3FFF                                               
   220   0DB     3FFF                                               
   221   0DC     3FFF                                               
   222   0DD     3FFF                                               
   223   0DE     3FFF                                               
   224   0DF     3FFF                                               
   225   0E0     3FFF                                               
   226   0E1     3FFF                                               
   227   0E2     3FFF                                               
   228   0E3     3FFF                                               
   229   0E4     3FFF                                               
   230   0E5     3FFF                                               
   231   0E6     3FFF                                               
   232   0E7     3FFF                                               
   233   0E8     3FFF                                               
   234   0E9     3FFF                                               
   235   0EA     3FFF                                               
   236   0EB     3FFF                                               
   237   0EC     3FFF                                               
   238   0ED     3FFF                                               
   239   0EE     3FFF                                               
   240   0EF     3FFF                                               
   241   0F0     3FFF                                               
   242   0F1     3FFF                                               
   243   0F2     3FFF                                               
   244   0F3     3FFF                                               
   245   0F4     3FFF                                               
   246   0F5     3FFF                                               
   247   0F6     3FFF                                               
   248   0F7     3FFF                                               
   249   0F8     3FFF                                               
   250   0F9     3FFF                                               
   251   0FA     3FFF                                               
   252   0FB     3FFF                                               
   253   0FC     3FFF                                               
   254   0FD     3FFF                                               
   255   0FE     3FFF                                               
   256   0FF     3FFF                                               
   257   100     3FFF                                               
   258   101     3FFF                                               
   259   102     3FFF                                               
   260   103     3FFF                                               
   261   104     3FFF                                               
   262   105     3FFF                                               
   263   106     3FFF                                               
   264   107     3FFF                                               
   265   108     3FFF                                               
   266   109     3FFF                                               
   267   10A     3FFF                                               
   268   10B     3FFF                                               
   269   10C     3FFF                                               
   270   10D     3FFF                                               
   271   10E     3FFF                                               
   272   10F     3FFF                                               
   273   110     3FFF                                               
   274   111     3FFF                                               
   275   112     3FFF                                               
   276   113     3FFF                                               
   277   114     3FFF                                               
   278   115     3FFF                                               
   279   116     3FFF                                               
   280   117     3FFF                                               
   281   118     3FFF                                               
   282   119     3FFF                                               
   283   11A     3FFF                                               
   284   11B     3FFF                                               
   285   11C     3FFF                                               
   286   11D     3FFF                                               
   287   11E     3FFF                                               
   288   11F     3FFF                                               
   289   120     3FFF                                               
   290   121     3FFF                                               
   291   122     3FFF                                               
   292   123     3FFF                                               
   293   124     3FFF                                               
   294   125     3FFF                                               
   295   126     3FFF                                               
   296   127     3FFF                                               
   297   128     3FFF                                               
   298   129     3FFF                                               
   299   12A     3FFF                                               
   300   12B     3FFF                                               
   301   12C     3FFF                                               
   302   12D     3FFF                                               
   303   12E     3FFF                                               
   304   12F     3FFF                                               
   305   130     3FFF                                               
   306   131     3FFF                                               
   307   132     3FFF                                               
   308   133     3FFF                                               
   309   134     3FFF                                               
   310   135     3FFF                                               
   311   136     3FFF                                               
   312   137     3FFF                                               
   313   138     3FFF                                               
   314   139     3FFF                                               
   315   13A     3FFF                                               
   316   13B     3FFF                                               
   317   13C     3FFF                                               
   318   13D     3FFF                                               
   319   13E     3FFF                                               
   320   13F     3FFF                                               
   321   140     3FFF                                     
#333
Juegos y Consolas / Conectar mando 360 a PC
11 Mayo 2011, 15:09 PM
Hola:

Tengo el cable como muestra en la foto.


Indagando por San http://www.google.es no me funciona el mando ni por asomo y eso que hay muchos tutos por ahí, algo me falla.

He ido a la Web oficial que es esta para descargarme un programa.
http://www.microsoft.com/hardware/en-us/downloads

Escogí la opción "Xbox 360 Controller for Windows".
http://www.microsoft.com/hardware/en-us/d/xbox-360-controller-for-windows

Uso la versión Windows 7 64-bits, conecté el mando por USB al PC e instalé el programa. Uso el juego Fifa 2011. El mando no me hace ni caso. Reconoce que hay un dispositivo de la 360 y nada de nada.
¿Este tipo de cables y mando se puede jugar al PC?

Un cordial saludo.
#334
Java / Enviar correo electrónico
4 Mayo 2011, 14:25 PM
Hola:

Uso el netbeans 7.0. Quiero crear una interfaz visual al igual que hice con Visual C#.


El código en C# funciona. ¿Cómo es en Java?

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.Windows.Forms;

using System.Net;       // No olvidar.
using System.Net.Mail;

// http://social.msdn.microsoft.com/Forums/es-ES/vcses/thread/af364990-af60-47ee-aa6f-8b621b4d14ba
// http://social.msdn.microsoft.com/Forums/es-ES/vcses/thread/6e6a339a-ada5-4502-b603-1838d1d48b1f

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

       private void button_enviar_Click(object sender, EventArgs e)
       {
           button_enviar.Enabled = false;
           //La cadena "servidor" es el servidor de correo que enviará tu mensaje.
           string servidor = textBox_smtp.Text;
           // Crea el mensaje estableciendo quién lo manda y quién lo recibe.
           MailMessage mensaje = new MailMessage(
              textBox_emisor.Text,
              textBox_receptor.Text,
              textBox_asunto.Text,
              richTextBox_mensajazo.Text);

           try
           {
               // Envía archivo adjunto.
               Attachment archivo_adjunto = new Attachment(textBox_ruta_buscar_archivo.Text);
               mensaje.Attachments.Add(archivo_adjunto);
           }

           catch (ArgumentException)
           {
               // Sin asunto.
           }


           //Envía el mensaje.
           SmtpClient cliente = new SmtpClient(servidor);

           cliente.UseDefaultCredentials = false;
           cliente.Credentials = new System.Net.NetworkCredential(textBox_emisor.Text, textBox_contra.Text);
           cliente.Port = Convert.ToInt32(textBox_puerto.Text);
           cliente.Host = textBox_smtp.Text;
           cliente.EnableSsl = true;

           //Añade credenciales si el servidor lo requiere.
           //cliente.Credentials = CredentialCache.DefaultNetworkCredentials;
           try
           {
               cliente.Send(mensaje);
           }
           catch (SmtpException)
           {
               MessageBox.Show("No haz introducido bien la contraseña. \nNo admite ciertos archivos que puedan contener virus como .exe, etc.\nEl archivo es demasiado grande.", "Aviso:",
                   MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
           }
           button_enviar.Enabled = true;
       }

       private void button_buscar_adjunto_Click(object sender, EventArgs e)
       {
           if (openFileDialog1.ShowDialog() == DialogResult.OK)
           {
               textBox_ruta_buscar_archivo.Text = openFileDialog1.FileName.ToString();
           }
       }
   }
}


Saludo.
#335
Hola:

Me falla algo que no se el que. ¿Cuál es el error?

Código (c++) [Seleccionar]

private: System::Void button_enviar_Click(System::Object^  sender, System::EventArgs^  e) {

toolStripStatusLabel1->Text = " ";
            button_enviar->Enabled = false;
            //La cadena "servidor" es el servidor de correo que enviará tu mensaje.
            String^ servidor = textBox_smtp->Text;
            // Crea el mensaje estableciendo quién lo manda y quién lo recibe.
            MailMessage^ mensaje = gcnew MailMessage(
               textBox_emisor->Text,
               textBox_receptor->Text,
               textBox_asunto->Text,
               richTextBox_mensajazo->Text);

            /*try
            {*/
                // Envía archivo adjunto.
                Attachment^ archivo_adjunto = gcnew Attachment(textBox_ruta_buscar_archivo->Text);
                mensaje->Attachments->Add(archivo_adjunto);
            //}

            //catch (ArgumentException)
            //{
            //    // Sin asunto.
            //}


            //Envía el mensaje.
            SmtpClient^ cliente = gcnew SmtpClient(servidor);

            cliente->UseDefaultCredentials = false;
            cliente->Credentials^ = gcnew NetworkCredential(textBox_emisor->Text, textBox_contra->Text);
            cliente->Port^ = Convert->ToInt32(textBox_puerto->Text);
            cliente->Host = textBox_smtp->Text;
            cliente->EnableSsl = true;

            //Añade credenciales si el servidor lo requiere.
            //cliente.Credentials = CredentialCache.DefaultNetworkCredentials;
           /* try
            {*/
                cliente->Send(mensaje);
            //}
            //catch (SmtpException)
            //{
            //    MessageBox::Show("No haz introducido bien la contraseña. \nNo admite ciertos archivos que puedan contener virus como .exe, etc.\nEl archivo es demasiado grande.", "Aviso:",
            //        MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
            //}
            toolStripStatusLabel1->Text = "Enviado.";
            button_enviar->Enabled = true;
}


Compilación:
1>------ Operación Generar iniciada: proyecto: email_smtp_cpp, configuración: Debug Win32 ------
1>  email_smtp_cpp.cpp
1>c:\users\hunter\documents\visual studio 2010\projects\email_smtp_cpp\email_smtp_cpp\Form1.h(341): error C2059: error de sintaxis : '='
1>c:\users\hunter\documents\visual studio 2010\projects\email_smtp_cpp\email_smtp_cpp\Form1.h(342): error C2059: error de sintaxis : '='
========== Generar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========

#336
.NET (C#, VB.NET, ASP) / Grabar en la EEPROMs.
27 Abril 2011, 06:34 AM
Hola gente del foro:

Quiero grabar con el TE20x las EEPROM tipo 24LCxx.


Ver las EEPROM.


Precisamente tengo el 24LC16b.


He hecho mi propio programa para grabar un archivo .hex o .bin a la EEPROM, no se si funciona. Lo que quiero saber si hay información en www.microchip.com o en otras Web cómo grabar una EEPROM como lo hace www.ic-prog.com y www.winpic800.com. Les pongo un ejemplo, pero me falta la parte de leer los datos de la EEPROM.




¿Alguna sugerencia?

Un saludo.
#337
Java / Buscara errores.
24 Abril 2011, 08:06 AM
Hola:

No se la causa de estos errores.


Main.java
Código (java) [Seleccionar]
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package mypkg;
import java.util.Scanner;
import java.util.InputMismatchException;

/**
*
* @author Hunter
*/
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Scanner lector = new Scanner(System.in);
        int[] palillos = {7,5,3};
        JuegoPalillos juego;
        String[] jugador = new String[2];
        jugador[0] = "Jugador 1";
        jugador[1] = "Jugador 2";
        int turno = 0;
        int fila;
        int cuantos;
        juego = new JuegoPalillos(palillos);

        do{
            System.out.println(juego);
            System.out.printf(jugador[turno]+". elige fila");
            fila = lector.nextInt();
            System.out.printf(jugador[turno]+". ¿cuántos palillos quieres quitar?");
            cuantos = lector.nextInt();
            if (juego.quitaPalillos(fila.cuantos)){
                turno = (turno + 1) % 2;
            }else{
                System.out.printf("Introduce bien la fila y los palillos");
            }
        }catch (InputMismatchException e){
            System.out.printf("por favor introduce un número.");
            lector.next();
        }cath (Exception exc){
            System.out.printf("Se ha producido algún error " + exc.toString());
        }
    }while (!juego.finDeJuego());
    System.out.println("El ganador ha sido " + jugador[turno]);

}


JuegoPalillos.java
Código (java) [Seleccionar]
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package mypkg;

/**
*
* @author Hunter
*/
public class JuegoPalillos {
    private FilaPalillos[] filas;

    public JuegoPalillos(int[] palillos){
        filas = new FilaPalillos[palillos.length];
        for (int i = 0; i < filas.length; i++){
            filas[i] = new FilaPalillos(palillos[i]);
        }
    }

    public boolean quitaPalillos(int fila, int cuantos){
        if (fila < 0 || fila >= filas.length)
            return false;
        else
            return filas[fila].quitaPalillos(cuantos);
    }

    public boolean finDeJuego(){
        for (int i = 0; i < filas.length; ++i){
            if(filas[i].cuantosPalillos() != 0) return false;
        }
        return true;
    }

    public String toString(){
        String s = "";
        for (int i = 0; i < filas.length; i++){
            s += i + " " + filas[i] + "\n";
        }
        return s;
    }
}




FilaPalillos.java
Código (java) [Seleccionar]
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package mypkg;

/**
*
* @author Hunter
*/
public class FilaPalillos {
    private int numPalillos;

    public FilaPalillos(int tamaño){
        numPalillos = tamaño;
    }

    public boolean quitaPalillos(int cuantos){
        if (cuantos > numPalillos){
            return false;
        }else{
            numPalillos -= cuantos;
            return true;
        }
    }

    public String toString(){
        String s = "";
        for (int i=0; i < numPalillos; i++){
            s += "|";
        }
        return s;
    }

    public void añadePalillos(int cuantos){
        numPalillos += cuantos;
    }

    public int cuantosPalillos(){
        return numPalillos;
    }
}


Quiero solucionar los errores de este programa.
#338
Hola:

¿Cómo cambiar una varibla de un byte que en realidad es un String a una variable hexzadecimal?

El código de abajo, si te gijas bien, la variable Recibidos es un string, que se almacena en la otra variable llamad byte_recibido.

El Switch puse los case "A", pero quiero ponerlo en hexadecimal, por ejemplo:
case 0x41 // que el 0x41 de la tabl aASCII es la A mayúscula.

¿Existe esa psosibilidad?

Código (csharp) [Seleccionar]
byte_recibido = Recibidos;

            Recibidos = System.Convert.ToString(byte_recibido);


            byte b = 255;
            switch (byte_recibido)
            {
                // A switch section can have more than one case label.
                case "A":
                    textBox1.BackColor = Color.Red;
                    break;
                case "B":
                    textBox2.BackColor = Color.Red;
                    break;
                case "C":
                    textBox3.BackColor = Color.Red;
                    break;
                case "D":
                    textBox4.BackColor = Color.Red;
                    break;
                case "a":
                    textBox1.BackColor = Color.Maroon;
                    break;
                case "b":
                    textBox2.BackColor = Color.Maroon;
                    break;
                case "c":
                    textBox3.BackColor = Color.Maroon;
                    break;
                case "d":
                    textBox4.BackColor = Color.Maroon;
                    break;
                default:
                    // Ignorar cualquier carácter que no reconozca.
                    break;
            }
#339
Java / No me funciona este programa
21 Abril 2011, 13:36 PM
Hola:

Quiero saber el motivo de que no me funciona el programa.

Este es el programa.
Código (java) [Seleccionar]
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package mypkg;

/**
*
* @author Hunter
*/
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Fecha fecha = new Fecha(1, 4, 2005);
        Hora hora = new Hora(17, 30);
        Examen programación = new Examen("Programación en Java", "A105", fecha, hora);
        System.out.println(programación.toString());
        programación.setFecha(new Fecha(1, 6, 2005));
        programación.setHora(new Hora(9, 0));
        System.out.println(programación.toString());
    }

}




Saludo.
#340
Software / Un buen heditor hexadecimal.
18 Abril 2011, 21:07 PM
Hola:

Usaba mucho el heditor hexadecimal para curiosear y modificar archivos binarios, por ejemplo este:
www.winhex.com (español).

Con el Windows 7 64-Bits da problemas y no han sacado a estas alturas de la vida para los 64 bits.
¿Conocen otras alternativas y que sea muy bueno?

Saludo.
#341
Java / Lograr hacer esta descripticón.
6 Abril 2011, 12:07 PM
Hace tiempo me encontré este tipo de cosas en Java.

Diseñar una clase llamada fichero que nos permita:
Leer, escribir (al final), buscar, modificar y borrar datos en un fichero.


PENSAR COMO IMPLEMENTAR BORRAR UN REGISTRO DE UN FICHERO.

Pensar en dos formas:
a) Trabajar directamente en con el fichero.
b) Tener todo en un arraylist en memoria trabajando sobre él, y al final grabar todo en el fichero.

¿Hay ejemplo sobre esto?

Me interesa controlar ficheros en Java.
#342
Software / Crear carátuas DVD y Cajas
5 Abril 2011, 12:57 PM
Hola:

Antiguamente con Nero 6, 7 y 8, en Nero - Descargue una versión de prueba o actualice su versión actual de software Nero había una aplicación que no encuentro actualmente. Se trata de un programa que podía escoger los tipos de caja para un DVD, hacer portada incluido y hasta en el propio DVD. He descargado casi todo en la Web de nero y no encuentro esa opción. ¿Lo han quitado? ¿Han cambiado de nombre?

Saludo.
#343
Electrónica / Controlar PIC18F para domótica
25 Febrero 2011, 06:48 AM
Hola:

Llevo un tiempo haciendo una Interfaz para controlar un PIC desde el RS232 con ASM. Usando el libro Microcontrolador PIC16F84. Desarrollo de proyectos. Editorial Ra-Ma he intentado de mil maneras solucionar el control con otro PIC como el 16F886 y 18F2550 en asm sólo controlando 8 salidas y otro programa sólo 8 entradas pero no al mismo tiempo al menos con un 16F887 y 18F4550 al LCD 20x4.

Llevo tiempo con esto y no logro hacerlo funcionar como quiero. Hice un mini prototipo y se me quemó.



Lo que se me ocurre ahora es usar dos PIC16F886 en asm (que es más majadero y requiere más tiempo) cada uno con sus LCD de 16x2.



Lo que se me ocurre ahora mismo para controlar el puerto serie con dos PIC es usar el CD4016 o similar o con transistores para que hayan conflicto en las comunicaciones.

La parte de la interfaz con Visual Studio Express 2010 la tengo media hecha.


También se hará comunicación entre ordenadores mediante la Interfaz, he hecho pruebas y m efunciona con VC# y VB .net 2010, esto será más adelante.

Ahora quiero probar el C18 para los PIC18F2550 o el 18F4550. ¿Cómo ven de complejo C18 con el lenguaje C para controlar un PIC16F4550 8 entradas digitales, 8 salidas a relés, un LCD 20x4 y puerto serie?

No he programado en C un PIC, pero tengo experiencia y sigo teniendo ahora mismo con C# por mi cuenta y Java en un curso de programación. Se que no es lo mismo programar C en PC que un PIC, por ahora me guiaré de los tutoriales de nuestro amigo Suky cuando acabe Java y probaré, aún así nos cuenta sus experiencias.

Si tienen alguna sugerencia, bienvenido sea.
#344
Java / Par impar
15 Febrero 2011, 18:42 PM
Buenas:

Quiero hacer que cuando lea el teclado, detecte cuando un número es par o impar. No me sale bien, por ahora he hecho pruebas como vez abajo.

Scanner teclado = new Scanner(System.in); // Creamos el objeto teclado.

        if ( int numerador = teclado.nextInt() % 2 == 0)
        {
            System.out.println("El número es par.");
        }

        if (teclado % 2 == 1)
        {
            System.out.println("El número es impar.");
        }


No logro que me funcione bien en los if.

Saludo.
#345
Java / Errores
15 Febrero 2011, 06:14 AM
Buenas:

Estoy haciendo pruebas del Try y Catch. Se trata de que detecte los errores InputMismatchException por si pongo alguna letra en vez de un número en una división y ArithmeticException por si intento dividir por cero pero no pasa nada.

El código que he hecho hasta ahora es este.

Código (java) [Seleccionar]
try{
       double resultado;
       Scanner teclado=new Scanner(System.in);
       System.out.println("Introduce un numerador: ");
       double numerador = teclado.nextDouble();
       System.out.println("Introduce un denominador: ");
       double denominador = teclado.nextDouble();

       resultado = numerador / denominador;
       System.out.println("El numerador " + numerador + " entre el denominador "
               + denominador + " es: " + resultado);
       }
       
       catch (InputMismatchException e){
           System.out.println("Haz introducido algún carácter. \n");
       }

       catch (ArithmeticException d){
           System.out.println("No puedes dividir por cero.\n");
           }
       }


Por si acaso, he puesto estos import.
import java.io.*;
import java.util.*;
import java.lang.Exception;
import java.lang.Error;


;)
#346
Java / Resolver este problema
13 Febrero 2011, 08:14 AM
Buenas:

Partiendo de este código que lo más probable no esté bien diseñado. Estoy haciendo pruebas solo con for y while. Nada de If else o otra instrucción.

Como resultado quiero que de de esta manera.
Código (java) [Seleccionar]

E3E3E3E3E3
E3E3E3E3E3
E3E3E3E3E3
E3E3E3E3E3
E3E3E3E3E3
E3E3E3E3E3


por ahora me sale solo de esta otra y se queda ahí.
Código (java) [Seleccionar]
E3E3E3E3E3






Código (java) [Seleccionar]
String igual = "";
        String menos = "-";
        int vueltas = 0;

        for (int v = 0; v < 6; v++){
        while (vueltas < 5){
        for (int i= 0; i < 1; i++){
            System.out.print(igual);
                for (int j= 0; j < 1; j++){
                    System.out.print(menos);
            }
        }
            vueltas++; // Incremente a uno en la variable.
        }
        System.out.println(); // Salto de línea.
       }


Saludo.
#347
Bases de Datos / Diseñar una buena base de datos
12 Febrero 2011, 04:12 AM
Hola:

Quiero diseñar una base de datos con SQL Server Express 2008 R2 (Gratuito). Se trata de una base de datos para un videoclub. Cosa que hay que dejar clara. Lo quiero hacer desde Visual C# Espress 2010, es como si fuera Case Studio, se puede hacer relaciones, el algo que no tengo muy en cuenta.

Citar- Se alquilan películas en dos formatos, el DVD y el Blu-Ray. Tiene una tabla "Formátos" que dentro de ella puedes agregar si se incluye más formatos como el VHS por poner un ejemplo.
- Tiene una tabla llamada "Clientes", en el se encuentra estos campos.
Código
DNI
Nombre
Apellidos
Dirección
Fecha_Nacimiento
Email
Teléfono1
Teléfono2
Móvil1
Móvil2
Observaciones

- Otra tabla llamada "Películas", en él contiene:
Código
Título
Género
Duración
Copias
Disponibles
Precio
Formato
Año
Actor_principal
Director
Descripción
Notas

- Tabla "Película_que_tiene_el_cliente" (Está relacionado con la tabla "Clientes").
Código
Título
Fecha_de_devolución
Días_de_retraso

- Tabla "Clientes_con_copias_de_estas_películas".

Información:
Tabla "Morosos", campos DNI y nombre.

Tabla "Clientes con deudas", campos DNI, Nombre y Total.

Tabla "Alquiladas", campos código película, Título, Cliente, Devolución.

Tabla "Ingresos", con campor de Concepto, DNI, Cliente, Fecha, Hora, Notas

Complicado de entender y de hacer. ¿Verdad?
Espero que no me falte nada, si tienen ideas antes de hacer un esquema de relaciones aunque sea de gannt o con el CASE Studio, también viene con el Visual C# incluido, no duces en compartirlo por aquí.



Un cordial saludo.
#348
Java / Notas de evaluación Java
9 Febrero 2011, 17:06 PM
:)

Quiero hacer en Java, qu eme metí ahora mismo en este mundo, que lea por teclado la nota de un estudiante (número real) y muestre en pantalla si es un estudiante destacado, normal o regular. Un estudiante es destacado si su nota es igual o superior a 8, normal si es igual o superior a 5 y menor a 8, y regular si esta por debajo del 5.

Uso el NetBeans 6.9.1 en español.

http://netbeans.org/downloads/index.html

Si escoges la primera opción JAVA se en españo, a 66 MB es suficiente. Trabajo con ella en el Windows 7 64-bits.
#349
Hola:

Haciendo un ejemplo tonto cualquiera sea con el VB .net o el C# 2010 Express. Creo un botón con un mensaje. Dentro del Form agrego un label y un botón que al pulsarlo muestre Hola mundo por poner un ejemplo sencillo.

¿Hay alguna forma de examinar con cual lenguaje se ha programado ese ejecutable .exe?

Se que puedo cambiar los textos con un editor hexadecimal, también puedo cambiar la versión y nombre de los botones y versiones del programa, cosas así. No se si habrá programa ya hechos para modificar o entender que se ha hecho con ese .exe o al menos hacer un programa nosotros mismo muy sencillo para detectar abrir un .exe y que sepa de qué lenguaje es, otro ejemplo, poner una imagen en el centro de un form1, cosas así.

¿Es posible?

Saludo.
#350
Java / Cálculos Java, mi primner ejemplo
8 Febrero 2011, 17:07 PM
Hola:

Quiero hacer mi primer ejemplo con Java con esta operación:
Código (java) [Seleccionar]
  int x = 10;
  int prueba = x**4 + x**3 + (1/2.0) * x**2 - x;


Lo he intentado hacer con este código completo en NetBeans 6.9.1.

Código (java) [Seleccionar]
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package acaymo_01;

/**
*
* @author Hunter
*/
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        int x = 10;
        int prueba = x**4 + x**3 + (1/2.0) * x**2 - x;
       
    }

}


Me sale este error:
Citarrun:
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - possible loss of precision
  required: int
  found:    double
        at acaymo_01.Main.main(Main.java:20)
Java Result: 1
GENERACIÓN CORRECTA (total time: 2 seconds)

¿Cuál es el problema?

Lo que debo hacer es mostrar el resultado en pantalla.

Saludo.
#351
Scripting / Hacer un tetris
26 Enero 2011, 00:51 AM
Quiero hacer un tetris bajo Linux y python en modo consola.

He estado buscando por google pero son encuentro códigos para hacerlo sólo en modo consola, no modo visual como windows.
http://zetcode.com/wxpython/thetetrisgame/

Código (python) [Seleccionar]
#!/usr/bin/python

# tetris.py

import wx
import random

class Tetris(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title, size=(180, 380))

        self.statusbar = self.CreateStatusBar()
        self.statusbar.SetStatusText('0')
        self.board = Board(self)
        self.board.SetFocus()
        self.board.start()

        self.Centre()
        self.Show(True)
       

class Board(wx.Panel):
    BoardWidth = 10
    BoardHeight = 22
    Speed = 300
    ID_TIMER = 1

    def __init__(self, parent):
        wx.Panel.__init__(self, parent)

        self.timer = wx.Timer(self, Board.ID_TIMER)
        self.isWaitingAfterLine = False
        self.curPiece = Shape()
        self.nextPiece = Shape()
        self.curX = 0
        self.curY = 0
        self.numLinesRemoved = 0
        self.board = []

        self.isStarted = False
        self.isPaused = False

        self.Bind(wx.EVT_PAINT, self.OnPaint)
        self.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)
        self.Bind(wx.EVT_TIMER, self.OnTimer, id=Board.ID_TIMER)

        self.clearBoard()

    def shapeAt(self, x, y):
        return self.board[(y * Board.BoardWidth) + x]

    def setShapeAt(self, x, y, shape):
        self.board[(y * Board.BoardWidth) + x] = shape

    def squareWidth(self):
        return self.GetClientSize().GetWidth() / Board.BoardWidth

    def squareHeight(self):
        return self.GetClientSize().GetHeight() / Board.BoardHeight

    def start(self):
        if self.isPaused:
            return

        self.isStarted = True
        self.isWaitingAfterLine = False
        self.numLinesRemoved = 0
        self.clearBoard()

        self.newPiece()
        self.timer.Start(Board.Speed)

    def pause(self):
        if not self.isStarted:
            return

        self.isPaused = not self.isPaused
        statusbar = self.GetParent().statusbar

        if self.isPaused:
            self.timer.Stop()
            statusbar.SetStatusText('paused')
        else:
            self.timer.Start(Board.Speed)
            statusbar.SetStatusText(str(self.numLinesRemoved))

        self.Refresh()

    def clearBoard(self):
        for i in range(Board.BoardHeight * Board.BoardWidth):
            self.board.append(Tetrominoes.NoShape)

    def OnPaint(self, event):

        dc = wx.PaintDC(self)       

        size = self.GetClientSize()
        boardTop = size.GetHeight() - Board.BoardHeight * self.squareHeight()
       
        for i in range(Board.BoardHeight):
            for j in range(Board.BoardWidth):
                shape = self.shapeAt(j, Board.BoardHeight - i - 1)
                if shape != Tetrominoes.NoShape:
                    self.drawSquare(dc,
                        0 + j * self.squareWidth(),
                        boardTop + i * self.squareHeight(), shape)

        if self.curPiece.shape() != Tetrominoes.NoShape:
            for i in range(4):
                x = self.curX + self.curPiece.x(i)
                y = self.curY - self.curPiece.y(i)
                self.drawSquare(dc, 0 + x * self.squareWidth(),
                    boardTop + (Board.BoardHeight - y - 1) * self.squareHeight(),
                    self.curPiece.shape())


    def OnKeyDown(self, event):
        if not self.isStarted or self.curPiece.shape() == Tetrominoes.NoShape:
            event.Skip()
            return

        keycode = event.GetKeyCode()

        if keycode == ord('P') or keycode == ord('p'):
            self.pause()
            return
        if self.isPaused:
            return
        elif keycode == wx.WXK_LEFT:
            self.tryMove(self.curPiece, self.curX - 1, self.curY)
        elif keycode == wx.WXK_RIGHT:
            self.tryMove(self.curPiece, self.curX + 1, self.curY)
        elif keycode == wx.WXK_DOWN:
            self.tryMove(self.curPiece.rotatedRight(), self.curX, self.curY)
        elif keycode == wx.WXK_UP:
            self.tryMove(self.curPiece.rotatedLeft(), self.curX, self.curY)
        elif keycode == wx.WXK_SPACE:
            self.dropDown()
        elif keycode == ord('D') or keycode == ord('d'):
            self.oneLineDown()
        else:
            event.Skip()


    def OnTimer(self, event):
        if event.GetId() == Board.ID_TIMER:
            if self.isWaitingAfterLine:
                self.isWaitingAfterLine = False
                self.newPiece()
            else:
                self.oneLineDown()
        else:
            event.Skip()


    def dropDown(self):
        newY = self.curY
        while newY > 0:
            if not self.tryMove(self.curPiece, self.curX, newY - 1):
                break
            newY -= 1

        self.pieceDropped()

    def oneLineDown(self):
        if not self.tryMove(self.curPiece, self.curX, self.curY - 1):
            self.pieceDropped()


    def pieceDropped(self):
        for i in range(4):
            x = self.curX + self.curPiece.x(i)
            y = self.curY - self.curPiece.y(i)
            self.setShapeAt(x, y, self.curPiece.shape())

        self.removeFullLines()

        if not self.isWaitingAfterLine:
            self.newPiece()


    def removeFullLines(self):
        numFullLines = 0

        statusbar = self.GetParent().statusbar

        rowsToRemove = []

        for i in range(Board.BoardHeight):
            n = 0
            for j in range(Board.BoardWidth):
                if not self.shapeAt(j, i) == Tetrominoes.NoShape:
                    n = n + 1

            if n == 10:
                rowsToRemove.append(i)

        rowsToRemove.reverse()

        for m in rowsToRemove:
            for k in range(m, Board.BoardHeight):
                for l in range(Board.BoardWidth):
                        self.setShapeAt(l, k, self.shapeAt(l, k + 1))

            numFullLines = numFullLines + len(rowsToRemove)

            if numFullLines > 0:
                self.numLinesRemoved = self.numLinesRemoved + numFullLines
                statusbar.SetStatusText(str(self.numLinesRemoved))
                self.isWaitingAfterLine = True
                self.curPiece.setShape(Tetrominoes.NoShape)
                self.Refresh()


    def newPiece(self):
        self.curPiece = self.nextPiece
        statusbar = self.GetParent().statusbar
        self.nextPiece.setRandomShape()
        self.curX = Board.BoardWidth / 2 + 1
        self.curY = Board.BoardHeight - 1 + self.curPiece.minY()

        if not self.tryMove(self.curPiece, self.curX, self.curY):
            self.curPiece.setShape(Tetrominoes.NoShape)
            self.timer.Stop()
            self.isStarted = False
            statusbar.SetStatusText('Game over')

    def tryMove(self, newPiece, newX, newY):
        for i in range(4):
            x = newX + newPiece.x(i)
            y = newY - newPiece.y(i)
            if x < 0 or x >= Board.BoardWidth or y < 0 or y >= Board.BoardHeight:
                return False
            if self.shapeAt(x, y) != Tetrominoes.NoShape:
                return False

        self.curPiece = newPiece
        self.curX = newX
        self.curY = newY
        self.Refresh()
        return True


    def drawSquare(self, dc, x, y, shape):
        colors = ['#000000', '#CC6666', '#66CC66', '#6666CC',
                  '#CCCC66', '#CC66CC', '#66CCCC', '#DAAA00']

        light = ['#000000', '#F89FAB', '#79FC79', '#7979FC',
                 '#FCFC79', '#FC79FC', '#79FCFC', '#FCC600']

        dark = ['#000000', '#803C3B', '#3B803B', '#3B3B80',
                 '#80803B', '#803B80', '#3B8080', '#806200']

        pen = wx.Pen(light[shape])
        pen.SetCap(wx.CAP_PROJECTING)
        dc.SetPen(pen)

        dc.DrawLine(x, y + self.squareHeight() - 1, x, y)
        dc.DrawLine(x, y, x + self.squareWidth() - 1, y)

        darkpen = wx.Pen(dark[shape])
        darkpen.SetCap(wx.CAP_PROJECTING)
        dc.SetPen(darkpen)

        dc.DrawLine(x + 1, y + self.squareHeight() - 1,
            x + self.squareWidth() - 1, y + self.squareHeight() - 1)
        dc.DrawLine(x + self.squareWidth() - 1,
        y + self.squareHeight() - 1, x + self.squareWidth() - 1, y + 1)

        dc.SetPen(wx.TRANSPARENT_PEN)
        dc.SetBrush(wx.Brush(colors[shape]))
        dc.DrawRectangle(x + 1, y + 1, self.squareWidth() - 2,
        self.squareHeight() - 2)


class Tetrominoes(object):
    NoShape = 0
    ZShape = 1
    SShape = 2
    LineShape = 3
    TShape = 4
    SquareShape = 5
    LShape = 6
    MirroredLShape = 7


class Shape(object):
    coordsTable = (
        ((0, 0),     (0, 0),     (0, 0),     (0, 0)),
        ((0, -1),    (0, 0),     (-1, 0),    (-1, 1)),
        ((0, -1),    (0, 0),     (1, 0),     (1, 1)),
        ((0, -1),    (0, 0),     (0, 1),     (0, 2)),
        ((-1, 0),    (0, 0),     (1, 0),     (0, 1)),
        ((0, 0),     (1, 0),     (0, 1),     (1, 1)),
        ((-1, -1),   (0, -1),    (0, 0),     (0, 1)),
        ((1, -1),    (0, -1),    (0, 0),     (0, 1))
    )

    def __init__(self):
        self.coords = [[0,0] for i in range(4)]
        self.pieceShape = Tetrominoes.NoShape

        self.setShape(Tetrominoes.NoShape)

    def shape(self):
        return self.pieceShape

    def setShape(self, shape):
        table = Shape.coordsTable[shape]
        for i in range(4):
            for j in range(2):
                self.coords[i][j] = table[i][j]

        self.pieceShape = shape

    def setRandomShape(self):
        self.setShape(random.randint(1, 7))

    def x(self, index):
        return self.coords[index][0]

    def y(self, index):
        return self.coords[index][1]

    def setX(self, index, x):
        self.coords[index][0] = x

    def setY(self, index, y):
        self.coords[index][1] = y

    def minX(self):
        m = self.coords[0][0]
        for i in range(4):
            m = min(m, self.coords[i][0])

        return m

    def maxX(self):
        m = self.coords[0][0]
        for i in range(4):
            m = max(m, self.coords[i][0])

        return m

    def minY(self):
        m = self.coords[0][1]
        for i in range(4):
            m = min(m, self.coords[i][1])

        return m

    def maxY(self):
        m = self.coords[0][1]
        for i in range(4):
            m = max(m, self.coords[i][1])

        return m

    def rotatedLeft(self):
        if self.pieceShape == Tetrominoes.SquareShape:
            return self

        result = Shape()
        result.pieceShape = self.pieceShape
        for i in range(4):
            result.setX(i, self.y(i))
            result.setY(i, -self.x(i))

        return result

    def rotatedRight(self):
        if self.pieceShape == Tetrominoes.SquareShape:
            return self

        result = Shape()
        result.pieceShape = self.pieceShape
        for i in range(4):
            result.setX(i, -self.y(i))
            result.setY(i, self.x(i))

        return result


app = wx.App()
Tetris(None, -1, 'Tetris')
app.MainLoop()


Si encuentran algo mejor que yo, lo ponen por aquí.
#352
Scripting / [Python] - Calculadora sencilla
25 Enero 2011, 15:30 PM
Hola:

Quiero hacer una calculadora sencilla usando números complejos que ustedes deseen. Puede ser este enlace. Desde el rpograma pirncipal en Python 2.x, donde el usuario pueda elegir la operación a realizar y los números complejos con los que trabajar. Se trata tambiñen de crear clases para Python.

Saludo.
#353
Quiero hacer un conmutador VGA casero para conectar la PlayStation 3, X-Box 360, Ordenador 1 y Ordenador 2. Quiero al menos saber este modelo en concreto que es de 2 VGA y audio como es por dentro. Si alguien tiene ese modelo de abajo, que lo tenga físicamente. ¿Son capaces de quitarles los tornillos y sacar fotos por dentro? Si es posible, las placa por delante y por detrás.







Ver vídeo:
http://www.youtube.com/watch?v=6mdJMzULGIo

http://www.youtube.com/watch?v=vZHnvHns_Ic
#354
Scripting / [Python] -Crear clase
22 Enero 2011, 14:54 PM
Hola:

Crea una clase que represente un número complejo. La clase deberá contener tanto los atributos (información) como los métodos (comportamiento) necesarios.

¿Pueden darme ejemplos fáciles de entender para hacer lo que pide arriba?
Trabajo con Python 2 y en Linux con openSUSE 11.3.

Un cordial saludo.

http://es.wikipedia.org/wiki/N%C3%BAmero_complejo
#355
En C he encontrado este código.

#include<16f84A.h>
#fuses XT,NOLVP,NOWDT
#use delay(clock=4000000)

void main()
{
  int i;
  output_low(PIN_B0);                         // Estado bajo del pin B0 indica que el relé está desactivado.
  while(TRUE)
  {
    if(input(PIN_A4))
    {
      output_high(PIN_B0);                     // Activo el relé.
      delay_ms(60000);                          // Retardo de un minuto...
      delay_ms(60000);                          // Retardo de un minuto...
      output_low(PIN_B0);                     // Desactivo el relé.
    }
  }
}


Otro ejemplo:
#include<16f84A.h>
#fuses XT,NOLVP,NOWDT
#use delay(clock=4000000)

void main()
{
  int i;
  output_low(PIN_B0);                         // Estado bajo del pin B0 indica que el relé está desactivado.
  while(TRUE)
  {
    if(input(PIN_A4))
    {
      output_high(PIN_B0);                     // Activo el relé.
      for(i=2;i>0;i--) delay_ms(60000);   // Retardo de dos minutos...
      output_low(PIN_B0);                     // Desactivo el relé.
    }
  }
}


Está en C y como puedes ver, funciona como un esclavo, ya que si vuelvo a pulsar el botón para deterner el temporizador, no puede ejecutar esa acción o cualquier otra hasta que se acabe el tiempo, en este caso este temporizador dura 2 min.

Falta por harcer esa parte, desde que esté contando hacia atrás 2 min, el tiempo se acaba y se queda el relé apagado. Si pulsas el botón se activa el temporizador, el tema es que al pulsar de nuevo el mismo botón que sea capaz de detenerlo y se quede desactivado.

Saludo.
#356
Electrónica / Presento manual Teensy++ 2.0
16 Enero 2011, 11:17 AM
Teensy++ 2.0 es una placa del mundo de Arduino para hacer de una manera muy fácil y rápida con muy poca base de electrónica y programación. Cada vez más se usa por su versatilidad.

Este manual te enseñará, instalar las aplicaciones necesarios e compilar algunos códigos de ejemplo y usar reales que te viene incluido en el propio teensyduino.

Teensy++ 2.0 te viene con el microcontrolador AVR de la firma de Atmel AR90USB1286.

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

Ver manual

Con el tiempo se ampliará poco a poco con nuevos ejemplos y algo más complejo.

Un cordial saludo.
#357
Electrónica / Hacer temporizador para relé
15 Enero 2011, 06:18 AM
Hola:

No encuentros ejemplos buenos para hacer un temporizador de dos o tres minutos. Por ejemplo, pulso un botón con el PIC-16F84A, y cuenta con el TIMER0 dos minutos en cuenta atrás, al finalizar desactiva un relé. Usando Cristal de 4 MHz.

El botón es en el RA4 como entrada digital mientras, cualquier puerto B que escojas, controla un relé.



Pueden presentar códigos en ASM o en C si lo saben. En ASM no todo por ahí lo tienen claro para lograr un determinado tiempo, en C nunca lo he visto, dicen que es muchísimo más fácil.

Pensé hacerlo mediante retardos como este.


; Delay = 2 seconds
; Clock frequency = 4 MHz

; Actual delay = 2 seconds = 2000000 cycles
; Error = 0 %

cblock
d1
d2
d3
endc

Delay
;1999996 cycles
movlw 0x11
movwf d1
movlw 0x5D
movwf d2
movlw 0x05
movwf d3
Delay_0
decfsz d1, f
goto $+2
decfsz d2, f
goto $+2
decfsz d3, f
goto Delay_0

;4 cycles (including call)
return



http://www.golovchenko.org/cgi-bin/delay

Pero me di cuenta que queda como esclavo, ya que para pararlo debo usar el reset en vez de otro pulsador.

¿El TIMER1 de 16 bits para el PIC16F88?

Saludo.
#358
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.
#359
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.
#360
Electrónica / Teensy ++ 2.0 (A estrenarlo).
21 Diciembre 2010, 19:06 PM
Hola:

Un amigo se compró el Teensy ++ 2.0. Ahora está ocupado en un empleo nuevo que consiguió y me lo prestó en este mismo momento para hacer pruebas, como Led parpadeante, apagar Led y endenderlo con un pulsador, etc, lo básico. No lo ha probado, sin embargo dice que es C y es fácil. Eso lo voy a comprobar si es tan fácil como dice. Él sabe C, yo no.



Al tenerlo en mis manos, me impresionó lo pequeño que es y su poco peso. Dentro de unas horas pondré capturas desde antes de abrirlo hasta abrirlo por si le pican la curiosidad algunos.



El SoftWare para trabajar con C me sorprendió ya que funciona bajo Windows, Linux e incluso Mac. (Lo mismo para el nuevo MPLAB X).

http://www.arduino.cc/en/Main/Software

Lo bueno de la Web principal, me llamó la atención sus increíbles tutoriales bien hechos, organizados con imágenes incluidas para empezar con este tipo de prototipo. (Microchip.com debe coger este ejemplo, que espavilen o notarán ventas en AVR de Atmel que PIC de Microchip).



Fue comprado en este enlace:
http://www.pjrc.com/store/teensypp_pins.html

Con este cable:
http://www.pjrc.com/store/cable_usb_mini_b.html

El AVR de Atmel que viene es el:
90USB1286

He visto por Internet muy animagos en hacer libros en español sobre AVR. Los de PIC hay libros de sobra y siguen apareciendo, falta por aparecer los PIC32 en español, en Inglés está desde hace tiempo.

Voy hacer pruebas por primera vez desde cero con este dispositivo explicado en la Web haber si es tan fácil al menos de encender y apagat Led partiendo de sus tutotirales.

¿Qué opinan del Teensy ++ 2.0?

Un cordial saludo.

PD: En unas horas subiré fotos sacadas desde un movil.