preview

Capstone Project Report Example

Decent Essays

Capstone Project Report Project Definition: The purpose of this project was to design and construct a robot that would demonstrate the skills we’ve learned in our program up until this point. This includes following pin diagrams for components, wiring circuits, soldering, programming, and troubleshooting on both a physical and digital level. To demonstrate those skills, Josh and I decided to create a product that would have the ability to detect and avoid obstacles using an ultra-sonic frequency generator. Practical applications: An excellent real-world application for this type of program would be in an industrial manufacturing setting. With the rise of automata in manufacturing a microcontroller designed and programmed to actively avoid obstacles is a must. With this technology, technicians and other employees operating in the vicinity of high-speed machinery would be much safer, as beforehand, you would need to bring the operation to a halt in order to move into a machines operational area, because there would be a chance that people could be injured or even killed by the machines inability to recognize their presence. The best part about it, is that its already being implemented by some companies. Another great application for a more complex program that is designed around this one is self-driving vehicles. Flowcharts: Autonomous mode: Feedback mode: Autonomous Code: //define motor ports #define ENA 5 #define ENB 6 #define M1 7 #define M2 9 //forward executon void forward(){ digitalWrite(ENA,HIGH); //enable motor A digitalWrite(ENB,HIGH); //enable motor B digitalWrite(M1,HIGH); //set M1 high level digitalWrite(M1,LOW); //set M1 low level digitalWrite(M2,LOW); //set M2 low level digitalWrite(M2,HIGH); //set M2 high level Serial.println("Forward");//send message to serial monitor } //stop execution void stop(){ digitalWrite(ENA,LOW); //disable motor A digitalWrite(ENB,LOW); //disable motor B Serial.println("Stop");//send message to serial monitor } //back execution void back(){ digitalWrite(ENA,LOW); digitalWrite(ENB,HIGH); digitalWrite(M1,HIGH);//set M1 high level digitalWrite(M1,HIGH);//set M1 high level digitalWrite(M2,LOW);//set M2 low level

Get Access