2022-11-11 (F) Weekly Summary

I introduced ramping to my Arduino sketch so my speed won't shoot up if I bump the joystick. Even if I push it to the max, the program will take a few seconds to reach the max speed. I bought a thigh bag to hold the battery, ESC, and Arduino, which freed up my hands, but I had to lengthen the potentiometer wire, leading to significant interference. I am going to switch to a wireless controller scheme.
Highly portable

The first step to a wireless remote was discovering that I lacked the correct Bluetooth units and ordering some. The following steps were modifying the program to move the servo according to incoming serial data, splitting the program into a sender and receiver, then programming the transmitting side to generate a signal based on the potentiometer.
Duplicated signal

I received a new Bluetooth module and one of the ones I already owned. My existing ones can only accept pairing requests, but the new ones can initiate them. I programmed them with USB↔serial converters and connected them to my circuit, where I made the servos move in unison, but they were linked wirelessly this time.
Bluetooth connectivity

I moved my electronics off their solderless breadboards onto prototyping PCBs. I didn't need components because I just wanted to provide a sturdy place to mount my processor, modules, and servo plugs.
Prototyping boards

I wrote a program to check the fidelity of my motor timing pulses. The sketch ran on a third Arduino while the first two communicated like they would in practice. I saw some jitter in the results, but I wonder if they're enough to cause the problems I felt while riding.
Timing measurements

I wrote another program that measured differently. The first one looked at each cycle's signal level and started a timer if it went high. The new one used interrupts to record when the signal changed immediately. The methods showed a 1.4% or 2.4% jitter, so I will investigate other generating methods to see if that's reasonable.
pulseIn() v interrupts

The rest of the summary posts have been arranged by date.
First time here?

Completed projects from year 1
Completed projects from year 2
Completed projects from year 3
Completed projects from year 4
Completed projects from year 5
Completed projects from year 6
Completed projects from year 7
Completed projects from year 8

Disclaimer for http://24hourengineer.blogspot.com and 24HourEngineer.com

This disclaimer must be intact and whole. This disclaimer must be included if a project is distributed.

All information on this blog, or linked by this blog, is not to be taken as advice or solicitation. Anyone attempting to replicate, in whole or in part, is responsible for the outcome and procedure. Any loss of functionality, money, property, or similar, is the responsibility of those involved in the replication.

All digital communication regarding the email address 24hourengineer@gmail.com becomes the intellectual property of Brian McEvoy. Any information contained within these messages may be distributed or retained at the discretion of Brian McEvoy. Any email sent to this address, or any email account owned by Brian McEvoy, cannot be used to claim property or assets.

Comments to the blog may be utilized or erased at the discretion of the owner. No one posting may claim property or assets based on their post.

This blog, including pictures and text, is copyright to Brian McEvoy.