
.if
Membro VIP-
Posts
15.902 -
Cadastrado em
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que .if postou
-
ok mas permita-me opinar que não foi muito inteligente colocar a expressão i2c na coisa toda. Isso gerou confusão - pelo menos na minha cabecinha de bagre mesmo com seus warnings. Resta-lhe agora a questão da coisa física... ... que podem lhe ser iluminados com publicação de fotos... embora continuo achando que a ignorada questão do clock é igualmente relativamente relevante
-
Se achar que deve, teça algum comentário sobre... ou melhor ainda, tome alguma providência no sentido. Há uma alternativa nada ortodoxa de se criar uma função mista com algo como char txtCab[] = "Descric Atual Limit"; while (*txtCab++) {Lcd_Chr(*txtCab);delay(tempo_do_Paulao);} //não é bem isso mas bem parecido Coloca 1 caractere por vez no display... Situações desesperadoras, medidas desesperadoras Obs: na próxima publique seu fonte direto no post e não pra baixar
-
Projeto: ajuste de histerese em comparador sem (muito) cálculo
.if respondeu ao tópico de rmlazzari58 em Eletrônica
Não precisa amigo. Ele possui referência interna constante pro conversor AD.. que já foi feito pensando neste projeto seu Assim sendo, ou sendo assim, pode mudar o quanto quiser ... desde que esteja dentro da faixa de Vcc que ele trabalha. -
Pode ser uma das chaves que vai em série com o sistema bem como fusível térmico ou a própria placa de controle e sua fonte que não aciona o relé ou este com problema Ou até mesmo o capacitor que já era. Espero não precisar de dizer que isto daí "mija na mão de criança" (expressão de minha época kk)
-
Apesar de eu (eu) achar que é pouca informação, devo observar que sua fonte pode não ter capacidade pra o sistema que está falhando. Analise se a capacidade de corrente da fonte é compatível com ele. Registre-se que desconheço ambos.
-
Algo me diz que os amigos tem uma pequena dúvida: se seu display é i2c ou direto nos ports. Podem haver tratativas diferentes. Há também a questão física da coisa. .. se há ruídos, relés e etc
-
Olás Quem faz esta temporização é a lib do display. Geralmente o programador nem dá bola pra ela mas neste caso penso que você não tem acesso à ela. Experimenta apenas diminuir o clock do mc nos fuses pra ver. Ou veja se tem como informar tal clock ao compilador ou a lib. Como este mc trabalha até 40Mhz ou 32Mhz interno de fato pode estar rápido d+ pro display. Caso de fato seja este o problema, há a alternativa de criar sua própria lib
-
Esquema Elétrico do 3 em 1 CCE SHC2200
.if respondeu ao tópico de Benito Polonorte em Equipamentos de som e home theaters
Mostre tal esquema... -
A 1ª - e torçamos pra que seja a única - coisa a se fazer é usar spray limpa contatos nos contatos dos botões.
-
PIC Interrupçao usando o timer0 com PIC no CCS
.if respondeu ao tópico de Poseidon. em Microcontroladores
Sua soma é válida sim amigo. Duas cabeças pensam melhor que uma kk. Trocadilhamente... no caso do projetinho uma cabeça pensa melhor e mais rápido que duas kk. A proposta foi elevar meu tradicional minimalismo a um outro patamar portanto bastou um mc apenas. E tem + : se prestar atenção vai ver que o sinal dele é praticamente na faixa de áudio o que em teoria pode ser transmitido p.ex. num transmissorzinho fm e recebido num radinho. O 'som' do a.f. poderia ser aplicado direto no 40106 ... e pra variar... já fiz algo assim só com lógicos no passado. Pra elevar também o simplificar a um novo nível, poderia ser um simples bit banging. Acredite se quiser mas já fim um em assembly sem manual pra um neandertal mc 8049 com janela (ainda tenho ele) lá nos 80...90. e com uso prático: um terminal num lcd. Aprendi o assembly dele apenas debugando o assembler .exe e deduzindo as palavras chave. Uma (01) das coisas + doidas que fiz quando com hormônios à flor da pele kk. A qualquer momento planejo criar um tópico sobre minhas descobertas recentes sobre alguns temas. A ideia é perpetuar ideias e como gosto de dizer, não totalmente inúteis pra incautos navegantes errantes do futuro .. Sabe-se lá quanto tempo estaremos por aqui, né? abç e tmj -
Projeto: ajuste de histerese em comparador sem (muito) cálculo
.if respondeu ao tópico de rmlazzari58 em Eletrônica
Me fez lembrar. Ando atualizando esta minha postagem no forum mc. Se prestar atenção... vai ver um pouco do conceito da histerese inata ao quase mágico cd40106 que mencionei neste tópico. Lembrando que a ideota acima é 100% original provavelmente sem paralelos na net (não pesquisei). Também envolve a expressão... bem como... (no meu caso) capacitores, imaginação, criatividade e... Ao cogitar o cd40106 suponho que tendo ele alta impedância de entrada, podemos polarizar sua entrada com divisor de tensão com R de MOhms e realimentar com a saída (invertida) pra trazer a histerese pro ponto que se deseja. Só conceito teórico, claro. O que não me impede de testar esta magia numa simulação... talvez algum dia. fechou -
TVs com imagem cortando na direita do tubo.
.if respondeu ao tópico de Blumer Celta em Televisores e projetores
Publique foto. Me lembro que existia uma bobina de linearidade horizontal. Era uma bobina com um ímã lateral que rodava para ajustar. Haviam também ímãs colados no tubo e na lateral do yoke. Quem pode confirmar talvez é a velharada @aphawk @MOR_AL@Sérgio Lembo @BCPe afins Ah e existiam também trimpots ou ajustes de polaridades de grades.. Registre-se que escrevo isso de memória (falha) sem consulta à net... -
PIC Interrupçao usando o timer0 com PIC no CCS
.if respondeu ao tópico de Poseidon. em Microcontroladores
Aqui deu certinho... https://i.imgur.com/yJRGepc.mp4 O fonte: //programa com pic12f1822 timer 20 minutos //V0.0 : desafio apenas //#include <xc.h> #include <pic.h> //#pragma config WDTE = OFF //#pragma config MCLRE = OFF //#pragma config CP = OFF #define SH595 RA0 #define DS595 RA1 #define ST595 RA2 #define led_S RA4 #define led_min RA5 __CONFIG(FOSC_INTOSC & WDTE_OFF & MCLRE_OFF); unsigned char _1seg,segundo=55,minuto=19; static void interrupt tmr0(void) { TMR0IF=0; TMR0=130; if (_1seg++>250) {segundo++;_1seg=0;led_S^=1;} if (segundo>59) {segundo=0;minuto++;} } void main (void) { unsigned int saida16=0x8000; WDTCON=0b00000000;//dis wdog OPTION_REG=0b00000111; //pullup, timer0/256 CM1CON0=CM1CON1=0; ANSELA=0; //digital TRISA=0; led_S=0; led_min=0; INTCON=0b11100000; OSCCON=0b11110000;//PLL ON 32MHz TMR0=130; for (;;) { if (minuto>19) {led_min^=1;minuto=0;} } }; O .hex se quiser ver: O pulo do gato é sair do conforto, ler o d.s. , entender e ajustar os registros na unha. Rapadura é doce mas num é mole não . Qualquer momento testo no https://www.microchip.com/en-us/tools-resources/develop/mplab-xpress Esta outra brincadeira que fiz também tive sucesso: o desafio foi usar 1 pino só do mc pra escrever nos 4 displays. A ideia do desafio também foi exercitar o tico e teco e usar os poderes quase mágicos de uma porta inversora schmitt trigger . Qualquer momento publico detalhes e fontes.. caso eu sinta vontade e/ou alguém insista muito .. mas antes.. vou usar um pic10f200 pois este daí é muito caro pra deixar aí na sua tela Ei-lo com pic10f200. É um timerzinho bobinho conceitual e teórico pra 99 segundos. O vídeo: https://i.imgur.com/QaGrLjb.mp4 De novo: a ideia foi testar os conceitos da interface "1wire" totalmente original de minha autoria - não inútil p.ex. pra quando se tem apenas 1 pino do mc sobrando e precisa-se acionar mais dispositivos - e o uso de uma das mais sinistras e perturbadoras entidades do c : struct & union bem como o uso de macros. E claro, explorar o uso do minimalismo de mc's de baixa a baixíssima capacidade. Pode não vos ser totalmente inútil. + 1 vidinho efêmero https://imgur.com/y0oBSq7 deste esquema... Tenho o fonte completo... vai ter que me pedir. -
PIC Interrupçao usando o timer0 com PIC no CCS
.if respondeu ao tópico de Poseidon. em Microcontroladores
Olá de novo amigo. Fiz uma minisimulação aqui com este mc pic12f1822 e de fato esbarrei e patinei em alguns detalhes. Depois de dar uma olhadela no d.s. tive algum sucesso. P.ex. devo desabilitar o wdog, configurar os ports como digital, desab. o comparador e alguns etc. O meu compilador permite acesso direto aos registros WDTCON=0b00000000;//dis wdog OPTION_REG=0b00000000; //pullup CM1CON0=CM1CON1=0; ANSELA=0; //pinos IO digital TRISA=0; //tudo saída 1/2 auto explicativo, também devo configurar os fuses: __CONFIG(FOSC_INTOSC & WDTE_OFF & MCLRE_OFF); Ve como se faz aí no seu. Por enquanto ve se só tais configs podem te ajudar. A qualquer momento tento fazer o timer0 rodar com o lance dos 20 minutos que teoricamente está correta aquela configuração que fizemos. Em tempo.. mc meio caro. Provavelmente apenas ele atende seu projeto, certo? Ok.. não é da minha conta mas como sempre a ideia é somar eventualmente ajudando a subtrair custos .. minha especialidade aqui fora. -
PIC Interrupçao usando o timer0 com PIC no CCS
.if respondeu ao tópico de Poseidon. em Microcontroladores
ok... mas não vou desistir de você. Mais tarde vou tentar simular pra gente... t+... -
Projeto: ajuste de histerese em comparador sem (muito) cálculo
.if respondeu ao tópico de rmlazzari58 em Eletrônica
Não sei se entendi direito a descrição e circuito do amigo @rmlazzari58 mas baseando na tentativa de minimalizar acima, eu (eu) tentaria minimalizar ainda +... Sem lápis e papel pra desenhar, basta a descrição: um 74hc14 inversor cmos com histerese, divisor resistivo de Mohms na entrada medianamente calculado pra valor de v ficar entre a transição histerética e transição da bateria que quero monitorar.. praticamente o mesmo princípio do acima mas com 1 entrada só. -
PIC Interrupçao usando o timer0 com PIC no CCS
.if respondeu ao tópico de Poseidon. em Microcontroladores
De boa... Mas a gente evita* dar solução. O que se usa fazer é mostrar alternativas, dicas, nortes e afins. Alguns captam, outros nem tanto. Mas claro a gente respeita o limite de cada um e tenta melhorar cada vez mais. Mas se você prestar atenção, algo me diz que há a solução semicompleta pra tua inquietação nas minhas postagens. Veja se isso torna mais próximo do completo: if (segundo > 59 ) { segundo = 0; minuto++; if (minuto>19) {minuto=0;output_toggle(pin_a1);} //outro pino } Alterna o pino a cada 20 minutos... Altere pra fazer outra coisa. *Desc... Não consegui evitar... -
O campo magnético do cabo de energia pode energizar o corpo do aparelho?
.if respondeu ao tópico de Ygor Ferreira Campos de Sá em Eletrônica
@Ygor Ferreira Campos de Sá sinto que você já sentiu choque em algum eletrodoméstico. Neste caso ele pode ter sido causado por fugas de corrente proveniente de umidades, sujidades e não raro a qualidade do e.d. Lembrando que a norma permite 'choque' de até 250uA e que pessoas muito sensíveis podem sentir um desconforto. Mas não é prejudicial.. além do + você não vai dormir encostado em tal e.d. com esta corrente. E o choque pode ser anulado com aterramento correto... caso o e.d. se inclua na classe que exige aterramento. -
O que é um amplificador operacional "open collector" (drain)?
.if respondeu ao tópico de rmlazzari58 em Eletrônica
Nem eu. O que já vi é comparador tipo lm393 cuja pinagem é a mesma do lm358. Talvez há confusão; -
Posso prender cabos de energia com arames de metal?
.if respondeu ao tópico de Ygor Ferreira Campos de Sá em Eletrônica
Use abraçadeira - tirrápia - enforca gato - cada um dá o nome que quer... poucos imagens pra tirrapia no google .. leia-se tirrápia Ou barbante... Em tempo: me lembrou do tempo de uma tal linha parafinada (não acho no google pra vos mostrar). Havia técnicas e regras pra unir um manojo de fios com ela no ramo eletrônica da aviação. A parafina dava uma travada em cada nó especial de uma volta. -
PIC Interrupçao usando o timer0 com PIC no CCS
.if respondeu ao tópico de Poseidon. em Microcontroladores
Se você não usar o botão < code > não tem como interpretar direito. Considere ler isso... E tem+... Por ser um desafio relativamente simples eu até que poderia tentar te ajudar um pouco mais mas isso... e isso... são belos convites para minha despedida pois há impressão de desistência de diálogo. Portanto a dica que dou é melhore o aspecto visual do seu post eventualmente futuro - nos dois sentidos - pra que alguém que te for orientar se sinta mais a vontade. boa sorte. edit... #INT_TIMER0 void TIMER0_isr(void) { clear_interrupt(INT_TIMER0); // Clear timer0 interrupt flag bit cnt++; if(cnt > 124) { cnt = 0; segundo++; // output_toggle(PIN_A0); } } funciona aparentemente bem, mas aqui while(TRUE) { if (segundo > 59 ) { segundo = 0; minuto++; output_toggle(pin_a1); //outro pino } } -
PIC Interrupçao usando o timer0 com PIC no CCS
.if respondeu ao tópico de Poseidon. em Microcontroladores
Então você tem a faca na mão. Só falta o queijo... Se seu tic tac é 4mS fica simples você temporizar com o tempo que quiser meu amigo. Digamos que você queira 1segundo. Quantos 0.004 você tem em 1? você pode fazer algo como: if (_4ms>250) {_4ms=0;segundo++;} e quantos segundos você tem em 20 minutos? Faça o mesmo: if (segundo>20*60) {segundo=0;corte_o_queijo();} Tenta e me conta... -
ok mas se eu disser que funciona tem algum valor? Então funciona sim amigo! Fiquei olhando pra isso durante anos e deduzi simploriamente que ponteiro = &dado; //localiza variável inteira dado 16 bits dado ocupa 2 bytes na ram. ponteiro acha ele. *((unsigned char *)(ponteiro) + 0)=i2cr(12); //preenche seu conteúdo com 8 bits MSB e *((unsigned char *)(ponteiro) + 1)=i2cr(13); //LSB agora que achou, *ponteiro+0 preenche seu conteúdo com um byte e *ponteiro+1 com o outro. i2cr() retorna 1 byte de 8 bits - cujo endereço é o argumento - gravados duma memória eeprom i2c. De fato isso adveio de uma necessidade de gravar/ler um float 32bits numa eeprom i2c o que ficou algo como: float dado; ponteiro = &dado; //localiza variável float dado 32 bits *((unsigned char *)(ponteiro) + 0)=i2cr(12); //+0=só pra harmonia visual *((unsigned char *)(ponteiro) + 1)=i2cr(13); // *((unsigned char *)(ponteiro) + 2)=i2cr(14); // *((unsigned char *)(ponteiro) + 3)=i2cr(15); // E havia feito isso com union e struct mas achei a solução acima mais elegante e minimalista. Re-percebo agora que a solução casting da minha inquietação já estava a mão há anos . Vou analisar suas outras soluções sim! Pode ser útil quando eu usar um mc que não seja um pic10f2xx com seus infinitos 256bytes de rom e 15 de ram E descobri porque não estou conseguindo criar tópico . A qualquer momento vou publicar alguma contribuição sobre o tema otimização do uso de memória pra mc de baixa capacidade no forum microcontroladores com a técnica que desenvolvi... Mas confesso que pode não ser totalmente útil pois hoje em dia os mc's estão maiores de recursos e baratos. Mas pelo menos vou descarregar algo lá.. ou puxar a descarga kk abç & sucesso!
-
Circuito de Condicionamento de Sinais
.if respondeu ao tópico de Gabriel Florencio Correia em Eletrônica
Permita-me um derradeiro dedo calejado prático - de novo mais uma vez, caso fosse um caso real: não é nada extremamente difícil um step up pra +V e -V maiores a partir de 3V3 pra corrente baixa, o que supostamente é caso de sensores. Além do +, este 3v3 pode advir de uma maior V que poderia ser usada para tal. .. No caso se fosse bateria ou pilha haveria a questão do consumo que poderia ser contornada com uma alimentação temporária do sensor apenas no momento de sua leitura caso este forneça informação rapidamente e/ou não seja necessária rapidez na aquisição. Devo ter causado congestão do mundo real ao sumido autor kk Boa sorte. -
Circuito de Condicionamento de Sinais
.if respondeu ao tópico de Gabriel Florencio Correia em Eletrônica
Ajustando após a acertada observação do amigo Paulão... Condicione ou baixe a impedância de cada um com um simples seguidor de tensão, aplique no multiplex antes de capturar pelo mc ... se fosse um caso real, claro.
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