My #hardware-party reflection:
This project was tons of fun and taught me a lot. I learned to work with Bluetooth, how to solder, and how to work with motors. Although I didn’t completely finish, I wouldn’t call my project a failure. As you can see in the photo, the camera and robot are separate. The camera and robot worked separately, but the chassis was smaller than I anticipated and I didn’t have room for the raspberry pi. If I were to do this again, I’d get rid of the microcontroller and use the raspberry pi to control the whole thing. I would also try to ensure all my parts are compatible. For example, my battery bank has a way lower amperage than the raspberry pi needs. This forces the raspberry pi to work very slowly and was almost unusable unless it was plugged into the wall. This also may mean I need to charge the battery pack which I actually haven’t tried and I just realized while writing this. Overall, this project was tons of fun and I’d love to do something similar in the future.
Day 10 of #hardware-party :
Today I worked on streaming the video from the raspberry pi to the phone. I ended up creating a flask server to stream the video; however, for some reason the processed video wasn’t showing in the app, but it’s probably a silly mistake. It is late now so here’s what I have. If I were to do this again, I’d probably try to get rid of the adafruit feather and control the motor with the raspberry pi for east autonomous control and less power management issues. I have attached a screenshot of the app because it’s late, I’ll try to send a video tomorrow!
Day 9 of #hardware-party:
I came home late from school and I told myself to do just one thing which was to roughly mount the raspberry pi on the car. I tried to 3D print a case but I haven’t gotten access to a 3D printer to print it. If y’all have any suggestions on how to protect the camera’s exposed ribbon cable please let me know. I also have ran into the problem of powering the Raspberry Pi. I have a power bank that is USB A; however I don’t think I have a USB A to USB C cable. I hope to find an adapter to finish this in time. I will go all in tomorrow to try to finish this in time.
Day 8 of #hardware-party :
Today I didn’t make as much progress as I hoped in terms of the project. I tried to work with ffmpeg for video streaming; however, I don’t yet fully understand the concept. I switched the camera from a webcam to the raspberry pi camera.
Day 7 of #hardware-party :
I worked on getting tensorflow to work headless today. I am using a virtual x11 display and streaming it using vnc. It was a lot of just learning how to do object detection with tensorflow, and the virtual display was pretty simple. It is a startup script now so that the object detection starts as soon as the pi gets power.Day 6 of #hardware-party :
I worked on the parsing of the input today. It led to me fixing the way I send data in Flutter from a random cursed array to a byte buffer. I also messed up the firmware of my adafruit feather twice today, but it finally drives. I am proud of myself. I use a joystick with arcade drive and send it to the feather. BTW, Adafruit’s documentation on the Bluetooth seemed nonexistent, but ChatGPT helped me work with Bluetooth on the Feather. If anyone does find documentation, please send it to me. I spent about 3 hours finding a typo today, luckily my brother wanted to see what I was working on and found it. I am really surprised with my progress today, considering the last 2 days were pretty slow. Here’s a video of the robot driving.Day 5 of #hardware-party :
Today I finally got the connectivity and data transfer between the robot and the phone for controls done. I am using Flutter for the app because of its ease of use and cross compatibility. Here’s an image of the joystick below. I need to learn how to parse the data on the robot. I will hopefully work on that today.
Day 4 of #hardware-party:
I have made some progress on flutter today; however, it still can’t connect to the device. I have a long weekend and I will work on the project as much as possible in the following days. Hopefully, I will have an app. Here is it just displaying the Bluetooth devices.
Day 3 of #hardware-party :
Today, I didn’t get as much done as I wanted to. I tried to make an app, but I was having difficulty working with bluetooth in Xcode, so I decided to that I will try to switch to Flutter tomorrow. I don’t have any photos of the project today so here’s Android Studio, so hopefully tomorrow goes better.
Day 2 of #hardware-party:
I did some soldering today (don’t mind the chicken table). It was the first time in a while. They were headers so it was tedious and took more time than I anticipated. I also burnt my pinky. The robot is drivable with Adafruit’s code, but I don’t want to send that because it’s not mine. Tomorrow I will make it driveable with my own code. I might use MIT App Inventor or XCode or Android studio, but probably XCode. I’ve never played around with Bluetooth before so it will be a new experience. In terms of hardware, I just need to mount the Raspberry Pi and its camera.
Day 1 of #hardware-party:
Today I worked on the chassis of the robot. The chassis is updated from Adafruit’s instructions so I had to get a little creative with the roller ball bearing. It’s not drivable yet, but hopefully tomorrow I’ll work with electronics and code. I have a lot of homework today, but I’m glad I could squeeze this in.