Arduino Parking Sensor
Learning Module #1
Partner: Andres C
This was my first 6-day learning module and my first project for advanced topics. During the 6 days, we learned about wiring with breadboards, what different components of the Arduino do, how to create code for the ultrasonic sensor, and most importantly, how to combine all of that information to make a system similar to parking sensors found on many modern cars. The final result tracked the distance in centimeters and if the object was closer than 5 centimeters, it lit up a red light, otherwise, it would be green. If we had more time, we would have added a speaker to play a sound when the object got too close.
Click Here For Resources (Arduino Videos Provided By Mr. Detrick)
Soldering
Learning Module #2
Partner: Rio R
For my second 6-day learning module, I learned soldering. After watching a few videos on soldering safety, tips, and procedures, we began soldering individual practice boards where we learned different connections, bridges, techniques, and terminology. This was a great way to start learning about electronics and soldering is a valuable skill.
This boat (~4 inches long) model shown above was the second and first successful print after we altered the first model to print correctly. We then scaled up the model by a factor of 1.5 to see how well the printer would do.
Onshape and 3D Printing
Learning Module #3
Partner: Gerald N
For my third and final 6-day learning module, we used Onshape, a 3D modeling website to model a boat from scratch. Before we were able to begin modeling our finished boat, we practiced using the program's tools by making various practice models like a mug. After putting in hours outside of class to become proficient with Onshape's tools, we took on the task of making a pirate ship.
Once the final model was finished and we converted it to readable g-code for the printer, we attempted our first print, but due to the support beams forming incorrectly and the orientation of the ship being tricky, the print failed. To fix this, we next tried to print the boat from a different angle and with improved support beams. This learning module was great because it taught me how to use a 3D modeling website, convert that model to g-code, create support beams, and print the model.
Click Here For Resources (Scattered Throughout Log)
First we focused on using trigger boxes, which are basically invisible boxes that trigger an event, like a sound or action. Unreal engine in the "blueprint mode" has a complex page where you can give attributes to objects and "code" your game at a higher level of abstraction than programming. Imagine block code but more complex. We implemented a trigger box to kill the player if they fell off the platform and a trigger box that plays a sound. We attempted making a trigger box to raise an ocean of lava slowly, but we ran out of time.
Unreal Engine Virtual Reality Parkour Game
Learning Module #4
Partner: Jason M
After my third learning module, I wanted to experiment with game making and VR. So I got the idea to make a VR Game. Jason and I had heard about and seen many things about Unreal Engine 5 on the Internet, so we wanted to use it for our learning module. After further deliberation, Jason and I decided to make a parkour jumping game in VR. But after setting up the VR headset and installing all of the necessary components, we realized that our computer science classroom laptops weren't powerful enough to run Unreal Engine well. Unfortunately there wasn't a total fix for this because of hardware limitations but we were able to lower and tweak graphical settings to achieve a better FPS in preview.
Click Here For Resources (Scroll Down)
Raspberry Pi with Sensors
Learning Module #5
Partner: Heidi K
We developed a system with a camera and an ultrasonic sensor that, when the distance output is below a certain threshold, the camera takes a picture, essentially, a dash-cam safety system However, once we began to make progress, we realized we wouldn't have time to add our contraption to our RC car. While this learning module was plagued with difficulties we definitely learned something about Raspberry Pis.
Click Here For Write Up (Scroll Down)
Arduino Dancing Santa
Learning Module #6
Partner: Miguel D
We bought a dancing santa off amazon, stripped it apart and added an arduino microcontroller. Then we added an arduino microcontroller, added a microphone, made it sound activated, and programmed "Jingle Bells" into the Arduino to play on an external speaker that we added to our santa. The end result was a santa, that upon hearing a loud enough noise, would dance and sing "Jingle Bells"
Click Here For Write Up And Resources (Scroll Down)
Click here for a video of our horror game ^
(Heart-rate sensor unplugged)
Unreal Engine pt.2 - Horror Game
Learning Module #7
Partner: Josh D
We implemented a heartbeat sensor in Unreal Engine as a component of a horror game. We used GitHub to share the project and used a plugin and Virtual LAN that allowed us to make changes to the project at the same time since it is not inherently included in Unreal Engine to work across multiple networks at once. We were ultimately able to meet all of our goals. We are considering turning this into a VR game one day.
The Multi-User-Editing plugin worked best in Unreal Engine 4
GitHub helped us keep our files up to date and consistent
Hamachi helped us connect to the same virtual network
We used an Arduino to print the serial values of the heart-rate
Musical Floppy Drives
Learning Module #8
Partner: Jason M
We found some old floppy drives and got the idea to use the mechanical sounds that they make to play music. We researched it and found something called Moppy (musical floppy) and we based our project off of that, except we wanted to add keyboard input to play it like a piano. After we tested all of the drives, we 3-D printed a case for the floppy drives and Arduino and we began to experiment with the software. Eventually we got to it play certain midi files and we decided to focus on the keyboard aspect. We had trouble with midi synthesizers and couldn't finish the keyboard by the deadline, but we can still play midi files on it and we are sure that we will be able to add the keyboard eventually.
This is how we ran the java code for Moppy. This is how we access the "brains" of the whole operation.
VMPK doesn't play sound directly but is useful if you have a working midi synthesizer.
Netbeans wouldn't run on our project on windows so we used a Linux machine in class and WSL at home
Click Here For Write Up And Resources (Scroll Down)