Name | NetID | Section |
---|---|---|
Geitanksha Tandon | gtandon3 | ECE 110 |
Varenya Jain | varenya3 | ECE 120 |
Charmaine Nieves | cnieves | ECE 110 |
Varun Singhal | varuns7 | ECE 110 |
Introduction
Statement of Purpose
Our group aims to create a pair of gloves that will provide a keyboard that a person can use to type in any letter / number. Our objective this semester is to start off by programming our gloves to type a few basic numbers and letters in by using the difference in hand movements, indicated by the bending position of a few fingers. The problem this solves is the need for a physical keyboard, and it assists us in making the difference in typing skills across all devices unified, which eliminates the need for muscle memory to re-program itself for different devices. What makes this unique is that it does not actually require a large smooth surface compared to virtual bluetooth keyboards available, and instead only needs a small area for precise bending of fingers.
Background Research
This project is something we felt was exceptional as it encourages the digitalization and minimization of electronic devices, something that is currently crucial. For this project, we all collectively researched into the new technologies that make electronics smarter and found that the one common problem across digital devices is the difference in their screen sizes and thereby their keyboards. The transition for users between phones and even larger devices such as laptops is not smooth; it requires a certain amount of effort that can be eradicated via these gloves. Some projects similar to this that we were looking at were the creation of a miniature CNC machine, one that could create miniature parts, but the difference is that the need for a pair of virtual gloves outweighed the need for the creation of a CNC machine, and that these gloves were more likely to be successful than the CNC machine.
Block Diagram / Flow Chart
System Overview
The flex sensors determine the angle made by the finger and the corresponding output. The force resistors would increase resistance when sufficient force was used to press a normal keyboard or button. The vibration motors provide active feedback that action was taken as input for the Arduino, and it goes for the Arduino. Arduino is also used to run the code for the complete circuit. The code will convert the flex sensor and vibration motor input data into keyboard output.
Parts Required
- 2 Vibration Motors: 2pcs 5.0v Vibrating Vibration Motor DC Motor for Arduino DIY Projects[5.12 dollars]
- 4 10kΩ Resistors[inventory]
- 2 LEDs[inventory]
- 4 Sparkfun Flex Sensors: 4.5 Inch Flex Sensor 10-40K Ohms[16 dollars*4]
- 4 Force Sensitive Resistors :Force sensing resistors, 0.5 inch, circle, 1oz - 22lb, flexible[4.17 dollars*4]
- 1 Pair of Double-lined Gloves[25 dollars]
- 1 Arduino: Arduino Uno R3 [inventory]
- 1 Breadboard [inventory]
- 1 Prototyping shield: Adafruit Proto Shield for arduino projects[10 dollars(optional)]
Possible Challenges
Some possible challenges:
- Inexperience/unfamiliarity with certain electronics
- Obtaining all materials
- Programming the sensors
- Designing, calibrating, and testing a prototype
- Meeting in person while adhering to COVID-19 guidelines
First update log (04/03)
For our meeting this week, we were able to complete a circuit and get some initial values via Arduino IDE. We ended the meeting with some thoughts about the circuit design for next week.
Second update log (04/10)
We were able to successfully solder our flex sensor onto one of the wires connected to our circuit. From this, were able to then create our FSR "information" circuit. One problem we had was that we realized our "wire" was actually a coil of pure metal wire, rather than a long wire meant for breadboards. By the end though, we were able to practice soldering and build our FSR circuit. We plan to implement the circuit on glove, get both flex sensors up an running, and figure out "good" voltages for our vibration motors, and finalize placement of parts on the glove. We also need to get clamps and a wire kit.
Third update log (04/18)
In this short meeting, we were able to attach the breadboard and Arduino to the glove using tape. We were also able to loosely sow a flex sensor onto the back of a finger. We then got 1 finger sensor working and posted our code on GitHub. We are unsure at this point whether or not we should proceed with the vibration motors, as we are still trying to fit the flex sensor and FSR circuits on one small breadboard. We are also debating setting up a second finger, as that would require us to use more breadboard space. In addition, it seems that we will need to solder some wires together to extend their lengths and wrap them around the glove.
Fourth update log (04/24)
This week, we held a short meeting to attach multiple parts to the glove. We decided to stick with taping the boards onto the back of the glove for the time being, since stitching it may cause problems with future adjustments. We were able to get the flex sensor working again, and we were also able to get the FSR working. We are happy to say that our first soldering experience went well, and that we may continue soldering another set of wires in order to get a second flex sensor working. Our next step is to get the flex sensor and FSR working in unison, and then we can allocate certain "values" of the flex sensor to different keys. We decided that the placement and activation of vibration motors would be the last step (time permitting) as they only act as feedback, as opposed to other critical elements.
Fifth update log (04/30)
This week, we had to go retrace our steps to redraw and rewire our circuit. Another problem we had was that up until this point, we had been working out of The Garage in ISR since two of our teammates had Innovation LLC access. We had been using the tool there for our project, namely the sewing kit and the solder setup. This week we noticed that there was no solder, so we could not set up our second flex sensor finger.
Sixth update log (05/04)
At the start of this meeting, we were able to sort out our mixed-wire problems, but still had to deal with broken solder connections. Since the Garage at ISR was lacking solder, we choose to heat up the solder already applied to the broken connections on our first finger's flex sensor and FSR and then proceeded to repair the broken connections. Since there was no new solder, we decided to just use one finger. Since we had problems getting similar values for the FSR in the past, we took another try this time (third times the charm ). We then modified our code print the state of the finger, e.g. "relaxed", "flexed", etc. However, we had problems with the FSR, so in the end we went with a simpler option: binary. When the sensor is fully flexed or almost straight, the system outputs binary 1, and when a finger is curled up, the output is binary 0.
In the end, we were able to successfully set up a system using an Arduino, a breadboard, a flex sensor, and a FSR, which activates upon touch and can output 2 different "letters" or signals depending on how bent a finger is. Unfortunately, we were not able to set up a second finger due to lack of solder. We have decided to not go attach the vibration motor due to lack of time.
Final Report:
https://docs.google.com/document/d/1jbTvgQKjnv4J52Z_3zjvFrdJact6L3zjlj1GBthmE7g/edit
Video Link:
https://drive.google.com/file/d/1Nbzjs-9L2LU9vQgTDTiS72lKytQIpyff/view?usp=sharing
GitHub repo:
https://github.com/varuns31/Virtual-Keyboard-Glove
References
[1]A. Toombs and J. White, "keyboard gloves: an arduino prototype – austintoombs.com", Austintoombs.com, 2012. [Online]. Available: https://austintoombs.com/keyboard-gloves-an-arduino-prototype/. [Accessed: 18- Feb- 2021].
Attachments:
Honors Lab (1).jpg (image/jpeg)
Honors Lab (2).jpg (image/jpeg)
Honors Lab (2).jpg (image/jpeg)
Honors Lab (3).jpg (image/jpeg)
Arduino Schematic.png (image/png)