On Friday my team and I met and did an attempt to merge our code bases and functionality together. We decided that Sigurd and Thomas, who had the receiving and sending end should try, and me and Marie should put things together. Both me and Marie were using an accelerometer and gyroscope and we figured it was a lot of work to put these together as we were using separate libraries. Marie was using a library called I2Cdev, which I wasn't able to install on my computer. We tried a range of different things, and in the end asked for help from Clay. He wasn't able to solve the issue either, and recommended us both using the Wire-library, the one I had used. This meant that Marie had to re-write most of her code.
We discussed a lot on how we could differentiate the shake and the throw, but after a while I realised that after the user tests I will try to do something different! This interaction would not be similar to a throw, so that problem solved itself.
Working by myself
After the team members left I worked on my own project. The new idea is that the user can tilt their wrist to run through different colours, so each new movement is a new colour. Then, they can squeeze it to select the colour, and then further adjust the brightness by tilting again. I used a library on recommendation from Sigurd, MPU6050_tockn, which allowed me to get a log of data from the accelerometer. One of them was the angle, which seemed useful. While getting help from Clay with something else, I asked him how I could make sense of the angle numbers and translate into colours. He mentioned a "map" function, and Nick overheard us. Nick happened to have worked with the map function before and was happy to explain it to me! That was really helpful, and a discussion around this with both Clay and Nick helped me be able to go back to my computer and solve it myself. I guess this kind of experience was the intention of the course, but we haven't been able to utilise this because of the restrictions.
Making the wrist tilt and colour thing work was really really exciting!
In addition to this, I tried making the flex sensor work but I couldn't. My ESP32 board didn't have analogue pins which were needed for the flex sensor. Clay helped me solder on some pins and helped me figure out what resistor I needed for it to work. So then, after some more soldering, I got that working too, so now I'm ready to work with the other team members' code as well.
Clay using a Voltage tool to know how much resistance I needed.
This week I am going to further improve the tilt. This means ensuring that all the colours are accessible from the movement one is able to do with the wrist and smoothening the transitions a bit. I will also work on another tilting functionality, suggested by Sigurd. This concept is that the user tilts the ball up to a certain point and then it starts browsing through colours. When the user tilts back it will select the colour it was last on. I want to test both of these functionalities, and see which one people like the most.