Intro to Engineering Projects

3D Motor Mount

The challenge was to 3D print a part that could be used to connect a Stepper motor 28BYJ-48 to a robot frame. I chose a classic L shape design using the specs from the website listed below to determine size and placement of the holes. 

Drawing and specs used to model the piece: 28BYJ-48 (cookierobotics.com) 

Settings: Original Prusa MINI printer, Generic PLA filament, 1.75 mm diameter, 15% infill, 0.15 mm layer height

3D Wheel and Hub

The challenge was to 3D print a wheel that could connect to a Stepper motor 28BYJ-48. Using the specs from the website below, I first designed the connector piece, and once it fit the motor, I printed the whole wheel. Luckily my first prototype fit the motor, so only one iteration was necessary. 

Drawing and specs used to model the piece: 28BYJ-48 (cookierobotics.com) 

Settings: Original Prusa MINI printer, Generic PLA filament, 1.75 mm diameter, 15% infill, 0.15 mm layer height

My hub design includes two flat edges and two screw holes to fit securely over the motor shaft. Fortunately, this model was printed with the correct dimensions, so I went on to print the wheel.

The wheel is 90 mm in diameter and uses the hub design to fit securely over the motor shaft.

Ultrasonic Sensor - Automatic Sliding Door Program

The challenge was to program a servo motor and ultrasonic sensor as if it were part of an automatic sliding door, such as those in grocery stores.

An ultrasonic sensor sends out a high frequency tone and then measures the amount of time for the sound waves to return after bouncing off some object. The farther away the object is, the longer it will take for the sound waves to return.

A servo is different from a regular motor in that it has the ability to track its own position in degrees, so it can follow commands to turn to certain angles. The noncontinuous servo is geared such that it cannot turn more than 180 degrees.

Heat Sensor Fan Circuit

The challenge was to make a circuit that used a heat sensor to control a fan.

The heat sensor is attached to an analog input pin and ground (the analog input pin can handle signals in between on and off, allowing for a variety of sensor ranges). The fan is attached to a relay and ground. The relay controls the voltage flow so that it doesn't blow the pin, and it is connected to voltage and pin 8.

Basically, the heat sensor will detect heat, and if it is above a certain range, the fan will turn on; if it is below a certain range, the fan will remain off, as demonstrated in the video.

FINAL PROJECT

Partner: Tim Rosland

Portfolio: Home (google.com) 

The Challenge

The challenge was to design a robot that can differentiate between a right and left-hand maze, solve the maze, and put out a fire at the end. The mazes are mirror images of each other, both with two turns necessary to reach the fire at the end.  We chose to 3D print the majority of our robot, making mounts with built in fastening pins for all the sensors, a ping-pong castor wheel, two regular wheels.

Our Approach

We designed our robot with one front-facing ultrasonic sensor and one side-facing ultrasonic sensor. The side-facing sensor could detect whether or not the wall of the maze was on the left or the right, thus communicating to the robot which maze it was supposed to navigate; then, the front sensor detected when the robot got close to a wall, at which point it would turn in the appropriate direction. Once it reached the end, we used a heat sensor to detect the flame and a fan to extinguish it.

Iterations

In our first design, we only had one ultrasonic sensor and the robot would turn to determine on which side there was a wall; however, we decided to add another sensor in order to make the robot more straightforward and accurate. As well, we originally planned on a more circular design for the base, however we had to trim the edges to fit the constraints of the 3D printer. We also considered adding sound to the robot, but had problems running the codes simultaneously. We also added two sound generators to our robot so it has the capability to play dual tones, however the arduino cannot run two codes simultaneously, so we had to scrap that idea from the final product. Other than a few minor tweaks, our design generally kept the same form throughout the process.

The first rough cad model

The Code

We technically did not use a library, however we did create several of our own functions, mostly to control the wheels. For our main code, we could call functions to make the robot go forward, backward, left, and right, and we could input the number of inches or degrees for each operation. We also had a separate section to set up the ultrasonic sensors and the fire sensor. While our initial code did not work, when we stepped through the process again, it could consistently solve either maze.

Conclusion

Overall, our robot does meet the requirements for this assignment. It can solve either of the presented mazes and it does detect and extinguish the lighter at the end. However, some improvements would be to either add another ultrasonic sensor facing the right side or orient the sensors at 45 degree angles on the corners and code the robot such that it can solve any maze by determining if there is a wall in front of it and if there is a wall to either side. Currently, it can only solve a spiral maze in either direction. As well, another heat sensor next to the fan would allow the robot to actually find the flame, allowing for faster and more accurate extinguishment. Due to the design of the base and the mounts, however, these features would be relatively easy to add.