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 ?

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 !!



17 de mar. de 2014

Projeto 26 - Teclado matricial 4x4 básico

Projeto 26 - Teclado matricial 4x4 básico

Olá pessoal, hoje vamos aprender como utilizar o teclado matricial 4x4 (4 colunas por 4 linhas. Com este teclado podemos ligar LED, motores entre outros, basta apenas configurar as funções para cada botão do teclado, simples e fácil. Então vamos lá galera! 

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 Protobord
1 Resistor de 220Ω
1 Teclado matricial 4x4
1 LED (Qualquer cor)
Fios jumpers

Conectando os componentes

Primeiro, certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB. Agora, siga o modelo como mostra a figura abaixo.





Fazendo o download e importando a biblioteca do LCD Nokia 5110:

2) Faça o download do arquivo Keypad;
3) Descompacte o arquivo;
4) Agora entre no diretório (C:) e na pasta Arquivos de Programas, Arduino, libraries, copie o arquivo descompactado nesta pasta;
5) Pronto para utilizar;


Agora vamos ao código


// Projeto 26 - Teclado matricial 4x4 básico

#include <Keypad.h>  // Biblioteca para controle do teclado de matrizes.

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 objto Keypad.
Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

#define ledpin 13  // Led conectado no pino 13 do arduino.

void setup()
{
  pinMode(ledpin,OUTPUT);  // Define o pino 13 como sendo de saída.
  digitalWrite(ledpin, HIGH);  // incializa com o led ligado.
  Serial.begin(9600);  // Inicia o Serial Monitor.
}

void loop()
{
  char key = kpd.getKey();
  if(key)  // Checa se um botão foi pressionado.
  {
    switch (key)
    {
      case '*':  // Se for pressionado...
        digitalWrite(ledpin, LOW);  // o led apaga.
        break;  // Parada, aguardando pressionar outro botão.
      case '#':  // Se for pressionado...
        digitalWrite(ledpin, HIGH);  // o led ascende.
        break;
        case 'A':
        digitalWrite(ledpin, HIGH);
        break;
        case 'B':
        digitalWrite(ledpin, LOW);
        break;
        case 'C':
        digitalWrite(ledpin, HIGH);
        break;
        case 'D':
        digitalWrite(ledpin, LOW);
        break;
        default:
        Serial.println(key);
    }
  }
}

  

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, aperte os botões numéricos do teclado e este será impresso na tela, dá para utilizar como um “controle remoto”.


Tela 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! :)
- 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 !!


6 de mar. de 2014

Projeto 25 – Gráfico de leitura de temperatura com um LCD Nokia 5110

Projeto 25 – Gráfico de leitura de temperatura com um LCD Nokia 5110

Olá pessoal, com o Nokia 5110 podemos fazer variarias coisas, como visualizar na tela imagens, textos e muito mais, irei mostrar como visualizar um gráfico de temperatura com este maravilhoso LCD juntamente com um sensor de temperatura LM35, deixando com uma visualização mais compreensível ao usuários. 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 Resistor de 220 Ω
1 Módulo Nokia 5110
1 Protobord
1 Sensor de temperatura LM35
Fios jumpers

Conectando os componentes

Primeiro, certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB. Agora, conecte o módulo Nokia 5110, o LM35 e o resistor assim como mostra a figura abaixo:











Para melhor entendimento segue a inserção dos jumpers:
Pinos Arduino                                        Pinos LCD Nokia 5110
11                                                             RST
12                                                             CE
10                                                             DC
9                                                               Din
8                                                               Clk
5V                                                            Vcc
GND                                                         Gnd

Fazendo o download e importando a biblioteca do LCD Nokia 5110:

2) Faça o download do arquivo PCD8544;
3) Descompacte o arquivo;
4) Agora entre no diretório (C:) e na pasta Arquivos de Programas, Arduino, libraries, copie o arquivo descompactado nesta pasta;
5) Pronto para utilizar;


Agora vamos ao código

                                                          
// Projeto 25 – Gráfico de leitura de temperatura com um LCD Nokia 5110

#include <PCD8544.h>  // Biblioteca utilizada para controle de gráficos e/ou desenhos.

static const byte SensorTemp = 0;  // Pino analógico onde está o LM35.

// Definindo as dimensões do LCD (em pixels).
static const byte LCD_WIDTH = 84;
static const byte LCD_HEIGHT = 48;

// Define o número de linhas para exibir o caracter de temperatura.
static const byte CHART_HEIGHT = 5;

// Define o símbolo gráfico para ser exibido no LCD.
static const byte DEGREES_CHAR = 1;
static const byte degrees_glyph[] = { 0x00, 0x07, 0x05, 0x07, 0x00 };

// Uma imagem bitmap gráfica de 10X2 do termômetro.
static const byte THERMO_WIDTH = 10;
static const byte THERMO_HEIGHT = 2;
static const byte thermometer[] = { 0x00, 0x00, 0x48, 0xfe, 0x01, 0xfe, 0x00, 0x02, 0x05, 0x02,
                                    0x00, 0x00, 0x62, 0xff, 0xfe, 0xff, 0x60, 0x00, 0x00, 0x00};

static PCD8544 lcd;


void setup() {
  lcd.begin(LCD_WIDTH, LCD_HEIGHT);
 
  // Registra o símbolo personalizado do termômetro.
  lcd.createChar(DEGREES_CHAR, degrees_glyph);
 

   /* A referência 1.1V interno prevê uma melhor
    Resolução do LM35, e também é mais estável
    Quando alimentado a partir de uma entrada USB. */
   
  analogReference(INTERNAL);
}


void loop() {
 
  // Define a borda do LCD.
  static byte xChart = LCD_WIDTH;
 

  // Lê a temperatura em graus Celsius.
  float SensorTemp = (1.1 * analogRead(SensorTemp) * 100.0) / 1024.0;
 
  // Imprime a temperatura na tela do LCD.
  lcd.setCursor(0, 0);
  lcd.print("Temp: ");
  lcd.print(SensorTemp, 1);
  lcd.print(" \001C ");

  // Desenhar o bitmap termômetro no canto inferior esquerdo ...
  lcd.setCursor(0, LCD_HEIGHT/8 - THERMO_HEIGHT);
  lcd.drawBitmap(thermometer, THERMO_WIDTH, THERMO_HEIGHT);

  // Define a posição do gráfico.
  if (xChart >= LCD_WIDTH) {
    xChart = THERMO_WIDTH + 2;
  }

  // Atualiza o gráfico de temperatura. 
  lcd.setCursor(xChart, 1);
  lcd.drawColumn(CHART_HEIGHT, map(SensorTemp, 0, 45, 0, CHART_HEIGHT*8));  // Define uma faixa entre 0 - 45°C
  lcd.drawColumn(CHART_HEIGHT, 0);  // Define uma posição correta do gráfico.
 
  xChart++;

  delay(500);
}


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.



Se tudo estiver OK você verá na tela a temperatura real, juntamente com um gráfico que irá mudar de acordo com a temperatura.





Vídeo do projeto pronto:









- 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 !!