31 de outubro de 2012

Safety Car

Sabe quando você precisa de mais que um pisca-alerta no trânsito?


20 de outubro de 2012

Módulo Relé duplo - DIY

Para acionar lâmpadas, motores e qualquer outro tipo de carga que não seja de baixa corrente, uma das opções é a utilização de relés. Um relé é um interruptor acionado eletricamente.
Para entender melhor seu funcionamento: Relé - Wikipédia

Esse é um módulo relé duplo, que custou em torno de 5 pratas pra fazer.


14 de outubro de 2012

Disco RGB - Sequencial 18 canais

Um sequencial de 18 canais com 12 Leds RGB! Agora a discoteca ficou pronta!


26 de setembro de 2012

Sensor Laser

Sabe aqueles alarmes com lasers voando pra todo lado? O laser vai refletindo em espelhos até chegar em um sensor, que quando detecta um corte na luz , aciona a sirene, as luzes, e tudo mais!

22 de setembro de 2012

Contador de Passagem

O infravermelho detectou, o display contou!



O projeto é composto basicamente de um display de 7 segmentos com 4 digitos e anodo comum, um CI 74HC595, um Led IR, um receptor IR (fototransitor) e um arduino.

19 de setembro de 2012

Super Sequencial de LEDs

Fala meu povo! São 30 Leds no sequencial!


18 de setembro de 2012

Ampliar saídas do Arduino (Library)

Alô cientistas e computeiros! Seus problemas acabaram!
Está pronta a biblioteca que vai permitir seu Arduino ter mais de 100 saídas!


No projeto utilizei 3 registradores 74HC595 e apenas 3 saídas do Arduino. Para cada registrador, temos 8 novas saídas.

Fiz a biblioteca para controle individual de cada saída, exatamente da mesma forma que usamos o digitalWrite() do Arduino.

Como são 3 registradores, temos 24 saídas. Para acender o led da saída número 20, por exemplo, usamos:
mega.shiftWrite(20, HIGH);
E para apaga-lo:
mega.shiftWrite(20, LOW);
Biblioteca disponível em:
https://github.com/fellipecouto/ShiftOutMega

A instalação pode ser realizada através do gerenciador de bibliotecas da IDE Arduino:

Para entender melhor o projeto, vejam um post antigo que havia feito sobre esse assunto:

http://www.efeitonerd.com.br/2012/02/ampliar-saidas-do-arduino.html

Segue o código do exemplo do vídeo. O esquema elétrico é o mesmo do post antigo.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/*---------------------------------------------------------------
  Programa : SHIFOUTMEGA
  Descr    : Ampliar o número de saídas do Arduino com CI 74HC595
  Autor    : Fellipe Couto [ http://www.efeitonerd.com.br ]
  Data     : 17/09/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.
 ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨*/
#include <ShiftOutMega.h> //https://github.com/fellipecouto/ShiftOutMega

//Variáveis de uso dos registradores 74HC595
int latchPin = 8;  //Pino 8 conectado ao pino 12 do 74HC595 (Latch).
int dataPin = 11;  //Pino 11 conectado ao pino 14 do 74HC595 (Data).
int clockPin = 12; //Pino 12 conectado ao pino 11 do 74HC595 (Clock).

//Quantidade de registradores (74HC595). Para cada registrador, temos 8 saídas.
int qtdRegistradores = 3;

int totalSaidas = qtdRegistradores * 8;

//Inicia a biblioteca passando os parametros de uso.
ShiftOutMega mega(latchPin, dataPin, clockPin, qtdRegistradores);

void setup(){
}

void loop(){
  s1();
  s2();
  s3();
}

void s1(){
  int t = 5;
  for (int x=0; x<5; x++){
    for (int i=1; i<=totalSaidas; i++){
      mega.shiftWrite(i, HIGH);
      delay(t);
      mega.shiftWrite(i, LOW);
      delay(t);
    }
    for (int i=totalSaidas; i>=1; i--){
      mega.shiftWrite(i, HIGH);
      delay(t);
      mega.shiftWrite(i, LOW);
      delay(t);
    }
    t--;
  }
}

void s2(){
  int t = 10;
  for (int x=0; x<5; x++){
    for (int i=1; i<=totalSaidas; i++){
      mega.shiftWrite(i, HIGH);
      delay(t);
    }
    for (int i=1; i<=totalSaidas; i++){
      mega.shiftWrite(i, LOW);
      delay(t);
    }
  }
}

void s3(){
  int t = 20;
  for (int x=0; x<5; x++){
    for (int i=1; i<=totalSaidas/2; i++){
      mega.shiftWrite(i, HIGH);
      mega.shiftWrite(totalSaidas+1-i, HIGH);
      delay(t);
    }

    for (int i=totalSaidas/2; i>=1; i--){
      mega.shiftWrite(i, LOW);
      mega.shiftWrite(totalSaidas+1-i, LOW);
      delay(t);
    }
  }
}

7 de julho de 2012

LEDs RGB

Um efeito bacana com dois Leds RGB.


15 de abril de 2012

Relógio digital

Um relógio com LCD 16x2 e RTC DS1307.

  

25 de fevereiro de 2012

Semáforo carro/pedestre

Um semáforo com uma lógica das mais simples possíveis.


20 de fevereiro de 2012

Ampliar saídas do Arduino

Vamos ampliar o número de saídas do Arduino.


Nesse exemplo, controlei 30 Leds utilizando apenas 3 saídas do Arduino.