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!
26 de setembro de 2012
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.
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
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:
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); } } } |
Assinar:
Postagens (Atom)