Powered By Blogger

terça-feira, 9 de julho de 2013

Matriz de Pontos 16x8 com MAX7219




Esta barra, indica o nível de dificuldade encontrado para cada experiência realizada, sendo:

"VERDE", indicação de nível 1 a 5 (Fácil);
"AMARELO", indicação de nível 6 a 8 (Médio);
VERMELHO, indicação de nível 9 e 10 (Difícil);



Matriz de Pontos 16x8 com módulo MAX7219


Este projeto é para mostrar o uso do módulo "MAX7219 Dot matrix module MCU control Display module DIY".

Para usá-lo você necessitará do módulo que pode ser adquirido no ebay:

http://www.ebay.com/itm/171048735052?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

E do sketch para o Arduino e também da biblioteca MaxMatrix:
Faça o download de todos os aquivos no GitHub:
https://github.com/Arduinobymyself/Matrix16x8.git


Este é o diagrama de interligação entre o Arduino e os módulos (foi utilizado apenas 2 neste caso):

Arduino pino 13 (alternativa: pino 10) conectado ao pino CLK do módulo MAX7219
Arduino pino 11 (alternativa: pino 8) conectado ao pino DIN do módulo MAX7219
Arduino pino 10 (alternativa: pino 9) conectado ao pino CS do módulo MAX7219
GND e VCC (+5V)

Para a expansão é só conetar o DOUT do módulo MAX7219 com o DIN do próximo MAX7219...... e assim por diante.

O DOUT do módulo MAX7219 fica na parte de cima do módulo, enquanto o DIN fica na parte de baixo do módulo.

A matriz de pontos utilizada foi a 1088AH, mas pode ser qualquer uma equivalente...





E este é o módulo MCU para controle de matrix 8 x 8













Interconexão dos módulos MAX7219 MCU.
O programa está testado para até 8 módulos.




Lembrando, você pode ligar quantos quiser; somente interligando a saída de um na entrada do outro e deixando os outros sinais em paralelo.
No sketch, você tem que  modificar o parâmetro "maxInUse" para a quantidade que você vai utilizar.



NOTA IMPORTANTE:
Abaixo a maniera correta de ligar vários módulos
Note que o barramento começa da direita para a esquerda, ou seja:a primeira matriz que recebe os dados no DIN é a matriz da direita, que libera a informação no DOUT para o DIN da próxima matriz à esquerda e assim segue a cascata.....




Outra visão:
Exibindo Diapositive1.jpg
Como aprendizagem extra, podemos estudar o acionamento de displays de 7 segmentos.......






ESQUEMA E SUGESTÃO DE PLACA:






Estes são bons links para aprender mais sobre o assunto:
http://playground.arduino.cc/Main/MAX72XXHardware
https://www.pjrc.com/teensy/td_libs_Matrix.html

Abaixo um vídeo apenas demonstrativo.
Lembre-se que você pode modificar as mensagens no próprio código, ou utilizar uma entrada via serial.

http://youtu.be/uG88Tt6Apoo




Um segundo vídeo com 4 módulos.

http://youtu.be/yFx4r-WUp5g






***Novas funcionalidades adicionadas a este projeto (em 1/11/2014)***


1 - Matrix de 40x8 (código foi totalmente corrigido);
2 - Botão de iniciar a rolagem do texto;
3 - Controle de velocidade de rolagem;
4 - Botões de incremento e decremento da intensidade de luminosidade dos LEDs;

Alguns botões foram adicionados para poder cumprir essas novas caracteristicas/funcionalidades, conforme figura abaixo:


Botões e Potenciômetro - para os novos controles
É só ligar o conjunto aos pinos do Arduino indicados no diagrama.

Biblioteca, continua a mesma, porém o código está na versão 9. Você pode obtê-lo no GitHub (https://github.com/Arduinobymyself/Matrix16x8.git )
Ou solicitar via e-mail abaixo indicado.

*** NOTA IMPORTANTÍSSIMA***
Se você está tendo erro com prog_uchar!!?
Use o seguinte artifício:

1 - Para as IDEs mais antigas:
PROGMEM prog_uchar CH[] = { //used for older arduino's IDE

2 - Para as IDEs mais novas:
PROGMEM const unsigned char CH[] = { //used for newer arduino's IDE



Veja o novo vídeo:
http://youtu.be/beo7N1SeYoE?list=UUgx66KiICvaM682IP4u7nng





Sinta-se a vontade para enviar-me as suas dúvidas, comentários e sugestões.




Marcelo Moraes
arduinobymyself.blogspot.com.br
arduinobymyself@gmail.com
Skype: marcelo.moraes

A empresa

O ArduinoByMyself é uma entidade sem fins lucrativos. Nosso objetivo é compartilhar conhecimento e disponibilizar SW e HW livre para todos. Buscamos uma sociedade melhor e por isso não comercializamos produtos, mas damos todo o suporte para que todos possam construir seu próprio projeto e também tirar as dúvidas que forem necessárias. 
Também não fazemos projetos sob encomenda, mas toda idéia é válidade e guardada para postagem futura caso seja interessante (técnicamente e didaticamente falando).
Não existem direitos autorais, você pode modificar e usar o código e descritivo de como fazer sem nenhuma 
implicação legal (somente peço que divulgue o blog ArduinoByMyself, para que outras pessoas também tenham acesso as informações nele contidas).






quarta-feira, 5 de junho de 2013

Sistema de Segurança e Controle de Acesso - Nova Versão






Esta barra, indica o nível de dificuldade encontrado para cada experiência realizada, sendo:


"VERDE", indicação de nível 1 a 5 (Fácil);
"AMARELO", indicação de nível 6 a 8 (Médio);
VERMELHO, indicação de nível 9 e 10 (Difícil);



Sistema de Segurança e Controle de Acesso com RFID e Arduino
Este projeto, é uma evolução do projeto original "Arduino - Sistema de Segurança, Controle de Acesso"
veja em: http://arduinobymyself.blogspot.com.br/2012/03/arduino-sistema-de-seguranca-controle.html

Agora ao invés de usarmos um teclado para entradas de senha e para a liberação de uma porta ou acionamento de um dispositivo; usaremos um RFID (Radio Frequency Identifier Device) dispositivo de identificação via rádio frequência.
Usaremos também um display LCD com 20 caracteres e 4 linhas para mostrar as mensagens do sistema, além de um servo-motor para efetuar o acionamento mecânico de travamento/liberação de uma porta ou outros disposivos (tais como catraca, fechaduras, etc...).

O componente RFID é o MFRC522AN (MiFare RC522AN 13.56 MHz comunicação SPI) que pode ser facilmente encontrado em sites do brasil ou da china e por um preço acessível.
http://www.fystore.com/p42892/RFID-module-Kits-S50-13-56-Mhz-6cm-With-Tags-SPI-Write-amp-Read-for-arduino-uno-2560.html


FUNCIONAMENTO:

Os usuários terão cartões e ou tokens/tags de acesso cadastrado no software ou em uma memória.
Ao aproximar o cartão/token/tag do sensor RFID (aproximadamente 6 cm), o número serial deste cartão/token/tag é detectado e assim  comparados com os seriais que estão cadastrados no software ou numa base de dados em uma memória; se for um número de serial cadastrado, o sistema libera a entrada deste usuário acendendo um LED verde e colocando mensagens de reconhecimento do usuário e de boas vindas no display LCD, alem de um servo-motor ser acionado para liberar um dispositivo mecânico. Caso contrário, o sistema não libera o acesso do usuário, acendendo um LED vermelho de advertência e mostrando mensagem no display LCD para o usuário contactar a administração.
Durante o processo de liberação ou rejeição dos usuários, sinais sonoros característicos serão tocados em um buzzer.



MATERIAL:

1 x Arduino UNO, MEGA, Duemilanove ou Teensy, etc...
1 x RFID MFRC522AN (comunicação SPI)
1 x servo-motor
1 x LCD 20x4 I2C
1 x LED verde
1 x LED vermelho
2 x reistor de 220R
1 x Buzzer
1 x Bread Board
Fios e cabos para as ligações 



COMPONENTES:
Cartões e Tags RFID

Token ou Tag
Parte traseira do display LCD 20x4 I2C
Pinagem do LCD I2C:
GND > GND do Arduino
VCC > +5V do Arduino
SDA > pino A4 do Arduino
SCL > pino A5 do Arduino


Parte frontal do display LCD 20x4 I2C






Módulo RFID MFRC522AN

Pinagem e interligação com arduino UNO e MEGA



INTERLIGAÇÃO:


Para o Arduino UNO temos:
Reset > Pin 5
SS > Pin 10
MOSI > Pin 11
MISO > Pin 12
SCK > Pin 13
Ground > Ground
3.3v > 3.3v

Projeto completo:

Lembrar que o LCD é I2C e 20x4 e o RFID é o MFRC522AN.
Buzzer, servo e outros componentes são de uso geral.


Projeto completo
PROGRAMAÇÃO:

Os arquivos foram depositados no google drive, para acessar, crie sua conta.


Este é o sketch para o arduino, deve ser colocado em uma pasta com o mesmo nome do arquivo. https://docs.google.com/file/d/0B_YlEklLDDS7SzhtU1BhZGMxMW8/edit?usp=sharing

Este é o arquivo de nome "pitches.h", necessário para tocar as notas musicais e sons, ele deve estar na mesma pasta do sketch do Arduino.

https://docs.google.com/file/d/0B_YlEklLDDS7cmVDQmRpT29xRlE/edit?usp=sharing

Aqui está o link para a biblioteca RFID:
https://drive.google.com/file/d/0B_YlEklLDDS7dDVkaHNVVG5vcjQ/edit?usp=sharing


Todos os arquivos podem ser obtidos no GitHub:
https://github.com/Arduinobymyself/ArduinoRFID.git VIDEO & FOTOS:

Dúvidas e sugestões para: arduinobymyself@gmail.com


Este é um video preliminar, somente para visualizar o funcionamento geral.

http://youtu.be/2O7IVOfFptA




Este é o vídeo oficial em Inglês:

http://youtu.be/fuWf0W6yNo4









Vista Geral

Componentes na BreadBoard

Display e RFID tag

Display, RFID tag/card
Mensagem de ID encontrado
Mensagem de acesso garantido


Mensagem de acesso negado
















domingo, 19 de maio de 2013

Arduino PID - Controlando a velocidade de um ventilador




Arduino PID - FAN Control

Este post é um complemento do post anterior "Controle de velocidade com Arduino PID".

Desse modo não é necessário nenhum tipo de explicação teórica sobre o projeto a não ser nosso objetivo.


OBJETIVOS:

Queremos agora controlar a velocidade de uma unidade FAN (ventilador) de acordo com um sensor de posicionamento (que mede a distância relativa a  um anteparo).

Quanto maior a velocidade da FAN (maior a ventilação, quantidade de vento), mais longe estará o anteparo; quanto menor a velocidade da FAN (menor ventilação, quantidade de vento), mais perto estará o anteparo.

Para isto utilizei um pêndulo formado por um anteparo superior que coleta o vento da FAN e um anteparo inferior que se moverá em relação ao sensor de distância. Assim, é possível controlar a unidade FAN com a técnica PID e usando o Arduino como controlador e o  FrontEnd_PID como interface gráfica.



Abaixo os detalhes do circuito e os detalhes construtivos.

O sketch utilizado no Arduino é o mesmo do post anterior (http://arduinobymyself.blogspot.com.br/2013/04/controle-de-luminosidade-com-arduino-pid.html)... visite este post para poder ver todos os detalhes.

Este é o link para download do sketch:
http://www.4shared.com/file/Y5BIbUdR/LED_PIDcontroller_2.html

Vejam os vídeos para maiores detalhes.



Interconexão do Arduino com os outros componentes

Esquema do Driver do motor DC (FAN)
Para o driver foi usado um MOSFET IRF-250.
O diodo em paralelo com o motor é um BY-127.
O capacitor é de 100 nF.
Cuidado com o sentido de rotação do motor (para o sistema ser ventilador  e não exaustor).

Esquema do sensor de distância com o TCRT5000, este sensor deve ser analógico!


FOTOS REAIS:

O material utilizado para construir a estrutura metálica é uma tira de metálica perfurada, que pode sem encontrada em casa de materiais de construção em pequenos rolos.
É só dobrar para formar a estrutura.
Use sua imaginação para construir conforme sua necessidade.

A fonte é de 5/12 V e 10A

O motor DC deve ser de alta rotação e ter um bom torque.
Usei um de máquina de cortar cabelos (das de qualidade).

Fonte externa de 5V e 12V/10A

Estrutura metálica e pendulo com os anteparos

Arduino, Driver do motor DC e potenciômetro de ajuste do "Setpoint"

Estrutura metálica e sensor de distância

Driver do motor DC com o MOSFET IRFP-250

Detalhe do driver

Estrutura metálica

Detalhe do pêndulo em ação e da torre do FAN

Sensores: são 3 mas foi utilizado somente o central (esse éra de um seguidor de linha)

Detalhe da torre e do motor DC do FAN
Notar que foi utilizado material de garrafa PET para confeccionar o anteparo superior e a hélice do FAN.
Para construir a hélice, marque dois circulos (unidos), utilize uma moeda de 1 real, recorte e então dobre pelas pontas para dar este formato:       \___ 
                                                                                                     \
e do outro lado faça no modo contrário... pronto feito a hélice.
                                                                 

Detalhe da Hélice

Vista geral do conjunto

Vista geral do conjunto (frente)

Vista geral do conjunto (superior)

Vista geral do conjunto (parte de trás)

Vista geral do conjunto (lateralmente)



VÍDEOS:

Atenção!
Agora o Blog está mudando para a língua Inglesa, tentando alcançar outros continentes.
Desculpe pelo transtorno.
Qualquer dificuldade entre em contato.

Visite meu novo site em:
http://www.instructables.com/id/ArduinoPID-FAN-Controller/

Dúvidas e sugestões para: arduinobymyself@gmail.com
http://youtu.be/stxiWXFUf2Y

http://youtu.be/IqzPXTjiRvQ

http://youtu.be/CVNB4Wrq82g

http://youtu.be/lS7MZwqZ2k4