01/07/2019
Agenda:
- Test IMU using codes
- Test servo motor MG966 (with pin removed)
- Reorganise the electronic parts on the tank chassis so that the weight balances out on the tank (and the tank will not topple when moving)
- Mount, tape and cable tie the electronic parts to the tank
- Use the code to move the tank in 8 directions independently
- Tried ping-ing to the transceiver
- Update the slides
Tasks Accomplished:
- Tested IMU to see what readings it can give
- Tested servo motor and realised that the servo motor could only turn continuously in one direction and not in the other direction when using p.ChangeDutyCycle
- Mounted the tested electronic part on the tank
- Moved the tank in 8 directions using the previous modified code successfully
- Could not ping when using the command prompt in the RPI but will try again the next day
- Updated the slides and got ready for the presentation the next day! ✨✨✨
Hi Monday Blues! Let’s get through today and every other day!! 🌝
We started off the day testing and coding for the IMU (Inertial Measurement Unit) and managed to extract three different types of angular displacement (heading, roll and pitch) from the IMU. If we were to use the IMU as a tool to decide how much to rotate the transceiver turntable, the only reading we would require would be the heading which we can extract. However, after configuring the IMU, we realise on problem we have is that the strongest signal received by the transceiver may not always be at the angle where the transceivers are directly aligned to each other because of the bouncing of signals from walls and several other considerations such as how to integrate the IMU and the servo motor code together. We will be sure to work on this after our presentation the following two weeks! 🤩
Afterwards, we continued to test the servo motor MG966 that we removed the pin from (remember there is a pin in the servo motor tester we previously tested that limited the rotation of the servo motor gear to 240 degrees). We followed and modified certain codes to test the servo motor using p.ChangeDutyCycle(). When we input the number 0.1 within the bracket, the servo motor starts to rotate clockwise continuously very rapidly and when we change the number to 0, the servo motor stops. We tried other numbers, but we could not get one which rotates the servo motor continuously anticlockwise which is an option what we strongly considered so that we can rotate the transceiver till we find the strongest signal. We would continue looking into the issue, but we had to move on to other tasks for the day. As seen, there are many hiccups along the way ☹️ but we still cannot let these get into our way ya! 💪💪💪
Our day did not end here as we had to mount the parts and get the tank ready for presentation the next day. Some problems we faced when mounting the electronics are weight considerations and cable management, but we eventually got it and below is a picture of our independent tank entity!
As the day comes to an end, we put the code we previously made to move the tank in 8 directions in the RPI and tested the tank… And it did work! Here is a video of our ‘dancing tank’!
Apart from these, we also tried pinging to the transceiver (previously, the tank continued to move when the signals between the two transceivers are lost/ transceivers are disconnected due to too many obstacles or too long distance). The ping did not work on the rpi but we intend to try it again on Tuesday. Hopefully our presentation on Tuesday will go okay with our updated slides and improvements done and we will be back soon! 👣 👁 👀 🧠