A Joysck Controled LCD for Disabled and Paralysed People

by pateltejom in Circuits > Arduino

85 Views, 0 Favorites, 0 Comments

A Joysck Controled LCD for Disabled and Paralysed People

70f5cc6c-fd3f-4e51-8fe6-6b2688e771b4.jpg

This is my joystick controled LCD which can be used for old, disabled and/or paralysed people, people who can't or find it hard to speak. It includes simple commands which they might ask their caretaker for in their day to day lives. This could be very halpful if you have an old paralysed person living with you or if you are a caretaker in a old age home.

Supplies

WhatsApp Image 2024-07-07 at 9.36.35 AM.jpeg
81334978-b13c-49ec-aa1d-7fe255463af2.jpg

You will need:

  • A piezo buzzer
  • a I2C LCD
  • a joystic module
  • arduino microcontroller (I'm using an UNO)
  • a heap of jumper wires
  • a breadboard

Wiring the LCD

Screenshot 2024-07-07 100106.png

Heres how to wire the I2C LCD:

  • Connect the SCL pin of the LCD to pin A5 of the arduino microcontroller
  • Connect the SDA pin of the LCD to pin A4 of the arduino microcontroller
  • Connect the VCC pin of the LCD to the 5v pin of the arduino microcontroller (I have connected it to the power pin on the breadboard which was in turn connected to the 5v pin, same with the ground)
  • Connect the GND pin of the LCD to the GND pin of the arduino microcontroller

Wiring the Piezo Buzzer

Screenshot 2024-07-07 100302.png

Heres how to wire the Piezo buzzer:

  • connect the positive to pin 12 on the arduino microcontroller
  • connect the negative to GND on the microcontroller (again I just wired it to the negative rail on the breadboard)

Connecting the Joystick

Heres how to connect the joystick:

  • connect the VRY (y- axis) to pin A1 on the arduino microcontroller
  • connect the VRX (x-axis) to pin A0 on the arduino microcontroller
  • connect the SW (switch of the joystick to pin 2 on the arduino microcontroller
  • connect the 5v to the 5v pin on the arduino microcontroller
  • connect the GND to the GND pin on the microcontroller

(oops, tinkercad circuits does not have a joystick)

The Code

Screenshot 2024-07-07 101626.png

Paste this code into your Arduino IDE (dont forget to download the I2C liquid crystal library and the wire.h library, use the library manager or GitHub to do so) :




#include <Wire.h>
#include <LiquidCrystal_I2C.h>


LiquidCrystal_I2C lcd(0x27, 16, 2);


int x = 0;
int y = 0;
int SW = 0;
int mapX = 0;
int mapY = 0;


void setup() {
  lcd.begin();
  lcd.backlight();
  lcd.clear();
  Serial.begin(9600);
 
  pinMode(A0 , INPUT);
  pinMode(A1, INPUT);
  pinMode(2, INPUT_PULLUP);
 pinMode(12, OUTPUT);
}


void loop() {
 
  lcd.setCursor(0,0);


  delay(100);
  x = analogRead(A0);
  y = analogRead(A1);
  SW = digitalRead(2);
  mapX = map(x, 0, 1023, -512, 512);
  mapY = map(y, 0, 1023, -512, 512);
  lcd.setCursor(0,0);


if( (mapX <-200) && (mapY >200)){
 lcd.clear();
 lcd.print("I'm thirsty!");
 tone(12, 294);
 delay(100);
 noTone(12);
 delay(100);
 tone(12, 294);
 delay(100);
 noTone(12);
 delay(1000);
 }


else if((mapX >200) && (mapY <200)){
 lcd.clear();
 lcd.print("I'm hungry");
 tone(12, 294);
 delay(100);
 noTone(12);
 delay(100);
 tone(12, 294);
 delay(100);
 noTone(12);
 delay(1000);


  }
else if((mapX <200) && (mapY <-200)){
 lcd.clear();
 lcd.print("I need to use                             the restroom");
 tone(12, 294);
 delay(100);
 noTone(12);
 delay(100);
 tone(12, 294);
 delay(100);
 noTone(12);
 delay(1000);}
else if((mapX >-200) && (mapY >200)){
 lcd.clear();
 lcd.print("I want to                                 go to bed");
 tone(12, 294);
 delay(100);
 noTone(12);
 delay(100);
 tone(12, 294);
 delay(100);
 noTone(12);
 delay(1000);
  }
 else {
  lcd.clear();
 lcd.print("Press Joystick  ");
 
 }
}

(Thanks to Teach Me Something on youtube for the joystick with lcd code)

Where to Place

You can place this on the armrests of the wheelchair of the paralysed person, or you can place it anywhere, where they can acess it without moving too much.


Thank you :)