At the beginning of this week, I realized I had only another month of internship to go which made me feel bad over the fact that I was not done with at least half of the sensors. I was determined to be as fast as I can in finishing them. I referred to Dr. Shawn regarding the widths of the debouncer design and showed how I had to change few lines of codes that is dependent on the widths of the debouncer. All this while I was changing the widths and the respective lines one by one. Dr. Shawn showed me that it could actually be set up with parameters so that there will be no need for changing the few lines anymore. An expression using concatenation in Verilog could actually be formed for the maximum count of the debouncer.
For the umpteenth time, I realize that the way I was doing my task was inefficient taking an amount of time that could have been avoided. I continued to finalize the debouncer design using parameters and start to implement on the touch sensor. It worked as I wanted sensing only human touch. I modified the design of push button and small microphone according to the new finalized debouncer with necessary widths depending on the inputs of the sensors. Subsequently, I continued with other modules such as tilt and mercury switch. It was enjoyable tilting them and verifying that the design worked.
The next one I worked on was the obstacle avoidance sensor and digital temperature sensor. All of these modules were done before but different debouncer with no parameters was instantiated. I carried on designing new module like the flame sensor. I had fun testing the flame sensor as the distance of the flame that can be detected varies when the potentiometer was rotated. I could make it to only detect within few centimetres away from the sensor and detect from far till like 2 metres away.
Afterwards, I tested both magnetic spring sensors, large and small. I used a small magnet to be detected and it was sufficient as the modules worked. Not only that, I was able to use the magnet again to test other sensors like the digital hall and linear hall. Dr. Shawn also showed me how the linear tracking sensor worked detecting white colours. The linear tracking sensor worked with the on board LED but not on the FPGA LED. I tried various methods, with and without debouncer, verified design and UCF file including testing with different widths of debouncing but it still did not work. It is possible that the digital pin on it might have been damaged. I realized I was actually done with 21 modules now. Still, my goal remains to do as much as I wouldn’t like to leave the work half done.
Finally, I did some research on the options of plug with wireless interface that are available in the market. It was quite interesting to compare the options available in the aspect of functionality wise and its cost.