Ir ao conteúdo
  • Cadastre-se

joseca

Membro Pleno
  • Posts

    161
  • Cadastrado em

  • Última visita

Tudo que joseca postou

  1. joseca

    Ponte Retificadora

    silicone,depois de seco vira uma borracha eu so compro componentes pela internet a acho que não é permitido aqui no forum indicar sites de compras,se quiser me envia uma mp que te passo onde compro com segurança
  2. joseca

    Ponte Retificadora

    A ponte retificadora trabalha sempre com onda completa ,isto é para fazer o negativo dois diodos da ponte trabalham juntos (paralelo)em cada semiciclo da tensão CA,portanto a corrente é dividida por 2. Assim sendo acho que em vez da ponte retificadora de 15 A pode ser substituida por 4 diodos(em ponte) sim so que ai voce teria uma ponte com 12 A (6+6) e não 15 A. Ai precisa analisar o consumo de corrente e ver se esses 3 A não vai fazer falta.
  3. Sei que aqui não é o lugar certo para postar minha duvida,mas la vai.... Onde achar o esquema eletrico interno dos cooler(desses usados nos computadores e fontes)
  4. tirei o while(true) tirei as chaves para sair desse loop,deixei somente as duas mas não roda a parte debaixo,o que esta ocorrendo? Obrigado pelos retornos Resolvido o problema,eram as chaves mesmo,veja como ficou #include <16f877a.h> #fuses HS,NOWDT,NOPROTECT,NOLVP #use delay (clock=20000000) void main(){ while(true){ if((input(pin_a0))==1) output_high(pin_b0); else output_low(pin_b0); if((input(pin_a1))==1) output_high(pin_b1); else output_low(pin_b1); if((input(pin_a2))==1) output_high(pin_b2); else output_low(pin_b2); } } Obrigado Isadora pelas dicas,codigo rodando muito bem! Moderador poder fechar o topico
  5. Gostaria de saber se a sequencia das instruções "if" e "else" estão corretas. Na simulação no proteus somente acende o led rb0
  6. configurei os TRISA e TRISB,mas não adiantou #include <16f877a.h> #fuses HS,NOWDT,NOPROTECT,NOLVP #use delay (clock=20000000) void main(){ int input; set_tris_a(0b11111111); set_tris_b(0b00000000); while(true){ if((input(pin_a0))==1) output_high(pin_b0); else output_low(pin_b0); } { if((input(pin_a1))==1) output_high(pin_b1); else output_low(pin_b1); } { if((input(pin_a2))==1) output_high(pin_b2); else output_low(pin_b2); } }
  7. Por que não funciona essa rotina? #include <16f877a.h> #fuses HS,NOWDT,NOPROTECT,NOLVP #use delay (clock=20000000) void main(){ int input; while(true){ if((input(pin_a0))==1) output_high(pin_b0); else output_low(pin_b0); } { if((input(pin_a1))==1) output_high(pin_b1); else output_low(pin_b1); } { if((input(pin_a2))==1) output_high(pin_b2); else output_low(pin_b2); } } o esquema pic16f877.bmp
  8. O termostato que voce usava era de Larios Tecnologia? Não consegui abrir o arquivo do layout da placa de circuito impresso que usa o lm35 com sensor de temperatura. No site tem o arquivo .hex para ser gravado no pic. O que voce exatamente queria fazer?
  9. Acredito que sim copiando o buffer,tem como voce colocar mais detalhes da chocadeira? Fotos da placa de circuito impresso e ligações?
  10. Matheus,realmente tirando o led do circuito no proteus o frequencimetro funciona,e a frequencia é mesmo 251Hz
  11. No codigo acima que eu postei,qual a frequencia gerado no pwm? E porque o frequencimetro que eu liguei na saida(led) não marca nada(configurado como frequencimetro)
  12. VTRX o circuito é muito simples o esquema no Proteus
  13. Sim quero fazer um codigo (ccs)que possa estudar as varias possibilidades de acionar um led rgb,vi um video que acendia o led com todas as possives combinaçoes de cores rgb...vamos estudar mais obrigado
  14. Ola Pessoal. Estou querendo fazer um codigo PWM para ligar um led RGB,gostaria de saber se precisa de resistor em serie com esse led,uma vez que o led recebera 5 volts mas com variação da largura de pulso....fiquei na duvida. Simulei o codigo abaixo no proteus com um potenciometro na entrada (PIC16F877A),o led varia seu brilho como desejado,agora como fazer para variar os 3 leds internos do RGB? #include <16f877a.h>#device adc=10#fuses XT,NOWDT,PUT,BROWNOUT,NOLVP#use delay (clock=4000000)void main(){ int16 leitura; setup_ccp1(ccp_pwm); setup_timer_2(T2_DIV_BY_16,248, 1); setup_adc_ports(ALL_ANALOG); setup_adc(ADC_CLOCK_INTERNAL); set_adc_channel(0); delay_us (20); while(TRUE) { leitura = read_adc(); set_pwm1_duty(leitura); } }
  15. Fiz algumas modificações no codigo do vtrx,para tocar um bip nas horas cheias e acender o back light #include <16F877A.h>#device adc=10 //Habilitar ADC de 10 bits, obrigatório. Pode //ser utilizado de 8 bits também.#FUSES NOWDT //No Watch Dog Timer#FUSES XT //Clock <=4Mhz#FUSES PUT //Power Up Timer#FUSES NOPROTECT //Code not protected from reading#FUSES NOBROWNOUT //No brownout reset#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O#FUSES NOCPD //No EE protection#use delay(clock=4000000)#include <ds1307.c>#include <lcd.c>#define botao_incremento PIN_B0#define botao_decremento PIN_B1BYTE sec;BYTE min;BYTE hrs;BYTE day;BYTE month;BYTE yr;BYTE dow;int8 modo,temp;int16 adc;float temperatura;char dia_da_semana[7][8]={ "DOMINGO", "SEGUNDA", "TERCA", "QUARTA", "QUINTA", "SEXTA", "SABADO",};#int_ccp2void trata_ccp_2(){ modo++; if (modo > 7 ) { modo = 0; }}void main(){ setup_ccp2(CCP_CAPTURE_RE); enable_interrupts (int_ccp2); enable_interrupts (global); setup_adc_ports(AN0); //Configura canal 0 analógico setup_adc(ADC_CLOCK_INTERNAL); //De acordo com relógio interno. set_adc_channel(0); //Habilita canal 0 delay_us(20); //Espera um pouco, obrigatório! ds1307_init(); lcd_init(); modo = 0; temp=0; while(true) { switch (modo) { case 1: { if (input(BOTAO_INCREMENTO)) { delay_ms (75); hrs++; } if (input(BOTAO_DECREMENTO)) { delay_ms (75); hrs--; } if (hrs > 23 ) { hrs = 0; } /*if (hrs == 255 ) { hrs = 23; }*/ printf(lcd_putc,"\fAjustar Hora:\n%u",hrs); delay_ms (100); break; } case 2: { if (input(BOTAO_INCREMENTO)) { delay_ms (75); min++; } if (input(BOTAO_DECREMENTO)) { delay_ms (75); min--; } if (min > 59 ) { min = 0; } /*if (min == 255 ) { min = 59; }*/ printf(lcd_putc,"\fAjustar Minutos:\n%u",min); delay_ms (100); break; } case 3: { if (input(BOTAO_INCREMENTO)) { delay_ms (75); sec++; } if (input(BOTAO_DECREMENTO)) { delay_ms (75); sec--; } if (sec > 59 ) { sec = 0; } /*if (sec == 255 ) { sec = 59; }*/ printf(lcd_putc,"\fAjustar Segundos:\n%u",sec); delay_ms (100); break; } case 4: { if (input(BOTAO_INCREMENTO)) { delay_ms (75); day++; } if (input(BOTAO_DECREMENTO)) { delay_ms (75); day--; } if (day > 31 ) { day = 1; } if (day == 0 ) { day = 31; } printf(lcd_putc,"\fDia do Mes:\n%u",day); delay_ms (100); break; } case 5: { if (input(BOTAO_INCREMENTO)) { delay_ms (75); month++; } if (input(BOTAO_DECREMENTO)) { delay_ms (75); month--; } if (month > 12 ) { month = 1; } if (month == 0 ) { month = 12; } printf(lcd_putc,"\fAjustar Mes:\n%u",month); delay_ms (100); break; } case 6: { if (input(BOTAO_INCREMENTO)) { delay_ms (75); yr++; } if (input(BOTAO_DECREMENTO)) { delay_ms (75); yr--; } if (yr > 99 ) { yr = 1; } if (yr == 0 ) { yr = 99; } printf(lcd_putc,"\fAjustar Ano:\n%u",yr); delay_ms (100); break; } case 7: { if (input(BOTAO_INCREMENTO)) { delay_ms (75); dow++; } if (input(BOTAO_DECREMENTO)) { delay_ms (75); dow--; } if (dow > 7 ) { dow = 1; } if (dow == 0) { dow = 7; } printf(lcd_putc,"\fDia da Semana:\n%s",dia_da_semana[dow-1]); delay_ms (100); ds1307_set_date_time(day,month,yr,dow,hrs,min,sec); break; } default: { if ((min == 59) && (sec ==59)){ output_high(pin_b4); delay_ms(100); output_low(pin_b4); delay_ms(100); output_high(pin_b4); delay_ms(100); output_low(pin_b4); } { temp++; if(temp == 10){ adc = read_adc(); //Lê canal 0 temperatura = (5.0 * adc * 100) / 1024.0; //Conversão para tensão. temp=0; } ds1307_get_date(day,month,yr,dow); ds1307_get_time(hrs,min,sec); printf(lcd_putc,"\f%s %02d:\%02d:\%02d\n%02d/\%02d/\%02d %2.0f%cC",dia_da_semana[dow-1],hrs,min,sec,day,month,yr,temperatura,0xdf); // printf(lcd_putc,"\f%s %02d:\%02d:\%02d\n%02d/\%02d/\%02d %f",dia_da_semana[dow-1],hrs,min,sec,day,month,yr,temperatura); delay_ms(100); { output_high (PIN_B5); } // output_toggle(pin_b2);{ // delay_ms(100); // output_toggle(pin_b3); // delay_ms(500); // output_toggle(pin_b3); // delay_ms(500); } } } } }
  16. Paulo e Matheus LPS, eu gravei o PIC com as correções que o VTRX indicou e parou de pular a contagem dos segundos e tambem alteria a linha que o Matheus disse e agora esta joia,apenas acho que ele esta adiantando um pouco,uns segundos por dia mas isso como o vtrx disso não vai ficar perfeito com a precisão da hora oficial de brasilia. Obrigado a todos que de alguma forma contribuiram e deram suas opinioes e sugestoes para aumentar o nosso apredizado
  17. Matheus,instavel depois da virgula,mas vou fazer as modificações que voce me indicou,mas com o codigo do VTRX não liga o back light,eu sei que é aquela parte do codigo void trata_tempo() { tempo++; if (tempo == 10)// 5 segundos { output_toggle (PIN_B5); //inverte o nivel logico de RB5 tempo=0; disable_interrupts( INT_TIMER1); //Habilita interrupção timer1 } set_timer1 (3036) voce acha que se acrescentar ao codigo vai mudar algo?
  18. VTRX,gravei o Pic com codigo que voce me passou,ele agora não esta mais pulando os segundos e vou deixar ligado essa noitepara ver a precisão e o sincronismo com o horario de Brasilia. O display esta marcando a temperatura ambiente com virgula e fica instavel as casas decimais
  19. Matheus LPS,sim deixei mais de 1 semana ligado direto ,mas ele continua pulando em algum momento os segundos. Quanto a modificar a placa com jamper sem problema,mas eu vou mexer com ela hoje pois ela não estava aqui comigo.e vou fazer aqueles testes que os colegas sugeriram,de mexer no delay final....vamos fazer mais testes Obrigado!
  20. VTRX,voce simulou o codigo no Proteus? Para mim o lcd fica maluco,a contagem das horas vai para a esquerda e da um valor absurdo.
  21. Segue link http://www.4shared.com/file/1iDfW6TIce/relogio_do_matheus_LPS.html http://www.4shared.com/file/RAihAdoTba/relogio_do_mateus.html http://www.4shared.com/file/q2q3Iak_ba/relogio_do_matheus_LPS.html
  22. VTRX,não sei como colocar os arquivos em um link como voce pediu,como é?
  23. Paulo e MatheusLPS,obrigado pela ajuda estou aprendendo muito,foi falado em problema no cristal,mas como se esta dando esse erro na simulaçao do Proteus tambem?? Matheus peguei o link original com o codigo feito por voce compilei e simulei no proteus,deu esse erro,posso mandar o arquivo do proteus para vocês analizarem....

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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!