-
Posts
2.856 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por jorgeletronico
-
-
Tente fazer assim amigo ve se resolve
If n = 3 Then
PORTA.0 = 1
WaitMs 500
else
PORTA.0=0
Endif
If n = 4 Then
PORTA.1 = 1
WaitMs 500
ELSE
PORTA.1=0
Endif
If n = 5 Then
PORTA.2 = 1
WaitMs 500
ELSE
PORTA.2=0
Endif
If n = 6 Then
PORTA.3 = 1
WaitMs 500
ELSE PORTA.3=0
Endif
-
agora esta identico ao meu,parabens,o 555 da mais sensibilidade ao circuito.
-
fala galera,realmente as imagens sumiram kkkkkkkkkkkkkkk,infelizmente formatei o pc e nao tenho mais o esquematico,mais posso refaze lo ok, e postarei em breve.Abraços.
-
desculpe mas desconheço essa tal placa com transistor,que saiba tanto a inversao ,qto a rotaçao e feito via botões.Bom,tentaria trocar os capacitores de ambos os ventiladores,se tiver conhecimento desmonte ele proceda uma limpeza ,pode ser o rolamento emperrando.O de casa deu problema semelhante ,eu procedi a abertura do mesmo e foi feita a manutençao ta ate hoje funcionando.
-
aqui no shoppim tem torneiras com sensor ir ,porém sao temporizadas,achei melhor nao usar o temporizador,por conta de ela ficar acionada apos ter tirado a mao debaixo dela ate completar o tempo,assim haver um desperdicio nao acha?
-
nem cara,isso ai ja existe no mercado e mil vezes melhor q esta ai,apenas fiz pra mim mesmo.
-
segue as imagens,o circuito posto ate segunda feira ok. O sensor se trata daquele feito com lm567 ,facilmente encontrado na net.O circuito de acionamento da valvula foi usado um moc 3021 junto a um triac ,evitando assim o rele por conta do desgaste dos contatos e por ser mais silencioso.
-
grande bc,a parte mecanica envolve uma eletrovalvula, aquelas usadas em makinas de lavar.A parte eletronica amanha eu posto junto as fotos do meu projeto que esta no banheiro funcionando q e uma beleza
-
galera ,feliz ano novo para todos .Montei uma torneira eletronica automatica ,com sensor ir no qual abre a torneira quando colocada a mao em baixo dela ,desligando quando retirada a mao.Estarei postando as fotos e o circuito com placa para quem quiser.
-
Ando vendo q o pessoal aqui ,parece nao dar valor no serviço dos eletronicos,acham caro e tudo mais ,é claro q tens uns picaretas q nada fazem e muito cobram ,mais ha os serios q acabam perdendo o seu valor.........Bom acredito q seu problema possa ser o motor q move a unidade ,ou ate alguma ingrenagem com algum dente quebrado,vale apenas verificar.
-
bom,pelo q estou estudando de eletrica ,para motores se usa o de curva c.
-
Amigao,este projeto você montou?Funciona bem?Que tipo de sensor usa,pois nao vi nenhum sensor no esquematico.
-
-
De onde tirou especialista em asm the?kkkkkkkkkkkk ,eu????
cara passa o link ai desse projeto q qro ver .Abraços
-
saudaçoes the!
'PIC 12F629
Define CONF_WORD = 0x31c5 'int osc clock out
Define CLOCK_FREQUENCY = 4
TRISIO = 111100b
Dim contador As Word
Dim flag As Bit
flag = 0
contador = 0
GP0 = 0 'saida inicialmente em nivel 0
'"configuração tmr1" 500 ms X 120 = 1 minuto
T1CON.TMR1CS = 0 'usar o clock interno
T1CON.T1CKPS0 = 1 'Prescaler 1:8
T1CON.T1CKPS1 = 1
TMR1H = 0x0b
TMR1L = 0xdc
T1CON.TMR1ON = 1 'habilita a contagem do TIMER1
PIE1.TMR1IE = 1 'habilita a interrupção do TIMER1
INTCON.PEIE = 1 'habilita todas as interrupções não mascaradas
INTCON.GIE = 1 'habilita interrupçao global
Enable
'agora, o programa fica esperando passar o tempo,
'observando o valor de flag.
'quando passar o tempo determinado, liga a saida GP0
inicio:
If flag = 1 Then
ativa=1
Endif
if flag=0 then
ativa=0
endif
Goto inicio
End
On Interrupt 'Rotina de tratamento de interrupção
Save System 'salva o contexto, use sempre
if ativa=1 then
contador = contador + 1
endif
If contador = 120 Then
gp0=1
Endif
TMR1H = 0x0b 'reinicializa o timer 1 !!!!
TMR1L = 0xdc
PIR1.TMR1IF = 0 'habilita a interrupção novamente
Resume
Return
-
'PIC 12F629
Define CONF_WORD = 0x31c1 'int osc clock out
Define CLOCK_FREQUENCY = 4
TRISIO = 111100b
Dim contador As Word
Dim flag As Bit
contador = 0
'"configuração tmr1" 500 ms X 120 = 1 minuto
T1CON.TMR1CS = 0 'usar o clock interno
T1CON.T1CKPS0 = 0 'Prescaler 1:8
T1CON.T1CKPS1 = 0
TMR1H = 0x0b
TMR1L = 0xdc
T1CON.TMR1ON = 1 'habilita a contagem do TIMER1
PIE1.TMR1IE = 1 'habilita a interrupção do TIMER1
INTCON.PEIE = 1 'habilita todas as interrupções não mascaradas
intcon.gie=1 'habilita interrupçao global
Enable
Goto inicio
fim:
GP0 = 1
End
On Interrupt 'Rotina de tratamento de interrupção
Save System 'salva o contexto, use sempre
if flag=1 then 'passou 500ms ,se flag=1 incrementa contador
flag=0
contador=contador+1
endif
PIR1.TMR1IF = 0
Resume
Return
-
12F629
Define CONF_WORD = 0x31c1 'int osc clock out
Define CLOCK_FREQUENCY = 4
TRISIO = 111100b
Dim contador As Word
Dim flag As Bit
contador = 0
'"configuração tmr1" 500 ms X 120 = 1 minuto
T1CON.TMR1CS = 0 'usar o clock interno
T1CON.T1CKPS0 = 0 'Prescaler 1:8
T1CON.T1CKPS1 = 0
TMR1H = 0x0b
TMR1L = 0xdc
T1CON.TMR1ON = 1 'habilita a contagem do TIMER1
PIE1.TMR1IE = 1 'habilita a interrupção do TIMER1
INTCON.PEIE = 1 'habilita todas as interrupções não mascaradas
intcon.gie=1
Enable
inicio:
contador = contador + 1
If contador = 120 Then
contador=0
goto fim
Endif
If flag = 1 Then ===>a cada 500 ms flag = 1 há incremento no contador
flag = 0
Endif
Goto inicio
fim:
GP0 = 1
End
-
grande the,ou faz um msn ai pra nois trocar experiencia ok o qto mais rápido.Bom, o contador vai na interrupçao do tmr1,ou seja
configuração tmr1
T1CON.TMR1CS = 0 'usar o clock interno
T1CON.T1CKPS0 = 1 'Prescaler 1:8
T1CON.T1CKPS1 = 1
TMR1H = 0x0b
TMR1L = 0xdc
T1CON.TMR1ON = 1 'habilita a contagem do TIMER1
PIE1.TMR1IE = 1 'habilita a interrupção do TIMER1
INTCON.PEIE = 1 'habilita todas as interrupções não mascaradas
Enable
contador=contador+1
if contador =2 then 'passou dois minutos
contador=0
If flag=1 then
flag=0
gp0=1
endif
endif
-
pensei nisso amigo,nao sei se e isso que quer
testa:
if gp1=1 then 'gp1 setado ativa flag de tempo
flag=1
endif
goto testa
"configuração tmr1
T1CON.TMR1CS = 0 'usar o clock interno
T1CON.T1CKPS0 = 1 'Prescaler 1:8
T1CON.T1CKPS1 = 1
TMR1H = 0x0b
TMR1L = 0xdc
T1CON.TMR1ON = 1 'habilita a contagem do TIMER1
PIE1.TMR1IE = 1 'habilita a interrupção do TIMER1
INTCON.PEIE = 1 'habilita todas as interrupções não mascaradas
Enable
if contador =2 then 'passou dois minutos
If flag=1 then
flag=0
gp0=1
endif
endif
-
aff cara complicou tudo kkkkkkkkkk,vamos la
o gp0 vai valer 1 no inicio,porém se setar gp1 com 1 então gp0 vai valer 0 e passando dois minutos gp0 vai valer 1 novamente e isto cara ?
-
grande mestre,valeu ae ,se e o cara ,graças a você to aprendendo e so tenho agradecer a deus e a suas apostilas ,valeu e tudo de bom pra você,consegui ja projetar o propeller e o dimmer de chuveiro ,ebaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-
"configuração tmr0
OPTION_REG.T0CS = 0 'usar clock interno
OPTION_REG.PSA = 0 ' prescaler ligado no TIMER0
OPTION_REG.PS2 = 1 ' valor prescaler = 64
OPTION_REG.PS1 = 0
OPTION_REG.PS0 = 1
TMR0 = 0x3d ' contagem inicial do TIMER0 de 61
Com os comando acima, tudo já está programado, só falta ligar as interrupções, para
isso usamos a seqüência abaixo :
INTCON.T0IE = 0 'desabilita a interrupçao do TIMER0
"configuração tmr1
T1CON.TMR1CS = 0 'usar o clock interno
T1CON.T1CKPS0 = 1 'Prescaler 1:8
T1CON.T1CKPS1 = 1
TMR1H = 0x0b
TMR1L = 0xdc
T1CON.TMR1ON = 1 'habilita a contagem do TIMER1
PIE1.TMR1IE = 1 'habilita a interrupção do TIMER1
INTCON.PEIE = 1 'habilita todas as interrupções não mascaradas
Enable
'roda rotina principal
If GP1=1 then ==> Entre o intervalo de 0 a 1 min eu quero levar GP0 à ZERO
GP0=0
endif
end
On Interrupt 'Rotina de tratamento de interrupção
Save System 'salva o contexto, use sempre
'seguem As instruções a serem executadas na interrupção
goto rotina principal
PIR1.TMR1IF = 0
Resume
return
OBS:Seria mais ou menos do jeito q esta aqui,ai você muda pra chegar ao q quer ,ali na rotina principal você monta um contador ,para qtas vezes quer q de os pulso , tipo ,você tem um tmr0 de 10 ms ,se for uma frequencia de 100ms então conta de 0 a 10 e sempre testando o flag do tmr0 e manda o port a 1,entendeu ne kkkkkkkkkkkkkk
-
kkkkkkkkkkkkkk,nao e bicho de sete cabeça,o bom disso tudo e q nao se prende a loops amigo,e seu programa fica mais rápido e eficaz.Tamo ai pra qualquer duvida.
off:O professor paulao ,ta fugindo e kkkkkkkkkkkkkkkkkkkk
-
amigao eis a Sugestão simples .use o tmr1 q estoura a cada 500ms. tendo 2 estouros 1 segundo ,ai e so incrementar um contador ate 60 e incrementar a variavel minuto,quando der dois então você testa o bit ,e faz o resto do codigo,assim poderá executar outras coisas sem se prender a loops.Eis o codigo do tmr1 (500ms)
T1CON.TMR1CS = 0 'usar o clock interno
T1CON.T1CKPS0 = 1 'Prescaler 1:8
T1CON.T1CKPS1 = 1
TMR1H = 0x0b
TMR1L = 0xdc
T1CON.TMR1ON = 1 'habilita a contagem do TIMER1
PIE1.TMR1IE = 1 'habilita a interrupção do TIMER1
INTCON.PEIE = 1 'habilita todas as interrupções não mascaradas
Enable
On Interrupt 'Rotina de tratamento de interrupção
Save System 'salva o contexto, use sempre
'seguem As instruções a serem executadas na interrupção
PIR1.TMR1IF = 0
Resume
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
Tutorial : Introdução ao uso de PIC´s em BASIC com o PIC Simulator IDE - Parte 1/2
em Microcontroladores
Postado
hum,os portas so mudam quando a variavel n tem o valor estipulado no if ne?