Eletrônica Silveira
Olá, Seja Bem-Vindo ao Fórum Eletrônica Silveira!!!!
Para você poder ver os mais variados Projetos do nosso Fórum, você precisa fazer o cadastro!

Depois de se Cadastrar, não se esqueça de ler as regras do fórum!

https://eletronicasilveira.forumeiros.com/t3-regras-do-forum#3


Administrador do Fórum,
Rafael Silveira

Participe do fórum, é rápido e fácil

Eletrônica Silveira
Olá, Seja Bem-Vindo ao Fórum Eletrônica Silveira!!!!
Para você poder ver os mais variados Projetos do nosso Fórum, você precisa fazer o cadastro!

Depois de se Cadastrar, não se esqueça de ler as regras do fórum!

https://eletronicasilveira.forumeiros.com/t3-regras-do-forum#3


Administrador do Fórum,
Rafael Silveira
Eletrônica Silveira
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
HOMENAGEM

Na vida tudo passa tudo acontece mas alguém igual a você a gente jamais esquece

Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 1-74


★ 22 de novembro de 1991

† 12 de março de 2016

Nosso eterno amigo, administrador e fundador deste fórum
Quem está conectado?
189 usuários online :: 0 registrados, 0 invisíveis e 189 visitantes :: 3 motores de busca

Nenhum

O recorde de usuários online foi de 362 em Sex 9 Abr 2021 - 22:11
Últimos assuntos
» LAYOUT DA TIME ONE E OS PDF
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 EmptyDom 14 Abr 2024 - 12:58 por ROLDAO

» PI ITALIANO 6V DETECTOR DE METAL
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 EmptyQua 10 Abr 2024 - 19:10 por Fardin pezzhan

» DETECTOR DE METAIS IDX-PRO
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 EmptySex 5 Abr 2024 - 19:51 por Fardin pezzhan

» Fonte Chaveada 2000W SG3525 & IR2110
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 EmptyQui 4 Abr 2024 - 12:55 por sandy silva de oliveira

» Todas as revistas CTA VOL 1 A 12 - aproveitem.
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 EmptyTer 2 Abr 2024 - 22:28 por Rodrigo L Santos

» >>>>>>> Sobre a criação de novos tópicos<<<<<<<<<<<<<<<
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 EmptyDom 24 Mar 2024 - 16:10 por crisnich

» Defeito intermitente amplificador Ciclotron TIP5000
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 EmptyQua 20 Mar 2024 - 9:13 por fastaveira

» Esquema Amplificador Audio Leader AL 5.0
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 EmptyQua 20 Mar 2024 - 9:01 por fastaveira

» MK4000 - FONTE CHAVEADA FULL BRIDGE
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 EmptyDom 17 Mar 2024 - 18:43 por sandy silva de oliveira

» amplificador class h tailandes
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 EmptySex 15 Mar 2024 - 22:41 por mehuysal

» Amplificador Super Strong
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 EmptyQui 14 Mar 2024 - 13:03 por Reginaldo Silva

» Amplificador Classe D UCD1500
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 EmptyQua 13 Mar 2024 - 13:07 por Guille

»  NS450 - FONTE CHAVEADA PARTE 2
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 EmptySeg 11 Mar 2024 - 6:55 por ffernand3s

» Amplificador Fonte Simples em teia de aranha
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 EmptySex 1 Mar 2024 - 12:17 por Reginaldo Silva

» Manutenção Gradiente 366 / 266
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 EmptyQui 29 Fev 2024 - 21:40 por tiaogaviao

Top dos mais postadores
Rafael Silveira (7816)
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_lcapAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_voting_barAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_rcap 
Caca Silva (6057)
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_lcapAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_voting_barAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_rcap 
renatoscp (3891)
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_lcapAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_voting_barAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_rcap 
CMeletronica (3234)
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_lcapAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_voting_barAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_rcap 
michel chagas (2791)
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_lcapAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_voting_barAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_rcap 
Railson (2119)
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_lcapAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_voting_barAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_rcap 
alexsandro rodrigues de a (1835)
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_lcapAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_voting_barAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_rcap 
naldo santos (1625)
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_lcapAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_voting_barAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_rcap 
ablacon64 (1222)
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_lcapAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_voting_barAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_rcap 
gilvantexas (1061)
Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_lcapAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_voting_barAmpliar saídas do Arduíno com registradores de deslocamento 74HC595 I_vote_rcap 

Medidor de Velocidade


Ampliar saídas do Arduíno com registradores de deslocamento 74HC595

3 participantes

Ir para baixo

Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 Empty Ampliar saídas do Arduíno com registradores de deslocamento 74HC595

Mensagem por Robinho Seg 20 Fev 2012 - 17:37



O segredo é utilizar os registradores de deslocamento 74HC595. Utilizei 4 registradores. O primeiro é ligado diretamento no Arduino, os demais são conectados um ao outro. Para cada registrador ganhamos 8 saídas. No exemplo eu poderia conectar até 32 Leds. O número de registradores fica por sua conta. Pode-se ligar uma quantidade praticamente ilimitada!
Cada registrador custa em média menos de 1 Real.

No código que fiz, é necessário que você indique dentro da função shiftWrite() quantos registradores está usando:

Código:
void shiftWrite(int pin){
  int qtdRegistradores = 4; //QUANTIDADE DE REGISTRADORES (74HC595).

E para acionar os Leds, usei o loop:

Código:
int tempo = 200;
for (int i=1; i<=30; i++){
  shiftWrite(i);
  delay(tempo);
}

Onde i é o número do Led. Nesse caso, de 1 a 30.

Para um controle mais exato de cada saída, é necessário uma grande melhoria nessa lógica. A função pode ser modificada para ter um controle exatamente como o digitalWrite(), onde podemos controlar cada porta de forma individual.
Agora quando precisar de mais saídas, antes de pensar em gastar aquela grana toda comprando um Arduino Mega, lembre dos registradores de deslocamento!

Esse foi só um exemplo de como podemos ampliar as portas de saída do Arduino.

Segue o esquema elétrico do circuito do vídeo, e o código fonte.

Abraços e bons projetos!

Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 ShifOut_MEGA_Esquem%C3%A1tico

Código:
/*---------------------------------------------
 S H I F T O U T  M E G A
 Ampliar o número de saídas do Arduino com
 Registrador de Deslocamento 74HC595
 Fellipe Couto - 19/02/2012
 --------------------------------------------*/
 
/*¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
 - Pino 8 do Arduino ligado ao pino 12 do CI.
 - Pino 11 do Arduino ligado ao pino 14 do CI.
 - Pino 12 do Arduino ligado ao pino 11 do CI.
 - Led 1 = Pino 15 do CI.
 - Led 2 = Pino 1 do CI.
 - Led 3 = Pino 2 do CI.
 - Led 4 = Pino 3 do CI.
 - Led 5 = Pino 4 do CI.
 - Led 6 = Pino 5 do CI.
 - Led 7 = Pino 6 do CI.
 - Led 8 = Pino 7 do CI.
 - Pinos 10 e 16 do CI ligados ao Vcc.
 - Pinos 8 e 13 do CI ligados ao GND.
 - Pino 9 do CI ligado ao pino 14 do próximo CI.
 ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨*/
int latchPin = 8;  //Pino conectado ao pino 12 do 74HC595 (Latch).
int dataPin = 11;  //Pino conectado ao pino 14 do 74HC595 (Data).
int clockPin = 12; //Pino conectado ao pino 11 do 74HC595 (Clock).
 
void setup(){
  //Define os pinos como saída
  pinMode(latchPin,OUTPUT);
  pinMode(dataPin,OUTPUT);
  pinMode(clockPin,OUTPUT);
}
 
void loop(){
  int tempo = 200;
  for (int i=1; i<=30; i++){
    shiftWrite(i);
    delay(tempo);
  }
  for (int i=30; i>0; i--){
    shiftWrite(i);
    delay(tempo);
  }
 
  tempo = 10;
  for (int j=0; j<3; j++){
    for (int i=1; i<=30; i++){
      shiftWrite(i);
      delay(tempo);
    }
    for (int i=30; i>0; i--){
      shiftWrite(i);
      delay(tempo);
    }
    tempo -= 2;
  }
}
 
void shiftWrite(int pin){
  int qtdRegistradores = 4; //QUANTIDADE DE REGISTRADORES (74HC595).
 
  int countShift = 1;
  int data = 256;
  for (int i=1; i<=pin; i++){
    if (data <= 1){
      data = 256;
      countShift++;
    }
    data /= 2;
  }
 
  digitalWrite(latchPin, LOW);
  for (int i=qtdRegistradores; i>0; i--){
    if (i == countShift){
      shiftOut(data);
    }
    else{
      shiftOut(0);
    }
  }
  digitalWrite(latchPin, HIGH);
}
 
void shiftOut(byte dataOut){
  //Desloca 8 bits, com o bit menos significativo (LSB) sendo deslocado primeiro, no extremo ascendente do clock.
  boolean pinState;
  digitalWrite(dataPin, LOW); //Deixa o registrador de deslocamento pronto para enviar dados.
  digitalWrite(clockPin, LOW);
 
  for (int i=0; i<8; i++){ //Para cada bit em dataOut, envie um bit.
    digitalWrite(clockPin, LOW); //Define clockPin como LOW antes de enviar o bit.
 
    //Se o valor de dataOut E(&) de uma mascara de bits forem verdadeiros, defina pinState como 1 (HIGH).
    if (dataOut & (1<<i)){
      pinState = HIGH;
    }
    else{
      pinState = LOW;
    }
 
    digitalWrite(dataPin, pinState); //Define dataPin como HIGH ou LOW, dependendo de pinState.
    digitalWrite(clockPin, HIGH); //Envia o bit no extremo ascendente do clock.
  }
  digitalWrite(clockPin, LOW); //Interrompe o deslocamento de dados.
}

Fonte: Efeito Nerd.
Robinho
Robinho
Avançado
Avançado

Mensagens : 906
Data de inscrição : 04/06/2011
Idade : 46
Localização : Rio de Janeiro

http://www.paodemugen.com.br

Ir para o topo Ir para baixo

Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 Empty Re: Ampliar saídas do Arduíno com registradores de deslocamento 74HC595

Mensagem por tenminutes Sáb 9 Fev 2013 - 23:57

Se eu quiser ligar os varios leds de uma vez esse circuito aguenta?
tenminutes
tenminutes
Nível 1
Nível 1

Mensagens : 1
Data de inscrição : 09/02/2013
Idade : 38
Localização : Matrix

Ir para o topo Ir para baixo

Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 Empty Re: Ampliar saídas do Arduíno com registradores de deslocamento 74HC595

Mensagem por Erisvaldo Alves Santos Qua 16 Set 2015 - 16:02

Boa Tarde Robinho, este HC595 foi o BE que vc usou nesse projeto?
Erisvaldo Alves Santos
Erisvaldo Alves Santos
Nível 1
Nível 1

Mensagens : 1
Data de inscrição : 16/09/2015
Idade : 48
Localização : Monte Alegre de Minas - MG

Ir para o topo Ir para baixo

Ampliar saídas do Arduíno com registradores de deslocamento 74HC595 Empty Re: Ampliar saídas do Arduíno com registradores de deslocamento 74HC595

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos