My third milestone was creating an app which makes my robot move by connecting with my microcontroller over wifi. I created an app using MIT app inventor which makes apps for android phones or tablets. The app has buttons and a voice contorl feature which the user can use to control the robot. The app recognizes when any of the buttons are clicked or voice control is used and tells the microcontroller the command. In order to communicate, the microcontroller connects to wifi and displays its IP address, which the app uses to send signals to the chip. Here is an image of the app.
I encountered many challenges when trying to get this part of my project to work. My first problem was that the microcontroller I used for my first milestone was a proMicro which doesn’t have a wifi chip, meaning it can’t communicate with the app. I transitioned to using a feather huzzah in my second milestone, but was having trouble with it communicating with the app. I then switched to using a nodeMCU, but was unable to spin the motors using that. I finally switched back to the feather huzzah and was able to make it work.
I also encountered some trouble using MIT app inventor. I used a template created by someone who had done a voice control robot, and then enhanced parts such as the background, buttons, etc. Once I had created the app, I then tried to download it to my tablet. But, the app to download from MIT app inventor didn’t work for me. I was able to use the usb feature instead of connecting using wifi and get my app, but every time I exited the app or turned off my device, I would need to redownload it. I finally resolved this problem by using the complete download function where the app downloads as a seperate app on your tablet, therefore letting you exit the app without having to redownload.