Fig. 1: Our single motor.
Fig. 2: Our double motor.
When we were building our Tamiya bot, we realized that a single motor (Figure 1) would only allow for our bot to go forward and backward. However, for our bot to be able to autonomously be able to navigate a building, we needed for it to be able to turn left and right. So, we built a double motor system (Figure 2). However, this system didn't fit directly on the Tamiya bot. To remedy this, we screwed Balsa wood, a thin and flimsy wood, into our bot and used that to screw in our double motor.
Video 1: This video depicts one of our motors working. Although we eventually got both motors to work, they didn't work for long enough to get a video of it. We had this issue all throughout the process and had to replace the motor driver and rewire the circuits numerous times.
Fig. 3: This image depicts the reference we used for the motor driver to accurately wire everything from the Arduino to the motor driver. This was extremely helpful during the debugging process.
For our Tamiya bot to be able to sense when objects/obstacles were near and avoid them, we needed ultrasonic sensors that could detect obstacles that were far but not too far away. That way, we could minimize errors or incorrect assumptions by our Tamiya bot based on the code.
Video 2: Our ultrasonic sensors functioning. As the hand moves away, the reading gets smaller- meaning the distance is larger. As the hand moves closer, the reading gets bigger- meaning the distance is smaller.
Fig. 4: Our ultrasonic sensor breadboard. As you can see, there is a motor driver on the middle left side of the circuit to also connect to our motor. The motor driver ended up malfunctioning so we had to replace it twice. However, even though our motor worked for a short time after replacing the motor driver, it didn't end up working in the end.
The ultrasonic sensor is connected back to the Arduino circuit board which is also connected to the computer code as shown in Figure 4. Our wiring for the ultrasonic sensors worked perfectly after a few tries, and we were able to get a reading on objects moving closer and farther away, as shown in Video 1.
Fig. 5: The readings for the ultrasonic sensors.
Fig. 6: Our complete dissasembled robot. As you can see, we were able to connect our double motor to the fully assembled Tamiya bot using the Balsa wood. We also connected our motors to the motor driver (then to the Arduino), as well as connecting the ultrasonic sensors to the Arduino.
Fig. 7: Our complete disassembled robot along with more clear connections to the Arduino. As you can see, the Arduino is connected to the breadboard which is connected to the motor and the ultrasonic sensors. The red cord is connected to the code in the computer.
Fig. 8: Our complete assembled robot. We used styrofoam to make a second level. The batteries and motor were on the first floor and the circuit board and breadboard were on the second floor. If we added the Data Bot, we would've added it to the back or we would've added a third floor.
Sadly, we weren't able to add the Data Bot to our Tamiya due to lack of time. However, if we had time, we would've coded the information necessary for our Data Bot to correctly detect temperature and get close to it. This way, the robot would be able to find a person in an emergency from their body heat and escort them out of the building.
Even though our design was perfect in theory, there were many issues with the connection between our ultrasonic sensors, motors, and the Arduino. First of all, the motors didn't work the majority of the time because our motor driver was malfunctioning. However, once we replaced the motor driver twice and rewired our entire breadboard, the motors worked for a time. But, they didn't work when we wanted them to in the code. After working on debugging the circuit, we realized that there were two wires that were short circuiting our whole connection. Although we didn't have time to fix this issue, we were glad to have found the problem in the motors. Additionally, the ultrasonic sensors didn't work at first either. But when we realized that we had the sensors connected wrong on the breadboard and we rewired it, we were able to fix these sensors and ultimately get a reading from the computer.