Projeto 1 - Pisca LED

Olá pessoal, agora vamos iniciar na prática como montar os componentes e executar os programas para vermos como o placa Arduino funciona realmente.

Projeto 3 - Alarme com sonorizador piezo

Olá pessoal, este projeto será um pouco barulhento pois, vamos fazer um alarme com sonorizador piezo conectado a um pino de saída digital, podendo ser criado um som de sirene. Iremos gerar uma onda senoidal para gerar os pulsos e criando o som

Projeto 10 - Controle de temperatura com LCD e Cooler

Olá pessoal, já vimos basicamente como utilizar um LCD com o Arduino, agora vamos fazer um pequena aplicação utilizando o mesmo esquema do projeto anterior acrescentando um cooler. Este projeto tem pouca complexidade, desde que montado com calma para não se perderem nas inserções dos jumpers.

Projeto 8 - Controle básico com LCD

Olá pessoal, agora vamos deixar nossos projetos visualmente mais interessantes. Iremos aprender como utilizar o LCD (Liquid Crystal Display), não utilizaremos o modelo JHD 162A, deixando nossos projetos mais amigáveis.

Projeto 19 – Arduino como um osciloscópio

Olá pessoal, nós que gostamos de mexer com eletrônica sempre ficamos na curiosidade de sabermos qual é o tipo de onda que está sendo gerada em um circuito qualquer, pois então vamos aprender como fazer um osciloscópio com o Arduino, o programa é muito útil e fácil de utilizar, com ele podemos tirar nossa curiosidade em relação as ondas em circuitos eletrônicos. Vamos saciar nossa curiosidade ?

Mostrando postagens com marcador projetos com arduino. Mostrar todas as postagens
Mostrando postagens com marcador projetos com arduino. Mostrar todas as postagens

13 de jul. de 2014

Projeto 30 – Acionando LED e Rele via Bluetooth com ArduinoCommander

Projeto 30 – Acionando LED e Rele via Bluetooth com ArduinoCommander

Olá pessoal, como prometido, irei mostrar como acionar LED e rele via bluetooth. Este projeto se aplica tanto a smartphones quanto a tablets. Muito mais fácil de usar com este app do que com outros que você possa encontrar pela internet. Mãos aos componentes!



Vídeo do projeto pronto








Componentes necessários

1 Shield JY-MCU (Módulo Bluetooth)
1 Shield rele
1 resistor de 330Ω
1 LED (qualquer cor)
1 Smartphone com Android
Fios jumper do tipo macho/femea e macho/macho


Esquema para montagem





O código para comunicação com o Arduino Commander


Sigas os passos:

1) Abra o IDE do Arduino.
2) Clique em File >> Examples >> Firmata e StandardFirmata.
3) Irá abrir o código StandardFirmata.
4) Dê um Ctrl+F e busque por 57600.
5)  Troque o valor por 9600.
6)   Pronto agora faça o upload para o Arduino*.

*OBS.: Antes de passar o código para o Arduino retire os jumpers dos pinos RX e TX. Se não for feito isso o não irá carregar o código para o Arduino dando erro.



Conectando-se ao ArduinoCommander

2) Após ter instalado, abra-o. Ficará assim a tela:




3) Clique em “Discover devices” para encontrar seu Shield Bluetooth. Se o seu aparelho estiver com o bluetooth desligado, ele irá habilitar o mesmo. Como mostra na imagem abaixo:




 4) Agora pesquise novamente os dispositivos em “Discover devices” e ira aparecer os dispositivos bluetooth ao alcance, como mostra a imagem abaixo:




 5) O meu shield esta com o nome ELTONSHIELD, visualize o seu e clique clique nele para seleciona-lo.
 6) Após isto irá se conectar a sua placa Arduino como mostra a imagem abaixo:





 7)   Se algo der errado ira aparecer algo assim:






Agora vamos acionar o LED e o Rele no ArduinoCommader

 1) Clique em cima do pino 7, ira aparecer as opções para setar o pino como output ou input. Selecione output assim como mostra a imagem abaixo:




 2) Se você quiser deixar este pino desligado basta apenar clicar em OK. Caso queira liga-lo clique em cima de OFF e ira ficar ON, clique em OK e pronto o LED ira ascender como mostra as imagens abaixo:  








3)   Para apaga-lo clique em cima do pino 7 novamente e clique em ON para ficar OFF e OK. Pronto LED desligado.

4) Para acionar o rele segue a mesma linha de raciocínio. Clique em cima do pino 11, selecione output e clique em cima de OFF para ficar ON e OK acionar o rele.







 5)   Para desabilitar o pino clique em cima dele, selecione ON para ficar OFF e OK.



 
 6)  Para desconectar do bluetooth clique na tecla de menu do smartphone e selecione “Disconnect”, aguarde alguns segundos e pronto.





- Se você gostou do post, por favor comente! Nos dê um feedback, isto nos incentiva a continuar! :)
- Faça o download do app para ter atualizações em suas mãos.
- Curta nossa fan page !


28 de abr. de 2014

Projeto 28 - Utilizando um cartão RFID

Projeto 28 - Utilizando um cartão RFID

Olá pessoal, neste projeto iremos utilizar o módulo de identificação por rádio frequência o RFID-RC522 encontrado em lojas especializadas do ramo de eletrônica.  Este projeto consiste em apenas visualizar os dados contidos no cartão. Posteriormente iremos acionar um rele a partir do código do cartão. Então mãos aos componentes !! 
Os códigos serão todos comentados para melhor entendimento, podendo ser retirados após a compreensão de cada linha. Bom trabalho !!!

Obs.:  Para visualizar o Serial Monitor, basta ir em Tools e Serial Monitor ou pressionar Crtl+Shift+M e pronto.


Componentes necessários

1 Shield RFID-RC522.
Fios jumper do tipo macho/fêmea.

Download da biblioteca

Para fazer o download da biblioteca faça o download neste link https://skydrive.live.com/?cid=F877FDED1DE63FAA&id=F877FDED1DE63FAA%21122 (SkyDrive).

Sigas os passos abaixo:

1) Faça o download do arquivo Rfid_master.
2) Após feito o download, descompacte o arquivo.
3) Com o arquivo descompactado, vá em (C:) e na pasta Arquivos de Programas, Arduino, libraries, copie o arquivo descompactado nesta pasta e pronto.


Segue o esquemático abaixo para melhor entendimento:










Pinos do módulo RFID-RC522              Pinos do Arduino

RST                                                          9
SDA                                                          10
MOSI                                                        11
MISO                                                        12
SCK                                                          13
GND                                                     GND
VCC                                                      3.3V




Agora vamos ao código



#include <SPI.h>  // Biblioteca do Serial Peripheral Interface (Interface Periférica Serial).
#include <MFRC522.h>  // Biblioteca do módulo RFID-RC522.

#define SS_PIN 10  // Define o pino 10 como Escravo.
#define RST_PIN 9  // Define o pino 9 como Reset.
MFRC522 mfrc522(SS_PIN, RST_PIN);  // Cria um objeto MFRC522.

void setup() {
Serial.begin(9600); // Inicializa a comunicação serial com o PC.
SPI.begin(); // Inicializa o SPI bus.
mfrc522.PCD_Init(); // Inicializa o cartão MFRC522.
Serial.println("Scan a MIFARE Classic PICC to demonstrate Value Blocks.");  // Imprime no Serial Monitor a frase entre " ".
}

void loop() {
// Procura por novos cartões.
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}

// Seleciona um dos cartões.
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
// Agora um cartão é selecionado. O UID e SAK estão no mfrc522.unis.

        // Descarrega UID.
Serial.print("Card UID:");
for (byte i = 0; i < mfrc522.uid.size; i++) {
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
Serial.println();

// Descarrega PICC.
byte piccType = mfrc522.PICC_GetType(mfrc522.uid.sak);
Serial.print("PICC type: ");
Serial.println(mfrc522.PICC_GetTypeName(piccType));
if ( piccType != MFRC522::PICC_TYPE_MIFARE_MINI 
&& piccType != MFRC522::PICC_TYPE_MIFARE_1K
&& piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
Serial.println("This sample only works with MIFARE Classic cards.");
return;
}

// Orepara a chave - todas as chaves estão configuradas para FFFFFFFFFFFFh (Padrão de fábrica).
MFRC522::MIFARE_Key key;
for (byte i = 0; i < 6; i++) {
key.keyByte[i] = 0xFF;
}

// Nesta amostra nos usamos o segundo setor (bloco 4-7).
byte sector = 1;
byte valueBlockA = 5;
byte valueBlockB = 6;
byte trailerBlock = 7;
// Valida usando a chave A.
Serial.println("Authenticating using key A...");  // Imprime no Serial Monitor.
byte status;
status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, trailerBlock, &key, &(mfrc522.uid));
if (status != MFRC522::STATUS_OK) {
Serial.print("PCD_Authenticate() failed: ");
Serial.println(mfrc522.GetStatusCodeName(status));
return;
}
// Precisamos de um setor que define blocos 5 e 6 com valores de blocos e que permita a chave B. 
byte trailerBuffer[] = { 255,255,255,255,255,255,  0,0,0,  0,  255,255,255,255,255,255};  // Mantem por teclas padrão.
// g1=6 => Set block 5 as value block. Must use Key B towrite & increment, A or B can be used for derement.
// g2=6 => Same thing for block 6.
// g3=3 => Key B must be used to modify the Sector Trailer. Key B becomes valid. 
mfrc522.MIFARE_SetAccessBits(&trailerBuffer[6], 0, 6, 6, 3);
// Agora nos lemos o setor e vemos se isto ista como nos queremos que seja.
Serial.println("Reading sector trailer...");
byte buffer[18];
byte size = sizeof(buffer);
status = mfrc522.MIFARE_Read(trailerBlock, buffer, &size);
if (status != MFRC522::STATUS_OK) {
Serial.print("MIFARE_Read() failed: ");
Serial.println(mfrc522.GetStatusCodeName(status));
return;
}
if ( buffer[6] != trailerBuffer[6]
&& buffer[7] != trailerBuffer[7]
&& buffer[8] != trailerBuffer[8]) {
Serial.println("Writing new sector trailer...");  // Imprime no Serial Monitor.
status = mfrc522.MIFARE_Write(trailerBlock, trailerBuffer, 16);
if (status != MFRC522::STATUS_OK) {
Serial.print("MIFARE_Write() failed: ");
Serial.println(mfrc522.GetStatusCodeName(status));
return;
}
}
// Valida usando chave B.
Serial.println("Authenticating again using key B...");  // Imprime no Serial Monitor.
status = mfrc522.PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_B, trailerBlock, &key, &(mfrc522.uid));
if (status != MFRC522::STATUS_OK) {
Serial.print("PCD_Authenticate() failed: ");  // Se haver falha na autenticação uma mensagem será exibida no Serial Monitor.
Serial.println(mfrc522.GetStatusCodeName(status));
return;
}
/*OBS.:
                O valor dos blocos tem um valor com sinal de 32 bit armazenado três vezes e um endereço de 8 bits armazenados 4 vezes. 
                Certifique-se de blocos valueBlockA e valueBlockB tem esse formato: formatBlock (valueBlockA); */

// Adciona 1 no valor de valueBlockA e armazena o resultado em valueBlockA.
Serial.print("Adding 1 to value of block "); Serial.println(valueBlockA);
status = mfrc522.MIFARE_Increment(valueBlockA, 1);
if (status != MFRC522::STATUS_OK) {
Serial.print("MIFARE_Increment() failed: ");
Serial.println(mfrc522.GetStatusCodeName(status));
return;
}
status = mfrc522.MIFARE_Transfer(valueBlockA);
if (status != MFRC522::STATUS_OK) {
Serial.print("MIFARE_Transfer() failed: ");
Serial.println(mfrc522.GetStatusCodeName(status));
return;
}
// Descarrega o resultado.
mfrc522.PICC_DumpMifareClassicSectorToSerial(&(mfrc522.uid), &key, sector);
// Pausa PICC
mfrc522.PICC_HaltA();

// Para a criptografia em PCD.
mfrc522.PCD_StopCrypto1();
}

void formatBlock(byte blockAddr) {
Serial.print("Reading block "); Serial.println(blockAddr);
byte buffer[18];
byte size = sizeof(buffer);
byte status = mfrc522.MIFARE_Read(blockAddr, buffer, &size);
if (status != MFRC522::STATUS_OK) {
Serial.print("MIFARE_Read() failed: ");
Serial.println(mfrc522.GetStatusCodeName(status));
return;
}

if ( (buffer[0] == (byte)~buffer[4])
&& (buffer[1] == (byte)~buffer[5])
&& (buffer[2] == (byte)~buffer[6])
&& (buffer[3] == (byte)~buffer[7])
&& (buffer[0] == buffer[8])
&& (buffer[1] == buffer[9])
&& (buffer[2] == buffer[10])
&& (buffer[3] == buffer[11])
&& (buffer[12] == (byte)~buffer[13])
&& (buffer[12] ==        buffer[14])
&& (buffer[12] == (byte)~buffer[15])) {
Serial.println("Block has correct Block Value format.");
}
else {
Serial.println("Writing new value block...");
byte valueBlock[] = { 0,0,0,0,  255,255,255,255,  0,0,0,0,   blockAddr,~blockAddr,blockAddr,~blockAddr };
status = mfrc522.MIFARE_Write(blockAddr, valueBlock, 16);
if (status != MFRC522::STATUS_OK) {
Serial.print("MIFARE_Write() failed: ");
Serial.println(mfrc522.GetStatusCodeName(status));
}
}
} // Fim do formatBlock()




Para certificar se o código está correto pressione o botão Verify/Compile.
Se tudo estiver correto pressione o botão Upload para fazer o upload do código para seu Arduino. Pronto, agora você pode passar o cartão sobre o leitor do módulo e você verá uma imagem igual a imagem descrita abaixo:


Imagem do Serial Monitor:






Vídeo do projeto pronto:





- Se você gostou do post, por favor comente! Nos dê um feedback, isto nos incentiva a continuar! :)
- Curta nossa fan page !
- Baixe o APP Faça Com Arduino e carregue para onde você for os projetos. É simples. É fácil !!





30 de mar. de 2014

Projeto 27 – Acionando rele via teclado matricial 4X4

Projeto 27 – Acionando rele via teclado matricial 4X4



Olá pessoal, já vimos como utilizar o teclado matricial da forma mais simples controlando um LED, agora vamos utilizar este mesmo teclado para acionar um rele. Para este projeto será incluído uma nova biblioteca a "Password.h" que tem como função o controle de strings, validando-as. Por default o senha deste projeto será 1234, mas pode ser modificada (fica a seu critério).  Aqui foi utilizado para acionar um rele, mas pode ser para acionar uma solenoide por exemplo, ou para outros fins.

Os códigos serão todos comentados para melhor entendimento, podendo ser retirados após a compreensão de cada linha. Bom trabalho !!!

Componentes necessários

1 Arduino Uno R3
1 Shield rele
1 Teclado matricial 4X4
Fios jumpers


Conectando os componentes

Primeiro, certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB. Agora, conecte o shield rele e o teclado matricial como mostra a figura abaixo:








Fazendo o download e importando a biblioteca do Password e Keypad:

2) Faça o download dos arquivos Password e Keypad;
3) Descompacte os arquivos;
4) Agora entre no diretório (C:) e na pasta Arquivos de Programas, Arduino, libraries, copie os arquivos descompactados nesta pasta;

5) Pronto para utilizar;


Agora vamos ao código


// Projeto 27 – Acionando rele via teclado matricial 4X4

#include "Password.h"  // Biblioteca utilizada para controle de senha.
#include "Keypad.h"  // Biblioteca para controle do teclado de matrizes.

Password password = Password( "1234" );  // Senha utilizada para acionamento do rele.

const byte ROWS = 4;  // Quatro linhas por...
const byte COLS = 4;  // Quatro colunas.

// Define o Keypad (mapa do circuito do teclado).
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

// Conecta o teclado matricial em linha 0, linha 1, linha 2, linha 3 e linha 4 dos pinos do arduino.
byte rowPins[ROWS] = {9,8,7,6};

// Conecta o teclado matricial em coluna 0, coluna 1, coluna 2, coluna 3 e coluna 4 do arduino.
byte colPins[COLS] = {12,11,10,5};

// Cria um objeto Keypad.
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){
  pinMode(4, OUTPUT);  // Define pino 4 como saída.
  Serial.begin(9600);  // Inicializa Serial Monitor.
  keypad.addEventListener(keypadEvent);
  keypad.setDebounceTime(250);
}

void loop(){
  keypad.getKey();
}

void keypadEvent(KeypadEvent eKey){
  switch (keypad.getState()){  // Condição switch...
    case PRESSED:  // Se precionado algum botão...
   Serial.print("Digitado: ");  // Aparecera no Serial Monitor, Digitado: "X".
   Serial.println(eKey);  // Armazena numero digitado na variável eKey.
   switch (eKey){
     case 'C': guessPassword();  // Pressionando "C" confirma se a senha foi digitado corretamente.
     break; 
      default:
         password.append(eKey);
  }
}
}

void guessPassword(){
     Serial.print("Verificando, aguarde... ");  // Informa no Serial Monitor "Verificando, aguarde...".
     if (password.evaluate()){
        Serial.println("Acionando rele... "); // Informa no Serial Monitor "Acionando rele...".
        digitalWrite(4, HIGH);   // Ativa o rele.
        delay(2000);  // Rele fica acionado por 2 segundos e depois...
        digitalWrite(4, LOW);   // Desativa o rele.
        password.reset(); // Apaga a senha.
             }else{
                  digitalWrite(4, LOW);
             Serial.println("Senha Invalida !");
                  password.reset(); // Apaga a senha.
     }
}



Para confirmar se está tudo certo aperto o botão Verify/Upload. Se estiver correto você pode abrir o Serial Monitor em Tools, Serial Monitor ou selecionando simultaneamente os botões Ctrl+Shift+M, digite a senha 1234 e aperte o botão C, pronto seu rele irá acionar por 2 segundos e depois será desativado.



Vídeo do projeto pronto







Imagem do Serial Monitor







- Se você gostou do post, por favor comente! Nos dê um feedback, isto nos incentiva a continuar! :)
- Inscreva-se na fan page !
- Curta nossa fan page !
- Baixe o APP Faça Com Arduino e carregue para onde você for os projetos. É simples. É fácil !!