When I was living in Macas City I began to buils a new system controled by Arduino for WheelChair. I am not engineer just try to find resources using internet and curiosity :)
🛠️ เจาะลึกเบื้องหลังการทำงาน (Deep Dive / Technical Analysis)
Building an RC Car that only goes "Forward" or "Backward" is elementary school robotics. The Omni-Directional Wheelchair project requires extreme differential array calculus. The programmer must take a massive singular analog Dual-Axis Joystick (X and Y) and mathematically rip it into two completely separate, independent Output (PWM) power streams to power the massive Left and Right traction wheels!
Extracting The Analog Thumb-Stick Limits
A standard Joystick is composed of two massive 10K Potentiometers.
joyXgoes from0(Left) to1023(Right).joyYgoes from0(Up) to1023(Down).512 / 512is absolute dead center!- The Dead-Zone Error: Joysticks are cheap physical mechanics. They don't rest at exactly
512. The spring might leave it resting at505. If the C++ logic usesif (Joy_Y > 512) { DriveForward(); }, the chair will creep forward slowly and kill someone even when nobody is touching the stick! - The Software Lock: You must mathematically define a massive "Dead-Zone" buffer!
if (joyY > 480 && joyY < 540) { stopAllMotors(); }
The Differential Vector Processing Engine
If joyY = 1023 (Full Forward), both motors run at PWM 255.
If the user also pushes joyX = 1023 (Hard Right turn while going forward), the logic array must drastically decrease power to the Right Motor specifically.
// Map the initial speed requested!
int baseSpeed = map(joyY, 540, 1023, 0, 255);
// Map the steering angle requested!
int steeringOffset = map(joyX, 540, 1023, 0, baseSpeed);
int leftMotorPWM = baseSpeed;
int rightMotorPWM = baseSpeed - steeringOffset; // Drop right wheel power to force a turn!
- The heavy L298N Driver violently executes the asymmetric command! The Left wheel pushes harder than the Right wheel, causing the massive metal chair chassis to sweep gracefully around the corner!
Motility Chassis Requisites
- Arduino Uno/Nano (Standard functionality).
- Dual-Axis Analog Joystick Module (KY-023).
- L298N Heavy Duty Motor Driver Interface Board.
- A 2WD or 4WD Robot Base Frame.
- Massive 6V to 12V Geared DC Motors (For a high-torque robotic wheelchair model, the TT motors are too weak; 25mm Geared DC Encoders are strictly preferred!).
- Separate Motor Power Matrix (If the DC motors draw their massive amperage from the Uno's 5V regulator, the joystick math buffer will crash instantly!).