Week 11, 11/15: Input Devices


This week was spent engaged in activities that did not achieve the goals I set out to accomplish with regard to the assignment. I have encountered trouble with board design throughout this semester, despite spending long hours in the shop and working with various TAs. I hoped this week would be different, especially if I put in extra time and effort. This was not the case, but I remain hopeful that at some point I will get this. Fortunately I did make a lot of progress on formulating plans for my final project in terms of light and optics.


Output Devices


I have been attempting to design a board that can be used for my final project, something that will be able to run a DC motor and an RGB LED. During Output Week, I was unsuccessful, and I knew I needed to master this before moving forward with Inputs. So, since that time, I have returned to the drawing board to see if I could simply re-create the example boards, separately, for RGB and DC motor. I milled the boards and stuffed them. When I attempted to load them with the programmer, neither one worked, so the debugging process began. When I powered the DC motor/ H-bridge board up, the mosfet popped off, so I soldered it back on. The H-bridge board didn't work either, and I realized the H-bridge was soldered to the wrong pad. I replaced it with a new one but it did not work either. I checked the connections from each board with the multimeter and everything was connected properly this time, but when I connected the programmer, the red light indicator remained on. As of yet, I have to figure out what went wrong.



Input Devices


I finally created a working board, from an example, of course - the button board. As a non-confident beginner in the areas of electronics and programming, I thought it would be wise to do the simplest input board possible. I should have known it would be trickier than I expected. After many attempts to burn the bootloader using Arduino, and various attempts at debugging, with the help of TA Amanda, I discovered an issue with my avrispmkii driver. Apparently there is a weakness with Windows 10 and the driver, so I downloaded new driver software and repaired it. I was able to successfully burn the bootloader and installed a serial program on the board which would allow the board and computer to communicate and set it up with the input on the RX and TX pins on the ATtiny45 and the FDTI header. Amanda helped me to adapt the code for creating "println" when the button was pressed in the serial monitor. This is where we went wrong. We tested the board with the oscilloscope to determine if there was a problem with the voltage. The voltage was 5 on the VCC line, but it was also 5 between the pins, which Amanda said was a bit too high. Still, it showed that the board was probably not the issue. The issue is still unresolved. I was excited at the prosepct of creating a working board with an input button, but it was unsuccessful.




I also designed a new board, with an RGB, H-bridge and button, with the goal that it could be used for my final project. I combined the RGB LED and H-bridge example boards, as well as the echo hello-world board with a button. Using Eagle I started off with several iterations, originally added a XTal resonator, but eventually had to take it out in order to find 100% connections in auto-router. I pored over the design to make sure it would work, to the best of my knowledge, and even included the word lucky in the design because I need all the luck I can get at this stage. When I was ready to mill the board, there was an incident with the Modelo. During outline milling, the board came loose and was flung across the surface of the machine. No one was hurt and the mill did not break. However, the outer trace was damaged. I attemped to re-route the trace using a wire, and soldered the components on to the board. The board does not currenly work. I have to go back and debug it.



Final Thoughts


I gave my full effort in attempting to address the assignment this week. I have learned a lot through this process despite failing. I've learned how to take steps to debug, and about the functions of different components. I have also become more adept at using Eagle software and soldering. I created a board that talked to my computer, even though it was minimal. I have also reached out for help when I could no longer go further. I'm disappointed that I have not yet been able to apply this knowledge, by actually program something. I remain hopeful.


Update:

,br>


This week, working with TA Amanda, I had a major breakthrough in my input device, and was finally able to make the button board say "dudu" in the terminal! She helped me realize that an issue I was having – with the programmer, an AVRISPmkii, was not listed in Neil's make file, so I had to update the file and re-save it, alongside the .c file in order to utilize it. I then ran the "sudo make -f" codes and was successful. I was able to update the "put char" command so that it printed out "hihi." Which is very basic, but proved I was making at least a tiny bit of progress.