Arduino Nano-Based Sign Language Interpreter with LCD Display and Flex Sensors
View and Edit Project In Cirkit Designer
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
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
I2C module
- Description: A module used for I2C communication.
- Pins: SCL, SDA, VCC, GND
2.2 inch Basic Flex Resistor
- Description: A flex sensor that changes resistance when bent.
- Pins: Pin 2, pin 1
9V battery
- Description: A standard 9V battery used to power the circuit.
- Pins: +, -
Resistor (10 Ohms)
- Description: A resistor with a resistance of 10 Ohms.
- Pins: pin1, pin2
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
5V connected to:
- Resistor pin1
- I2C module VCC
- Resistor pin1
- Resistor pin1
- Resistor pin1
A2 connected to:
- Resistor pin2
- 2.2 inch Basic Flex Resistor pin 1
A1 connected to:
- 2.2 inch Basic Flex Resistor pin 1
- Resistor pin2
A3 connected to:
- Resistor pin2
- 2.2 inch Basic Flex Resistor pin 1
A0 connected to:
- Resistor pin2
- 2.2 inch Basic Flex Resistor pin 1
VIN connected to:
- 9V battery +
GND connected to:
- 9V battery -
- I2C module GND
- 2.2 inch Basic Flex Resistor Pin 2
- 2.2 inch Basic Flex Resistor Pin 2
- 2.2 inch Basic Flex Resistor Pin 2
- 2.2 inch Basic Flex Resistor Pin 2
A5 connected to:
- I2C module SCL
A4 connected to:
- I2C module SDA
I2C module
VCC connected to:
- Arduino Nano 5V
- Resistor pin1
- Resistor pin1
- Resistor pin1
- Resistor pin1
GND connected to:
- 9V battery -
- Arduino Nano GND
- 2.2 inch Basic Flex Resistor Pin 2
- 2.2 inch Basic Flex Resistor Pin 2
- 2.2 inch Basic Flex Resistor Pin 2
- 2.2 inch Basic Flex Resistor Pin 2
SCL connected to:
- Arduino Nano A5
SDA connected to:
- Arduino Nano A4
2.2 inch Basic Flex Resistor
Pin 2 connected to:
- 9V battery -
- I2C module GND
- Arduino Nano GND
Pin 1 connected to:
- Resistor pin2
- Arduino Nano A2
9V battery
+ connected to:
- Arduino Nano VIN
- connected to:
- I2C module GND
- Arduino Nano GND
- 2.2 inch Basic Flex Resistor Pin 2
Resistor (10 Ohms)
pin1 connected to:
- Arduino Nano 5V
- I2C module VCC
pin2 connected to:
- 2.2 inch Basic Flex Resistor pin 1
- Arduino Nano A2
LCD Display (16 pin)
- Not connected in the provided net list.
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.