Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
Shazam2018

Sequencial de uns 10 led's

Recommended Posts

Olá,

 

Eu estou precisando de um pequeno sequenciador de led's e achei vários esquemas de sequencia simples de 10 led's usando um CD4017. Mas da maneira que eu preciso eu não consegui encontrar nenhum, seria assim: Os leds começam a sequencia somente após um toque em um push botton mas mantém o último aceso e para, após outro toque manual no botão inicia novamente a sequencia e mantém o penúltimo aceso e para, ficando agora com os dois últimos leds acesos, novamente apertando o botão inicia a sequencia e vai até o anti-penúltimo e para ficando agora com os 3 últimos leds acesos, e assim por diante até que tenha todos os leds acesos, então no próximo toque ao botão pode resetar (apagar) todos de uma vez, ou a cada toque ir apagando um por um tanto faz. É possível fazer de maneira simples esse circuito ou é complicado?

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da pra fazer isso usando o 4017 mesmo, só que vai precisar de vários outros circuitos integrados do tipo flip flop e várias portas lógicas pra fazer os Leds permanecerem acesos. Pensando melhor, acho que nem do 4017 precisa. 

 

A maneira mais simples seria com micro controladores mesmo. 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Mestre88 muito obrigado por responder.

 

Esses vários outros CI's que você cita seria muitos e caros ou desses tipos de preços baixo? O que eu preciso não importa a quantidade de componentes para serem montados desde que o custo de cada montagem dessa tenha um custo baixo. Eu não sei se o que você diz de microcontroladores é o tipo arduino com programação, se for não serve porque já tenho um orçamento desses mas por alto fica cerca de 500 reais a programação e depois cada montagem que eu precisar fica em torno de 150 reais, nesse caso o meu projeto fica bem acima do disponível para isso, eu preciso montar algumas plaquinhas desse circuito talvez umas 10 para o meu uso.

 

Você teria uma estimativa de valores final desses CI's para fazer a montagem? já que resistores e pequenos capacitores são de valores baixíssimos e nem conta. E como eu faria para ter essa montagem que disse que consegue fazer, pois meu conhecimento na eletrônica não chega a me permitir o desenvolvimento desse circuito?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
40 minutos atrás, Shazam2018 disse:

Esses vários outros CI's que você cita seria muitos e caros ou desses tipos de preços baixo?

São cis da mesma família do 4017, como o 4013, 4001, 4011 e etc. São baratos, para seu projeto tem que ver qual desses será usado.

Uma solução interessante que eu uso para baratear é fazer portas lógicas simples é usar diodos e resistores de sucata, isso elimina o 4081 ou 4071 caso precise deles. 

 

45 minutos atrás, Shazam2018 disse:

Eu não sei se o que você diz de microcontroladores é o tipo arduino com programação

Sim, eu falava dos pics e arduinos. Mas assim como eu, seu forte não é a programação. 

 

49 minutos atrás, Shazam2018 disse:

E como eu faria para ter essa montagem que disse que consegue fazer, pois meu conhecimento na eletrônica não chega a me permitir o desenvolvimento desse circuito

Se não tiver pressa, na semana que vem eu posso pensar em como fazer esse circuito, achei a ideia do sequencial interessante. Poderia dizer pra que vai servir? 

 

52 minutos atrás, Shazam2018 disse:

Você teria uma estimativa de valores final desses CI's para fazer a montagem?

Pesquise sobre os cis que eu citei acima, provável que para fazer isso use pelo menos 6 ou 7 integrados em cada placa. 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Mestre88,

 

Genial, esses CI's que você citou são todos da linha (baratinhos) de baixo custo. Se for mais fácil e prático na plaquinha de circuito impresso eu usar os CI's para as portas lógicas não tem necessidade de fazer com diodos e resistores pois são bem acessíveis os CI's, a menos que facilite a montagem. Eu realmente não tenho nenhum equipamento ou conhecimento em programação, só nas montagens eletrônicas mesmo.

 

Sim, eu posso esperar a semana que vem sem problemas, só que não sei como eu poderia ter o seu contato, pois aqui no fórum as regras não permitem que eu envie mensagem privada e nem o meu contato. Quanto para que serve eu tenho vídeo online da apresentação dele, é apresentação em teatros e shows bastante interessante mas não tenho como te mostrar por falta de contato. Tenho também fotos da placa de circuito impresso com os componentes de um importado mas sem código em nenhum componente acredito que seja um microcontrolador. O custo para fazer em arduino eu já tive e fica sem condições pelo custo da programação e cada cópia que preciso montar depois, mas não sei se em PIC fica mais barato pois vi na internet que microcontroladores são bem baratos, a partir de 3 reais dependendo do modelo. Mas se você consegue montar da maneira que disse acho muito interessante pois depois fico tranquilo para montar quantas cópias eu for precisar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Shazam2018 a ideia dos diodos simplifica quando precisamos de portas lógicas que não estão disponíveis em ci, ou quando precisamos de uma única porta. É bem mais fácil, já que os cis só vêm com 4 delas. 

 

@Sonemus esse é mais simples, com poucas modificações no circuito comum do 4017 se faz isso. 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 31/05/2018 às 16:43, Mestre88 disse:

@Shazam2018 a ideia dos diodos simplifica quando precisamos de portas lógicas que não estão disponíveis em ci, ou quando precisamos de uma única porta. É bem mais fácil, já que os cis só vêm com 4 delas. 

 

@Sonemus esse é mais simples, com poucas modificações no circuito comum do 4017 se faz isso. 

 

adicionado 3 minutos depois
Citação

@Shazam2018 a ideia dos diodos simplifica quando precisamos de portas lógicas que não estão disponíveis em ci, ou quando precisamos de uma única porta. É bem mais fácil, já que os cis só vêm com 4 delas. 

Olá Mestre88, por mim pode ser como achar mais fácil. Mas como eu falei eu não tenho como enviar o vídeo demonstração para você ou qualquer arquivo do circuito pois não tenho como contatá-lo, acho que aqui não é permitido colocar contatos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Shazam2018 Aqui está o esboço do circuito:

imagem55.GIF.a9b828ba92113a0173912bb8a127678d.GIF

Como pode ver temos 6 CIs, são dois 4017, três 4071 e um 555. A sequência só permite 9 Leds, não tem como fazer com 10.

Ainda não fiz cálculos e testes para saber quais os valores de resistores precisam ser usados pra fazer os Leds piscarem no tempo correto.

A sequencia segue sempre até o quinto Led e acende o último, o penúltimo e assim por diante a cada aperto do botão, quando todos os leds estiverem acesos no próximo aperto do botão apaga tudo.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeito! assim que puder eu vou desenvolver a placa e testar o circuito, depois posto aqui o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 31/05/2018 às 01:18, Mestre88 disse:

A maneira mais simples seria com micro controladores mesmo. 

 

Como achei a ideia interessante, fiz o circuito com um micro controlador da linha PIC.

Fiz um código C para o PIC16F628A em um compilador CCS:

(claro que deve ter uma maneira mais fácil de programar isso, mas acho que nada mal pra ser a primeira vez que programo algo).

Spoiler

#include <16F628A.h>
#use delay(clock=4000000)
#fuses NOWDT,INTRC_IO, NOPUT, NOPROTECT, BROWNOUT, MCLR, NOLVP, NOCPD

#USE FAST_IO(A)
#USE FAST_IO(B)
#zero_ram

#byte portb = 0x06
#byte porta = 0x05
#byte trisa = 0x85
#byte trisb = 0x86

#bit s1 = 0x6.0//6
#bit s2 = 0x6.1//7
#bit s3 = 0x6.2//8
#bit s4 = 0x6.3//9
#bit s5 = 0x6.4//10
#bit s6 = 0x6.5//11
#bit s7 = 0x6.6//12
#bit s8 = 0x6.7//13
#bit s9 = 0x5.3 //2
#bit s10 = 0x5.2//1

#define sw pin_a7//16

#define tempo  delay_ms(50)//atraso de início da sequencia principal
#define tempo1 delay_ms(100)//tempo do sequencial
#define tempo2 delay_ms(500)//tempo de espera para início de nova sequencia

void main () { //Inicialização de Registradores
      
   porta=0;
   portb=0;  
   trisa=0xa0; //tudo saída exceto ra5 e ra7
   trisb=0; //tudo saída
      
   while(true) { //Programa Principal
             
         if(input(sw)&&(!s10)){tempo;
         s1=1;tempo1;s1=0;
         s2=1;tempo1;s2=0;
         s3=1;tempo1;s3=0;
         s4=1;tempo1;s4=0;
         s5=1;tempo1;s5=0;
         s6=1;tempo1;s6=0;
         s7=1;tempo1;s7=0;
         s8=1;tempo1;s8=0;
         s9=1;tempo1;s9=0;
         tempo1;s10=1;tempo2;}
         
         if(input(sw)&&(s10)&&(!s9)){tempo;
         s1=1;tempo1;s1=0;
         s2=1;tempo1;s2=0;
         s3=1;tempo1;s3=0;
         s4=1;tempo1;s4=0;
         s5=1;tempo1;s5=0;
         s6=1;tempo1;s6=0;
         s7=1;tempo1;s7=0;
         s8=1;tempo1;s8=0;
         tempo1;s9=1;tempo2;}
                 
         if(input(sw)&&(s9)&&(!s8)){tempo;
         s1=1;tempo1;s1=0;
         s2=1;tempo1;s2=0;
         s3=1;tempo1;s3=0;
         s4=1;tempo1;s4=0;
         s5=1;tempo1;s5=0;
         s6=1;tempo1;s6=0;
         s7=1;tempo1;s7=0;
         tempo1;s8=1;tempo2;}
         
         if(input(sw)&&(s8)&&(!s7)){tempo;
         s1=1;tempo1;s1=0;
         s2=1;tempo1;s2=0;
         s3=1;tempo1;s3=0;
         s4=1;tempo1;s4=0;
         s5=1;tempo1;s5=0;
         s6=1;tempo1;s6=0;
         tempo1;s7=1;tempo2;}
         
         if(input(sw)&&(s7)&&(!s6)){tempo;
         s1=1;tempo1;s1=0;
         s2=1;tempo1;s2=0;
         s3=1;tempo1;s3=0;
         s4=1;tempo1;s4=0;
         s5=1;tempo1;s5=0;
         tempo1;s6=1;tempo2;}
         
         if(input(sw)&&(s6)&&(!s5)){tempo;
         s1=1;tempo1;s1=0;
         s2=1;tempo1;s2=0;
         s3=1;tempo1;s3=0;
         s4=1;tempo1;s4=0;
         tempo1;s5=1;tempo2;}
         
         if(input(sw)&&(s5)&&(!s4)){tempo;
         s1=1;tempo1;s1=0;
         s2=1;tempo1;s2=0;
         s3=1;tempo1;s3=0;
         tempo1;s4=1;tempo2;}
         
         if(input(sw)&&(s4)&&(!s3)){tempo;
         s1=1;tempo1;s1=0;
         s2=1;tempo1;s2=0;
         tempo1;s3=1;tempo2;}
         
         if(input(sw)&&(s3)&&(!s2)){
         s1=1;tempo1;s1=0;
         tempo;s2=1;tempo2;}
         
         if(input(sw)&&(s2)){tempo1;s1=1;tempo2;}
                  
         if(input(sw)&&(s1))
         {tempo1;portb&=0;s9=0;s10=0;tempo2;}
   
   }//while true
   }//void main
         
         
     
        
         
        
         
     
     
     
    
    
    

 

Código HEX já compilado:

Spoiler

:1000000000308A0019280000223084008313000881
:10001000031918280130F800F701F70B0D28F80B29
:100020000C284A30F700F70B13281628800B0A28F3
:10003000003403081F3983005730F7002030840054
:1000400083138001840AF70B2128F801F901FA01D2
:10005000FB01FC01FD01FE015030F700A0308400DF
:1000600083138001840AF70B31283030F7002030E9
:10007000840083178001840AF70B3A288313A001B8
:10008000840183131F30830507309F00850186019B
:10009000A0308316850086018312851F8C280519E0
:1000A0008C283230A200042006146430A200042000
:1000B000061086146430A2000420861006156430F1
:1000C000A2000420061186156430A20004208611C7
:1000D00006166430A2000420061286166430A200C0
:1000E0000420861206176430A20004200613861727
:1000F0006430A2000420861385156430A200042019
:1001000085116430A200042005150230A100FA30E8
:10011000A2000420A10B8728851FC828051DC82818
:100120008519C8283230A200042006146430A200C9
:100130000420061086146430A200042086100615E0
:100140006430A2000420061186156430A200042049
:10015000861106166430A20004200612861664304A
:10016000A2000420861206176430A20004200613A1
:1001700086176430A200042086136430A200042095
:1001800085150230A100FA30A2000420A10BC3287B
:10019000851FFF28851DFF28861BFF283230A200FF
:1001A000042006146430A200042006108614643073
:1001B000A2000420861006156430A2000420061157
:1001C00086156430A2000420861106166430A20051
:1001D0000420061286166430A20004208612061738
:1001E0006430A200042006136430A20004208617A5
:1001F0000230A100FA30A2000420A10BFA28851FCA
:100200003129861F3129061B31293230A2000420F2
:1002100006146430A2000420061086146430A20084
:100220000420861006156430A200042006118615ED
:100230006430A2000420861106166430A200042057
:10024000061286166430A200042086126430A200D2
:10025000042006170230A100FA30A2000420A10BEE
:100260002C29851F5E29061F5E29861A5E293230D9
:10027000A200042006146430A20004200610861494
:100280006430A2000420861006156430A200042009
:10029000061186156430A20004208611061664300B
:1002A000A200042006126430A20004208616023048
:1002B000A100FA30A2000420A10B5929851F86292C
:1002C000861E8629061A86293230A20004200614CA
:1002D0006430A2000420061086146430A2000420BA
:1002E000861006156430A2000420061186156430BD
:1002F000A200042086116430A200042006160230F9
:10030000A100FA30A2000420A10B8129851FA92990
:10031000061EA9298619A9293230A2000420061434
:100320006430A2000420061086146430A200042069
:10033000861006156430A200042006116430A20065
:10034000042086150230A100FA30A2000420A10B7F
:10035000A429851FC729861DC7290619C729323038
:10036000A200042006146430A200042006108614A3
:100370006430A200042086106430A2000420061518
:100380000230A100FA30A2000420A10BC229851F6F
:10039000DD29061DDD298618DD2906146430A2003A
:1003A000042006103230A200042086140230A1007E
:1003B000FA30A2000420A10BD829851FEC29861C45
:1003C000EC296430A200042006140230A100FA30A7
:1003D000A2000420A10BE729851FFD29061CFD2989
:1003E0006430A20004208601851105110230A100AD
:0E03F000FA30A2000420A10BF8294D2863006A
:02400E00783FF9
:00000001FF
;PIC16F628A

 

E o diagrama esquemático:imagem546.GIF.b16ee3018588e6564fe185105fd007f7.GIF

Ao iniciar o circuito todos os leds ficam apagados.

Pressionando o botão, a sequência corre do Led 1 para o led 10, permanecendo este aceso.

Ao apertar novamente a sequencia corre até o Led 9 e este também permanece aceso e assim sucessivamente.

Quando todos os leds estiverem acesos ao apertar o botão todos se apagam e reinicia o ciclo a cada aperto do botão.

O circuito deve ser alimentado com 3 pilhas comuns.

 

 

Editado por Mestre88

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fazendo um off-topic sobre programação, a resposta do colega @Mestre88 me fez lembrar de uma leitura. Tenho visto muita propaganda de MCU de baixo custo (0.25USD) que promete muito com pouca memória (em torno de 512 bytes). Lendo um white paper da Texas encontrei a recomendação já esperada de se usar o Assembler sempre que possível e algumas outras bem interessantes:

Se pretende inicializar com todas as portas em zero, ao invés de comandar bit a bit use

portall = 0

ou um outro estado pré definido para determinada porta, B por exemplo

portb = 0A

Economiza-se alguns bytes preciosos para quem tem pouco.

Outra recomendação é a declaração das variáveis globais dentro do programa principal (main) e não antes. Pelas características do compilador C a declaração antes da função ocuparia mais memória.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Shazam2018 ,

 

Se usar um Atmega8 ou Atmega48 sai ainda mais barato do que com os Pics. E mais barato do que tentar montar com componentes discretos.

 

 

 

adicionado 4 minutos depois

@Sérgio Lembo ,

 

Sim, temos muitos microcontroladores baratinhos, mas quase sempre não são fornecidos em formato DIP, e para comprarmos aqui no Brasil os preços são bem mais altos do que nos Usa, pela questão de volume e impostos.

 

Fora o fato de termos de usar programadores especiais ( leia-se caros ) , compiladores próprios para eles que são bem menos conhecidos,  e ainda fazer layout e soldagem manual, inviabiliza totalmente o uso não profissional deles.

 

Paulo

Editado por aphawk

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, aphawk disse:

muitos microcontroladores baratinhos, mas quase sempre não são fornecidos em formato DIP

A falta de componentes DIP atrapalha o uso de protoboard, uma ferramenta e tanto na etapa de desenvolvimento. Quando olho para tais componentes procuro os que tem no mínimo o formato SOT e outros com terminais externos e espaçamento razoável. BGA nem pensar. Na grande maioria das vezes nos obriga a dupla face de precisão ou até 4 faces ou mais.

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×