Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

Arduino Nano-Based Sign Language Interpreter with LCD Display and Flex Sensors

View and Edit Project In Cirkit DesignerImage of Arduino Nano-Based Sign Language Interpreter with LCD Display and Flex Sensors

Circuit Documentation

Summary

This circuit is designed to interface an Arduino Nano with various sensors and an LCD display. The circuit includes multiple resistors, flex resistors, an I2C module, and a 9V battery for power. The Arduino Nano reads analog signals from the flex resistors and displays corresponding messages on the LCD. The I2C module is used for communication between the Arduino and the LCD.

Component List

  1. Arduino Nano

    • Description: A small, complete, and breadboard-friendly board based on the ATmega328P.
    • Pins: D1/TX, D0/RX, RESET, GND, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11/MOSI, D12/MISO, VIN, 5V, A7, A6, A5, A4, A3, A2, A1, A0, AREF, 3V3, D13/SCK
  2. I2C module

    • Description: A module used for I2C communication.
    • Pins: SCL, SDA, VCC, GND
  3. 2.2 inch Basic Flex Resistor

    • Description: A flex sensor that changes resistance when bent.
    • Pins: Pin 2, pin 1
  4. 9V battery

    • Description: A standard 9V battery used to power the circuit.
    • Pins: +, -
  5. Resistor (10 Ohms)

    • Description: A resistor with a resistance of 10 Ohms.
    • Pins: pin1, pin2
  6. LCD Display (16 pin)

    • Description: A 16-pin LCD display used to show messages.
    • Pins: VSS, VDD, VO, RS, R_W, E, DB0, DB1, DB2, DB3, DB4, DB5, DB6, DB7, A, K

Wiring Details

Arduino Nano

I2C module

2.2 inch Basic Flex Resistor

9V battery

Resistor (10 Ohms)

LCD Display (16 pin)

Documented Code

Arduino Nano Code

//Hardik & veer
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3F, 16, 2); // 0x3F address i2c, 0x27 address i2c

void setup() {
  Serial.begin(9600);
  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("SIGN LANGUAGE");
  pinMode(13, OUTPUT);
}

void loop() {
  int s1 = analogRead(A0);
  int s2 = analogRead(A1);
  int s3 = analogRead(A2);
  int s4 = analogRead(A3);

  Serial.println(s1);
  Serial.println("Washroom");

  Serial.println(s2);
  Serial.println("Drink water");

  Serial.println(s3);
  Serial.println("Food");

  Serial.println(s4);
  Serial.println("Emergency");

  if (s1 < 150) {
    digitalWrite(13, LOW);
    Serial.println("WashRoom");
    lcd.setCursor(0, 1);
    lcd.print("   WASHROOM         ");
    delay(2000);
  } else if (s2 < 200) {
    digitalWrite(13, HIGH);
    Serial.println("Drink Water");
    lcd.setCursor(0, 1);
    lcd.print("  DRINK WATER         ");
    delay(2000);
  } else if (s3 < 150) {
    digitalWrite(13, LOW);
    Serial.println("Food");
    lcd.setCursor(0, 1);
    lcd.print("      FOOD         ");
    delay(2000);
  } else if (s4 < 130) {
    digitalWrite(13, HIGH);
    Serial.println("Emergency");
    lcd.setCursor(0, 1);
    lcd.print("      EMERGENCY         ");
    delay(2000);
  } else {
    Serial.println("   NOTHING      ");
    lcd.setCursor(0, 1);
    lcd.print("    NOTHING        ");
  }
}

I2C Module Code

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
}

2.2 inch Basic Flex Resistor Code

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
}

9V Battery Code

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
}

Resistor Code

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
}

LCD Display Code

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
}

This documentation provides a comprehensive overview of the circuit, including a summary, component list, wiring details, and documented code.