si la verdad que no esta mal mirar dntro.. pero piensola de otra manera, yo no es el primer mando que tengo que desmontar y mirar que moelo es para despues saver que coigo buscar en el mando universal..
vamos que ya puede ser una tv futaba que igual el integrado que usa es un philips o el pt2221
http://www.datasheetcatalog.org/datasheet/PrincetonTechnologyCorporation/mXrzxus.pdf
que la verdad es vastante escasa la informacion de como mandan el tren pulsos.
lo bueno que tendra que sera un modelo smd y pila pequeño..
pongamos que me quee el integrado que funcionava lo que no ivan bin eran los contactos para tras aparte e estar un poco roto, el modelo philips saa3010p que sera e los mas biejos..
pero despues te metes en otra que necesitarias el receptor o acerlo con un pic.
pon que hay muchos modelos. una tienda em particular e internet.. (casi que la que mas me gusta)
http://micropik.com/pag_ci_cir_int_diver.htm
en esta seccion vete a los MC145026, MC145027, MC145028. seguro que te son muy interesantes
un saludo
. y porcierto.. espero no aver cometido muchas faltas en las indicaciones..
y bueno la verad que no se como meterlo dentro de una ventanita como vosotros que no molesta tanto ala hora de verse... pero bueno aqui quedara la pedazo tirada..
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : peep387 *
'* Notice : Copyright (c) 2012 buffff *
'* : All Rights Reserved *
'* Date : 20/02/2012 *
'* Version : 1.0 *
'* Notes : dimer 220ac por infrarrojos y rosca de pasos *
'* : control de disporo del triac por tmr0 *
'****************************************************************
define osc (8)
intcon = %00000000
rosca Var byte ' defino bit rapidos para la rosca de pasos
b0 var rosca.bit0
b1 var rosca.bit1
b2 var rosca.bit2
b3 var rosca.bit3
infra var byte ' defino los bit fiables el infrarrojo como 1 del infrarrojo
b4 VAR infra.bit7
b5 VAR infra.bit6
luz var byte
tecla var byte
temp1 var byte
temp2 var byte
codigo var byte[3]
clear
portb=0
trisb=%00000001
porta=0
trisa=%10000
luz=170
pause 100 ' los suelo poner al inicio (para que no vaya nada mas dar corriente)
option_reg = %11000101 ' definimos variables y puertos inicio
ON INTERRUPT GOTO disparo
intcon = %10010000
'
' programa
'
programa:
b1 =portb.6
b2 =portb.7
if b1=b2 then b0=b1: b3=0
if rosca=%00000100 or rosca=%00000011 then ' paso en un sentido
b3=1
tecla=1
goto acciones
endif
if rosca=%00000010 or rosca=%00000101 then ' paso sentido contrario
b3=1
tecla=2
goto acciones
endif
if porta.4=1 then programa
'
' lectura infrarrojos
'
infra=0
tecla=0
while porta.4=0 ' leemos el largo del pulso de inicio codigo
pauseus 4
infra=infra+1
wend
if infra<200 then programa ' si es menor seguro no sirva se sale
high portb.5 ' indicacion
for temp2=0 to 3 ' almacenolos 4 bite del codigo
for temp1=0 to 7 'introduce bit a bit en el bite
' en esta parte intento simular el comando pulsin
while porta.4=1
wend
codigo[temp2]=codigo[temp2]<<1 ' desplaza los bit ala izquierda = multiplicar *2
infra=0
while porta.4=0 ' cuenta el largo el pulso
infra=infra+1
if infra>170 then programa ' si desvorda se pira
wend
if infra<40 then programa ' si es inferior se pira al inicio
' PULSIN PORTa.4,1, infra
codigo[temp2]=codigo[temp2]+(b4|b5) 'suma el bit largo (el tiempo es relativo al infrarrojo o estado de la pila)
next temp1
next temp2
' comprueva el codificador 2x8bit y compara el codigo del boton (3ºcodigo)con su invertido (4ºcodigo)
if codigo[0]<>250 or codigo[1]<>5 then programa ' comprueva el codigo
if codigo[2]+codigo[3]<>255 then programa
tecla=codigo[2]
low portb.5
'
' comprovacion del bonton del infrarrojo
'
if tecla=3 then ' paso brusco de stado del nivel de luz
SELECT CASE luz
CASE IS > 100
luz=0
CASE IS < 101
luz=254
END SELECT
endif
if tecla=4 then toggle porta.0 ' activa desactiva reles
if tecla=5 then toggle porta.1
if tecla=6 then toggle porta.2
if tecla=7 then toggle porta.3
if tecla=8 then ' tecla apagar todo
porta=%0000
luz=0
endif
pause 1000
acciones: ' este salto me ahorra programa
if tecla=1 and luz<194 then luz=luz+1
if tecla=2 and luz>1 then luz=luz-1
tecla=0
goto programa
'
'
' interruccion
'
' sincroniza con la red y dimer retardado por tmr0, disparo triac
'
DISABLE
disparo:
if option_reg.6=0 then ' se marca un stop para el flanco descendente
option_reg.6=1
intcon.1=0
low portb.4
endif
if intcon.2=1 then ' dispara triac al desvordar tmr0
high portb.4
option_reg.6=0
intcon=%10010000
endif
if intcon.1=1 then ' sincroniza tmr0 en el flaco ascendente b.0
intcon=%10110000
tmr0=luz
endif
RESUME
ENABLE
' mi intencion en la interrucion es de primeras b.o interruccion preparada
' para el flaco ascendente, una vez entra en la interruccion por flanco
' ascendente invertimos para entrar en el flanco descendente y al mismo tiempo
' activamos la interrucion pmr0 para el disparo del triac, si entramos por
' el desvordamiento de tmr0 disparamos el triac si entramos por el flanco
' descendente de b.0 paramos la interrucion tmr0 y volvemos a invertir la
' interrucion b.0 para entrar denuevo en el flanco ascendente y vuelta aa empezar
' y espero que entre y salga lo suficiente rapido e la interrucion como
' para que no moleste al resto de funciones (o revienta todo) jajajjajaja
pon que tampoco es tan grane el programa una ve compilado ocupà 541word (todavia me sobra para la rutina de leer un mando con codificacion nec y meterlo en la epron.
que porcierto el canvio que octe por acer sustitullendo pulsin por esos while en la verdad que ocupan menos word el pic porlocual tenria que operarlo mas rapido.. lo suficiente como para analiar un desbordamiento o escasec del bit..
un saludo y espero alguna critia sobre como estructure eso.. (que ultimamente toy usano mucho esa forma)
un saludo