Digital MASK

Digital MASK © GPL3+

A mask with a LCD display for people to talk and avoid take it off, because somebody take it off mask for speak something.

  • 279 views
  • 0 comments
  • 0 respects

Components and supplies

Necessary tools and machines

About this project

The masks make it difficult for people to talk, it is common for some take it off  the mask to speak so that the other person can hear it, but this completely eliminates the protection it offers.
The mask use a LCD 16X2 with a I2C and the message are send for a computer 
serial monitor using a arduino uno.

Code

code project digital maskC/C++
// ========================================================================================================
// --- Bibliotecas Auxiliares ---
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>              //biblioteca LCD


// ========================================================================================================
// --- Objetos ---
LiquidCrystal_I2C lcd(0x27,20,4);   //ligaes Arduino - LCD


// ========================================================================================================
// --- Variveis Globais ---
void send_str(bool line_num);           //funo que envia strings do terminal para o LCD


// ========================================================================================================
// --- Variveis Globais ---
boolean line_n = 1;                     //armazena o nmero da linha do LCD


// ========================================================================================================
// --- Configuraes Iniciais ---
void setup()
{
   
  lcd.init();                     //lcd 16 colunas, 2 linhas
  lcd.backlight();
  Serial.begin(9600);               //inicia serial 115200 baud rate
  
  Serial.print("Aguardando entradas na serial...");  //imprime
   
} //end setup


// ========================================================================================================
// --- Loop Infinito ---
void loop()
{

   if(line_n) send_str(line_n);  //se line_n verdadeiro, envie string na linha 1
  
   else send_str(line_n);        //seno,  falso, envia string na linha 2

   
} //end loop


// ========================================================================================================
// --- Desenvolvimento das Funes ---
void send_str(bool line_num)
{
   
   //l todos os caracteres disponveis
   if (Serial.available()) 
   {
  
      //aguarda receber mensagem completa
      delay(100);

      //determina a linha do display
      if(line_num) { lcd.setCursor(0,0);  line_n = 0;  }
      else         { lcd.setCursor(0,1);  line_n = 1;  }
    
      //mostra os caracteres no LCD
      while (Serial.available() > 0)  lcd.write(Serial.read()); 

      //envia espaos para limpeza "manual" do LCD
      for(int i=0; i<15; i++) lcd.print(" ");
  
   } //end Serial available 
  
  
} //end send_str

Custom parts and enclosures

Layout MASK
projeto_mascaralcd_fFnhyv6Ag1.dwg

Schematics

Layout DIGITAL MASK
arduino_uno_i2c_lcd_PO7ojqiRpH.fzz

Comments

Similar projects you might like

Digital TV Antenna Direction Mount and Pointer

Project tutorial by lbf20012001

  • 8,308 views
  • 2 comments
  • 7 respects

Motorcycle Controlled by Digital or Mobile

Project showcase by 3 developers

  • 13,433 views
  • 21 comments
  • 50 respects

Not another digital alarm clock?

Project showcase by ccooper

  • 5,113 views
  • 8 comments
  • 17 respects

Cheap portable Cocktail maker Barbot wit App!

Project tutorial by Seafox_C

  • 11,383 views
  • 40 comments
  • 39 respects

Shy Mask That Shuts Up When It Sees People

Project showcase by ChenTheDesignMaker

  • 6,576 views
  • 1 comment
  • 22 respects

20bps Digital Data Wireless Transceiver (Laser)

Project tutorial by Achindra Bhatnagar

  • 5,045 views
  • 1 comment
  • 13 respects
Add projectSign up / Login