Ir ao conteúdo
  • Cadastre-se

carlosporto

Membro Pleno
  • Posts

    24
  • Cadastrado em

  • Última visita

Tudo que carlosporto postou

  1. Bom dia Amigos, Tenho um problema que gostaria de resolver utilizando arduino (ou até mesmo um Raspberry, a depender da funcionalidade); Todos os meses eu recebo um lote de carteirinhas (no exemplo de carteirinhas da unimed). Todas tem o mesmo tamanho e padrão de dados escritos. Entretanto, eu tenho que separar manualmente essas carteirinhas por cidade, para depois despachá-las para o responsável de cada região. Acontece que esse serviço manual gera muitas confusões. E por se tratar de uma quantidade grande e recorrente, acabo confundindo as cidades e todos os meses tenho que pagar frete para devolução das carteirinhas erradas. Eu gostaria de desenvolver um pequeno separador que contivesse um leitor para uma posição específica da carteirinha (o local onde está escrito a cidade) para que ele separasse automaticamente as carteirinhas (sei que o projeto envolve motores, servos e outras coisas.. mas já empaquei na ideia inicial do leitor). Gostaria de saber se existe um sensor que identifica padrões dessa forma ou se alguém já fez um projeto parecido. Eu não sei nem a nomenclatura para iniciar as buscas. Infelizmente a carteirinha não possui código de barrar nem QR Code. Qualquer norte sobre essa questão seria de muita valia. (Sempre que pesquiso leitor no Google só aparece "leitor biométrico") Agradeço desde já!
  2. Boa Tarde Pessoal, Estou com um notebook de uma cliente, modelo Winbook N23S da CEE. Ela me pediu que formatasse e instalasse alguns programas. Instalei o Windows 7 nele e comecei a procurar os drivers para instalar. Acontece que o site da CCE Info está fora do ar e eu não consigo achar o driver wifi desse pc. Já procurei por links alternativos e nada. Agradeço muito qualquer ajuda! Grande Abraço
  3. Bom dia, Funcionou perfeitamente com o Driver Boost! Não conhecia esse software, muito bom mesmo! Muito obrigado e ótimas festas! Grande Abraço
  4. Boa noite Pessoal, Comprei um notebook no site da Dell, é um Inspiron 14 Serie 5000. Comprei com Ubuntu para ficar mais barato, chegou a entrega hoje e eu logo instalei o Windows 7 32 bits. Acontece que não consigo instalar de jeito nenhum o driver Wi-fi. Já fui la em gerenciador de dispositivos e a imagem que tenho é essa: Instalei o SIW para ver a marca do Driver e tenho essa imagem. O Mais estranho é que quando aperto o FN + PRTSCR para ativar o wifi ele ativa o Bluetooth, nunca vi disso. Parece que ele instalou o driver BT em cima do Wifi. Qualquer ajuda é muito bem vinda! Grande Abraço a todos e ótimas festas
  5. Boa Tarde Pessoal, Consegui resolver também o problema de interferências. Coloquei um capacitor 100nf em paralelo com a saida para o motor e, a princípio pararam todas as interferências. Muito obrigado pela ajuda de todos. Vocês são 10! Não sei como se faz, mas podem fechar o tópico. Grande Abraço
  6. UAU!!!!!!! Muito Obrigado @rjjj e @Matthwus!! Testei aqui e funcionou sim! Agora tenho outro problema O Circuito funciona perfeitamente se eu nao ligo os pinos do motor. Agora quando ligo, o motor começa a girar e da uma interferência gigante em todo o circuito. Os displays começam a piscar e ele trava inteiro. O circuito é este aqui (sem o novo modo de ativação do transistor implementado). Será que podem me ajudar? ou devo criar um novo tópico? Forte Abraço e obrigado novamente.
  7. Boa tarde Pessoal, Estou fazendo um projeto para a faculdade e uma pequena ajuda seria muito bem vinda. Estou realizando o controle de um motor por PWM (aquele tipico servo motor de parabólica azul), conforme ligação abaixo. Onde C2 é um pino de um PIC 16F876A Quando deixo o motor desligado parece que o Transistor TIP 41 não "isola" totalmente o motor, e ele fica girando bem lentamente, como se estivesse passando alguma corrente por ali. Estou usando uma fonte chaveada de 12V/1A, ligo essa fonte diretamente no motor através do Transistor. Acontece que eu não consigo (e não tenho experiência) para calcular direito esse transistor e esse resistor de base. Será que estou utilizando o Transistor errado? Não consegui achar as especificações completas desse motor. Qualquer ajuda é muito bem vinda. Grande Abraço.
  8. Boa Tarde @Isadora Ferraz. Desculpe-me a demora, eu montei o circuito com motor DC e PWM. Para tanto, utilizei um Transistor NPN (TIP 41). Porém quando ligo o circuito o motor não tem Torque suficiente para suportar algum peso (diga-se 300g) Eu precisaria aumentar a corrente no motor para aumentar o torque, certo? Estou pensando em usar um Relê 5 Volts para fazer a ligação, e assim aumentar a corrente no motor. A minha dúvida é que se eu posso usar PWM com o Relê, acredito que não. Estou certo? Você tem alguma outra ideia??? MUITO OBRIGADO
  9. Boa Tarde @Isadora Ferraz. Desculpe-me pela demora para responder. Estive fazendo vários tipos de testes com o motor de passo e optei por abandoná-lo completamente. Agora estou usando um motor de 5v. A Ligação esta como na imagem abaixo: Sendo o recebimento do sinal na Base do Transistor com resistor de 1k vem do PIC. Você pode me dizer como eu colocaria o motor em curto nessa ocasião? O uso do diodo em paralelo com o motor para "proteger" o PIC está certo? Por último e prometo que nao incomodo mais (kkk) O que você acha de eu usar PWM para controlar a velocidade do motor e não sofrer com a inércia? Você acha que é algo difícil de fazer? Li em algum lugar que o PIC já tem alguns pinos que fazem PWM. Obrigadooooo novamentee!!!! Bom resto de semana
  10. Pessoal boa tarde!! Montei aqui o circuito na proto board funcionou direitinho mas eu sequer vejo o motor se mexer. Ele tem um passo muito pequeno: Olha o que diz no site que eu comprei: *(Ângulo do Passo: 5,625/64 ≈ 0,088°) Tentei aumentar a frequência, mas os motores possuem um limite de frequência (Li no site ROGERCOM que o máximo seria 10ms cada intervalo. isso da uns 100Hz, certo?). Minhas afirmações estão corretas? A solução seria eu comprar um motor de passo com um maior angulo de passo, certo? Outra solução apontada por um amigo, é que eu volte a usar um motor DC e use algum tipo de solenoide para frear a roda em si; ele me apontou um modelo de travas elétricas universais para carro que funcionam 12V : Eu utilizaria estas chaves para travar a roda e parar a inercia do motor, o que você acha? Você conhece algum modelo de "freio" como esses, utilizado em eletrônica? Obrigado novamente e Boa sexta feira!!
  11. Boa Tarde Não funciona Quando MR=1 a saída Q0=1 E se eu tirar toda a energia dessa parte do circuito? e o Pino do PIC for o "alimentador" +5V? Seria um problema muito grande o ter corrente forçando uma das bobinas do motor? Pode queimar? Estou pensando em larga tudo e colocar outro Pic só para controlar o motor. Penso que a lógica seria bem simples (Quando receber sinal por uma entrada, entra num loop alternando 4 saídas) certo? Ou meu amadorismo não me deixa pensar nos problemas? haha Qual seria o PIC mais indicado pra isso? Melhor custo beneficio e poucas portas? PIC12C508? Desculpem os transtornos, Obrigado desde já
  12. Boa noite amigos @Isadora Ferraz e @circuit Eu realmente poderia ter feito como você disse com o teclado. Poderia ter feito somente 3 teclas. (Amador ) Seria realmente muito mais fácil com um motor DC, mas já tentei frear ele de todo o jeito. Desculpe @Isadora Ferraz não entendi seu esquema para dar curto no motor, você poderia explicar melhor (ou desenhar? Please ) ? Montei esse circuito para o motor de passo, (no simulador funcionou) você poderia me dizer se está certo? Amanha vou montar na protoboard para ver se funciona. Teoricamente eu só preciso conectar o pino de saida do PIC no RESET (Pino 4) do 555, certo? Eu não posso deixar o pino 4 flutuando enquanto nao mando o comando ALTO (no simulador ele fica girando o motor), preciso colocar um resistor de Pull-down também. Entendi corretamente? Você acredita que o pino direto do PIC já acionaria o CI555 ou eu deveria fazer a ligação através de um transistor? Muitoooooooooooo Obrigadooooooo novamente!! Vocês aqui do fórum são 10!!! Ótima quinta feira!
  13. Boa Tarde, desculpe Estou Fazendo um contador automático para bolas de Paintball Os componentes são: 3 Displays de 7 segmentos, 12 chaves Tácteis, um sensor fotodiodo (receptor e emissor) e um motor. Os números serão digitados no teclado, aparecerão no Display e assim que o usuário apertar OK, o motor começara a girar, transportando as bolinhas pela roda com as furações. Quando uma bolinha passa pelo foto diodo, interrompendo o feixe, o contador decrementa uma unidade, até zerar a contagem. Quando a contagem chega a zero, o motor para e o teclado é liberado novamente para receber uma nova entrada. As entradas podem ser de: 1 até 999. O Teclado possui também um botão "Cancelar" caso o usuário erre na digitação das teclas. Eu não preciso de uma precisaão muitooo grande, mas como vocês podem ver nas imagem, o eixo do motor vai ligado diretamente no centro da roda. Quando eu usava um motor DC e a contagem chegava a zero, a inércia levava o motor a girar um pouco mais, contando algumas bolinhas a mais do que o digitado pelo usuário. O Motor de Passo que tenho é de 5 fios, eu não quero controlar a posição ou inverter a rotacao do motor. Gostaria apenas de faze-lo girar para 1 dos lados e controlar sua velocidade (Somente na fase de testes, para eu coloca-lo em sua maxima velocidade de contagem sem quebrar as bolinhas). Espero que eu tenha explicado melhor agora, desculpe-me os transtornos e Obrigado novamente
  14. Boa Tarde @Isadora Ferraz. Segue uma foto do meu projeto. OS pinos sobrando são: C7 B7 (motor e sensor, respectivamente) A3 (Buzzer) Os que realmente estão sobrando são: A4 e A5 Não sei mandar fotos por aqui (podem me ensinar?) Eu quero que ele trabalhe exatamente igual á um motor DC. Não posso usar um motor DC, pois quando corto a energia do motor, por inércia, ele continua girando e passa do ponto onde deveria estar. Já fiz de tudo para tentar achar um "freio para motores DC" e não consegui. A Solução que me apontaram foi usar um motor de passo. Eu queria alguma coisa mais simples, um amigo me informou que eu posso fazer um circuito a parte com um contador 555 ligado no motor de passo (o que eu comprei já vem com a parte de potência implantada). Quando eu jogar valor alto no determinado pino do PIC, ele alimenta o CI e gira o motor, quando eu colocar nível baixo, ele desligaria o circuito e consequentemente o motor. Vocês que tem mais experiência, isso é possível?? Novamente agradeço qualquer ajuda. Estou estourando os prazos do meu tcc. hehe
  15. Ola novamente @Isadora Ferraz, Remanejei os pinos e o máximo que consegui foram 3 pinos (A3, A4 e A5). Quais desses dois esquemas é o melhor? com 2 ou 3 pinos? nunca mexi com esses circuitos/esquemas. Você pode me ajudar? Só preciso que ele gire para um lado mesmo. Algum desses esquemas eu consigo controlar a velocidade com um potenciômetro ou pela programação? Obrigado e bom final de semana
  16. Boa tarde Pessoal. Sou amador e novato em eletrônica e estou desenvolvendo um projeto de TCC em um PIC 16F876A onde preciso acionar um motor de passo. (QUASE ARREPENDIDO, haha) Comprei o motor da figura abaixo, já com o circuito de potência utilizando o ULN2003 Acontece que preciso acionar o motor numa única direção (como se fosse um motor CC) somente com um pino do PIC. Estou tendo dificuldades em encontrar um circuito nessa configuração. Eu terei de usar um 555? Seria interessante também, se eu tivesse um potenciômetro onde eu controlo a velocidade do motor (não é crucial) Qualquer resposta ou ideia será de grande ajuda!! Obrigado desde já!
  17. Boa tarde pessoal. O circuito funcionou certinho. O Problema era sim o debouncing dos botões. Fico agradecido pela ajuda. Principalmente a @Isadora Ferraz e @advtec que responderam e tiveram paciência comigo. Muito obrigado e até a próxima!
  18. Boa Tarde novamente, sei que estou sendo chato... meu código agora ficou asssim: unsigned char leteclado (){ unsigned char tecla; set_tris_c(0b11110000); output_c(0b11110000); tecla=input_c(); set_tris_c(0b00001111); output_c(0b00001111); tecla|= input_c(); return (tecla);}void main(void){ set_tris_b(0x00); while(true) { output_b(leteclado()); }} Mas estou monitorando o PORTB no simulador e o valor não muda. Você colocou alguma condição especial no Wach Window do seu simulador? Alguma boa alma que programa com o CCS para me ajudar? Todo mundo usa o MikroC? devo eu mudar meu simulador? Obrigado novamente, e boa noite
  19. Boa Tarde Pessoal, Muito Obrigado pela ajuda, a parte fisica esta funcionando perfeitamente agora. Porém ainda estou tendo dificuldades para implementar uma varredura 4x3 como a @Isadora Ferraz me passou o código, você poderia me explicar basicamente o que o código faz? Como é para o meu TCC, vou ter que saber explicar isso depois. Estou tendo dificuldades em transformar o código para o meu compilador CCS, segue o que consegui. unsigned char tecla; set_tris_c(0b11110000); output_c(0b11110000); tecla=output_c; //essa função não é possivel no CCS set_tris_c(0b00001111); output_c(0b00001111); tecla|=output_c; //Não entendi o que essa função faz. return tecla; Obrigado novamente, vocês são muito legais
  20. Bom dia.. Desculpe a demora pra responder, comprei novos componentes e montei uma placa novinha, e ainda assim não funcionou. Primeiramente não liguei o teclado, e os valores do display se mostravam corretos, mas quando ligo o teclado, a varredura não funciona direito. Você conhece algum outro jeito de ler teclado 4x3? Agradeço qualquer ajuda
  21. Desculpe não sou um Expert, talvez tenha feito algo errado. Estou obtendo + 5V e GND de um Circuito LM7805 ligados com dois capacitores para filtro (1000 microF e 10microF). Estes Seriam os filtros ideais? OS Pinos estão assim ligados: PINO 1 - +5V direto PINO 20 - +5V direto PINOS 18, 19, 6, 8 e 28 = GND PINOS 9 e 10 = Ligados em um Cristal de 4Mhz e capacitores de 22pF Estas ligações estão corretas? Liguei os pinos 28 e 18 para não deixalos flutuando, porque achei que entraria ruido. Obrigado desde já. Obrigado também pela paciência
  22. Boa Tarde Pessoal, Estou desenvolvendo meu projeto de TCC, que consiste num contador eletrônico utilizando um PIC 16F876A. Utilizo a estrutura por varredura e mascara com numeração hexadecimal no display, e também um teclado por varredura. Acontece que na minha simulação no ISIS PROTEUS o programa funciona redondo. Mas quando gravo no PIC, existe algum tipo de interferência nos botões e vários erros acontecem. Quando aperto o botão referente ao número 7 o pino B do Display de 7 segmentos não aparece, quando aperto 4 também. Quando aperto 9, o PIC se perde em algum LOOP infinito e apaga os Displays e só sai quando aperto o botão referente ao 0, mostrando "90" nos displays. Alguém tem alguma ideia para me ajudar? Sou novo em programação PIC, mas não tenho ideia se é problema de Hardware ou Software. Talvez algum pino do PIC que deixei flutuando? Pode gerar algum tipo de ruido? Agradeço qualquer tipo de ajuda! Segue meu Programa. #include <16F876A.h>#FUSES NOWDT //No Watch Dog Timer#FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)#FUSES PUT //Power Up Timer#FUSES NOPROTECT //Code not protected from reading#FUSES NODEBUG //No Debug mode for ICD#FUSES NOBROWNOUT //No brownout reset#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O#FUSES NOCPD //No EE protection#FUSES NOWRT //Program memory not write protected//#FUSES RESERVED //Used to set the reserved FUSE bits#use delay(clock=4000000)//Definição das saidas dos displays#define UNIDADE PIN_A2#define DEZENA PIN_A1#define CENTENA PIN_A0//definicao da entrada dos botoes (VARREDURA DO TECLADO)#define COLUNA_1 PIN_C0#define COLUNA_2 PIN_C1#define COLUNA_3 PIN_C2#define LINHA_1 PIN_C3#define LINHA_2 PIN_C4#define LINHA_3 PIN_C5#define LINHA_4 PIN_C6//definicao da saida do buzzer(som), motor e sensor#define SOM PIN_C7#define MOTOR PIN_A5#define SENSOR PIN_A3 //variaveis // "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" unsigned char ucMascara[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //mascara com os numeros de 0 a 9 hexadecimal, varial de 8 bits (0 a 255) sempre positiva long int uiTecla=0; //variavel do contador long int uiValor=0; //variavel para mostrar o valor no display long int uiTotal=0; long int liRepete=0; unsigned int uiFlag_tecla=0; unsigned int i = 0; unsigned int liga = 0; unsigned int tempo = 1; void apita (void){ //delay muito baixo nem vai ter como ouvir o bip //testar o tempo //output_high(SOM); //delay_ms(tempo); //output_low(SOM);}void desaperta (void){ tempo=1; while(input(COLUNA_1)||(input(COLUNA_2))||(input(COLUNA_3))) {// apita(); //enquanto o botao estiver apertado vai ficar apitando } }void display(void){ uiValor=uiTotal; output_b(ucMascara[uiValor%10]); output_high(UNIDADE); delay_ms(5); output_low(UNIDADE); uiValor/=10; //mostra o valor da dezena output_b(ucMascara[uiValor%10]); output_high(DEZENA); delay_ms(5); output_low(DEZENA); uiValor/=10; //mostra o valor da centena output_b(ucMascara[uiValor%10]); output_high(CENTENA); delay_ms(5); output_low(CENTENA);}void limpa_pinos (void){ //zera linhas output_low(LINHA_1); output_low(LINHA_2); output_low(LINHA_3); output_low(LINHA_4); //zera colunas output_low(COLUNA_1); output_low(COLUNA_2); output_low(COLUNA_3);}testa_botao (void){ limpa_pinos(); output_high(LINHA_1); //testa primeira linha (7 8 9) if(input(COLUNA_1)&&(uiFlag_tecla==0))// testa coluna 1 { desaperta(); uiFlag_tecla=1; return(7); } if(input(COLUNA_2)&&(uiFlag_tecla==0)) //testa coluna 2 { desaperta(); uiFlag_tecla=1; return(8); } if(input(COLUNA_3)&&(uiFlag_tecla==0)) //testa coluna 3 { desaperta(); uiFlag_tecla=1; return(9); } limpa_pinos(); output_high(LINHA_2); //testa segunda linha (4 5 6) if(input(COLUNA_1)&&(uiFlag_tecla==0))// testa coluna 1 { desaperta(); uiFlag_tecla=1; return(4); } if(input(COLUNA_2)&&(uiFlag_tecla==0)) { desaperta(); uiFlag_tecla=1; return(5); } if(input(COLUNA_3)&&(uiFlag_tecla==0)) { desaperta(); uiFlag_tecla=1; return(6); } limpa_pinos(); output_high(LINHA_3); //testa segunda linha (7 8 9) if(input(COLUNA_1)&&(uiFlag_tecla==0))// testa coluna 1 { desaperta(); uiFlag_tecla=1; return(1); } if(input(COLUNA_2)&&(uiFlag_tecla==0)) { desaperta(); uiFlag_tecla=1; return(2); } if(input(COLUNA_3)&&(uiFlag_tecla==0)) { desaperta(); uiFlag_tecla=1; return(3); }limpa_pinos(); output_high(LINHA_4); //testa segunda linha (cancel 0 enter) if(input(COLUNA_1)&&(uiFlag_tecla==0))// testa coluna 1 { desaperta(); uiFlag_tecla=1; return(10); } if(input(COLUNA_2)&&(uiFlag_tecla==0)) { desaperta(); uiFlag_tecla=1; return(0); } if(input(COLUNA_3)&&(uiFlag_tecla==0)) { desaperta(); uiFlag_tecla=1; return(11); } // se nenhuma tecla for pressionada retorna o valor 20 return(20); }void gira_motor (void){ output_high(MOTOR); liRepete = uiTotal; while (uiTotal>0) { if(input(SENSOR)) { while (input(SENSOR)) { delay_ms(1); } uiTotal--; } display(); } output_low(MOTOR);}void main(){ while(true) { if (liga==0) { tempo=100; apita(); delay_ms(100); apita(); tempo=1; liga=1; } uiTecla = testa_botao(); if ((uiTecla!=20)&&(uiTecla!=10)&&(uiTecla!=11)) { if ((i==0)&&(uiTecla!=0)) { uiTotal = uiTecla; uiFlag_tecla=0; i++; } else if (i==1) { uiTotal = (uiTotal*10) + uiTecla; uiFlag_tecla=0; i++; } else if (i==2) { uiTotal = (uiTotal*10) + uiTecla; uiFlag_tecla=0; i++; } } else if ((uiTecla==10)&&(uiTotal>0)) { uiTotal = 0; uiFlag_tecla=0; i=0; } else if (uiTecla==11) { if ((uiTotal==0)&&(liRepete!=0)) uiTotal=liRepete; else if (uiTotal!=0) gira_motor(); uiFlag_tecla=0; i=0; } else uiFlag_tecla=0; display(); }}

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!