Extra Ideas

Return home.

So I started listing these things out in my lab 5 page, and I keep thinking of more things I would like to do, so I figured it would be best to compile them here and keep track of them in one place. Perhaps I will still reference this in each individual lab, though, giving updates of what has been added here and what has been completed since.

I split them up into realistic and unrealistic, which denotes whether or not each individual idea is something that is feasibly attainable in this class, given the time constraints and such.

Realistic

Custom wheel deadband via Bluetooth

I can't yet set a wheel deadband as a function of percentage from 0 to 100, but I might add that. Currently, it is preprogrammed at 5% (with each individual PWM's deadband still accounted for).

Change any, or at least most variables via command

Maybe a generic change variable function to be able to really customize things would be nice.

Software reset via Bluetooth

Here are some links that might point me in the right direction to implement this (external links!).

https://arduino.stackexchange.com/questions/1477/reset-an-arduino-uno-in-code

https://cdn.sparkfun.com/assets/c/8/3/d/2/Apollo3-Blue-SoC-Datasheet.pdf?_gl=1*15ztg6w*_ga*NTg2MzQ3NTg4LjE3MDYxMjM4MTE.*_ga_T369JS7J9N*MTcwOTY5NDQzOS4xOS4xLjE3MDk2OTYwNjcuNDQuMC4w

https://electronics.stackexchange.com/questions/661349/what-are-w1c-and-r1c-register-access-types

https://dannas.name/2023/04/27/write-one-to-clear

Icon for the website

Not car related, but I would like to be able to create a little graphic and use it for the icon for the website.

More efficient use of setup time

I use a lot of setup time just waiting for the LED flashing effect. Using this time to, for instance, calibrate the gyroscope, would be really cool, in my opinion.

Have the car close more fully

I really wanted the lid on this car, but I never quite got it to more fully close. The multiport is in the way, I think. Along with that, the wires to the distance sensors are in the way. I could cut a little hole in the blue cover to allow the wires to pass through. Honestly, though, I feel it's mostly fine as is. It can still screw on, though I would probably avoid doing it too much to avoid adding too much pressure doing so.

Function Pointers

My code is a disaster. I would like to restructure a lot of it. Ignacio told me about function pointers. I definitely would like to do implement those.

Semi-clear/white LED cover

Regluging the LED cover that is kind of falling off

Debugging front distance sensor

In lab 7, there was some fairly weird behavior regarding the front distance sensor. I am not sure how detrimental it is, but I could imagine it might actually cause some difficulties in the future, so I might have to do this one. We are to see, though!

Unrealistic

Code restructure for FSM

Regarding that my code is a disaster, I also would like to make an FSM out of my robot. I have a million bools floating around and I would like it if my robot were represented by a neat FSM. This feels unrealistic to restructure over a thousand lines of code, though. Perhaps it is possible toward the later labs, though, if I get rid of a lot of the junk I've built up from older labs. It honestly doesn't seem that difficult, just time consuming. Starting with orientation control, I have already begun to implement this.

Programming the Artemis via Bluetooth

Also, honestly, having all of these settings to configure different things makes it more convenient for me. As I chose to have the cover for my robot (plus the LEDs on the top that are soldered to the Artemis, making it inseparable, even), it is admittedly very difficult to keep plugging and unplugging it, so having as much customizable via Bluetooth as I can has made it much easier. I honestly wish I could program it via Bluetooth, but I know that is way outside of the scope of this class.

Return home.