Ir ao conteúdo
  • Cadastre-se

Luan Borges

Membros Plenos
  • Total de itens

    26
  • Registro em

  • Última visita

  • Qualificações

    0%

Reputação

2

Sobre Luan Borges

  • Data de Nascimento 21-02-1997 (21 anos)

Informações gerais

  • Cidade e Estado
    Brasilia DF
  • Sexo
    Masculino
  1. Não sabia dessa, vou tentar e ver no que dar. Mas muito obrigado por esta me ajudando
  2. Presto bem atenção na hora de fazer as placas, e pra cada coisa sai uma trilha de GND e VDD, vindo de um capacitor "central" de onde sai todas, e antes do capacitor, está a alimentação principal. Não sei se pode ser isso
  3. Boa a tarde a todos. Estou com problemas nas minhas portas ADC's, um leitura esta influenciando nas outras, estou usando 3 saídas ADC (PIC18F4550). Uma pra medir tensão, e as outras duas temperatura de diferentes coisas. Mas toda vez que uma delas é modificada, as outras também são influenciadas. Queria saber como corrigir esse erro. Alguém sabe me dizer? Estou usando o pino de referencia GND do Pic //======== tensão ===========// Media = 0; for(y=0;y<=38;y++){ delay_us(100); Media = Media + adc_get_sample(0);} q1 = (media/38); p1 =(q1*5)/1023.0; q2 = p1*4.0; FloatToStr_FixLen(q2,txtV,5); if(q2<10&&Lim){lm = 0x01; Lim = 0x00;} if(q2>10)Lim = 0x01; //=============================== // Leitura do Ferro de Solda leds = adc_get_sample(3); leds = leds/1.33; leds = leds+27; ferr0_ = leds ; IntToStr (leds,leds_string); //TEMPERATURA DO DISSIPADOR tmp1 = adc_get_sample(1); tmp1 = tmp1*500; tmp1 = tmp1/1023; tempC= tmp1; IntToStr(tmp1,txtTe); //PWM cooler if(tempC >30 && tempC <35)cooler = 50; else if(tempC >35 && tempC <40)cooler = 150; else if(tempC >40){cooler = 200; Per = 0x01; LED = 0x01;} else if(tempC <30){cooler = 0; if(Per)lm = 0x01; Per = 0x00; LED = 0x00;}
  4. Oi Paulo. Tenho o 74HC595 também e continuo sem saber como mandar um bit sem alterar o outro, como dito acima
  5. Eu me baseio por essa tabela abaixo, caso eu estiver errado, culpe a ela kkk e nos corrija
  6. Boooa noite meu povo. É o seguinte, estou com 74HC164 aqui, e vou usar suas saídas porque é mais viável passar 4 fios do que passar 10 fios pro outro lado do quarto . Comunicação ok, ja está funcionando, mas acontece, que não sei como mudar um único bit, sem ter que dizer todas as vezes como eu quero que os outro 7 bits fiquem. Tipo um PORT de um PIC, se eu quiser mudar uma unica saída, eu só vou lá e digo que "RD0 = 1", E pronto, não mudei em nada nos outros pinos. Mas via SPI eu não to conseguindo fazer isso. Eu tenho que mandar todas as vezes o valor que eu quero em todas ás 8 saídas do 74HC164, e no que eu estou usando ele, não dar pra fazer isso. Tipo, vamos dizer que meu Buffer está com 0b1000000, e eu só quero mudar o valor do ultimo zero, e quero que o valor do primeiro, continue sendo 1, ta beleza, é só eu mandar 0b1000001, SÓ QUE, o primeiro bit nunca vai ter como eu saber como ele está, porque ele sempre vai mudar de acordo com a temperatura do LM aqui, então se eu mandar 0b10000001 e o primeiro tivesse em zero, eu vou força ele a ser 1 bugando todo os resto do código que dizia q ele era 0, porque ele tanto pode está em 1 ou como em 0. Eu só quero manter o valor dele seja ele qual for, e mudar todos os outros 7 da mesma forma. Sempre que eu alterar um bit, ele manter os outros como estão. PFV me ajudem nisso, não sei se me explique da melhor forma, então se tiver alguma duvida me avise. Obrigado a todos
  7. Hmmmm. Muito obrigado. Nesse meio tempo fiz testes na pratica. Cada bit dos 256 do pwm estão correspondendo por 0.04 mv. Gostei muito, da pra dar uns ajuste muito fino. E sim, essa é uma fonte de bancada com um Display LCD de 16X02, Em conjunto com um ferro de solda o qual no display também mostrara a temperatura. Meu único medo era da oscilação mesmo. Mas ja vi que da pra resolver tudo na hora de fazer a placa kkk
  8. vou fazer aqui. long - 16bit - variáveis inteiras sem sinal, capacidade de 0 a 65535 signed long - 16bits - variáveis inteiras com sinal, capac. de –32768 a 32767
  9. tipo, spi_out_H = spi_out_H*256; ai depois: ""word"" = spi_out_H+spi_out_L; ai depois : "word" = "word">>3; "float" = "word" ; "float"= "float"/4; ??
  10. Olá, boa noite a todos. Então, do seguinte, to com uma duvida enquanto a uma fonte ajustável via PWM. Estou montando uma, e não sei se faço via PWM de um pic, ou pelo LM317. Sem duvidas seria bem melhor pelo pic, porque não teria necessidade de usar um Potenciômetro(dois no caso, um pro ajuste fino e outro pelo grosso). Ia ser controlado por dois botões, com variação de 0.08mV. Mas minha duvida é. Tem perigo de alguma coisa q eu for ligar na saída dessa fonte que possa dar algum bug por conta da frequência que esse circuito iria oscilar por conta do PWM, ou é melhor o LM317 mesmo? Obrigado pela atenção
  11. infelizmente continuo sem entender muito dessa comunicação, depois vou tirar um dia e estudar ela, enfim.. ficou assim rc0_bit = 0; spi_out_H = Spi_Read(buffer); spi_out_L = Spi_Read(buffer); rc0_bit = 1; Delay_us(20); spi_out = spi_out_H*256+spi_out_L; spi_out = spi_out >> 4; Delay_ms(300); spi_out_ = spi_out - 21; // Menos 21 porque foi a diferencia de temperatura q estava marcando IntToStr(spi_out_,NTC_temp); lcd_out(1,1,NTC_temp); Criei "float spi_out_ " e disse q o spi_out era ele, e pronto, tudo pela ordem, sem bugs, ah, e multiplique ali por 256 como você disse. Mas claro, isso tudo até agora está na teoria, vamos ver na pratica quando meu ci chegar kkkk porque na teoria tudo é lindo
  12. Obrigado paulo. É.. Você poderia me fala mais a respeito de como é feita a leitura desses bits? Como funciona a comunicação
  13. Eu encontrei um na internet, e estou usando ele por enquanto. Ele dar uns bugs, as vezes a temperatura está em 180, e ele fala q está em 200. Tenho uma boa leitura na faixa dos 350 á 470º // SPI // unsigned char spi_out_H; unsigned char spi_out_L; unsigned int spi_out; unsigned char buffer; unsigned char NTC_temp[7]; ...... void main() ... // SPI SPI1_Init(); .... //=================================== BASE T 2 if(baseT2 ==4) {baseT2 = 0x00; //------------------ S P I ---------------------/ rc0_bit = 0; spi_out_H = Spi_Read(buffer); spi_out_L = Spi_Read(buffer); rc0_bit = 1; Delay_us(20); spi_out = spi_out_H*243+spi_out_L; spi_out = spi_out >> 4; IntToStr(spi_out,NTC_temp); LCD_Out (2,1, "Ferro:"); LCD_Chr_Cp (NTC_temp[2]); LCD_Chr_Cp (NTC_temp[3]); LCD_Chr_Cp (NTC_temp[4]); LCD_Chr_Cp (NTC_temp[5]); LCD_Chr_Cp (223); LCD_Out_Cp ("C"); Delay_ms(300); //----------------------------------------------/ }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×