Ir ao conteúdo

.if

Membro VIP
  • Posts

    15.915
  • Cadastrado em

Tudo que .if postou

  1. Tal curto pode estar em qualquer ponto da placa. Existe uma técnica relativamente avançada e 100% original de minha autoria (da era pré internet) na qual tive sucesso duas ou três vezes. Consiste em aplicar vcc com fonte externa diretamente entre vcc e gnd. Com um resistor em série vais aplicar uma corrente duns 1... 5A e sair medindo os pontos vcc/gnd na escala 200mV. Onde der mais próximo de zero: o curto está próximo. Num caso achei um capacitorzin 0805 em curto. Noutro, trilhas. No entre trilhas suponho ter sido migração iônica. O capacitor também pode entrar em curto por migração iônica. Noutro ainda - pasme - era curto de camada interna num furo metalizado o qual furei, refiz e... eureka!
  2. talvez ele tenha criado vida própria e está se recusando a amplificar seu tipo de música.. funk? af São problemas distintos. Publique fotos-desenhos pra se ter alguma ideia do que vocês estão fazendo...
  3. Realmente pra mim tens razão. Mas parece destes óculos com câmera o que não é tão incomum mas enfim... Bem de mim vais ler só chutes... Ve no manual se tem alguma função algo como reset de fábrica. Talvez ligando segurando um botão ou manter pressionado por algum tempo sei lá... ... sem chance...
  4. Aí sim hein Albert fez sentido. Agora sim quase vejo mentalmente a turbulência entre as muitas pás ferrar o sistema. Sério. Mas será que mesmo com ventos fracos tipo brisa as muitas pás não são + interessantes? Só questão de mentalização mesmo... afinal eu (eu) teria dificuldade em competir com a ciência e décadas de avanço...
  5. Eu vi ao vivo(!) uma carreta monstruosa transportando uma (01) hélice destas. (não é esta mas quase) 1.img>1k.txt De fato estes geradores têm caixa de engrenagem pra aumentar rotação. Pra isso as pás tem que dar bastante torque. Só não entendo o porquê optam por 3 pás. No meu entendimento (limitado a quase zero), este tipo parece dar mais torque porquê tem mais pás do que este... e que hélice mais fininha...
  6. e são incompatíveis e não devem ser usados no mesmo tópico kk
  7. De fato a ideia foi do amigo ... no google imagens caiu por perto por aqui mesmo... mundo grandemente pequeno...
  8. É... um código pronto seria uma "mão na roda" mas infelizmente não tenho. Mas penso ser simples. você deve: -inicializar um timer como contador livre a uma velocidade (frequencia) mais ou menos lenta. Estime um valor pra que ele nao estoure pro caso de rotação bem baixa. -zerar o timer -criar uma interrupção - sinal do reed ligado num pino do mc - para uma girada da roda e nela (interrupt) capture o valor atual do timer. Pronto: este é o valor que vai usar na matemática da velocidade -zerar o timer Na saída do processo acima você vai ter um valor qualquer que te diz quantas unidades de contagem levou pra dar uma volta sendo este proporcional à rotação. Ainda não é velocidade em km/h claro mas é linear e proporcional. A matemática da conversão é ... bem... colabora um pouco...
  9. Baseando no que o o autor tem ao alcance das mãos, só relé da conta. Caro amigo imagine um rele cujo contato é o interruptor da própria bobina e estes contatos em paralelo com sua chave ou seu botão de gabinete. Assim que ele fecha, não abre mais mesmo soltando o botão. Agora imagine o alarme em paralelo com a bobina. Pronto.. fica tocando eternamente
  10. Quantos v de entrada? É onda completa mesmo? E na bateria? ainda há chiado? Experimente colocar uma carga duns 30...220R nas entradas de áudio. Talvez capacitor chute 1..10nf também. Também alguma carga mínima chute 100R na saída do regulador. Um indutor - chute qualquer um que você tiver - na entrada dele não deixa de ser uma opção. Os proprios 78xx podem gerar ruídos. Experimente reduzir a V de entrada ligar direto sem eles ou com algum R pra quebrar a V
  11. ele está pulsando o port rc5 depois que fizestes RC5_bit^=1? Os fuses extão coerentes com o circuito? reset? watch dog? power good? etc? Pra simular: -nem precisa cristal -o pino reset deve estar no vcc e não no ponto R1(1) Conecte no power: tem no menu lateral. fica perto do gnd - abç
  12. .if

    Outro dual led 7 segmentos 8051

    pois é minino ... não vi conexão com led mas enfim penso que você deve dar preferência pra saber como, por quê, quando ele faz isso a nível bem baixo mesmo até de bit se necessário. Vamos tentar dar uma desenferrujada... tipo assim... Pra constar, mexi com asm 8051 há muitos (e muitos!) anos... Tipo ....penso que você "aponta para o dado" dptr datapointer ou seu "dp" para a tabela. Digito de memória (fraca) mov dptr,#tabela digamos que a seja 5. e quando aparece o comando movc a,@a+dptr ele pega o valor (o "desenho") que está no endereço tabela+5 e põe no a Quando faz portb=a, pronto... o "desenho" ou forma ou padrão do número 5 fica no portb. Mas isso foi chover no molhado pois penso que você já sabia pois o fonte é seu né? NÉ?!. Se não, cogite dar uma reestudada no asm 51. Pra colocar dezena em outro display - outro port - e fazer (em assembly) as continhas que te passei pra achar o decimal e unidade. Dei uma googlada e olha isso que legal. Em especial, o que confirmo da minha vaga lembrança, a instrução da a que pode facilitar sua vida pra indexar unidade e dezena da tabela Pena que em assembly posso te ajudar pouco ou quase nada. Mas valeu pra eu abrir um pouco meu baú mofado kk
  13. provavelmente a foto não mostra mas provavelmente há vias de transpasse metalizada entre o corpitcho dele e o outro lado. Então não é só placa. Conta-se com metal também. sim... existem colas apropriadas pra isso: condução térmica. No caso do dpack vamos de solda mesmo. Neste caso levo uma ligeira vantagem sobre ti: além de ver diariamente, senti com o tato, já ouvi explodir, e senti o cheiro dele , só não comi - o único sentido que falta
  14. .if

    Outro dual led 7 segmentos 8051

    De fato não analisei o fonte assembly. Mas provavelmente fizeste uma tabela com os "desenhos" de 0 a 9 e um index pra localizar o desenho né? Neste caso basta-te colocar o display em outro port pra acomodar a dezena. Algo como (em c sorry) PB0=tabela[resultado/10] // dezena PB3=tabela[resultado%10] //unidade: o que sobra da divisão Pesquise no teu asm qual a instrução de divisão. Ah.... me lembro vagamente que o 51 tem uma instrução algo como DA A ;//sorry não confirmei no google.. só na memória mesmo que faz o acumulador se transformar em decimal nos 2 nibbles mantendo o valor. Especialmente útil pro teu caso.
  15. Pode ser sim amigo. Não vejo a configuração dos fuses. Apesar de não ter conexão com o problema, o comentário está errado. E não deve acionar o scr quando precisar. Dica: corrija para TRISC=0x00; e coloque um led em RC5 pra ver se pisca. Veja com osciloscópio. RC5_bit^=1; dentro do loop.. agora sabe o que é né?
  16. Pra alguém que acaba de 'sair da fralda' eletronicamente falando tende a ser uma tarefa hercúlea sim. Mas me admira você (você!) estar me dizendo isso. Ahhh esqueci... smd não é da sua época kk. E... seu ferro tem pouca potência ... pra distribuir bem o estanho! . Conseguimos boa conexão térmica sim com bom resultado sim meu bom amigo. Basta alguma técnica-arte-magia e calor apropriados. Isso se estiveres falando da solda. Se do dissipador, realmente a camada de cobre da pci pode ser deficitária mesmo conectando camadas de cobre com muitas vias de transpasse próximas. Mas na concepção do projeto isso já deve ser previsto. Olha a responsa hein - e a honra... num é que o cara vai montar o seu circuito? Bacana véy... abç
  17. sem problema amigo. Permita-me dar-lhe uma microaula... você precisa colocar o programa dentro de um loop (laço) eterno ou melhor um loop dentro do programa. Ele começa e volta ao começo automaticamente. No seu programa não tem isso. Perceba que o seu end da função principal (main) e não vemos loop: laço com retorno. Tentemos na sua língua... tensao1=adcread(0);//precisa ler pra registrar a = ((tensao1*4)/100));//4% da tensão nominal ... tinha um engano no seu fonte b = ((tensao1*7)/100));//7% da tensão nominal ... compare pra você ver. 4/100 ia dar sempre zero para inteiros x = tensao1-a;//tensão nominal-4% y = tensao1-b;//tensão nominal-7% for(;;) //ou while(1) { // o que estiver entre esta chave e "aquela", vai ser executado eternamente tensao2=adcread(0); //precisa ler pra comparar if (tensao2>x)// se a queda estiver menor que 4%, liga o led verde { RA1_bit = 1;//led verde ligado RA2_bit = 0;//led amarelo desligado RC0_bit = 0;//interrupção desligada } else if (tensao2>y && tensao2<=x)// se a queda estiver entre 4% e 7%, liga o led amarelo { RA2_bit = 1;//led amarelo ligado RA1_bit = 0;//led verde desligado RC0_bit = 0;//interrupção desligada } else (tensao2<y);// se a queda for maior que 7%, liga o circuito de interrupção e o led vermelho { RC0_bit = 0;//interrupção ligada RA1_bit = 0;//led verde desligado RA2_bit = 0;//led amarelo desligado } }// "aquela" }// end função principal Perceba o engano da conta que fizeste. Mas penso que estamos no caminho certo sim amigo. Por gentileza cogite não queimar a etapa do pisca led. Também aprenda a ler o adc e colocar numa porta observando no proteus o valor binário p.ex. for(;;) PORTB=adcread(0); //só isso e portas se abrirão um loop de um comando só...
  18. Aí sim amigo. Realmente se estiver dentro do delay ele não lê o botão. Pra contornar isso, uma (01) maneira é : você deve criar uma interrupção por mudança de estado de pino e dentro dela fazer o x=x+1; e também aguardar a soltura do botão. Assim sendo cada vez que apertar, vai esperar acabar o efeito e partir pro próximo. Vai ter que dar uma estudadela no recurso de interrupt do seu mc ok?
  19. De fato a ideia era só expor um ponto de vista mas mesmo assim de novo.. perdão. Situação extremamente útil pra gente conhecer outras pessoas, outros pontos de vista, e principalmente pra gente refletir, se autoconhecer a si próprio, se localizar e ... se tocar. Pra concluir... Sabe qual a menor distância entre 2 pontos? O bom humor! Boa sorte
  20. Perdão mas não analisei o código todo... Penso que as funções que escrevem no dia e mês são: e Ajuste, crie variáveis do alarme v_mes, v_dia; v_mes=read_I2C_DS1307_Mes(); v_dia=read_I2C_DS1307_Dia(); Localize onde menciona horas e minutos e acrescente dia e mês. Algo como... ... if( (aux_hora == v_hora) && (aux_min == v_min) && (aux_mes == v_mes) && (aux_dia == v_dia) ) { Ouvi dizer que este chip de relógio tem memória ram. Especialmente útil pra estas funções de alarme pro caso de ausência temporária de luz.
  21. Perdão mas não li tudo (2big) mas percebi os termos e o que me fez remeter à lembrança que aqueles nebulizadores usam os 2 termos pra nebulizar a água... Quiçá uma remota chance de conexão... ou não... Ah li isso também... Se foi só pra isso, fizestes uma escolha bem desafiadora pois penso que há opções mais simples. P.ex. .. acender um led
  22. Falta o loop na função principal Penso que isso se resolve em poucas linhas. De fato de posse dos sabidos valores em ad, nem é necessária nenhuma conversão para porcentagem. Dica: envie primeiro os valores pra um terminal pra visualizá-los e anotá-los #define ledVerde Ra1bit; #define ledVAmarelo Ra2bit; #define ledVemelho Rc0bit; #define _4pc 20 //p.ex. #define _7pc 35 //p.ex. unsigned int Vok,V; main() { //setup do hw Vok=adcread(0);//registra valor correto. Consideremos que 512, a metade dos 10 bits, é 100% for(;;) { V=adcread(0); if (V>Vok-_4pc) ledVerde=1; else {ledVerd=0;ledAmarelo=1;} if (V>Vok-_7pc) { ledVemelho=1;ledAmarelo=0;} else ledVermelho=0; } } Ou algo do gênero A parte menos fácil é achar os valores das constantes _4pc e _7pc. Registre-se: registrar na eeprom é um opção adicionado 7 minutos depois Pensando melhor... (se é que me é possível)... unsigned int _4pc,_7pc ... Vok=adcread(0); //valor correto _4pc=(Vok*4)/100; //4% _7pc=(Vok*7)/100; //7% ... Sei lá... 1/2 de ressaca ainda....
  23. Paulão @aphawk está correto mas vi que você já colocou Mas vai que x cria vida própria e vai a 7 então vai demorar a voltar a ser 6. Por isso eu (eu) gosto de colocar p.ex. if (x>5). você pode ter esquecido de pullup no botão. Publique o circuito... Capacitor no botão cai bem.
  24. Conforma-te pois não estás sozinho. Vejamos o argumento é o dado que a gente coloca dentro dos ( ) da função. Nela, este vai ser manipulado e fazer o que tem que fazer. No caso do delay suponho ser em miliSegundos. O autor ajusta como quer. delay( ) : uma perda de tempo Perdão. Realmente errei. Pois não sabia que algo ou alguém usaria função pra ler um simples bit digital de um pino de um mc. Eu (eu) sempre li o pino diretamente. Confundi com analog read. Sorry Tua colocação é válida. Mas permita-me levar a sério temporariamente e argumentar que : caso o autor domine corretamente o sistema em questão, há maiores possibilidades como p.ex. filtros, ajustes de sensibilidade, temporizações e afins. Além claro da adrenalina aliada à algum aumento de conhecimento... ...O que me retorna à analogread() do sinal refletido: maior potencial de sucesso. Falando nele... Sucessos!
  25. Provavelmente esta a tampa é colada. Vai ter que arriscar a tentar separar com um estilete p.ex. Cuidado pra nao se cortar

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!