Ir ao conteúdo
  • Cadastre-se

cesarlg

Membro Pleno
  • Posts

    766
  • Cadastrado em

  • Última visita

Tudo que cesarlg postou

  1. Bom , estou disposto a ajudar, mas tentei ler do inicio do post e nao entendi o q quer executar.. kkkk.. desculpe. inclusive olhando o ultimo codigo q postou tem algumas coisas extranhas como no "void main". alem de no começo ser com o pic 16f628 e agora com o 16f877a. você falou de tempo em segundo para executar a funcao, nem timer ta ativado no codigo .. outra coisa... particularmente nao consigo saber o q seria essa expressao #include <personalpic1.h>. livraria para o lcd? minha opiniao seria você descrever realmente o q precisa, alem do hardware q pretende fazer (quantos botes de entrada, qts saidas,vai ler algo analogico, cristal) e ai juntos começariamos a escrever algo, talves bem mais simplificado. sem bugs.. abraço CesarLG
  2. so para contribuir.. se precisar gravar valores maiores q 255 na eeprom , utilize biblioteca : #include <internal_eeprom.c> e as chamadas: write_int16_eeprom(1,x); x= read_int16_eeprom (1);
  3. amigo essa semana estou cheio de serviço por aqui, mas fds vou testa-lo sim,, me parece muito boa a solucao!! parabens
  4. Amigo qual compilador? Posta o circuito, pois pelo q descreveu sobre tocar na plca pode ser algo relacionado a pull up ou down.
  5. com certeza o erro maior esta em relação ao uso de chaves, veja ja começa na linha onde devine o botao_inverte kkk , no restante do codigo ja notei q tb colocou em lugares errados, e isso vai interferir na realizacao do q você quer.. faltou alguns pontos e tal.. Bom,, dei um concerto com relação das chaves, mas pode vir outros problemas no q se refere a realizacao das funcoes,, testa ai e diz p gente q te ajudamos.. falou #include <16F877A.h> #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) #define botao_incremento PIN_D0#define botao_decremento PIN_D1#define botao_stop PIN_D2#define botao_inverte PIN_D4int8 ciclo_1, ciclo_2;int1 modo=0, stop; void main(){ output_high(PIN_B0); SETUP_CCP1(CCP_PWM); SETUP_CCP2(CCP_PWM); setup_timer_2(T2_DIV_BY_4,249,1); set_pwm1_duty(0); set_pwm2_duty(0); while (TRUE) { if (stop == 1) { output_high (PIN_B0); if (modo == 0) { if (input(botao_incremento)) { ciclo_1 = ciclo_1 + 5; do{} while(input(botao_incremento)); } if (input(botao_decremento)) { ciclo_1 = ciclo_1 - 5; do{} while(input(botao_decremento)); } set_pwm1_duty(ciclo_1); set_pwm2_duty(0); } if (modo == 1) { if (input(botao_incremento)) { ciclo_2 = ciclo_2 + 5; do{} while(input(botao_incremento)); } if (input(botao_decremento)); { ciclo_2 = ciclo_2 - 5; do{} while(input(botao_decremento)); } set_pwm2_duty(ciclo_2); set_pwm1_duty(0); } if (input(botao_inverte)) { modo++; do{} while(input(botao_inverte)); } } if (stop == 0) { output_low (PIN_B0); } if (input(botao_stop)) { stop++; do{} while(input(botao_stop)); } }}
  6. você pode incluir botões onde você abre o contato na hora da gravacao, ou então como comentaram,pinos PGC e PGD exvluisvos para gracacao . no exemplo q postei, o botao p "cortar" o vcc p o restante do circuito pode se deixar de usar qd a carga for despresivel , q o gravador pode suprir.. acredito q tb possa usar a alimentacao do proprio circuito cuidando p exluir a conexao com o VCC do gravador// abraço
  7. pode postar o codigo desse seu teste? obrigado
  8. sobre a eeprom , consegui contornar usando essa biblioteca : #include <internal_eeprom.c> usando assim: write_int16_eeprom(1,x); x= read_int16_eeprom (1); valeu amigo Luiz,, pode se dar topico como encerado
  9. realmente era ruido do botao.. acrescentei um capacitor neste pino e me parece q esta quase resolvido.. aproveitando sobre essa porta schmitt, como funciona no pic? achava q era um ci dedicado... Aproveitando no mesmo codigo escrito eu salvo uma variavel tipo int16 chamada de "äjuste", mas ao testar na pratica, nao ficou a contento.. trato essa funcao de gravar na eeprom em 2 momentos, como estou trabalhando com switch, primeiro gravo no case onde acontece o incremento ou decremento da variavel ajuste , desta forma write_eeprom (1, ajuste); depois no default eu verifico qual o numero gravado assim: ajuste = read_eeprom(1); mas se eu desligo o pic e ligo vejo q a variavel nao esta sendo gravada coretamente, até o valor 255 me parece gravar bem, apos esse valor nao mais. e eu preciso utilizar até 9999. agadeço se puder explicar onde erro! obrigado
  10. bom gostaria de ver se estou no caminho certo pois nos meus testes praticos me parece q estou tratando errado a interupcao externa, bom explico.. tenho um pic16f877a e vou usar a porta B0/INT (pino 33).. tenho o CCS como compilador e trato da seguinte forma durante o trecho do programa: ...int16 contador=0;#int_EXTvoid EXT_isr(void){contador++;}void main(){ disable_interrupts(INT_EXT); disable_interrupts(GLOBAL);...while(TRUE) {switch(modo)...case 2 :{ enable_interrupts(INT_EXT); enable_interrupts(GLOBAL); printf(lcd_putc,"\fSTATUS:'ativado'\nN. PULSOS : %04lu "contador);... Bom neste pino tenho um sensor indutivo q terei um sinal na faixa de aprox 1HZ. pergunta, estou tratando certo? é coreto usar ele como contador? digo isso porque estou sem o sensor e uso um botao p simular e parece q o contador nao esta subindo de 1 em 1 e sim muito mais..... ja utilizei um pull down 10k e nada.. grato pelas opinioes sera q estou erando em algo?
  11. Não é porque nao estou participando da discussao que estou desinteressado pelo assunto, pelo contrario !! kkkk Estou tentando alguns metodos , mas ainda nao cheguei a um ponto legal. ainda preciso encostar no metal p ter boa resposta.. bom... vou tentando implementar isso em pic sem ser aqueles com pinos dedicados a touch...é claro q com todos essa opções passadas pelos colegas, ja se torna bem melhor ter um mcu com essa opcao.... no mais se tiver algum sucesso , retornarei kkk enquanto vou acompanhando
  12. Poste o circuito em questao e a fonte q usa,, ou passe o link do topico se ja existe td esse material.. valeu
  13. Pessoal, se q as vezes atitudes liberta em nos uma revolta, kkk , mas temos q saber relevar.. Veja só aphawk, vtrx, nomes muitos conhecidos aqui por estarem sempre ajudando, incluido rodrigocirilo q apesar de ser um colega "novo" no forum, ja mostra sua disposicao em aprender e a esclarecer duvidas aos demais!! todos aqui, inclusive eu, somos gratos pelo q fazem.. Vamos amenizar o clima, qm pode astear a bandeira branca, faça !! kkk nao vamos delongar os post de um assunto q pode ser simples (botao capacitivo), mas com muito pouco material por ai... Voltando.... vendo um trabalho de conclusao , adaptei alguma coisa e quero q opinem, claro q falta testar, tenho o material , so falta o tempo .. kk #include <16F877A.h> #FUSES NOWDT #FUSES XT #FUSES PUT #FUSES NOPROTECT #FUSES NODEBUG #FUSES NOLVP #FUSES NOCPD #use delay(clock=4000000)#include <lcd.C> #define LED PIN_C7 #define LED1 PIN_C4 #define SENSOR1 PIN_B0 #define TOQUE 7 #define CICLOS 50 int8 ciclosS1 = 0; int1 state1 = 0; float32 c,t ;void testa_estado(int l) { if(l == LED1) { delay_ms(100); if(!state1) { output_high(LED1); state1 = 1; } else { output_low(LED1); state1 = 0; }}}void main() { lcd_init();output_high(LED); lcd_putc("\n CESAR ");delay_ms(400);lcd_putc("\f \n ");delay_ms(200);while(true) { c = cicloss1 ; t = toque; printf(lcd_putc,"\f toque %2.0f \n ciclos1 %2.0f ",c,t);output_low(SENSOR1); delay_ms(1); output_high(SENSOR1); delay_us(2); output_float(SENSOR1); ciclosS1 = 0; while(input(SENSOR1) && (ciclosS1 < CICLOS)) { delay_us(150); ciclosS1++; } if (ciclosS1 < TOQUE) { testa_estado(LED1); ciclosS1 = 0; delay_ms(400); } } }
  14. seria algo parecido, mas bem mais simples, apenas botões (no lugar de push buttons).. exemplos: este feito com arduino: http://reader.feedshow.com/show_items-feed=256c2b200a0414a9cc54f71192b04cf6
  15. Ola galera, ja vi alguns videos e achei bem interessante esse tipo de botao, que na vdd nao precisa necessariamente ter contato direto, ou seja, atras de um plastico, vidro , etc... Apesar de supor como funciona, me falta muito p iniciar algo... A duvida é tanto no hardware qt no programacao do proprio pic.(utilizo CCS) se necessita de livraria. ou um codigo simples funciona.. ouvi dizer q a Microship tem um exemplo , alguns falam ate de testar na entrada analogica, mas nda encontrei.. Aguardo qq experiencia sobre o assunto
  16. Bom qt ao nao conseguir zerar as escalas de leitura de resistencia, muito provavelmente é algo relacionado a carga das pilhas e baterias internas.. tente troca-las!. ao verificar tensoes e colocar as ponteiras invertidas em relação a polaridade, o ponteiro irá mesmo se deslocar a esquerda,, mas normalmente volta ao local e nao causa prejuizo ao aparelho... agora a leituras eroneas de tensoes, nao posso opinar, mas verifique se isso persiste apos a troca da alimentacao do multimetro.. aguarde mais dicas dos colegas!
  17. aproveitando.... se no lugar no lmxxx, utiliza-se o lm 7812 para uma tensão fixa. teria q calcular da mesmo forma em cima da sua corente maxima? obrigado
  18. Pela indisponibilidade dos componentes como o seu esquematico faller, tentei refazer os calculos em cima do q encontrei, mas fica a duvida e gostaria das coreçoes. Imaginei calcular em cima da corrente maxima fornecida pelo CI (3A). Bom no geral o trafo é de maior capacidade, usarei o Lm350 e 3 TIP147. gostaria da aprovaçao se pode ser assim ou se os valores dos resitores envolvidos estão muito fora. os capacitores junto ao adj e saida do LM podem ser de 25uF /35v eletroliticos? Dissipador 10x20cm com fan será bem dimensionado? Obs usarei na maior parte do tempo saida regulada em 12v e os valor dos resistores nos emissores dos tips sao aqueles em vermelho (0R27) aguardo
  19. Em tempos analizando , gostaria de saber se estou certo posso sim utilizar o resitor acima citado. o q acontece é aumentar um pouco a corrente circulante no TIP. sobre o voltimetro um divisor resistivo funcionaria sobre o amperimetro se utilizar um resistor de 0r1 e fizesse a leitura em cima dele, daria uma queda de 100mV a cada Ampere? e onde é o melhor local de instalalo: logo após a ponte e capacitor ou na saida ? obrigado
  20. Bom.. vou fazer os pedidos.. no caso de trocar o resistor de 0r15 por 0r10, o que muda? gostaria de pelo menos utilizar um voltímetro e amperímetro q tenho aqui em um equipamento. pelo q notei eles fazem leitura em cima da queda de um resistor, tanto o voltímetro como o amperímetro.. gostaria de como fazer esse calculo para tirar essa amostra em mV e transformar em V e A.. espero q entendam!
  21. Realmente, acho q vou com os tips mesmo!! kkk a proposito.. sua fonte "Fonte de alimentação ajustável 1,2 a 20V x 10A - Primeira parte - Montagem " utilizou 1 LM338+2 tip147. a grosso modo penso q 5A + 2X2.5A respectivamente. apenas um Tip não bastava se suporta até 10A? Para uma montagem com lm317, quantos tips eu precisaria para 15A? 1lm+6tip? e o tamanho do dissipador em cm? valeu
  22. Foi exatamente o que imaginei! 1-existe uma forma de adaptar esses 2n3055 no lugar do tip147, pois um é NPN e outro PNP.? Dessa maneira vou partir p seu esquema e espero q utilizando os mesmos valores terei resultados satisfatórios.. 2- Independente se eu utilizar Lm317 ou lm350 ou lm338 os resistores vão ter o mesmo valor? 3- Para aumentar a capacidade de corrente a ser oferecida imagino q posso aumentar os TIPS e resistores envolvidos, correto? 4- Existe outro componente equivalente ao tip147 de maior potencia? qual a indicação? (preferencialmente de encapsulamento TO-3 que tenho já preparado seu dissipador). obrigado
  23. Gostaria de algumas informações e aprovação sobre o circuito postado, retirado de um site.. Colega do fórum, prof Faller, difundiu seu esquema que parece muito funcional, mas gostaria de utilizar algumas peças de sucata que tenho.. caso não aprovarem, ai sim, partirei para aquela. A fonte regulável deve permitir no mínimo de 10A a 15A. *outra questão: existe tip147 ou similar no encapsulamento TO-3 ou até mesmo outro mais potente nesse encapsulamento?
  24. Como não encontrei, peço q poderia disponibilizar o circuito para a comunidade aqui.
  25. Bom pode ser feito de varias maneiras, indico se em aprendizado utilizar apenas ifs. crie uma variável e a cada valor q ele toma, executa uma função. posto o código c para compiler ccs. #include <16F628a.h> #fuses XT, NOWDT, NOPROTECT #use delay(clock=4000000) #define botao PIN_a0 #define led1 PIN_a1 #define led2 PIN_a2 byte x=0; // programa inicia com variavel assumindo zero void main() { output_low(led1); // obriga os pinos de saidas assumirem estado baixo durante a inicializaçao do programa output_low(led2); while(true) { delay_ms(200); // deboucing If (input(botao)){x++;} // variavel q encrementa a cada aperto de botao if (x>3){x=0;} // diz q qd x chegar 4 volte p 0 if (x==0){output_low(led1);output_low(led2);} if (x==1){output_high(led1);output_low(led2);} if (x==2){output_low(led1);output_low(led2);} if (x==3){output_low(led1);output_high(led2);} } }

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...