Introduction: Soapy Supplier

The problem we seek to resolve is the spread of diseases in schools. We all know there is that time of year at school where we have to watch out for the flu. We believe that if we create this dispenser that attracts kids from a fairly young age we can stress to them the importance of washing their hands and help prevent diseases from spreading throughout the time of flu season. To do so we incorporated bright colors and light and friendly sounds that will make them feel good and successful when they use the soap dispenser.

Brain Storming: Through the brainstorming process me and my partner had already had ideas of problems we wanted to solve and we came together and rated our ideas from Do they have the components we need for this project? To can we connect and feel passionate about this project as well. We then consulted with our teachers and experienced adults at school and got criticism and new ways to improve our ideas.

Our project is a soap dispenser. That will be targeted towards kids mainly in Pre-K and Preschool. It will have colors to attract kids and when it is used a sequence of lights will show up with a sound of bubbles that will come out as well. There will an LCD screen that also counts how many kids wash their hands and when it reaches 100 and like congratulation sounds will come out and a special light sequence as well.

Step 1: Materials and Tools

Here is our material list for our Soapy Supplier. Many of these items that are used for coding required the online coding site Arduino, and we suggest that you download it or create an account, as it is needed for many of the steps. Also, make sure any wires and LEDs you get are compatible with the Arduino board or the Red Board that you use.

LED Strip
Arduino Board Kit
LCD Screen
Ultrasonic Wave Finder

3D printer

Step 2: Pattern and File

Pump Here are the fully printed parts of our pump created on Thingiverse by NikodemBartnik. It has 2 pieces that fit together, and in between is a small wheel. After it is printed and assembled, the motor should fit into the top piece, and go through the small hole of the wheel. If the motor you want to use does not fit, you may need to make the hole a little bigger. It is easiest to sand or melts the plastic down a little in order for it to be the correct size. You can use this for the assembly step. (This model is half of the size of our real dispenser, or scaled down by 50%)
Water Pump Instructable

3D Model Prototype We designed our own prototype for our dispenser to scale using Tinkercad. We added the basic indentions for where we wanted our big components to be. This was most helpful in seeing how big our design would actually be, and helped us visually address how we wanted it to look in the end. You can use this model and make modifications to it with the link, or you can go to Tinkercad and create your own model. Use this for the prototype step. (add finished photo)

Step 3: Brainstorm #1

Once we had our materials, we started to Brainstorming!
This came with a lot of research on code, our materials and as well as to how things work and what would work best for what we need to create. We took our time brainstorming and researching to make sure that everything we were going to purchase and use will work how we want to and to our liking. In addition, we thought about what makes a flow chart to have an idea about how our code will work.

Here are some examples of designs we drew for our Soapy Supplier:

Step 4: Prototype

Once we have a planed our idea of how you want it to look, we started to build and design a prototype. We chose to make two prototypes, one out of foam to determine the size and shape we wanted our dispenser to be, and one that we 3D printed to give us a visual and add any changes. We made multiple prototypes, because of the many changes that have come up. The dimensions or the shape you can test different ones and see which one you would like the most. You can also refer back to the Pattern and File step if you want to use our 3D printed prototype. Once we had our prototypes, it was much easier to make any changes that we might not have realized we wanted to make or didn't see in your original design.

Step 5: Coding

After the prototype phase, we began gathering code. We needed code for the Motion Sensor, LEDs, Buzzer, LCD screen, and Motor. We found the code on Arduino's website, Instructables and AdaFruit.
We tested everything on Arduino which was downloaded on our computer.

Step 6: Motion Sensor

The Motion sensor was a struggle becasue originally we wanted to use a PIR Sensor but that did not work, we made the choice to use the Range finder motion sensor which was working very well when we found the correct code and connected right as well.

We used this Video as a reference to help us make our sensor work.

Step 7: LED Strip

For the LED strip we just looked up many different codes on different websites mainly AdaFruit. The LED strip was the most simple to figure out and have worked on.

Reference WebsiteWebsite 2

Step 8: Buzzer

The Buzzard mind you is really loud. We looked up many videos that were not that helpful becasue they did not list any code but, we found a code for the Buzzard to play "Rick Roll" and we followed the pins and the information within the code to figure out how to make it work!

Step 9: LCD Screen

The LCD screen gave us the most trouble out of all of the parts to our project. Our LCD screen is a 128x64 OLED, which is pretty difficult to find information on. At first, we tried to use instruction for an LCD that has 4 pins, but we figured out we have to translate a lot of things to make sure it worked correctly. In addition, to figuring out the translation our code would not work for anything. Wich, we later figured out that we needed to download a library to Arduino to make it work. There are many steps to making this LCD screen work.

Instructions to add the AdaFruit Library to Arduino

(The Image above on the bottom right has the key for translation)

Step 10: Motor

The Motor was also pretty easy, just because all we really need it to do was just make it work for 5 seconds and turn on when the Motion sensor does so it works totally!
Source of our code

Step 11: Putting Your Project Together

Putting our code together was definitely very hard. We had to have an understanding of Arduino that we did not have but did develop on the way. We figured out that Arduino has 3 parts to code, The Pins, Set Up, and Void loop. Once we had this basic understanding and with the help of more experienced teachers, we were able to get somewhere and start developing and learning to manipulate the code to make it work to our liking. Although it's still a work in progress we know that we can make a successful code for our product.

Putting our project together, was also very challenging as we had to figure out the dimension of our project and make sure that with each decision everything would fit and or come together to work and look like one.

Assembly, The final step is the assembly of your product. After we printed out our final design for the shell of your dispenser (the outside). Although all we need to do is secure your Red Board and parts inside and make sure that the LED, buzzer, and LCD screen are in the correct holes so that you will be able to see them from the outside. Make sure they are secured onto the sides. After that, place your pump and motor into the center so that they go through and connect to the dispensing hole. Lastly, add the soap and close the top and bottom.

Step 12: Project Conclusion

We completed our flow chart and created a to-do list early on, and got the LED strip to work with the pattern we wanted very quickly towards the beginning. We also finished our project proposal with time to spare so that we could get ahead on our progress, created nice sketches of how we wanted it to look and got an official idea on our end goal, and we reverse engineered a soap dispenser to see how they work. Next completed research and found many helpful videos, as well as getting feedback from other adults and teachers to improve our design. We had successes with Arduino and were able to play around with LED displays, and buttons. The RGB LED worked really well, and it helped us think of new questions that we needed to answer and ask ourselves so that our project would be better. We printed our pump and were able to start testing it, as well as finally getting our motion sensor to work after a few classes of work, and we only need the LCD screen to work after that. We completed many steps in our instructable and got documentation of code, prototypes, and parts of our product so that the presentation would be easier when we started it. The project was moving in a good direction after more feedback, and we got stuck on how to make our PIR sensor work, but then figured out some new information about the wires that helped us. We created our logo and final product name along with finishing research on the LCD screen that we had ordered. We figured out how to transfer the inputs for our version of LCD screen so that they would work correctly, and learned what all of them do.

Struggles: At first, we had a really hard time picking a project, because we both wanted to do each other's ideas. Once we finally did, we weren’t really sure where it was going or if it was helping very much with our problem. After we received feedback from many teachers and other engineers, we got a more clear idea of what we wanted to do and changed the focus of our problem. This was good but led to more setbacks because we had to start over with what we were already doing. After that, we were able to start doing research and figuring out the code, but when we started testing it we had a very large amount of difficulties when it came to getting them to work. The LED strip would not work at first, and we didn’t know why. After some help and troubleshooting for a few classes, we learned how to download the correct libraries so that it would work. We finally got the sequence to work, but continued struggling for the other components. After the LED strip, we moved on to the LCD screen, which would not even turn on for almost two weeks, taking up a lot of our project time. One of the biggest struggles is that we are the only group of two, and were having a hard time keeping up with the other groups without having the extra set of hands. This caused issues because we both have a much heavier workload, and for a while struggled to find time in our schedules to work on it at the same time. After a lot of troubleshooting, we finally got the LCD screen to turn on. Another issue we had was that The motion sensor would not work when it was plugged in, but when we unplugged it and got close to the wires it would turn on. The next issue that we quickly ran into was that we could not combine the code for each individual component to form into one code. The main problem with that is that we didn’t even know how, so we had to spend a lot of time trying and failing and redoing our code multiple times. We were able to use a few resources and help from other engineers, but it was a major time setback for us. Lastly, we spent almost two weeks trying to print our dispenser and the outside of it, because all of the 3D printers were full, and multiple times our prints messed up or were the incorrect size. We finally were able to find a time to print, but a few of our pieces will need to be modified physically by us with tools so that they can function correctly and the way they were meant to.

Our Experience:
Through this experience, we had many struggles, and it was extremely difficult at times. These struggles and difficulties made it very hard to reach our goals in certain parts of the project, but they also provided us with new information on how to solve future problems that we had and also helped us develop new skills.

Our Goals/ Innovation Plan: Our main goal in this project was to create a functioning dispenser that would encourage kids to wash their hands and lower the number of kids that miss out on education because they are sick. Originally we wanted to improve sanitation for people who may not have access to it, but we then changed to this more reasonable and specific goal. Then we focused on the many other smaller goals we had, like making a prototype, getting our code to work, and creating the components of our final working dispenser. At this point, our main goal is to try and have the completed code and a mostly finished body to our dispenser, so that we can have an almost finished product by the time we had to present. We still need to continue our project so that we may be able to make it so the dispenser is more functional and can actually dispense. Our plans for innovation are to continue working on putting our code together, as each individual component already works. Once that is done and we solder it, we will be able to insert the parts of the code into the body of the dispenser and finish the project. To make our dispense more pleasing, we would 3D print it in higher quality and make it all the same color, as well as redesign the body so that it is more appealing and works better and more accurately when performing its intended function.

The last 2 pictures are the revised design of our soap dispenser. We only got so far but we tried our best with the amount of time that we had.

Step 13: Project Sources Section

Websites and documents


Instructable to Pump



Mentor: Matt Smith, Oren Connell, Debika Ingham