Yujun’s Status Report for April 27, 2024

What did you personally accomplish this week on the project? Give files orphotos that demonstrate your progress. Prove to the reader that you put sufficienteffort into the project over the course of the week (12+ hours).

This week I mostly practiced presenting the final presentation for the class and gave out the final presentation on Wednesday. Furthermore, I contacted 5 students from CMU to conduct user-testing for my Web-app. 5 students evaluated the web app on how easy it is to use on a scale of 0 to 10 and evaluated it also on how self-explanatory it is. The evaluation was able to get an average of 8.75 points out of 10 and I realized one way I could improve the web app is by adding a introduction/how to use pop up that can help users get familiar with the web app easier.

Is your progress on schedule or behind? If you are behind, what actions will betaken to catch up to the project schedule?

The progress is slightly behind with the difficulty of the motor testing. Samay is currently working on controlling the motor with the Velocity mode instead of the stepper mode and he is planning to use all the time till final demo is due to smoothen out the motor code.

What deliverables do you hope to complete in the next week?

By next week we plan to have our final demo fully working (1-2 braille cells) and a poster ready for the deliverable.

Team Status Report for Apr 20, 2024

What are the most significant risks that could jeopardize the success of theproject? How are these risks being managed? What contingency plans are ready?

The most significant risks right now include the jamming issue on the braille pad. Due to the flimsiness of the braille pins, there are cases where the braille pins are stuck while the slider slides to the correct position. To manage such failure, we are working on a reliable jamming solution where we used the builtin jam detection on the motor to actuate the slider back and forth around the target location in order to reach the target. We also faced various communication issues with wifi communication between the webapp and the arduino. To resolve this issue we are going back to our serial communication system that is more reliable and able to transfer data faster.

Were any changes made to the existing design of the system (requirements,block diagram, system spec, etc)? Why was this change necessary, what costsdoes the change incur, and how will these costs be mitigated going forward?

We decided to change the data input method on the web app from importing a txt file to manually typing the word on the web app. We decided to do so because a peer commented that txt file import reduces flexibility and requires the user to be well-knowledged in creating a txt file. This does not change the cost in anyway.

Provide an updated schedule if changes have occurred. 

No schedule changes since our last demo.

 

 

Yujun’s Status Report for Apr 20, 2024

What did you personally accomplish this week on the project? Give files orphotos that demonstrate your progress. Prove to the reader that you put sufficient

I finished the web-app for the project where the user is able to input their words directly into the braille pad. We decided to input words this way to reduce the tediousness of creating a txt file and then inputting the txt file into the webapp. With the web-app now directly taking input from the user by typing the words in, the user is now able to see all the words that are transported into the braille pad and delete them as necessary.

Is your progress on schedule or behind? If you are behind, what actions will be

The progress is slighted behind with the motor and braille integration still incomplete. We are to finish this task by tomorrow before the final presentation. As we have faced many mechanical issues with the braille pad we will be continuously testing our actuation method with the plethora of gears and motors we obtained a few days ago.

What deliverables do you hope to complete in the next week?

By next week, we hope to finish our final presentation, as well as the report (software part for me). Futhermore, I wish to do a final test on the serial communication between the webapp and the arduino board to ensure that we meet the user case requirement.

  • As you’ve designed, implemented and debugged your project, what new tools or new knowledge did you find it necessary to learn to be able to accomplish these tasks? What learning strategies did you use to acquire this new knowledge?

To implement the web app I had to learn how to create a website in javascript and html from scratch. To do so, I had to learn the html and javascript language as well as the library that allows a javascript to run a python file. To acquire these skills I have delved into youtube tutorials on creating various websites to understand how HTML code works to format a website. In addition, I explored libraries posted on shecodes.io where extensive documentation on library functions could be found with examples. Lastly, I found asking for verbal guidance from friends in the industry very helpful where they gave advice on which language or framework to use for creating a website(ex: typescript vs javascript vs Flask on python).

Yujun’s Status Report for April 6th, 2024

What did you personally accomplish this week on the project?

I researched on various web application making tools and decided to stick with flask for its usability and compatibility with python which is the language the translation algorithm is made on. So far, I’ve created a simple web page with a text box which can take inputs from the user and store the input data within the web page domain. Next week, I plan to create a fully function web page that is able to generate a prompt for the user to type in the input or upload a txt file, and is able to generate a braille encoding file from the input.

In particular, how will you analyze the anticipated measured results to verify your contribution to the project meets the engineering design requirements or the use case requirements?

The anticipated results for testing of the web application and braille translation algorithm is as following:

– Translation Reliability : close to 100%

– Data transfer reliability: 95%

Right now, I have already tested the translation algorithm on 5 iteration of testing, each on varying types (braille-contractable, non-braille-contractible, prefixed words, short words, long words.) For each type 20 random words were chosen from a word generator online. On every iteration of testing, the translation algorithm yielded a 100% accuracy which was verified through pre-existing verified braille translation websites. The comparison was possible through a temporary display function made for testing which translated the encoding to the computer terminal. Thus, it can be said that the accuracy of the translation met the translation reliability use case requirement, and we do not have to consider the ethical concerns for the project that pertains to translation inaccuracy and unreliabilty.

In the future, I will be testing the reliability of the data transfer between the web application and the braille pad. To be reliable we decided that if we input 100 words, at least 95 words should be able to be transferred successfully to the pad as based on a normal person’s learning curve, around 70 words and braille patterns can be fully memorized within a full school day at most. Thus, our 95% is sufficient for reliability. To test this we will iterate the transfer of 100 word inputs to the braille pad 10 times via wifi transfer to find the average. If the wifi transfer fails the test, then we will resort to serial bus transfer (higher accuracy) as a back up plan.

 

Yujun’s Status Report for March 30th, 2024

What did you personally accomplish this week on the project?

This week, I helped Samay in implementing my braille translation code to the motor code to enable a successful integration between software and the hardware. To effectively map out the motors to the translation output encoding, I designed my code to output a txt file in binary format which could be easily read by Samay’s Arduino code and explained what each bit signifies within the encoding:

4 bits per motor:

1st bit: bottom motor

2nd bit: middle motor

3rd bit: top motor

4th bit: end of word marker

Is your progress on schedule or behind? If you are behind, what actions will be taken to catch up to the project schedule?

In terms of the software part, the project is on schedule, yet there is a potential for the hardware to miss the demo deadline due to the fact that the 3D printing output requires extreme precision to carry out the motions required by the sliders and actuator pins. To prevent any delays, I plan to communicate with Ziyu to provide assistance towards testing the casing for the braille actuators.

What deliverables do you hope to complete in the next week?

Next week we are planning to purchase a mini speaker to attach to our microcontroller and I’m planning to implement the code for the speaker so that it can successfully read out the braille translation outputs to the user. Furthermore, I am planning to research on wifi file transmission libraries for the microcontroller since our microcontroller is compatible with wifi.

 

Yujun Lee’s Status Report for March 23rd, 2024

This week I was able to finish up the translation for grade 2 braille and finish the testing stage of the algorithm. The input can now be translated and outputted in a arduino readable encoding, and outputted out in the form of bin file for reduced memory.

I am on schedule for my tasks, but for next week where we need to integrate the software into the hardware, it could be delayed as we were only able to obtain the materials this week., By next week, I’m planning to have the code fully integrated into the hardware n components, but that is not possible until we have gotten the stepper motor pair and the aruduino set up.

Team Status Report for March 23rd, 2024

What are the most significant risks that could jeopardize the success of theproject? How are these risks being managed? What contingency plans are ready?

One of the biggest risks as we get close to finalize the 3D printing is ways to prevent jams and smooth transition between different braille patterns. To mitigate these possibilities, we are experimenting with different sizes of braille fonts as Ziyu is testing with different dimensions of the braille caps and sliders on his 3D printer and to complement that, Samay is looking into more motors and ordered a variety of them with different stepping levels and ranges. In terms of the software, the testing has reached 100% with grade 2 braille and is ready to be implemented to the whole as soon as the hardware is finalized.

Were any changes made to the existing design of the system (requirements,block diagram, system spec, etc)? Why was this change necessary, what costsdoes the change incur, and how will these costs be mitigated going forward?

Even though we are switching through motors, the price changes were minimal and not causing any changes to our planned budget. The schedule remains the same from last week where we had made changes to expedite software testing and 3D printing process. We are sticking to this schedule and it is our current priority to have the braille actuators and 3D design run smoothly by the start of the next week  so we can put it together with the software.

Yujun Lee’s Status Report for March 16th, 2024

What did you personally accomplish this week on the project?

  1. After finishing the braille translation algorithm. I created Test cases and tested the braille translation. The translation was able to reach 100% accuracy based on 70 different test cases. Grade 2 braille translation is still on the work, and it will be finished by Sunday.
  2. Created a braille display function which allows us to visualize the translation encoding output to see whether the algorithm is outputting the correct output to the board before we start to implement the software to the hardware. Example of the algorithm displaying the encoded output of the text2braille algorithm with the input “Hello World”. 1 denotes actuation, 0 denotes the opposite, “x” denotes new word.

Is your progress on schedule or behind?

Our progress was behind this week, but we were able to make amends by placing all our orders immediately on Monday, and having the braille translation algorithm be ready for implementation. We were able to test the braille algorithm in a speedy fashion. Since the progress this week went through in a fast pace, I am planning to run more test cases in my free time to make sure I didn’t miss any edge cases. 

What deliverables do you hope to complete in the next week?

For next week, I will code the arduino which we ordered this week so that the braille encoding are properly mapped to the motor. Furthermore, I will implement the speaker library to the arduino code to read out the arduino input.

Yujun Lee’s Status Report for March 9th, 2024

What did you personally accomplish this week on the project?

  1. After finishing the planning and structuring for the braille translation algorithm, I finished a initial version of the diagram representing the user-flow of the web-app.
  2. Design report writing.

Is your progress on schedule or behind?

Our schedule ended up being behind due to a teammate’s incompletion of the report, yet the set back is trivial and we have finished the final version of the design report. To make sure none no more set backs are in the future, we plan to communicate more effectively over slack and make sure to have a meeting an hour or two before any deliverable due date to ensure that we are all on page and everyone is on track with the work division requirement for the specific deliverable.

What deliverables do you hope to complete in the next week?

Even though it is not a specific deliverable, I plan to familiarize myself with web development through reading through flask libraries and web-app implementation tutorials. Moreover, I plan deliver a test plan for the braille translation algorithm, including the test cases, and the tester python file to ensure its robustness before integrating with the hardware.

Yujun’s Status Report for Feb 24th, 2024

This week, I mainly dealt with our change in design for the braille printer. I began coding the braille translation in python and is able to change each braille pattern into a 6 bit data encoding.

Furthermore, I researched more into brailles and found that grade 2 brailles are used commonly for experienced braille readers and it is normally the grade of braille used in the public. There are 26 new patterns that have to be incorporated for grade 2 braille and they serve as abbreviations for commonly used sequence of letters. While my plan is to implement grade 2 to our braille learning tool, it could be against the purpose of the project which is to start with basic braille and allow the students to have a easy jump into the braille language.

In order to stay on schedule, I am to start learning how to convert the python logic into one that is applicable to the arduino used for our hardware.

Next week, I am planning to discuss the use of grade 2 braille with my teammates and decide on whether to implement it to our code or not. Furthermore, it is our plan to fully decide on how to decode these braille encodings back into patterns for the sliders to read and display (most likely through the uses of multiplexers and decoders).  In other words, we are to have a concrete idea on the functionality of the programs needed for the hardware as the software next week, and finish purchasing the hardware components needed for the project. Personally, I have to come up with a way to decode the encoding into a readable format for the hardware.

 

What is Braille? [Your Guide to Braille] - Braille Works