Font Size

Olá tudo bem? No post de hoje vamos estar criando um seletor de cargas utilizando um sensor capacitivo. Isso é uma continuação do nosso estudo sobre o post dos sensores capacitivos.

Assim, hoje vamos deixar a teoria um pouco de lado e começar a ver exemplos de aplicações de toda essa teoria. Vamos nessa?

Mas antes de começar, é importante que você tenha visto dois post. O primeiro post é onde eu abordo sobre o sensor capacitivo. Isso porque, algumas informações tratadas aqui já foram muito bem detalhadas no post sobre este sensor combinado?

O segundo é sobre o CI 74HC595, muito utilizado para a expansão das portas do Arduino, o qual iremos utilizar para controlar na saída 8 leds. Então para facilitar para você, eu estou deixando o link dos dois post logo abaixo:

Mas, caso você já possui conhecimento sobre esse incrível sensor, maravilha. Então bora para a construção do projeto!

Seletor de cargas com sensor capacitivo

O projeto que vamos desenvolver aqui é baseado em um seletor de cargas. Mas você teria um exemplo desse “seletor”? Basicamente, este seletor está em muitos lugares a sua volta, inclusive você utiliza um seletor quando vai sacar dinheiro sabia?

Como assim?

É exatamente isso. Isso acontece porque o projeto se baseia na utilização de um sensor de toque capacitivo onde a cada toque no sensor, um bit é deslocado acendendo o próximo led de um série de leds.

Tal conceito é o mesmo que ocorre nos caixas eletrônicos ou naqueles painéis que os shopping centers tem na entrada deles para que o visitante possa navegar nas diversas abas.

Assim, quando você clica na tela do caixa eletrônico para escolher os códigos da senha, aquilo é um “seletor” de cargas. Toda vez que você clica na tela (que é um sensor capacitivo) você acaba acionando aquela opção.

Materiais Utilizados

Montagem do Circuito

O circuito que vamos desenvolver para testar esse seletor se encontra logo abaixo. Nele vamos controlar 8 leds apenas utilizando 3 pinos do nosso Arduino junto com o 74HC595.

seletor-de-cargas-com-sensor-capacitivo
Ligação do Circuito TTP223 no Arduino

Fonte: AutoCore Robótica

Código do Projeto Comentado

/* ========================================================================================================
 
  Projeto: Seletor de Cargas com Sensor Capacitivo
  Autor: Danilo Nogueira
  Data: 09/11/2018

// ======================================================================================================== */

// --- Ligação dos Pinos ---
#define    sensor   4
#define    clk      8
#define    latch    7
#define    data     9

// ========================================================================================================

// --- Variáveis Globais ---
byte   control_led = 0x01;

// ========================================================================================================

// --- Iniciando o Setup ---

// Como iremos escrever nos pinos do 74HC595,
// Então eles deverão ser uma saída.

void setup() 
{
   pinMode(sensor,   INPUT);
   pinMode(clk,     OUTPUT);
   pinMode(data,    OUTPUT);
   pinMode(latch,   OUTPUT);
}

// ========================================================================================================

// --- Loop Infinito ---
void loop() 
{
  if(digitalRead(sensor))
  {
    // Esse comando interno do Arduino, faz todo aquele processo
    // Explicado sobre o CLK e Pino D lembra?
    // Assim, é ele que escreve na saída, o valor em binario que definimos
    shiftOut(data, clk, LSBFIRST, control_led);
  
    // Aqui, controlamos a latch para el permitir a escrita
    // Dos dados e o envio dele aos leds
    digitalWrite(latch,  LOW);
    digitalWrite(latch, HIGH);
    digitalWrite(latch,  LOW);
    
    // control_led = control_led << 1;
    control_led <<= 1;
    
    if(!control_led) control_led = 0x01;
  
    delay(300);
  }
}
// ========================================= FIM ==========================================================

Analisando o Código a Fundo

O código utilizado neste projeto é a base do código o qual utilizamos para expandir as portas do arduino utilizando o CI 74HC595. Assim, toda a explicação dos comandos utilizados no código você pode encontrar visitando o post.

A novidade para este projeto é a adição de algumas linhas de código os quais farão com que ocorra o deslocamento dos bits a partir do acionamento do sensor capacitivo. O primeiro comando é:

byte   control_led = 0x01;

Aqui vamos iniciar com o primeiro led ligado, para mostrar o deslocamento dos leds.

if(digitalRead(sensor))

Neste if, estamos verificando através da leitura digital da porta do sensor, qual é o seu estado, caso seja verdadeiro o bloco de condição if é executado.

control_led <<= 1;

if(!control_led) control_led = 0x01;

Por fim, a cada execução do comando if, a variável que controla a posição do led é deslocada para a esquerda (<< representa deslocamento para a esquerda). Quando essa variável for zero (!control_led), então ela é “resetada”.

Resultado do Projeto

Por fim, para concluir o projeto de hoje, deixo para você um vídeo do canal da AutoCore no Youtube. Nele, estamos mostrando o resultado do projeto desenvolvido.

Mas e ai? Gostou? Caso tenha ficado algo incompleto para você, comenta abaixo 📝

Dicas? 😯 Dúvidas? 🤔 Idéias de post?💭 Críticas? 😱 Só comentar também! 😉

Forte abraço!

5.00 avg. rating (95% score) - 1 vote