Update 11/1/2020 - Added Arduino Sketch
I wanted to add a more traditional switch panel and fake fuse panel to my Cadet Throttle. This is simply a remix to swap out the original pushbuttons for toggle switches, fake fuses and master rocker switches. I'll Post my Arduino joystick sketch once I finalize everything.
Printer Brand:
Prusa
Printer:
i3 MK2S
Rafts:
No
Supports:
Yes
Resolution:
.20
Infill:
20%
Filament:
[Hatchbox] PLA
Colors:
Black, Silver, White
Notes:
Toggle Switches: https://www.amazon.com/gp/product/B07WW3WW3F/ref=ppx\_yo\_dt\_b\_asin\_title\_o06\_s02?ie=UTF8&psc=1rnrnRocker
Switches: https://www.amazon.com/gp/product/B07C5M7GF7/ref=ppx\_yo\_dt\_b\_asin\_title\_o06\_s02?ie=UTF8&psc=1
Modifying the Rocker Switches
I took apart the rocker switches to pair up two red and two green.
Multi-color Fuse Buttons
The fuse buttons were printed in dual color by telling Prusa Slicer to color change from white to black.
HH_Throttle.ino
#include <Joystick.h>
//Potentiometer Setup
Joystick_ Joystick(JOYSTICK_DEFAULT_REPORT_ID,JOYSTICK_TYPE_JOYSTICK,
12, 0, // Button Count, Hat Switch Count
true, true, true, // X, Y, and Z Axis
false, false, false, // Rx, but no Ry or Rz
false, true, // No rudder but include throttle axis
false, false, false); // No accelerator, brake, or steering;
int throttle = 0;
int fuel = 0;
int prop = 0;
int flaps = 0;
int lastButtonState[12];
int btnCount = 12;
int buttonPin[12] = {2, 3, 4, 5, 6, 7, 8, 9, 15, 14, 16, 10};
void setup(){
// Initialize Button Pins
for (int i = 0; i < btnCount; i++)
{
pinMode(buttonPin[i], INPUT_PULLUP);
}
Joystick.begin(); //Starts joystick
Serial.begin(9600);
}
void loop(){
checkButtons();
throttle = analogRead(A0);
// throttle = map(throttle,0,1023,0,255);
Joystick.setThrottle(throttle);
fuel = analogRead(A1);
// fuel = map(fuel,0,1023,0,255);
Joystick.setXAxis(fuel);
prop = analogRead(A2);
// prop = map(prop,0,1023,0,255);
Joystick.setYAxis(prop);
flaps = analogRead(A3);
// flaps = map(flaps,0,1023,0,255);
Joystick.setZAxis(flaps);
// Serial.print("Throttle - " + String(throttle) + " ");
// Serial.print("Fuel - " + String(fuel) + " ");
// Serial.println("Prop - " + String(prop) + " ");
// Serial.println("Flaps - " + String(flaps) + " ");
delay(5);
}
void checkButtons(void) {
for (int i=0; i<btnCount; i++){
int currentButtonState = !digitalRead(buttonPin[i]);
// Change Joystick buttons only if the state has stateChanged
if (currentButtonState != lastButtonState[i]){
Joystick.setButton(i, currentButtonState);
lastButtonState[i] = currentButtonState;
}
}
}
Category: Hobby
The author marked this model as their own original creation. Imported from Thingiverse.