Project Description: A remote controlled toy car that has a Vr function where it seems as if you are in the car itself
Project Description
This project was very chaotic. For the first week and a half, I was trying to build a small RC car with a camera by myself, after this the goals changed, and I partnered up with Keller Onstad and a few other classmates to build a single larger version of our original idea out of Legos. As we became partners we needed to keep track of what each other was doing so I created this partner page for Keller. I will still record what I do and also what Keller does as well to make sure that nothing slips through the cracks. Keller Onstad, Cooper Cumbus, Andrew Puky, Max Coloso, Colin Keefer, Luca Kadi, and David Vaugn all helped work on this project. Some helped from the beginning others came at the end but everyone did something to help.
The IP address for
SERVO http://172.16.110.109/
CAMERA http://172.16.110.131/
Keller Onstad Partner
Blink Code: Working Keller and I worked together on this.
The ESP 32 S3 Seeed Sense Pinout:
Day 1: Nov 18, I watched the Tutorial video and using the video description found each part and supplies needed. I then put all of it on the Bill of Materials. Keller helped me go through the entire listing.
The Tutorial:
Day 2: Nov 19, I watched the video again to understand all of the tasks I need to complete for this project and put it on the Gantt Chart. The Gantt chart should help me understand what I need to complete and how fast.
Day 3: On Nov 20, Started organizing the digital Portfolio to my liking. Imported Ghantt chart and Bill of Materials and gave descriptions of each of them.
Day 4: Nov 21, Created Tinker Cad simulation of Circuit and looked over provided code and circuit diagram. Keller did more reserch on what to do.
Day 5: Nov 22, Parts arrived and I organized a parts list to make sure I had everything. Keller did the same as I did, we worked together on this peice.
Day 6: Dec 2, Prepped car for Work by cutting out hood, by drilling the supports. Keller did the same for his car.
Day 7: Dec 3, Removed axis and prepped 9g servo to take out DC motor. Keller helped me out with this process by finind the correct sized screwdrivet. After this I became much more software oriaented and Keller took over hardware from here, but we were still planning on making seperate cars.
Day 8: Dec 4, Took 9 g servo out. Keller and I agreed that we needed to work together to get this done. Because we knew that with the amount of time that was left, we were almost completely screwed if we worked alone. At the moment we were still trying to create a hotwheel car.
Day 9: Dec 5, put a larger drive shaft in the DC motor using a paper clip, initially tried to use a nail, then reused car axel. Both failed. Keller worked on the planning some more and came up with this diagram.
Keller's theory list.
Day 10, Dec 6, Successfully uses straight pins that we cut off tips to use as the axels. Cooper and Puky found them and showed me how to cut off the yellow bit and plug the metal in correctly. Keller mainly did it though.
Week Three December 9th-13th
Day 11: Dec 9, ESP32 with camera works, accomplished by making the ESP32 its network allowing direct connection from browser to chip. When the code is uploaded to a chip the serial monitor prints out the IP address to which the camera is responding. We have to put that address into a web browser to pull up the server seen below. For more information, I will include a link to the doc where Noah explains how to do it. The network that it connects to can be named anything. We looked up how to use this on SEEED but there was a problem with the network administration's gateways preventing the chip from connecting to the server. Then a very nice IT lady took down the gateway so we could connect directly to the internet. The network we used allowed anyone on the network specified in the code to connect to the chip.
Fire
Keller: Worked on the motor some more and found the problems with how we put the motor back together. Check out his DP for more information.
This is a screen shot from my phone of the camera working.
Day 12: Dec 10, After camera work, we needed to take things one step at a time. Our first step was to design the hardware needed to run the Linear 1.5-gram servo. We put pins in the Seeed and connected it to a breadboard where I conducted the inial test of blinking an LED using a Web Server. ChatGPT and David Vaugh helped me out greatly with this.
Keller: The video showed us how to create the steering mechanism using some metal but Andrew Pukth decided to create one on Fusion 360 (he's very good). Keller was his little assistant helping him out.
Andrew's personally designed steering mechanism for a small hotwheel car. Will be used in version 2 when I get to it.
Day 13: Dec 11, Next was the Linear 1.5 servo, I needed to move it side to side to control the steering of the car based on the video we were using. To be honest that video sucked I didn't understand almost all of what the guy was saying and he skimmed over way too much information and compressed 2 months of work into a 20-minute video. I do not recommend using it unless you wanna guess a lot of what to do. Anyway using chat Gpt I combined the LED webserver code with a Linear servo controller that with 3 buttons I could move it from the leftmost position to the middle to the rightmost position. The video below demonstrates it.
Keller: He was sick that day.
Day 14: Dec 12, We decided that we wanted a slider instead of just buttons so we could specifically choose the angle that we were turning. The video below demonstrates it. Cooper Cumbus worked on moving a larger motor only forwards. Then I combined the code Cooper used and the code that I used to turn the servo into one combined code. This code allows you to separately control the direction the motor turns and which way the servo moves on the track. He used a motor shield to connect and code the modern. For more information go to his DP.
Keller: Keller was late to class because of a meeting and I taught him how to use certain features of the electronics and hardware. He worked on assembling the motor correctly again.
Just the Servo Slider
Just Servo Slider and LED picture.
The Larger motor, servo, and Led combined connect to the SEEED
Day 15: Dec 13, I used Noah's own personal Joystick code and combined it with the slide code so that now when you move the virtual Joystick forward the motor moves forward and whichever way left or right the stick is the servo moves the same way, left or right. Chat GPT helped me to understand how to code it so that when I let go the servo returns to 90 degrees or the middle railway or straight forward for the steering. The motor's power immediately stops as well. When we tried to use the smaller motor seen above we found that when we penetrated the other end of the motor we broke some key components. It was then when we realized that this project was going to have to change drastically, Mr. Budzichowski suggested that we create a skateboard for the time being. A skateboard is a bigger and not very clean version of the final project. We decided to use wood as the initial skateboard material and Cooper cut it out. We scrapped this later for LEGOS.
Keller: He helped Cooper cut out the wood.
We worked with every other group doing the hotwheel RC car and split up the work evenly
Tyler Russell (me)
Servo code and electronics
Combining both motor codes to work on one joystick
Figured out the web server issue
Keller (my first partner)
Took apart small DC motors
Built Lego car body
Protoboard work
Andrew Puky
Made original steering module in Fusion360
Helped with Lego car body
Max Colcaco
Made Lego steering module
Luka
Soldered Protoboard
Helped with wiring
David
Helped with creating and accessing the web server
Helped with figuring out camera code
Collin
Connected the servo to the Lego steering module
Replaced the small dc motor with the larger one
Cooper Cumbus
Helped connect the motor to the ESP through the motor shield
Connected the ESPs to the Lippo batteries
Day 16: Dec 16, On Monday we decided that we should use Legos as our building material for the car. We did away with the wood and only focused on the Legos. We realized that we needed to change our motor and servo to move bigger and heavier items such as Lego. We switched to a 9-gram servo that we took the small motor out of earlier. We changed our design so that the steering mechanism now works when the servo rotates in a certain direction it pulls the wheels in the same way. Keller worked on this more than me. We also attached the Camera from earlier to the Car. Finally still using the same LED as before we attached two more white ones that still turn on and off when I click it on the Web Server. I am very messy so the wires went everywhere.
Keller: This is where Keller stepped up and saved the project by creating the entire car in less than one day. GOOD JOB KELLER. Keller was able to build a functioning model of the car. The model was strong enough to hold the components and would be able to hold the motor and wheels. Max and Andrew focused on building a turning mechanism while he was building this. We combined the two and he was able to stabilize it to the car. We then began to think of a way to connect the servo to the turning mechanism. We used a cross-hair Lego cylinder hot glued to the servo to turn in exactly the right direction. It worked perfectly and was perfect for the job. Thanks to his OCD all the wires were organized and weren't hanging off the sides.
However, most of this is from Keller's DP and if you want a much more detailed setup for how to do this I recommend going to his DP. He gives a very in-depth analysis and how to of the mechanism.
9g servo being used as steering mechanism.
1/3 of the Car built
The steering mechanism we used.
Cooper holding the Steering Mechanism we used.
A picture of the steering connecting to the servo
Video of the steering connecting.
Final Product without batteries
Plugged in LEDs in the Head light spots
The Car moving without any Batteries
The Camera working on the Car itself without any batteries
3.7 volt lithium battery
Day 17: Dec 17, We got the 3.7-volt lithium batteries working with Bartholomew, which is what Cooper named the car. Cooper soldered two connecting wires together to form a connection between two jumper wires and the battery itself. It can run for about 5-7 minutes before it runs out of juice. You need two separate batteries, two separate Seedes, and two separate web servers to run both the joystick and camera.
Keller and Puky: Fixed the problem of the servo spinning instead of turning the wheels. They created a strong Lego base to hold the Servo in place. After school, Andrew and Keller began to transfer the breadboard onto a protoboard. We were not able to finish this job as the color coordination done by me was not done well and was messy. Nonetheless, they were able to figure it all out and they began to solder onto the protoboard before we were respectably kicked out a 5:30 pm. Before the end of the day though Max was also able to create a mount for the camera system out of Lego as well
Day 18: Dec 18, Started to clean up the car a little bit. Andrew built a proto board that I may use for version 2, organized up the wiring, and worked on my digital portfolio.
Keller: Worked on DP
I learned a great deal of things after completing this project. Before I barely understood a circuit and code not code for the life of me, now I can program an RC car. I learned how to create a web server and will be teaching others soon as well, I learned how to make a steering system, protoboard, organized to-do list, Gantt chart, bill of materials, research, code for servo and motor, and LED. I learned how to use a drill, build a support system, and cut out things that I needed. It's wild to me how much I can learn through such a small electronic car, but I believe this is just the first step of many that will lead me to where I want to go at this school and in life. I also learned things they can't teach in a book such as time management, documenting every day, communication, collaboration, negotiation, controlling my temper, and learning to let other people work. These were crucial in allowing me to complete this project on time and correctly.
I had many problems whilst building this car. There were many times were the code was incorrect in some way because of a small error and I used Chat GPT and Cluade to identify the mistake and tell me how to fix it. The webserver would not work on the correct WiFi and we needed to take the gateway down for the WiFi. Then there was the small motor that just did not work with the longer axle in and we didn't have enough time to redesign the motor system on the back of the car. Also, battery packs were an issue because they were much too big for the very small cars we were using. We had to switch out the servo because a small 1.5-gram servo was not enough to move that whole steering mechanism. The breadboard was something of a disaster because of how messy and disorganized it was and it caused much confusion that resulted in small problems that slowed us down. Finally attaching the servo to the lego steering proved challenging because of how much hot glue was needed to keep this axle attached to the lego. And it kept breaking after a lot of extended use.
This project was interesting, to say the least. I experienced a range of feelings from very sad depression to the highest of happy joys to wanting to strangle my partner a times. For the record, I do not blame anyone in my group in any way shape, or form. After these last few weeks, I know that everybody tried their best to get the work done. That means a lot to me and I hope everyone I worked with knows this. Specifically, my partner Keller and I had more than a couple of disagreements about how to proceed with this project from whose car to use, to people not doing what they should be, and fighting about dumb and useless things. I resolve to become much better at communicating with my partner and learning what the other is doing. I also need to be more on top of documenting throughout the process and not just at the end. Finally, I must become much more organized in the future this will allow me to complete more projects much faster.
This project was very challenging but luckily we were able to get a functioning model working. I would like to thank my friends Cooper, Andrew, Keller, Noah, Max, Collin, Luka, and David for their help. And I would also like to thank my teachers Mr. Dubik and Mr. Budzichowski with helping me understand how to create this amazing project.
The resource Arduino was huge in coding this project, I used it for every line of code to create an output in this project.
Fusion 360 was used at first to create the steering but then we discarded the idea
Tinker cad was used to map out of initial circuit
Seeed Studio was used to find tutorials on how to use the Esp 32 S3 sense Seeed and its camera
We used breadboards, jumper wires, 3.7 volt lithium batteries, the Esp 32 S3 sense Seeed and its camera, legos, lego wheels, 9g rotary servo, yellow motor, white LEDs, and drill.
Digital Portfolio of those who helped.
Keller Onstad: https://sites.google.com/charlottelatin.org/ms-portfolio-27onstak/home/10th-grade/electrical-engineering/capstone-project
Cooper Cumbus: https://sites.google.com/charlottelatin.org/coopercumbusdigitalportfolio/home/10th-grade/electrical-engineering/capstone-project/electronics
Andrew Puky: https://sites.google.com/charlottelatin.org/andrewpukydigitalportfolio/home/10th-grade/intro-to-electrical-engineering/capstone-project
Google drive where all our code and information is stored.
https://drive.google.com/drive/u/0/folders/1RBo01p8ubKdimYnvMpEgdJWqsFIYiamp
This is a Document with some of our to do list and how to use certain electronics.
https://docs.google.com/document/d/1uAEBAKSDufiz8AokXuxgsQ1crfebJuF4puaVHCggCrw/edit?tab=t.0