|
331
|
Informática / Electrónica / Saber más sobre UDATA delos PIC
|
en: 17 Febrero 2014, 08:58 am
|
Hola: 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.
|
|
|
332
|
Informática / Electrónica / No funciona LCD Keypas Shield para Arduino UNO rv3 [SOLUCIONADO]
|
en: 14 Febrero 2014, 07:55 am
|
Hola: He comprado Arduino UNO y la LCD Keypad Shield. http://1.bp.blogspot.com/--kl6XSF_NZo/UDDhi2hzjLI/AAAAAAAAE8g/EOcULXBNTNo/s1600/IMG_0730.jpgHe 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.
|
|
|
333
|
Informática / Electrónica / Preguntas sobre Arduino UNO y uC compatibles con ATMEGA328P
|
en: 13 Febrero 2014, 05:51 am
|
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.
|
|
|
335
|
Informática / Electrónica / Mejor libro recomendo de Arduino
|
en: 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.
|
|
|
336
|
Programación / Scripting / Hacer un Script para un router
|
en: 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: 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.
|
|
|
337
|
Foros Generales / Foro Libre / Controlar WLAN por puerto serie
|
en: 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í.
|
|
|
338
|
Programación / Ingeniería Inversa / Saber en un programa la fórmula matemática.
|
en: 30 Enero 2014, 09:58 am
|
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-2EUVChCPuM0Donde 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.
|
|
|
339
|
Comunicaciones / Redes / Conectar un segundo router y equipos
|
en: 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.
|
|
|
340
|
Informática / Electrónica / Mejorar Senpir para la versión 2.0
|
en: 17 Enero 2014, 20:20 pm
|
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.htmlCualquier consejo, sugerencia o algún comentario para mejorarlo es bienvenido.
|
|
|
|
|
|
|