Week 5: Final Project Update

This week I spent time fabricating the project enclosures and finalizing the interface.  I purchased a open top bamboo box from the container store to use for the board enclosure.  I printed the board panel on a piece of plywood and connected it to the top of the box using velcro.  I placed the electronics inside securing the RFID modules with tape to the underside of the board panel.  I completed the coin fabrication by gluing two rings to each coin top.  I used command hook strips to adhere the RFID fob to the inside of the coin and then to connect the bottom piece of the coin to the key fob.  Figure 1 shows this iteration of the board and coin enclosures.

Once this was complete, I conducted a final user testing session with my classmates.  Figure 2 shows an example from the user test.

Figure 2

Overall, the user testing went well however I identified a few minor adjustments that needed to be made.  Using velcro for the panel mount was not substantial enough for the use.  Also since the RFID modules have a small range they needed to be carefully place in the center of the detection circle in order for them to properly work.  Also, It was suggested that I include an artists statement in order to make the motivation for my project clear.  Lastly, it was clear that a space between the words on the submit panel was needed in the code.  For the most part, users liked the feel of the wood coins. Using the advice and observations I made during user testing, I made final modifications to the project.  Figure 3 shows the process I went through to improve the board enclosure.

Lastly, I developed an artists statement to have on display next to the project (Figure 4) and I updated the code to include a space between the words (Figure 5). 

Figure 4

Figure 4

Figure 5

Figure 5

Week 4: Project Update

This week I completed planning the circuit/code and began the fabrication process. 

To complete the circuit I needed to add the clear/restart and submit buttons.  I then needed to adjust the Arduino and p5 interface codes to accept these inputs.  I ended up creating a four element key code for myself to send serially.  Each element within each byte describes the RFID reader, RFID card, clear/restart button state, and the submit button state, respectively.  For example a serial reading of “0L00” would mean the letter “L” RFID card was scanned on reader 0 and none of the buttons were pressed.  The Arduino and p5 codes can be found at these links.  Figure 1 shows the breadboard circuit with the buttons attached.

Figure 1

Figure 1

Once this was complete, I moved on to fabrication.  I began by planning the coin design.  Figure 2 shows a test of the coin design. These coins were laser cut out of 1/8” plywood. Each coin consists of 4 wood pieces and is designed to conceal the RFID tag without gluing them inside the coins permanently.  The top piece is a 2 inch diameter circle with the alphabet symbol engraved on one side.  The next two layers are rings with an outer diameter of 2 inches and an inner diameter of 1.75 inches.  These layers create a housing for the RFID tag to sit inside.  Next another solid round layer closes the RFID tag inside the cavity.  I plan to use wood glue to attach the top to the two middle rings.  However, in order to access the RFID if something breaks, I plan to use strong adhesive or velcro to attach the tag to the wood and the wood bottom to the rest of the coin.

Figure 2

Figure 2

Once I came up with this design I checked that the thickness of the wood did not impair the RFID scanning (Figure 3).

Figure 3

Next I laser cut the entire visual alphabet (Figure 4).

Finally, I soldered the circuit onto a perfboard (Figure 5) and prepared the final design for the display panel (Figure 6).

Figure 5

Figure 5

Figure 6

Figure 6

This display directly took into account elements that were conveyed by individuals who completed my playtest.  The headphones and monitor symbols were suggested to me during the playtest.  In the coming week I need to complete the enclosure and coin fabrication and conduct user testing.  Once the user testing is complete I will make any minor changes necessary to get a final product. 

Week 3: Project Update

Over the past few weeks I have conducted a playtest with my project and solidified the majority of the technical sides of the project.  The following is an update on the steps I have taken on this project since my last blog post.  

Figure 1 shows an updated project plan and bill of materials as of today (Monday, November 26).

Figure 2 shows some pictures from the playtest.

Overall, the results of the playtest were positive.  From the responses and observations I determined that the version of the board with two RFID scanners was more intuitive to use than the alternative.  I received good feedback on the sound quality and the visuals.  One suggestion a playtest volunteer had was to prompt the user to spell a specific word instead of prompt them to write any word.  This way the program could tell the user if they spelled the word correctly or not.  While I like this suggestion, I ultimately decided to stick with the format I currently have.  I noticed that it was very difficult for users to decode the visual language.  Thus, I do not want to complicate the instructions by prompting them to write a specific word.  In the end, if I change my mind, this feature will be relatively easy to implement later on.  Thus I will revisit this feature later on.  I found the playtest to be successful but also somewhat limiting.  The way I designed the playtest, there were some key features that were missing from the playtest that would be solved by the final design.  Thus I found that my responses to comments during the playtest was a description of how the final product will differ and solve the stated issue.  Thus, in the future I think I could do a better job of designing the playtest that more closely resembled the actions one would take while using the final product.  None the less, I felt confident in my design since most of the comments and suggestions that were made were being addressed all ready in the final product. 

Using the feedback from the playtest I continued to built the program and set up the RFID scanners.  Using this resource and this library I manipulated this example code for my own two  RFID modules.   First I set up one RFID reader (Figure 3) using this modified code.  

Figure 3

Figure 3

Using this p5.js sketch I was able to send the reader value and the unique chip ID from the Arduino to a p5 sketch.  From here I began to work on the user interface using p5.js.  First I developed a program that would take user input from the keyboard to write a word and display it in my visual language.  Then when you press the down key (aka the submit button) the word you wrote would be displayed along with previous user inputs (Figure 4).

Figure 4

Once I completed this interface I decided to change the submit display to only show the visual language.  Figure 5 shows a video of the second version of this interface.

Figure 5

Once this interface was complete I connected two RFID scanners (Figure 6) and combined the serial communication code with the interface code.

Figure 6

Figure 6

I also added the sound library to the interface code so that when a letter was scanned on the “learn” reader, the letter sound would play.  Here are the Arduino and the p5.js codes for this stage.  Since I currently have only 23 tags, I only have the letters A-V set up.  Figure 7 shows a video of these components working together. 

Figure 7

At this stage, I have most of the electronics working successfully.  Next, I will add the clear and submit buttons to the computation and physical sides of the project.  After that I will begin fabricating the coins and enclosure for the project.  At this stage I feel I am making good progress.  I have given myself enough time to complete the fabrication side while still having time to make adjustments as they are necessary.

Week 2: Paper Playtest & Project Update

This week I spent time solidifying a project plan and developing a paper playtest to user test the initial idea with my classmates. 

Figure 1 shows a general project plan for the coming weeks.

Figure 1 : General Schedule

Figure 1: General Schedule

Figure 2 shows a detailed step by step project plan for the coming weeks along with a general materials list.  The completed column is updated for week 10 and represents what I have completed thus far. 

To begin, I experimented with various visuals to represent each letter of the alphabet.  Using p5.js and some tutorials (tutorial 1, tutorial 2) I recorded my voice saying different letters of the alphabet.  I created various sketches to visualize the recordings before deciding on which one to use.  Figure 3 highlights one of the graphing methods I developed to visualize each letter of the alphabet.

In the end I decided to use the method represented in Figure 4 because it created images that were unique enough from each other while following the same general format.  As you can see in Figure 4A, I included a button in the program to save the canvas at any given time.  As a recorded each letter, and I would click this button to download the recorded letter visualization.

Figure 5 shows a video that of the program running and how each letter was recorded.  The p5.js sketch to create these circular visualizations can be found here.

Figure 5: Making the Visual Alphabet

Once I decided on this method I recorded and saved a visual alphabet library to use for the remainder of the project (Figure 6). 

Figure 6 : Complete Visual Alphabet

Figure 6: Complete Visual Alphabet

After completing the visual alphabet, I turned my focus to a paper prototype that I can use to playtest. First, I brainstormed different options for the board setup (Figure 7).  Some options involved two RFID scanners while others involved only one. 

Figure 7 : Board Brainstorm

Figure 7: Board Brainstorm

In the end I decided to playtest my two favorite board setups to get feedback on the importance of one or two RFID scanners (Figure 8).

Figure 8 : Playtest Plan

Figure 8: Playtest Plan

From here I came up with a plan for the playtest and began designing it.  The two playlets setups are shown in Figure 9.  The playtest will involve three example letters from the visual alphabet I created.  The user will be instructed to learn these three letters and write the word CAB with the coins.  When the users interact with this board, I will advance this p5 sketch based on their actions.  If the user places a coin on the learn section, I will tell the computer to play the letter recording.  If the user places a coin on the write section, I will tell the computer to display the letter on the screen.  I will change up the board for every other user so that I get feedback on the two options for the board setup. After completing the playtest, I will ask the volunteers to complete this form.

Once I was done preparing the paper prototype I took some time to get a little further on the actual prototype.  I found a recording of the alphabet and saved each individual letter separately into a sound library.  I will use this library in my future code for the ‘learn’ side of the board.  Lastly, I spent time testing the RFID reader to make sure I knew how to use it and that it was the correct module to use for this application.  Using this page for hookup and code instructions I connected the RFID.  Then I used this code example and this library as a guideline to read the RFID UID code.  Once this was hooked up, I connected a simple p5.js script to test the serial communication between the Arduino RFID side and the sketch side.  The results are shown in Figure 10. When I touch one RFID card to the scanner the letter A is displayed on the canvas, when I touch the other the letter B is displayed on the canvas.

Figure 10: RFID Communication Test

These are the steps I completed this week.  Next I plan to catalog the results I receive from the playtest and adjust my plan as necessary.  Then I will begin to fabricate the coins and further design the computer interface. 

Week 1: Project Plan

About the idea:

As a dyslexic, I have become increasingly frustrated with the general public’s understanding of dyslexia.  People often think that being dyslexic means that you read letters or words backwards and upside down or you have a low IQ because you are dyslexic.  I want to develop an experience that puts the user into a dyslexic’s shoes.  Of course, dyslexia is a complex learning disability that affects no two people the same way.  However, I hope to make an experience that highlights both the gifts and struggles people with dyslexia typically face.  

Dyslexia effects parts of your brain that process language and thus most dyslexics have difficultly decoding sounds and relating them to letters.  This can slow down their reading rate and make spelling a challenge.  In order for others to experience this language processing barrier, I would like to build my own visual alphabet for any user to learn and then to spell words.  The barrier between the user and this new alphabet will hopefully mimic the barrier dyslexics face while learning the real alphabet.  I want to use elements which tell a story about dyslexia beyond creating this message through the mimicked barrier.  One way I would like to do this is through the development of my alphabet.  I would like the new alphabet to be made out of sound graphs.  Each letter will be represented by a different sound wave graph.  I want this visual alphabet to have patterns that people can recognize while they learn it.  Generally, dyslexic’s have good visual processing skills and thus excel at pattern recognition.  Thus, dyslexics may have an easier time learning the alphabet that others.  The alphabet itself, is a representation of the exact challenge that dyslexics face.  Sound processing is the origin of all the other effects of dyslexia, and thus this project will use a visual representation of those sounds.

How it will work:

Here is how I imagine this project will work.  First there will be an alphabet like the one represented in Figure 1.  The letter “A” will be represented by one unique sound graph, while the letter “B” will be represented by another sound graph, etc.

Figure 1 : Alphabet

Figure 1: Alphabet

Each of these “letters” will be printed onto a physical disk, called letter coins (Figure 2).

Figure 2 : Letter Coins

Figure 2: Letter Coins

The final interaction will look something like Figure 3.  There will be two boards.  One which helps you learn the letters through sounds and the other which helps you write words using the letters.

Figure 3 : General Setup

Figure 3: General Setup

I imagine the letter coins being scattered on a table randomly.  The user will put on the headphones associated with the learning board.  When the user places a letter coin in the designated spot on the learning board, the name and sound of the letter will play through the headphones.  This is how the user would learn the alphabet.  Once the user is ready to make a word, they can place the letter coins on the writing board.  When they are ready to input it into the system, they will press a “ready” button and the word that they made will be displayed on the screen in both the new and real alphabet.  This interaction may look like Figure 4 in the end.  Perhaps, each word entry will enter into a library of words and all the previous word entries will be represented in a graphic similar to this one.

Figure 4 : General Interaction Result Example

Figure 4: General Interaction Result Example

Questions I still have:

Before I begin building this project, I need to identify solutions to two main problems.  First of all, I need to understand different ways to visualize sound with a graph and find a method which develops unique graphs for each letter.  I would like to look at amplitude, tone, pitch, and other sound elements and determine which graph will be the best to use for this application.  Another technical problem which I need to solve is how the project will identify each coin that is placed on the boards as a letter and send that information to the computer and/or the headphones.  I am thinking of using a sensor to identify a unique color on each letter coin.  When a coin is placed on a circle, the sensor detects its unique color and tells the computer or headphones to display or play the corresponding letter.  Perhaps with some research, I will think of other ways to send this information using the coins. 

Project Process Goals:

  1. Identify and test coin connection solution

  2. Identify alphabet mapping method

  3. create visual alphabet

  4. fabricate letter coins (laser cut and etch on alphabet)

  5. Test coins with sensor and serial communication

  6. fabricate learn and write panels (laser cut and etch labels)

  7. connect physical and computational pieces

  8. create visual representation of the catalog of words created by users

Likely Materials:

  • Arduino

  • computer for serial communication

  • monitor for display

  • headphones

  • wood for letter coins and top panels

  • two wood boxes

  • two panel mount buttons

  • sensor (maybe color sensor?)