Criando um seletor de cargas com sensor capacitivo

seletor-de-cargas-com-sensor-capacitivo
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.

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!

Posts relacionados

Controle PID Digital de Luminosidade com Arduino Uno

por Fábio Timbó
3 anos ago

RÉGUA ELETRÔNICA COM ARDUINO + SENSOR ULTRASSOM + DISPLAY OLED

por autocore
7 anos ago

Aprenda a Reproduzir Músicas com o Módulo Buzzer

por autocore
7 anos ago
Sair da versão mobile