Me han prestado Tomb Raider para PlayStation 3. Antes de terminar el juego he conseguido todo a 100 % y no me dan el trofeo de plata llamado
¡Inconcebible! Completa todos los desafíos.
Parece que es un fallo del Trofeo. ¿Hay alguna solución? ¿Debo pasar el juego otra vez desde cero?
He intentado ir desde la PLAYA DEL NAUFRAGO hasta llegar a la BASE DE INVESTIGACIÓN, hay zonas que ya no puedo ir. Aún así tengo todo a 100 % y el trofeo no cuenta.
Quiero saber si hay revistas españolas (en España) que trate de electrónica. Sobre todo que traten de hacer circuitos por nosotros mismos y que se haga público en esas revistas. Antiguamente se hacía mucho con programas y electrónica básica, un ejemplo es ZX Spectrum +2 128K por poner un ejemplo. En el enlace de abajo, está las de antes MicroHobby en español, buenísima para la época.
En mi caso también tengo mis dudas, he decidido entrar más en el mundo de las tablas. Quiero hacer mensajes en una LCD o el puerto serie, me da igual, la idea es que muestre mensajes por lo menos unas 255 carácteres en cada tabla de la directiva DT.
En cada DT sea largo el mensaje a 255 como máximo, quiero ponerlo en cada ORG diferente. Por ejemplo, así:
Código:
ORG 0x0100 DT "Mensaje hasta 255.", 0x00
ORG 0x0200 DT "Más mensajes todavía.", 0x00
ORG 0x0300 DT "Más mensajes en la posición 300", 0x00
Al acabar cada mensaje, tiene que volver a la posición ORG 0x00. Bajo mi punto de vista, debería ser así. Quiero tener claro otra cosa.
¿Hay que usar los bancos de memoria para almacenar más mensajes en la directiva DT?
Haciendo experimento con Teensyduino, quiero sacar estos datos en el puerto COM1 real hacia mi ordenador. Cuando me di cuenta, los datos salían por USB, ajjajajajajaja, simulando el COM3.
Uso el código de ejemplo de esta Web donde compramos Teensy ++2.0.
Código
/* Temperature Sensor, Simple Scaling, Teensyduino Tutorial #4
http://www.pjrc.com/teensy/tutorial4.html
This example code is in the public domain.
*/
void setup()
{
Serial.begin(38400);
}
float code;
float celsius;
float fahrenheit;
void loop()
{
code = analogRead(PIN_F0);
celsius =25+(code -512)/11.3;
fahrenheit = celsius *1.8+32;
Serial.print("temperature: ");
Serial.print(celsius);
Serial.print(" Celsius, ");
Serial.print(fahrenheit);
Serial.println(" Fahrenheit");
delay(1000);
}
He logrado pasar los datos al HyperTerminal que he hecho con C#. Por eso me confundí que lo había logrado. Se que no pasa por el MAX232 porque los Led de Tx y Rx no parpadean.
Por lo que veo, aquí no son los comandos adecuados. Tal vez sea eso. Pues mira que he configurado los puertos buscándome la vida, jejejejjeje.
¿Hay algún modo que pueda enviar y recibir caracteres ASCII desde el puerto COM físico?
Quiero hacer tres cosas, de las cuales dos parece que está claro, si no lo estoy, me pueden ayudar. Tengo un motor de lavadora Arcelik 230Vac/50 Hz, de la lavadora Beko WMD 25100T.
Por lo que he estado viendo, usa un BTB16-600BW, un triac de 16 A.
La placa lo controla un microcontrolador y con ello quiero hacer algo similar.
Quiero saber si este esquema vale bien para controlar la velocidad del motor y cambio de giro.
1) Esquema cambio de giro del motor universal de una lavadora.
En el esquema tenemos numerados los siguientes componentes: • 3-4 Corresponden al tacogenerador, representado por la letra T • 8-9 Corresponden al rotor del motor (la parte que gira), representado con la letra M • 5-10 Corresponden al estator (parte fija del motor, donde esta el bobinado), representado con la letra S • 6-7 Corresponden al protector termico (en caso de sobecalentamiento dispara y corta el flujo de corriente), representado con la letra P • EC es el circuito de control (placa electronica) • R1 y R2 son reles para invertir el sentido de giro. • TY es el triac de control • L Fase y N neutro (entrada de corriente)
¡¡Atencion!! La numeracion no corresponde a los terminales del motor
2) Esquema controlar el motor con un triac y un microcontrolador PIC.
3) Me falta saber más sobre el tacómetro. Lo poco que se, es que entrega una tensión en alterna y el microcontrolador controla el motor, por ejemplo, antes de hacer un cambio de giro en el motor, primero el microcontrolador detecta 0 rpm que el motor está completamente detenido, luego cambia de giro cada 15 segundos. No cambia de giro hasta que el motor esté completamente detenido.
Hace un tiempo para ver como se comporta el giro del motor, cual relé usa puse unos Led y me ayudaron a orientarme, subí un vídeo hace un tiempo.
Con todo indicado arriba, antes de montar algo, quiero asegurarme qué circuito indicado para controlar el giro del motor y valocidad a la hora del centrifugado. Cuando lo tenga todo claro, montaré una placa genérica para lavadoras. Esta placa también controlará las electroválvulas y motor de bomba.
Como curiosidad hice un programa de consola bajo C# Express 2013. Consiste en introducir '1234' para acceder.
Código
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
namespace Password
{
class Program
{
staticvoid Main(string[] args)
{
Console.Title="Contraseña";// Título de la ventana.
int password_fijo =1234;// Contrasela preficaja.
Console.WriteLine("Introduce contraseña o password: ");//Mostrar texto.
int contraseña = Convert.ToInt32(Console.ReadLine());// Leer contraseña que pulsas en el teclado y lo almacena en una variable 'contraseña'.
// Si 'contraseña' introducida en el teclado es igual a 'password_fijo' o '1234' se cumple la condición.
if(contraseña == password_fijo)
{
Console.WriteLine("La contraseña es correcta.");
}
else
{
Console.WriteLine("INCORRECTO. Vuelva a intentarlo.");
}
Console.ReadKey();// Pulse una tecla cualquiera para salir.
}
}
}
El programa es muy sencillo. Supuestamente este código fuente no lo tienes. Pero si su ejecutable que lo habrí con H&D, un editor hexadecimal y lo pasé a un txt. Este txt indicado abajo no es fiable porque es en binario, y leerlo en txt no sirve, pero si con el H&D, es para coger un ejemplo.
Código
MZ ÿÿ ¸ @ € º ´ Í!¸LÍ!This program cannot be run in DOS mode.
$ PE L ½È{R à
~) @ @ € `… 0) K @ @ ` ø' H .text „
`.rsrc @ @ @ @.reloc ` @ B `) H ¼ < 0 V r p(
Ò
r p(
(
(
þþ- r[ p(
+
r‘ p(
(
&*(
* BSJB v4.0.30319 l #~ x À #Strings 8 Ô #US #GUID #Blob G ú%3
² †D J D D ! D ) D 1 D 9 D A D I D Q D Y D a D i D q D y D ‰ D $ ‘ D ™ {) ™ …) ™ . ¡ 2 ™ ·7 D . B . Œ . š . # š . + š . 3 Œ . ; . C š . S š . [ ¸ . k â . s ï . { ø . ƒ < € ( <Module> Password.exe Program Password mscorlib System Object Main .ctor args System.Runtime.Versioning TargetFrameworkAttribute System.Reflection AssemblyTitleAttribute AssemblyDescriptionAttribute AssemblyConfigurationAttribute AssemblyCompanyAttribute AssemblyProductAttribute AssemblyCopyrightAttribute AssemblyTrademarkAttribute AssemblyCultureAttribute System.Runtime.InteropServices ComVisibleAttribute GuidAttribute AssemblyVersionAttribute AssemblyFileVersionAttribute System.Diagnostics DebuggableAttribute DebuggingModes System.Runtime.CompilerServices CompilationRelaxationsAttribute RuntimeCompatibilityAttribute Console set_Title WriteLine ReadLine Convert ToInt32 ConsoleKeyInfo ReadKey C o n t r a s e ñ a CI n t r o d u c e c o n t r a s e ñ a o p a s s w o r d : 5L a c o n t r a s e ñ a e s c o r r e c t a . AI N C O R R E C T O . V u e l v a a i n t e n t a r l o . eþSi¶ýJ½ðçi´N/# ·z\V4à‰ A UI .NETFramework,Version=v4.5 TFrameworkDisplayName.NET Framework 4.5
RSDS{=’@®Ý@¤Ã^3$ºÔ= c:\Users\Meta\Documents\Visual Studio 2013\Projects\Password\Password\obj\Debug\Password.pdb X) n) `) _CorExeMain mscoree.dll ÿ% @ € 8 € P € h € € @ ° PC ê °4 V S _ V E R S I O N _ I N F O ½ïþ ? D V a r F i l e I n f o $ T r a n s l a t i o n ° S t r i n g F i l e I n f o ì 000004 b 0 < F i l e D e s c r i p t i o n P a s s w o r d 0 F i l e V e r s i o n 1 . 0 . 0 . 0 <
O r i g i n a l F i l e n a m e P a s s w o r d . e x e 4 P r o d u c t N a m e P a s s w o r d 4 P r o d u c t V e r s i o n 1 . 0 . 0 . 08 A s s e m b l y V e r s i o n 1 . 0 . 0 . 0 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Un portatil pequeño HP Mini la batería hay que cambiarla cada 1 a 1.5 años porque HP lo diseñó así. Para que te compres otra y ellos tener negocio. Así que comprar HP portátiles, PC de sobre mesa y impresoras, no valen la pena.
Lo he desarmado rompiéndolo ya que está muy pegado. La batería pone en su plástico o carcasa que es de 10.8V / 27Wh. Comprobado con el tester tiene 4.9V. Veo que tiene una placa electrónica lo que controla la batería desde el portatil.
Sospecho que esconde algo más, ya que cuando cumpla unas condiciones como 300 cargas de la batería y un año y poco más, esta deja de dar orden a cargar la batería pero si la detecta.
Pensé en buscar una EEPROM facilonga como las impresoras, con la esperanza de encontrar una muy conocido como 93C66 o algo similar para resetearlo pero veo que no. Lo que tiene como laca en la placa hasta en los circuitos integrados y demás componente que me cuesta leerlo.
Si es posible, quiero más información de sus conectores, cuales son de carga y cuales con de descarga, pin a pin para hacer todo tipo de pruebas.
Cualquier información es útil.
Un cordial saludo.
PD: Esto de la absolescencia programada se están pasando.
Se me atasca el PIC tanto en el simulador Proteus y físicamente, no graba en la su EEPROM interna del PIC16F88.
Lo que hace el PIC del programa principal es, con un pulsador en RA0 enciende y apaga un LEd en la salida RB0.
Hasta ahí todo bien. Solo que no es capaz de grabar nada en la EEPROM, cuando está encendido el Led o apagado, la EEPROM la función que hace es esa, mantener lo últimos valores del Led.
Siempre se me atasca por aquí. ;Guarda en la EEPROM el valor de la salida. Escribe_Dato_EERPOM BANKSEL EEADR movlw 0x00 ; Dirección. movwf EEADR ; Carga registro EEADR con la dirección a escribir. movf Dato,W movwf EEDATA ; Carga el registro EEDATA con el dato a escribir. BANKSEL EECON1 bcf EECON1,EEPGD ; Selecciona acceso a memoria EEPROM de datos. bsf EECON1,WREN ; Permiso de escritura. movlw 0x55 movwf EECON2 movlw 0xAA movwf EECON2 ; Secuencia de escritura según Mirochip. bsf EECON1,WR ; Inicio del ciclo de escritura. [COLOR="red"]Espera btfsc EECON1,WR goto Espera ; Esperar que finalice (WR=0).[/COLOR] bcf EECON1,WREN ; Retira el permiso de escritura. return
Código:
; Cada vez que presiona el pulsador conectado a la línea RA0 conmutará el estado de ; un LED conectado a la línea RB0. ; ; ZONA DE DATOS **********************************************************************
#DEFINE Pulsador PORTA,0 ; Pulsador conectado a RA0. #DEFINE Led PORTB,0 ; Línea donde se conecta el diodo LED.
; ZONA DE CÓDIGOS ********************************************************************
ORG 0 Inicio clrw clrf PORTB ; Borra los latch de salida. BANKSEL ANSEL clrf ANSEL ; Puerto A digital. BANKSEL TRISA movlw b'11111111' bsf Pulsador ; Pulsador activado como entrada. clrf TRISB bcf Led ; Activar como salida Led. call Lee_Dato_EERPOM_2 BANKSEL PORTA ; Vuelve al banco 0. Principal btfsc Pulsador ; ¿Pulsador presionado?, ¿(Pulsador)=0? goto Fin ; No. Vuelve a leerlo. ; call Retardo_20ms ; Espera que se estabilicen los niveles de tensión. btfsc Pulsador ; Comprueba si es un rebote. goto Fin ; Era un rebote y sale fuera. btfsc Led ; Testea el último estado del LED. goto EstabaEncendido EstabaApagado bsf Led ; Estaba apagado y lo enciende. ;movlw b'00000001' BANKSEL Dato movf Led movwf Dato call Escribe_Dato_EERPOM_2 BANKSEL PORTA ; Banco 0. goto EsperaDejePulsar EstabaEncendido bcf Led ; Estaba encendido y lo apaga. ;movlw b'00000000' movf Led movwf Dato call Escribe_Dato_EERPOM_2 BANKSEL PORTA ; Banco 0. EsperaDejePulsar btfss Pulsador ; ¿Dejó de pulsar?. ¿(Pulsador)=1? goto EsperaDejePulsar ; No. Espera que deje de pulsar. Fin goto Principal
;Subrutina EEPROM ****************************************************************** Lee_Dato_EEPROM BANKSEL EEADR movlw 0x00 ; Dirección. movwf EEADR ; Carga el registro EEADR con la dirección que se desea leer. BANKSEL EECON1 bcf EECON1,EEPGD ; Selecciona el acceso a memoria EEPROM. bsf EECON1,RD ; Inicia el ciclo de lectura. BANKSEL EEDATA movf EEDATA,W ; Carga en W el dato recuén leído. return
;Guarda en la EEPROM el valor de la salida. Escribe_Dato_EERPOM BANKSEL EEADR movlw 0x00 ; Dirección. movwf EEADR ; Carga registro EEADR con la dirección a escribir. movf Dato,W movwf EEDATA ; Carga el registro EEDATA con el dato a escribir. BANKSEL EECON1 bcf EECON1,EEPGD ; Selecciona acceso a memoria EEPROM de datos. bsf EECON1,WREN ; Permiso de escritura. movlw 0x55 movwf EECON2 movlw 0xAA movwf EECON2 ; Secuencia de escritura según Mirochip. bsf EECON1,WR ; Inicio del ciclo de escritura. Espera btfsc EECON1,WR goto Espera ; Esperar que finalice (WR=0). bcf EECON1,WREN ; Retira el permiso de escritura. return