Ir ao conteúdo
  • Cadastre-se

lucianolcoa

Membro Pleno
  • Posts

    480
  • Cadastrado em

  • Última visita

posts postados por lucianolcoa

  1. Em 21/06/2021 às 07:28, vtrx disse:

    Por acaso voce sabe se o retorno do sensor é mesmo uma imagem ou um código único(que seria mais fácil)?

    Pior que não. Não consegui fazer nada com esse código maluco. Acho que é só um id de identificação. Pesquisando no site da adafruit. Achei esse programa deles que promete extrair as imagens  com o sensor. Mas sem sucesso, não consegui fazer ele ligar

     

    https://learn.adafruit.com/adafruit-optical-fingerprint-sensor/downloads

  2. Pessoal boas notícias. Fuçando um pouco no módulo "ao que parece, o outro módulo que eu comprei estava defeituoso" Consegui capturar a imagem e até mesmo converter em bytes (acho que está em bytes). O problema é que não to achando um código decente em python para converter o arquivo gerado em jpg novamente..

     

    Segue o código que o sensor está gerando

     

    FFFFFFFFFFFFFFFFFF035C1900012001940000000000000000000000000000000000000000000000000000000000000000000000000000000B0001008300000000000000000000000000000000000013D2EF01FFFFFFFF0200821F8AE29E69930E9E1C161FBE28201A7E6621A5DE16A55AFE2AA917DE1F2F587E6DB1E6BE2C34EB9E2E8CA35F5214907F14989E1F4825925F6EA6667F39B8D4BF65C3519F1DC0575C2143D69C384113DA33422A5A381918BB3F1A8E77401BA3773094621500000000000000000000000000000000000000000000000000000000297CEF01FFFFFFFF020082000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084EF01FFFFFFFF02008203035E1A00012001940000000000000000000000000000000000000000000000000000000000000000000000000000000D0002008100000C0000CF3FCFFFFFFFFFEFFBEAAAAAAAAAAA95995956595155515144441004000000000000000000000000000000000000000000000000000000000000000000000000000000000000126DEF01FFFFFFFF020082270CA23E70

     

  3. Pessoal, fiz o Enade do ano passado e estou estudando pra concurso. Pois bem, no concurso que eu vou fazer cae questões de eletronica e estou usando as questões que eu fiquei em duvida no Enade para estudar.

     

    Aqui tem umas questões do ENADE a qual estou procurando sua resolução na net mas sem sucesso a encontrei.

    Segue fotos

    questão2r.JPG

    perguntar.JPG

  4.  

     

     

    Pessoal bom dia. Há cerca de um ano eu comprei um drone de brinquedo no valor de 700 Bolsonaros. Como podem ver nessa imagem aqui

    Spoiler

    drone.PNG.659114e647939895dbe3e5f9e6c21053.PNG

    Pois bem, a estabilidade dele é uma porcaria. Então pensei em criar um drone usando o arduino.

    Possuo um arduino já. Comprei um motor Brushless e seu drive de operação

    Spoiler

    brushless.thumb.PNG.c85762dece0b74d8c93b8f79088fc590.PNGpontehbrushless.PNG

     

     

     

    Além dos sensores de operação do mesmo

    Spoiler

    acelerometro.thumb.PNG.7811ade01de8cf9184a190b0171f6662.PNG

    Para controles de radio frequência irei usar o NRFL2401 como transmissão. Pois ja tenho em casa, mas aceito sugestões caso tenha algo melhor para fazer isto

    Spoiler

    nrfl2401.PNG.e28d0f45846838489f494bd23c73f848.PNG

     

     A carcaça darei um jeito de imprimir numa impressora 3d. O único problema seria o código usando estes componentes. Claro que futuramente adaptarei um altímetro para limitar o vôo do brinquedo e talvez uma câmera usando um raspberry da vida. Minha duvida é no tocante ao código. Como uso este sensor para definir a velocidade dos motores? Existe um código já pronto? ( Apesar de ser hobbysta, este projeto não to afim de quebrar muito a cabeça nele, mas, se não tiver jeito...)

  5. Boa tarde pessoal. Estou montando um inversor de frequencia com o Ir, 2104 para um motor experimental que fiz.

    O problema é que o circuito funciona como ponte H, mas não funciona como inversor, ele fica querendo oscilar "mexer o motor" mas acaba não mexendo. testei onda quadrada também é a mesma coisa. VOu deixar em anexo o código que eu usei mais o esquemático do inversor.

     

    Spoiler
    
    int i=0;
    int x=0;
    int OK=0;
    int sinPWM[]={1,2,5,7,10,12,15,17,19,22,24,27,30,32,34,37,39,42,
    44,47,49,52,54,57,59,61,64,66,69,71,73,76,78,80,83,85,88,90,92,94,97,99,
    101,103,106,108,110,113,115,117,119,121,124,126,128,130,132,134,136,138,140,142,144,146,
    148,150,152,154,156,158,160,162,164,166,168,169,171,173,175,177,178,180,182,184,185,187,188,190,192,193,
    195,196,198,199,201,202,204,205,207,208,209,211,212,213,215,216,217,219,220,221,222,223,224,225,226,227,
    228,229,230,231,232,233,234,235,236,237,237,238,239,240,240,241,242,242,243,243,244,244,245,245,246,246,
    247,247,247,248,248,248,248,249,249,249,249,249,255,255,255,255,249,249,249,249,249,248,
    248,248,248,247,247,247,246,246,245,245,244,244,243,243,242,242,241,240,240,239,238,237,237,236,235,234,
    233,232,231,230,229,228,227,226,225,224,223,222,221,220,219,217,216,215,213,212,211,209,208,207,205,204,
    202,201,199,198,196,195,193,192,190,188,187,185,184,182,180,178,177,175,173,171,169,168,166,164,162,160,
    158,156,154,152,150,148,146,144,142,140,138,136,134,132,130,128,126,124,121,119,117,115,113,110,108,106,
    103,101,99,97,94,92,90,88,85,83,80,78,76,73,71,69,66,64,61,59,57,54,52,49,47,44,42,39,37,34,32,30,
    27,24,22,19,17,15,12,10,7,5,2,1};
    
    void setup() {
    Serial.begin(9600);
    
    pinMode(5, OUTPUT);
    pinMode(6,OUTPUT);
    
    cli();// stop interrupts
    TCCR0A=0;//reset the value
    TCCR0B=0;//reset the value
    TCNT0=0;//reset the value
    //0b allow me to write bits in binary
    TCCR0A=0b10100001;//phase correct pwm mode
    TCCR0B=0b00000001; //no prescaler
    TCCR1A=0;//reset the value
    TCCR1B=0;//reset the value
    TCNT1=0;//reset the value
    OCR1A=509;// compare match value
    TCCR1B=0b00001001; //WGM12 bit is 1 and no prescaler
    
    TIMSK1 |=(1 << OCIE1A);
    
    sei();// enable interrupts
    }
    ISR(TIMER1_COMPA_vect){// interrupt when timer 1 match with OCR1A value
    if(i>313 && OK==0){// final value from vector for pin 6
    i=0;// go to first value of vector
    OK=1;//enable pin 5
    }
    if(i>313 && OK==1){// final value from vector for pin 5
    i=0;//go to firs value of vector
    OK=0;//enable pin 6
    }
    x=sinPWM[i];// x take the value from vector corresponding to position i(i is zero indexed)
    i=i+1;// go to the next position
    if(OK==0){
    OCR0B=0;//make pin 5 0
    OCR0A=128;//enable pin 6 to corresponding duty cycle
    }
    if(OK==1){
    OCR0A=0;//make pin 6 0
    OCR0B=128;//enable pin 5 to corresponding duty cycle
    }
    }
    void loop() {
    
    }

     

     

    esquematico.png

    pcb.png

  6. Consegui, deu certo aqui.

    Refiz o circuito com um mosfet do tipo p. Que, pela logica o gate e o drain são alimentados pela mesma tensão e o gate é desarmado por intermédio de um transistor auxiliar. Resultado: O transformador fritava ovos e o mosfet ficava de boa na lagoa.

     

    Agradeço em especial a ajuda do@Carlos Zanon  . Foi bastante útil.

    Caso alguem precise fazer algo do genero

    2222.png

    • Curtir 2
  7. @Isadora Ferraz Mosfet estou usando o irf840, coloquei 2 em paralelo mas é que ja tinha feito o circuito como elevador booster.

     

     

    Não tem muito segredo, falam que o choque eletrico estimula novas celulas na planta dos pés. Mas valeu a dica, vou implementar na melhoria do circuito.

     

    Aqui tem uma matéria interessante que relaciona fascite plantar com tratamento de choques moderados

     

    http://blogs.oglobo.globo.com/pulso/post/tratar-lesoes-com-ondas-de-choque-pode-ser-solucao-513673.html

  8. Pessoal to com uma duvida.

    Minha mulher ta com os pés doendo (facite plantar)

    e o médico recomendou choques eletricos na planta dos pés para estimular melhoras. Sabendo disso fiz um circuito com arduino, mosfet e um trafo simplesart0247_04.jpg

    tipo esse aqui. Mas o mosfet esquenta com o uso. Não sei como dimensionar para continuar a tensão (60 volts). Sem o mosfet esquentar. Alguem tem uma ideia?

  9. @aphawk  É mais de "verões passados" Que muitas vezes eu chegava aqui com uma duvida e a galera achava que eu não havia pesquisado antes.

     

    Expliquei que consegui declarar i digitalWrite direto no registrador, o que andei lendo por ahe que é 42x mais rápido que so colocar digitalWrite

    e também mudei o prescaler para fazer a leitura do adc mais rápido.

     

    Mas queria saber como declara digitalRead direto no registrador. Essa é a duvida em questão.

     

    digitalRead no registrador seria "rebaixar" a linguagem do arduino.

     

    Em vez de digitar 

    int b= digitalRead(8);

    eu colocar um código em c que fasse isso mais rápido.

    Vi num blog que o comando para isso seria:

    //exemplo para o pino 8
    
    DDRB=B11000001;
    PORTB=B11000001;
    bool x=(PINB &(1<<PINB0)

     

  10. Pessoal, to fazendo a leitura de uma roda fonica com arduino e, por conta da rpm elevada do bixão (por volta de 7 mil rpms) preciso fazer os digitalWrite e ler o sensor da forma mais rápida o possível

     

    Ja otimizei o código substituindo os digitalWrite por PORTB=B11000100(exemplo)

    também fiz uma máscara de váriavel para aumentar a frequencia da leitura do ADC, trocando o prescaler de 128 por 16 conforme a tabelaadc_prescaler.png.e980ab63796a70b2978122b3a9e3ab52.png

    mas, queria saber como fazer um digitalRead usando comandos do registrador.

     

    O que eu consegui encontrar foi usando o comando DDRX onde o x é a letra das portas, no caso do arduino:

    DDRD para portas de 0 a 7

    DDRB para portas de 8 a 13

    PINX para a porta em questão

     

     Mas, novamente, volto a perguntar. Como fazer digitalRead direto nos registradores para ganhar "tempo"?

  11. Tô ligado. Alterei a programação para a ponte h funcionar com motor dc e peguei um motor dc de impressora que havia comprado umas eras atras. Pois onda quadrada ou senoidal não tava "fumfando" no meu motor experimental.

    Bom, segui esse tutorial aqui :

     

    E ele funciona quando jogo o transformador. Até melhor que o do cara,pois dimensionei o capacitor,aumentei as espiras,diminui a lata,etc.

    Mas com o danado do inversor ele não funciona. A bobina até "vibra" ,mas o motor não gira.

    Mas no multímetro ele emite tensão alternada quando o Arduino e programado para tal e,controla o movimento de um motor DC. Quando alterei a programação e inclui um botão para alterar o sentido da rotação.

    Desisti desse esquema. Se alguém tem um método melhor de motor de indução agradeceria.

  12. Pessoal, alterei mais ainda o layout e ,.... descobri que a ponte H tava certa. O motor é que ta "errado". Fiz um motor experimental como projeto de faculdade e, tava tentando fazer ele girar com inversor. O inversor funciona naqueles motores dc de impressora, mas o que fiz de indução, não tá rolando...

     

    De qualquer forma segue o layout e o esquematico das minhas ultimas mudanças

    Sem título.jpg

    Sem título2.jpg

    Sem título222.jpg

  13. 2 horas atrás, Isadora Ferraz disse:

    se acionar os 4 ao mesmo tempo queima mêsmô.

     

    se estiver falando dos circuitos acima, permita-me observar: há opções mais confiáveis. P.ex. há de se prever um meio dos mosfets nunca conduzirem ao mesmo tempo os 2 que estão um sobre o outro. Não ligue o bc337 aos 80V por favor.

    Por gentileza cogite dar alguns cliques no google imagens ponte mosfet. Existem drivers mastigados pra isso. Penso que se tivesse feito isso ao invés de tentar reinventar a roda,  poderias ter economizado...

     

    Mas assim é a vida. Temos que conviver com perdas.... ops! de ja vu sinistro...! toc toc toc na madeira!

    Por cautela eu no codigo desligo todos os mosfets antes de ligar qualquer sentido. Mas por curiosidade? Não posso mandar um "digitalWrite" do arduino ou qualquer microcontrolador na base do bc337? Queima os mosfets?

  14. Pessoal novamente eu postando aqui. Aquele esquemático que fiz de ponte h com mosfets está "errado". Coloquei errado por que ele tá meio confuso, e se voce "acionar cruzado" os 4 mosfets eles entram em curto queimando, apesar de que no multimetro acusa a tensão normal, percebi a entender isso e gastei um baita dinherão.

     

    Fiz outra ponte h que testei  agora está pra láh de confiável.,falta testar com o motor também. O ruim é que a tensão fica limitada a tensão máxima do transistor auxiliar que to usando  como driver. Como to usando o bc337 que, segundo o datasheet ele suporta 80 volts. Temo que no máximo essa ponte h forneca 70 volts sem complicações. Mas já é uma grande coisa.

    Segue o esquemático e a pcb

     

    Sem título.jpg

    pcb.jpg

    adicionado 28 minutos depois

    Pessoal uma duvida. Usar mosfet como transistor driver iria aumentar a capacidade de tensão do circuito??? O protheus "não quis" emular o ci com uma potencia acima de 80 volts, o que virá em anexo a seguir:

     

    ddd.jpg

  15. Pessoal, bom dia. Estava estudando em como se altera a frequencia de pwm dos pinos do arduino...

     

    Me deparei com essa tabela de valores em anexo. Queria saber se, tipo eu declarar

    TCCR1B = TCCR1B & B11111000 | B00000001; 

    no void setup do arduino a frequencia altera para 31.375 khertz como fala essa folha.

     

    Uma outra dúvida.

     

    Lih em outros sites que a "função"

    TCNT=0;

    inicializa a variável contador para zero e , pelo que eu entendi,

    OCR1A=509;

    Seria uma espécide de PRESCALER que invocaria uma função a cada ciclo pelo comando:

    ISR(TIMER1_COMPA_vect){// interrupt when timer 1 match with OCR1A value
    //suas instruções
    }

    Queria mais "entender " isso. Sobretudo o OCR1A, como poderei chamá-lo.

     

    Desde já agradeço qualquer ajuda

    Sem título.jpg

  16. 1 hora atrás, albert_emule disse:

     

     

    Gerar o código só é parte da árdua tarefa. Parte até muito fácil para quem trabalha com programação. 

    Ainda tem as etapas de potência.

     

    Eu coloquei este código para rodar aqui e percebi um erro grave: 

    Antes de rodar as saídas do Arduíno fica por por alguns milissegundos em nível alto, colocando todos os mosfets em modo "ON" ao mesmo tempo.  

    Isso explode mosfet. 

     

     

    Percebi este erro também. ALterei o codigo colocando um delayMicroseconds de 20 para desligar os mosfets de tipo n e depois alterno os pinos 9 e 10 que tão chaveando os mosfets do tipo p.. Testei com o multimetro perdi meio volt "to usando aquelas fontes chaveadas que simulam bateria de carro". Acredito eu que ta funcionando.

  17. Pessoal, finalmente consegui.. Fiz onda senoidal. Agradeço principalmente ao@albert_emule  e a @Isadora Ferraz . Peguei o codigo de onda senoidal de 60 hertz no site colocado e funcionou perfeitamente!

    Tive de alterar o código pois ele chaveava apenas 2 transistores com arduino e eu precisava de 4.

    Simulei no protheus "pois não tenho osciloscópio" e vi no multimetro a tensão alternada.

    Também vi que o gringo sugeriu um filtro passa baixas com resistor de 220r mais um capacitor de 1uf  não  polarizado.

     

    Aqui vai as formas de onda antes de passar pelo filtro passa-baixas e depois, respectivamente

    relatório5.jpg

    relatório4.jpg

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!