.if
Membro VIP-
Posts
15.283 -
Cadastrado em
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
Tudo que .if postou
-
Estudando o CI LM3914 - driver para display de 10 leds
.if respondeu ao tópico de rmlazzari58 em Eletrônica
12 leds... 103 bytes de flash o fonte... -
Estudando o CI LM3914 - driver para display de 10 leds
.if respondeu ao tópico de rmlazzari58 em Eletrônica
edit ... 91 agora. #include <pic.h> __CONFIG(CP_OFF & MCLRE_OFF & FOSC_INTOSCIO & PWRTE_ON & WDTE_OFF & BOREN_ON); //*************************************************** unsigned char const port[7]= { 0b000, 0b010, 0b001, 0b100, 0b010, 0b100, 0b001 }; //.................................................... unsigned char const tris[7]= { 0b10000, 0b10100, 0b10100, 0b10001, 0b10001, 0b10010, 0b10010 }; //*************************************************** unsigned char adc_read(unsigned char channel) { ADCON0 = (channel << 2) | 0x03; // res. 8 bits em ADRESH enable ADC, fosc/32 , referência=vdd while(GO_DONE); return ADRESH; } //*************************************************** void main() { unsigned char i; OPTION_REG = 0b10000000 ; //pullup disable CMCON0 = 0b111 ;//tudo digital ANSEL = 0b01101000;//fosc/64, GPIO3=entrada analógica TRISIO = 0b11000;//GPIO4=entrada analógica for(;;) { i=adc_read(3)/42; TRISIO=tris[i];// |0b00010000; //GPIO4=entrada analógica GPIO=port[i]; } } Coloquei um gerador de sinal como firula... Me cadastrei no vimeo pro Vídeo ficar incorporado no post Pra este caso... ...com o hw acima, de fato precisamos de... período qualquer. Veja que há leds em antiparalelo, neste caso jamais acenderiam simultaneamente. Além de aumentar pra 12 leds (pow Paul.. ninguém quis bolar a tabela pra nós) não deixa de ser um acréscimo desafiador já que pra um mc de mais pinos é sem graça pois fica fácil d+ -
Estudando o CI LM3914 - driver para display de 10 leds
.if respondeu ao tópico de rmlazzari58 em Eletrônica
https://i.imgur.com/5poG925.mp4 #include <pic.h> __CONFIG(CP_OFF & MCLRE_OFF & FOSC_INTOSCIO & PWRTE_ON & WDTE_OFF & BOREN_ON); //*************************************************** unsigned char const port[7]= { 0b000, 0b010, 0b001, 0b100, 0b010, 0b100, 0b001 }; //.................................................... unsigned char const tris[7]= { 0b000, 0b100, 0b100, 0b001, 0b001, 0b010, 0b010 }; //*************************************************** void delay(unsigned int dl) { while(dl--); } unsigned int adc_read(unsigned char channel) { ADCON0 = (channel << 2) | 0x83; // enable ADC, fosc/32 , referência=vdd while(GO_DONE); // continue; // wait for conversion complete return ADRESH*256 + ADRESL; } //*************************************************** void main() { unsigned char i; OPTION_REG = 0b10000000 ; //pullup disable CMCON0 = 0b111 ;//dis comparador ANSEL = 0b01101000;// TRISIO = 0b11000;//GPIO4=entrada analógica for(;;) { i=adc_read(3)/165; if (i>6) i=0; //nem precisa.. só por segurança TRISIO=tris[i]|0b00010000; GPIO=port[i]; //delay(20000); } } Ocupou 124 bytes de flash mas acho que dá pra reduzir. Quero usar 4 saídas pra 12 leds mas to com preguiça de bolar a tabela... Bola aí pra mim...Baseia nisso daqui ó... -
Estudando o CI LM3914 - driver para display de 10 leds
.if respondeu ao tópico de rmlazzari58 em Eletrônica
De aprender eu não sei... mas de ensinar... Vejamos... No caso acima não precisa de interrupção. Afinal os dados ou bits ou estado de saída ficam parados. Aquela ideia foi mesmo pra maximizar estados mostráveis - no caso - nos leds. O detalhe - que alguém bem que poderia achar curioso - é que entra em cena um terceiro estado lógico já que você - caro amigo recem chegado no ramo - aprendeu na teoria que em binário só existem 0 e 1. Na prática acrescentamos mais um que tem sua glória: ele se chama tristate ou alta impedância ou simplesmente desconectado. No caso daquele mc ele se torna uma "entrada" sob o controle do registrador TRIS. No caso do ex. do meu post sua utilidade está quase bem explícita sua função Z. Qualquer momento eu testo numa simulação. No caso de Paulão é pra quando se precisa de muitas saídas ou leds - p.ex. prum display matricial. Tem um exemplo que publiquei há muitos (e muitos) anos que usava vários 74HC595 pra escrever textos em vários displays matriciais que levava o conceito que menciona o amigo de uma multiplexação a um nível ligeiramente elevado. Modéstia a parte, foi criação 100% original. Preguiça de procurar mas a qualquer momento se achar que devo, linko-o. Falando nisso... Algo como... unsigned char a,tmp; for(;;) { tmp=0; a=adc_read(0)/128; while (a--) tmp|=1<<a; PORTB=tmp; } Tem algo pra dar certo... Testei o conceito unsigned char a,tmp; int main() { a=8; while (a--) tmp|=1<<a; while (tmp) {if (tmp&1) printf("1");tmp>>=1;} return 0; } em... https://www.onlinegdb.com/online_c_compiler Médio... muita decisão pro mc tomar... E se forem p.ex. 48 leds? -
Parafuso de fixação cabeçote de gravação/reprodução (auto reverse) ADD-300
.if respondeu ao tópico de valgom em Eletrônica
O correto é mesmo um ... Se não tiver pode tentar com uma fita veda rosca no parafusinho. -
PIC Estou tentando gravar um pic16f 819 I/p na gravadora pickit3.5
.if respondeu ao tópico de dgda97 em Microcontroladores
Olá amigo. A posição do ci... ...está errada. Ele é DIP18 portanto o pino 1 dele... ... deve ficar no pino 29 do zif. Tentaí e me conta... Ah e também tem a questão dos jumpers... vai ter que dar uma lida no manual ... -
Parafuso de fixação cabeçote de gravação/reprodução (auto reverse) ADD-300
.if respondeu ao tópico de valgom em Eletrônica
São apenas pra fixar ou são pra ajuste? Tem algo como uma molinha neles? Se for só fixação, cogite adaptar um autoatarrachante de espessura similar.. meio que vai arrombar a rosquinha mas deve travar. Off me fez lembrar.. um dos prerrequisitos pra ser 'o cara' da época era ter um tocafitas autorreverse no carro. Era o bixão mano... -
Autópsia do disjuntor danificado por instalação suspeita
.if respondeu ao tópico de Pincipi em Eletrônica
Minha visão de sherlock holmes me mostra nesta foto ...somado à afirmação... que foi questão de mau contato no aparafusamento frouxo e/ou oxidações. Um mau contato aparece quando quer e provoca uma resistência de aquecimento. Geralmente é obediente à lei de murphy algo como vai se manifestar num dia mais frio e quando você está já em baixo do chuveiro. -
Estudando o CI LM3914 - driver para display de 10 leds
.if respondeu ao tópico de rmlazzari58 em Eletrônica
Metendo a colher na vossa sopa, uma alternativa a este ci é um mc quase tão ou mais barato que ele. O barato é que surge a oportunidade pra um ligeiro aumento de sabedoria no ramo co-irmão da eletrônica: a programação. Teorizei algo como... Como alguns amigos sabem, gosto de desafios (mas não sabem que tenho alguns pic16f683), talvez eu faça algo do tipo com ele e vá colocar lenha na fogueira pra entornar o caldo de vez Teoricamente com 1 entrada analógica e 4 saídas, dá um barrgraph de 12 leds... Mas sei lá... pelo menos fica aí mais uma semente .. -
Sistema de baterias baseado em programação de Arduino
.if respondeu ao tópico de albert_emule em Eletrônica
Só pra registro... Desconsidere o fonte acima... Descobri que a senoide está sendo formada pelo hw e não necessariamente pelo sw. Além de possuir um erro na indexação. Não vou apagar/editar só pra efeito de histórico ok? Num futuro [ainda incerto] dou mais uma revisada... se achar que devo. -
... pra este seu caso - de apenas recolocação - não parece ser o caso necessário pois deduzo que não perdeu nenhum. Além do+ você nem saberia o valor das peças 'grão de areia' que pode ser resistor ou indutor. ... e de uma jovem e boa visão
-
Monitor com ondinhas subindo (estática)
.if respondeu ao tópico de Ernesto Aragão em Fontes e energia
Sim pode ser a fonte a fonte do problema. Publique Vídeo dele... ou troque pela tensão correta e retorne o resultado. -
Amigo esta deve ser a temperatura interna das junções durante seu funcionamento. Já que a temperatura de um forno de refusão (clique) chega a 350ºC e a placa leva minutos pra passar por ele. Outra dificuldade adicional que o autor pode ter é que a placa dissipar (diminui) o calor o que pode dificultar a correta adesão. Por isso recomendo +1 vez: pratique. "Hábitos: no começo são teias de aranha. Com o tempo se tornam fios de arame". (filosofia chinesa)
-
Supositóriamente troquemos o título para "Como soltar..." Acho que aquele componente é pequeno d+ pra uma pinça estação de solda ... (clique) Carinho... investir nisso.. só mesmo pra quem é do ramo... mas como achei bem legal, senti vontade registrar...
-
Compartilhando perrengues do Robô aspirador de pó Mondial RB-07
.if respondeu ao tópico de Pincipi em Eletrônica
Boa... nem considerei isso. Mas acho que o tal startjumper não tem energia suficiente pra muitos minutos . Ideota: coloque um reboque com a bateria maior .. tipo carretinha.. o problema é ensinar o treco a manobrar de ré... Em tempo. eu só faço baliza em vaga onde caberia uma carreta -
Compartilhando perrengues do Robô aspirador de pó Mondial RB-07
.if respondeu ao tópico de Pincipi em Eletrônica
Pelo exposto, o principal perrengue é mesmo a bateria que de fato parece não possuir bms. Não sei se o peso é d+ mas uma alternativa é colocar uma quase barata bateria 12v de nobreak colada com cola quente em cima do bicho. Já a rodinha você faz até com cabo de vassoura. Se algum dia for desapegar, mo ofereça pra venda. A ideia é adaptar rodonas pra fazer um irrigador semiinteligente pra "varrer" meu gramadinho... algo como um caminhaozinho pipa ... -
Um pouco de magia lhe cairia bem. Mas como poucos têm acesso à ela, o que você pode fazer - não necessariamente nesta ordem - é: -possuir um bom soldador de ponta fina. Geralmente o de estação de solda é. -uma boa lupa ou até mesmo seu celular pra te guiar -um pouco de habilidade adquirida com treinamentos -não estar alcoolizado -não tremer -ter paciência/dedicação/motivação Aquecer demais pode soltar ou evaporar a ilha. De menos pode não soldar direito Com ar quente da estação até que dá mas aconselho a proteger as outras peças com fita de alta temperatura ou similar. Além do que há o risco de soprar outras peças pra outra dimensão. Aumente o nível do item 3 antes.
-
Monitorar Tensão, corrente e temperatura de um painel
.if respondeu ao tópico de Danielhbr34 em Eletrônica
Voltemos um pouco ao monitoramento do peso. Aperte o cinto pois lá vamos em +1 viagem mental... Existe máquina de lavar de vários Kg diferentes. Por acaso você pesa a roupa antes de colocar na máquina? Quem em sã consciência pesaria 10 ou 11kg - já vi dos 2 tipos - pra não sobrecarregar a máquina? Pois bem, imagine agora que você apresentou o protótipo na sua feira de tcc e conseguiu convencer os acionistas as brastemp e consul que tal pesagem é interessante, agrega valor, a um custo tão baixo que se repassar pro consumidor ele nem vai perceber. Pronto: já pode se ver milionário. Imagine o sistema minimalista ao extremo algo como um (01) led bicolor: apagado=sem peso, verde=tudo bem, pode por mais roupa, laranja (ou vermelho e verde acessos)=suficiente, e vermelho: tire a roupa. Nada contra você colocar + leds (clique) mas geralmente empresas torcem o nariz pra investimentos maiores. Na chegada da estação mental, se você conseguir reduzir o custo do sistema com sensor de vibração, eu permito que você aplique não só no setor industrial mas em virtualmente em todos os ramos... doméstico, automotivo, aviação, ferroviário, ... todos que possuem sistemas críticos sofríveis por desgastes. Agora sim, pode descansar sua mente na sua ilha recém comprada -
Monitorar Tensão, corrente e temperatura de um painel
.if respondeu ao tópico de Danielhbr34 em Eletrônica
Uma coisa que pode virar produto de verdade e de fato ganhar uma boa grana são sensores pro setor industrial pra uso nas máquinas. Temperatura, corrente, tensão --- puff!--- e etc são fáceis demais e nem merecem comentários mas sim podem ser incorporadas neste daqui ó: Sensor de vibração. Essencialmente um acelerômetro colocado no motor ou em algum lugar estratégico. Ele fica lá a vida toda desde a montagem zero do sistema mecânico. O sistema registra o valor da vibração momento zero e vai monitorando durante a vida. Ao atingir determinado valor, avisa o setor de manutenção para averiguar/trocar e etc alguma peça p.ex. se há algum desbalanceamento, desgastes e etc. Serve tanto pra manutenção corretiva como preventiva. Para teste conceitual mental, imagine um no seu ventilador. Se novo ele vai fazer barulho zero. Alguns meses de uso ele já ficar irritante. Esta irritação é que o sensor acima vai captar e informar. Obviamente pra negócios isso não é "coisa pra criança" mas como tcc até que é bem bacana e quase bem fácil de fazer com um sensor de vibração -
Sistema de baterias baseado em programação de Arduino
.if respondeu ao tópico de albert_emule em Eletrônica
Este Vídeo https://i.imgur.com/fzhdqSn.mp4 foi feito a partir deste fonte: #include <ioavr.h> #define B8__(x) ((x&0x0000000fLU)?1:0) \ +((x&0x000000f0LU)?2:0) \ +((x&0x00000f00LU)?4:0) \ +((x&0x0000f000LU)?8:0) \ +((x&0x000f0000LU)?16:0) \ +((x&0x00f00000LU)?32:0) \ +((x&0x0f000000LU)?64:0) \ +((x&0xf0000000LU)?128:0) #define HEX__(n) 0x##n##LU #define b8(d) ((unsigned char)B8__(HEX__(d))) /* for upto 16-bit binary constants, MSB first */ #define b16(dmsb,dlsb) (((unsigned short)b8(dmsb)<< \ + b8(dlsb)) /* for upto 32-bit binary constants, MSB first */ #define b32(dmsb,db2,db3,dlsb) (((unsigned long)b8(dmsb)<<24) \ + ((unsigned long)b8(db2)<<16) \ + ((unsigned long)b8(db3)<< \ + b8(dlsb)) /* Sample usage: b8(01010101) = 85 b16(10101010,01010101) = 43605 b32(10000000,11111111,10101010,01010101) = 2164238933 */ #define SinDivisions 32 //200 #define microMHz 16 #define freq 60 #define period microMHz*1e6/freq/SinDivisions unsigned int const tab_sen[]= { 0,349,694,1031,1356,1667,1960,2231,2478, 2697,2887,3046,3171,3261,3316,3334 }; unsigned char tmp; unsigned char num; unsigned char trig; unsigned char led; unsigned int a0; static unsigned char dtrig; float Vac; void setup() { TCCR1A = b8(10110010); TCCR1B = b8(00011001); TIMSK1 = b8(00000001); ICR1 = period; DDRB = b8(11111111);//tudo saída DDRC = b8(11111110);//PORTC0=entrada analógica DDRD = b8(11111111);//tudo saída ADCSRA=b8(10000111); //hab. adc, prescaler 128 ADMUX=b8(01000000); //ref=vcc asm("sei"); //hab. interrupção } #pragma vector = TIMER1_OVF_vect __interrupt void basic_timer(void) { tmp=num; //1º quadrante de 0 a 90º if (num>=16) tmp=16-num;//2º if (num>=32) tmp=num-32;//3º if (num>=48) tmp=48-num;//4º OCR1A=OCR1B=tab_sen[tmp]; //alimenta hw com seno if (num==31)//sincronia com o loop { if (trig++>15) {trig=0;PORTB_Bit5^=1;}//led tô vivo em PB5 } if (num==16) dtrig=0xff; if (num++>63) num=0;//fim da tabela } unsigned int analogRead(unsigned char ch) { unsigned int result; ADMUX=b8(01000000)|ch; // delay_ms needed for the stabilization of the ADC input voltage ch=20; //aproveita variável pra dar um atraso while(ch--);// asm("NOP"); // Start the AD conversion //ADCSRA|=b8(01000000); ou ADCSRA_Bit6=1; ou... ADCSRA_ADSC=1; // Wait for the AD conversion to complete //while (ADCSRA&b8(01000000)) ou while(ADCSRA_Bit6); ou.. while(ADCSRA_ADSC);// asm("NOP"); result=ADCL; //o hw do mc exige que se capture ADCL primeiro result+=(unsigned int)ADCH*256; return result;//ADCL+ADCH*256; } void main(void) { setup(); for(;;) { while(dtrig==0);// asm("NOP");// sinc. com interrupt a0=analogRead(0); //captura logo após atingir Vp PORTD_Bit7=1; //só pra mostrar o momento da captura PORTD_Bit7=0;//no osciloscópio dtrig=0; //aguardar momento Vp //Serial.print("Ad="); //Serial.print(a0); //Vac=((float)a0*0.03447); //Serial.print(" Vac="); //Serial.println(Vac); } } Extremamente minimalista: não precisei fazer 'adaptação técnica' - funcionou como manda o figurino da linguagem - , ocupou 560 bytes em contraste aos 4K do arduino. Perceba que apenas 16 senos em cada quadrante já compõem a onda senoidal pura. Como se repetem, o pulo do gato [original] foi indexá-los de acordo com sua posição. Vide comentários no fonte. Também este compilador não possui notação binária 0b1010101.. Não contava com a astúcia de algum "sem noção" mas com muita noção e tempo que criou aquelas intricadas e inexplicáveis macros b8(1010101) pra nós. Perceba a variação da senoide em função da carga bem como os valores ADCH e ADCL lidos na janela watch. Próximo desafio é usá-los pra fazer a correção da Vac. De novo, a ideia é que a correção pela realimentação seja tão mais raṕida possível que se aproxime do ... do França. A propósito, bem bacana este módulo. Não preciso mas senti muita vontade comprar um -
Eu nem ia participar mas senti vontade registrar isso: Eu admiro d+ o povo africano que mesmo com necessidades extremas ainda conseguem fazer coisas incríveis. Chorei mesmo ao assistir o filme https://negre.com.br/o-menino-que-descobriu-o-vento-um-drama-biografico/ Também já os vi fazendo esculturas, máquinas e bicicletas de madeira e etc e com zero recursos tecnológicos. Apenas com vontade, imaginação, criatividade, motivação e etc disponíveis Bem, nesta linha de pensamento, e meio que voltando ao título do tópico, idealizei um sensor de peso com duas "moedas" com um dielétrico emborrachado formando um capacitor. Pressionando as "moedas", há aproximação o que altera a capacitância e se esta fizer parte de um oscilador ou simples carga descarga, pode ser usada como sensor pra balança. Outra ideota: certa feita medi a R de uma esponja antiestática - ou espuma, esponja condutiva e afins. Ao pressionar a R caía. Teorizei comparadores formando um bargraph com leds .. E existem outras ideias (minhas) como p.ex. um potenciômetro seguro por uma mola com uma haste que o movimenta pelo peso, e um monte de etc conceituais... nunca montei nada disso. Lembrando que a ideia não é medir o peso com precisão extrema. A ideia é ter noção visual da força da pressão sendo feita no sensor. Bem.. já que o moleque desistiu, vou deixar estas ideias/sementes pra alguém do povo supracitado. Alguém que não tem como adquirir a tal célula de carga tampouco arduinos e cia mas está cheio de vontade/motivações/hormônios técnicos e etc e tem algum tipo de acesso a peças sucateadas. Pena que não somos "vizinhos" senão lhe daria algo mais que ideias pois possuo muitas peças eletroeletrônicas e mecânicas compartilháveis. Boa sorte ao autor e sucessos a você, caro amigo africano presente neste forum.
-
O google deve te iluminar bem mais (clique) do que esta velha carcaça que vos escreve. O que talvez ele não diga é que você pode usar a IDE arduina com um esp32. Com ele você pode ter o diferencial de enviar dados pra rede wifi ou bluetooth e avaliar os dados p.ex. num smartphone ou pc. O legal é que te envolve você e sua equipe na tal IOT que é uma tendência do momento pra ajudar a emergente IA a dominar o mundo
-
Biostar H410MH v6.1 não inicia, cooler roda e para
.if respondeu ao tópico de José Nildo de M. Pereira em Eletrônica
Meça as tensões da fonte ou a troque. -
Sistema de baterias baseado em programação de Arduino
.if respondeu ao tópico de albert_emule em Eletrônica
@MOR_AL Num 1º momento usei calculadora mesmo mas esta calculadora https://www.omnicalculator.com/pt/fisica/calculadora-frequência-de-ressonancia dá resultados diferentes do seu mas bem semelhante ao meu lá de trás. De fato estou usando 60Hz mesmo. ..sim mas são resistências da bobina mesmo ok? No caso o default do simulador é 1mR mesmo. .. distorce a onda. O que mais deixou senoide foi o 0.5 mesmo. O simulador com mosfet fica muuuiito lento e as vezes instável.. dá algum tipo de erro e pára. Vou parar de usar ele com mosfet e fazer testes de realimentação com trafo direto no pino do mc cuja simulação é bem rápida. Em breve faço teste real pra saber - já que ninguém me iluminou - se trafo comum dá resultado com com este spwm doidão aí... Meu indutímetro sumiu. Vou ter que usar gerador de sinais + osc pra calcular o C ressonante -
Dica: meça cada uma delas - se isoladas: cada par de fio - e faça uma fonte de valor fixo pra cada. Vai ser uma multifonte diferentona e legal até. Agora escolha a maior e adapte um regulador step down pra fazer uma fonte ajustável/variável. Me lembro vagamente que o amigo Moris @MOR_AL fez isso agora há pouco e publicou aqui. Se ele achar que deve, poderá linkar-lhe sua publicação.
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