“Some beautiful paths can’t be discovered without getting lost.”― Erol Ozan
Throughout this module, we had our ups and downs. Here are some areas of reflection.
Arduino Microcontrollers
In order to control multiple electronic devices and use them to do tasks in a specific and logical way, microcontrollers have to be used and connected to these devices. However, only one person in our group was familiar with microcontrollers and how to use them. As such, the other two members had to learn the ropes and explore ways to utilise microcontrollers for our project. We chose the Arduino microcontroller as it was the most widely used. This was a fulfilling experience, as we now have a deeper understanding of how the many other electronic devices around us work.
PCB Designing
To facilitate easy connections between the Arduino UNO board and the various other components (e.g the keypad, vibration motor etc), we decided to design and purchase a custom printed circuit board (PCB) shield for the Arduino UNO. As such, we learnt from Jeremy the basics of how PCBs work and how to design them. He also helped us in designing the PCB. From this experience, we have a greater understanding of what a PCB is, how to design one and when they can be useful for making and tinkering projects.
3D modelling and prototyping
For any kind of prototyping, 3D modelling is essential to allow rapid iterations, making it easier to bring ideas into reality. As such, 3D modelling was an important skill to acquire such that we could finish our project in time. Hanyang taught us the basics of 3D modelling, good practices to do before during and after designing the model, and also how to use the 3D modelling software, Autodesk Fusion. During the process of designing and printing, many prints failed or did not work as expected, and this really taught us many valuable lessons. An example would be to break up a large print into smaller prints, such that they can be printed separately for a shorter duration. In addition, the print would not have to be reprinted from scratch if one of the small prints fail.
Serial communication within Arduino
As many analytical balances have a RS232 port which can transmit data, we wanted to connect the analytical balance to the Arduino UNO such that it can receive weight data. However, this was done via serial communication, which was something that we were unfamiliar with. As such we had to learn about serial data, how to process serial data and convert in the Arduino UNO board into a usable form for the algorithm to process. This required us to think out of the box, coming up with unconventional solutions to solve our problem.
Soldering
In order to connect electronics together, soldering is often used as it provides a durable and strong connection between 2 electronic components. Just connecting the electronic devices with jumper wires is unreliable, as they sometimes come loose and would result in the product not working properly. We soldered PCB female connectors to the PCB, allowing the PCB shield to be attached to the Arduino. JST female connectors were also soldered onto the PCB board, and JST male connectors were soldered to the other electronical components. This allowed for easy assembling and disassembling of our product.
Troubleshooting and design
During prototyping, troubleshooting is one of the most important and hardest part of the process. As such, learning to effectively troubleshoot is crucial in creating a working product. The trickiest thing to troubleshoot was when we did not receive serial data from the analytical balance. This was despite us connecting a computer to the analytical balance and tracking the output from it. However, after installing multiple programs to track the serial data, we realised that the Arduino RS232 module was not compatible with the analytical balance. We found out by placing jumper wires directly into the male RS232 pins on the analytical balance, and after that managed to receive data from the RS232 port. From these experiences, we learnt that systematically eliminating factors is essential in efficient troubleshooting. However, even if you identify the issue, it might be hard to effectively implement a solution. As such, it is also important to think out of the box to come up with solutions to best address the issue.
Workload and time-management
To complete a project, it is not possible for everyone to work on the same thing at the same time. As such, we split up the roles and played to each other’s strengths. We also tried to create a regular schedule, such that we were able to consistently work on the project while working on our other commitments. However, as the deadline neared, we started to spend more time on the project and were at the making and tinkering lab almost every day. In retrospect, we might have wanted to better plan our time in advance, such that we did not need to rush during the last few weeks of our project.
Broader Implications and Future Applications
Working on this project prompted us to think beyond just a proof of concept, but also think of the future end users. Despite wanting to create a semi-automated system, we wanted to it to be practical for people to use. As such, we needed to ensure that there was no additional work, which was why we aimed to create a system that did not involve additional washing steps. In addition, we had to balance between speed and precision. We could’ve made the machine more precise, but if it is slow, people would not use it and instead weigh things themselves. Moreover, the accessory had to also be usable for different types of solid samples with different physical properties. As such, it needed to adapt to these properties, adjusting the tilt angle and vibration intensity. We had to take into account many of such considerations such that we could create a product that would be demanded.