Jump to content

Jens

Members
  • Posts

    706
  • Joined

  • Last visited

  • Days Won

    3

Jens last won the day on March 7 2021

Jens had the most liked content!

2 Followers

About Jens

  • Birthday July 10

Profile Information

  • Gender
    Male
  • Location
    Fulbourn
  • Interests
    Heavy Metal Festivals, Caravaning, Photography, Video Filming, RC Cars
  • RC Cars
    See signature

Recent Profile Visitors

1,857 profile views

Jens's Achievements

Enthusiast

Enthusiast (6/14)

  • Reacting Well Rare
  • Very Popular Rare
  • Collaborator Rare
  • Super Collaborator Rare
  • First Post

Recent Badges

653

Reputation

  1. Not as much. Here 2 old pics to compare. One with the pipe lagging , one with the original insert: You might want to gear down, since the wheels are even bigger than the Bugsta ones. Unless you want speed and stay on road. See that you get closed cell foam from B&Q. they don't soak with water. And the version that is not open on one side. Bad: https://www.ebay.co.uk/itm/223999193686?hash=item3427647256:g:oIsAAOSww41esEDG Good: https://www.ebay.co.uk/itm/273509911546?epid=22030367669&hash=item3fae760bfa:g:Z-MAAOSwLXNbxLm5
  2. None so far. And I searched a long time for suitable wheels for the Carnage and Rustler. ( Apart from the blue alloy version, which I really do not recommend )
  3. I was the one mentioning it. :-) Those wheels are fantastic. I even use them now on my Rustler. But.... The tire inserts are crap. The foam is just glued in a ring and if they get soaked the glue will likely dissolve. They are also too soft. I went to put in some pipe lagging made of closed cell foam. They are waterproof, not glued to a ring and quite a bit firmer. Firm enough for the wheels not to balloon anymore. Armaflex pipe lagging 76mm OD, 19mm thickness. https://www.ebay.co.uk/itm/202623606704?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2060353.m1438.l2649
  4. I think speed runs don't cause so much stress to the slipper clutch then bashing around with constant speed changes. Provided that you accelerate calmly to reach max speed. I think the slipper clutch goes faster if you are constantly accelerating and braking. For mine I never found the right level of tightening the screw. Ended up tightening at full. Anything less and the clutch was gone after a few runs. I remember a post here long ago that mentioned either full tight or constant pad replacement. Having tightened it full, I accepted the risk of other damages along the drive train.... When I compare the power of my Carnage with the Hobbywing ESC to my Rustler, it's about the same. But then the Rustler uses aluminum pads that are much better than the Carnage ones.
  5. No doubt, the Hobbywing might be superior. But not really a desired option for me. I want to keep the car in its original state. But that is just my personal preference.
  6. Well... A replacement Velineon motor still costs more than £100. But then I got a good deal for a used one for £50. Nevertheless, I thought of taking up the challenge and keep a spare motor. But when it came to balancing the rotor after putting on the Kevlar/Epoxy stuff I scrapped the idea.
  7. Just digged out a really old forum thread from the never forgetting internet. https://www.rc-monster.com/forum/showthread.php?t=16781 It needs to be wrapped with a really strong and thin thread. Something like Kevlar. And glued with something like a heat resistant epoxy. Then the rotor needs to be perfectly balanced. Too much for me. I don't have any reasonable means to balance a rotor to be able to run at 10000++ revs. At that point I decided to just keep the remaining parts as spares... At least I learned that I also need to spray some GT85 on the ball bearing on the shaft side after each water run.
  8. Thanks. Just found some pictures and more information about the motor and its rotor. You are right, the yellow stuff is originally wrapped all around, probably to keep the 4 magnets in place (as you say). And it's the rotor for a newer version of the motor. And that newer rotor is no more available as a spare part. For the older one it was part 3353. 2 choices left. Garbage or find a way to rewrap the rotor. Since I am expecting a spare motor soon I want to try to repair the old one. How can I wrap the rotor? Or better, what material could I use? My guess is that I must be strong to keep the magnets in place (fabric) and it should be heat resistant.
  9. I am attempting to repair my Velineon motor that came out of my Traxxas Rustler VXL 4x4. Basically the ball bearing at the shaft side disintegrated. I know there is a rebuild kit (TRX3352) with all bushings and ball bearings. That, at least, would need to be ordered. But I am bit puzzled if the rotor also needs to be replaced. There is some partial yellow stuff around it and I don't know if that belongs there or not. For me it looks like it belonged there before and some parts have been ripped off when the motor was rotating unbalanced. Or it is some stuff that came into the motor and wrapped it self around the rotor. Any ideas? Replace the rotor or not?
  10. Suffering RC withdrawals symptoms. Rustlers's motor bust. Waiting for parts to rebuild. Haven't touched a transmitter since Easter. Work doesn't give me time to even look at the cars.

  11. I am happy your are having great fun with that setup. Looking back the past few weeks I think our Carnages/Bugstas/Vantages turned into real fun machines. No more hiding from the Traxxas', Arrma's & Losi's out there!!! ( Apart from the constant repairing ) That said, we haven't touched our cars since Easter. My Rustler's motor went bust and those Velineon ones cost as much as a Carnage 2.0 brushed. Luckily it's rebuild-able. Getting the parts though will take some time. And my son has no mood to bash alone. On top, my work doesn't allow much free time these days. It's getting really too much...
  12. I haven't had much time to progress on mine. These days, I spend too much time repairing either my son's Carnage or my Rustler. The programming is mostly done, but I am somewhat postponing all the wiring and soldering. I am not sure if I ever posted my complete program, but here we go. Don't forget to plant some easter eggs in your programming! An idea for you. Catch a sequence from your transmitter: Gear 1 to 2, diff locks on, diff locks off, gear 2 to 1. Then play a sequence of lights. It's something eye catching. There are 2 pieces of code I am somewhat proud of. The initial ignition of the Xenon lamp. I could simulate the real flicker on. --> Function setHeadlightStart And the integration of a light sensor. It turns on the headlights only in the dark. :-) --> Function checkPhotoSensor I also integrated the ESS Dual sound module to create realistic engine sound. ( Indented code is fully completed and tested ) #include <PinChangeInterrupt.h> #include <ServoInput.h> #include <Servo.h> //---------------- Constants //-- Input Pin Assignment const int pinSteering = 11; const int pinThrottle = 12; const int pinTransmission = 14; // Analog A0 const int pinDiffLockFront = 15; // Analog A1 const int pinDiffLockRear = 16; // Analog A2 const int pinRemoteButton1 = 17; // Analog A3 const int pinRemoteButton2 = 18; // Analog A4 const int pinRemoteButton3 = 19; // Analog A5// const int pinRemoteButton4 = 20; // Analog A6 const int pinLightSensor = 21; // Analog A7 //-- Output Pin Assignment const int pinFogLight = 0; const int pinReverseLight = 1; const int pinThirdBrakelight = 2; const int pinHorn = 3; // with PWM out const int pinDaytimeLights = 4; const int pinHeadlight = 5; // with PWM out const int pinTaillight = 6; // with PWM out const int pinIndicatorRight = 7; const int pinIndicatorLeft = 8; const int pinLicensePlateLight = 9; const int pinRooflightFront = 10; const int pinRooflightRear = 13; //-- Declaring the RC Receiver Channels ServoInputPin<pinSteering> servoSteering; ServoInputPin<pinThrottle> servoThrottle; ServoInputPin<pinTransmission> servoTransmission; ServoInputPin<pinDiffLockFront> servoDiffLockFront; ServoInputPin<pinDiffLockRear> servoDiffLockRear; //ServoInputPin<pinHorn> ESSDual; Servo ESSDual; //-- PhotoSensor const int numPhotoSensorDelayOn = 5; // Time delay for the Light Sensor to turn off const int numPhotoSensorDelayOff = 2; // Time delay for the Light Sensor to turn on //-- Throttle const int numPWMThrottleForward = 1550; // const int numPWMThrottleReverse = 1450; // const int durIgnition = 12; // How long stays the ignition on //-- Steering const int numPWMSteeringLeftMin = 1550; // const int numPWMSteeringRightMin = 1450; // const int numPWMSteeringLeftMax = 1950; // const int numPWMSteeringRightMax = 1100; // //-- LED Brightness const int numBrightness000 = 0; // LED off const int numBrightness010 = 25; // LED at 10% const int numBrightness020 = 50; // LED at 20% const int numBrightness025 = 62; // LED at 25% const int numBrightness030 = 75; // LED at 30% const int numBrightness035 = 87; // LED at 35% const int numBrightness040 = 100; // LED at 40% const int numBrightness045 = 112; // LED at 45% const int numBrightness050 = 127; // LED at 50% const int numBrightness100 = 255; // LED at 100% //-- Indicator const float durIndicatorActivate = 1; // time to activate the indicator const float durIndicatorOn = 0.2; // duration indicator LED is on const float durIndicatorOff = 0.3; // duration indicator LED is off //-- Horn const float durHornSignalPWM = 3; // dur for the PWM Signal to the ESS Dual //-- Transmission //-- Diff Locks //-- Start Headlights const float HeadlightStage1 = 0.1; // Headlight Start Stage 1: 100% const float HeadlightStage2 = 0.2; // Headlight Start Stage 2: Off const float HeadlightStage3 = 0.4; // Headlight Start Stage 3: 10% const float HeadlightStage4 = 0.6; // Headlight Start Stage 4: 20% const float HeadlightStage5 = 0.8; // Headlight Start Stage 5: 25% const float HeadlightStage6 = 1.0; // Headlight Start Stage 6: 30% const float HeadlightStage7 = 1.2; // Headlight Start Stage 7: 35% const float HeadlightStage8 = 1.4; // Headlight Start Stage 8: 40% const float HeadlightStage9 = 1.6; // Headlight Start Stage 9: 45% //-- ChristmasTree //---------------- Variables //-- Input Variables bool isButton1Pressed; // Remote Control Button 1 Pressed bool isButton1Released; // Remote Control Button 1 Released bool isButton2Pressed; // Remote Control Button 2 Pressed bool isButton2Released; // Remote Control Button 2 Released bool isButton3Pressed; // Remote Control Button 3 Pressed bool isButton3Released; // Remote Control Button 3 Released bool isButton4Pressed; // Remote Control Button 4 Pressed bool isButton4Released; // Remote Control Button 4 Released //-- State Variables bool isIgnition; // "Ignition" is turned on. Throttle has been pulled and stays on for a time defined by durIgnition. bool isCountdown; // Countdown to turn off ignition has started. bool isDark; // set by the photosensitive sensor if the environment is dark bool isForward; // Car is driving bool isReverse; // Car is reversing bool isStopping; // Car is Stopping bool isHeadlightStart; // Turn on the Headlight and simulate a Xenon startup sequence bool isHeadlightStarted; // Headlight Start Sequence completed bool isHighBeamFlash; // Flash the Highbeam when Remote1 is pressed and headlights are off bool isHighBeam; // Turn on/off Highbeam when Remote1 is pressed and headlights are on bool isFullLeft; // Steering to Full Left bool isFullRight; // Steering to Full Right bool isIndicatorRight; // Indicator Right is On bool isIndicatorLeft; // Indicator Left is On bool stateIndicatorRightIsOn; // state of Right Indicator LED bool stateIndicatorLeftIsOn; // state of Left Indicator LED bool toggleGear; // Gear Change bool isDiffLockFront; // Front Differentials locked bool toggleDiffLockFront; // Front Differentials changed bool isDiffLockRear; // Rear Differentials locked bool toggleDiffLockRear; // Rear Differentials changed bool isHazardLight; // Turn on/off Hazard Lights when Remote2 is pressed bool isFogLightOn; // Turn on/off Rear Fog Light and Headlights when Remote3 is pressed bool isHorn; // Send one time signal to sound horn when Remote4 is pressed bool isHornContinuous; // Sound Horn while Remote4 is pressed int numCurrentGear; // current Gear unsigned long timeLastNeutral; // time the Throttle was last in neutral unsigned long timeCountdown; // countdown timer for Ignition off unsigned long timeLightSensorDelayOn; // delay timer to turn on the headlights after it is dark unsigned long timeLightSensorDelayOff; // delay timer to turn off the headlights after it is bright unsigned long timerHeadlightStart; // timer to start Headlights unsigned long timeLastHeadlightStart; // time of the last Headlight start process unsigned long timerLeftIndBlink; // timer to control the left indicator blinking unsigned long timerRightIndBlink; // timer to control the right indicator blinking unsigned long timerHorn; // timer for the duration of the horn //---------------- Setup section void setup() { //-- Enabling Output Serial.begin(9600); delay(1000); //-- Set Variable Defaults isIgnition = false; isCountdown = false; isDark = false; isForward = false; isReverse = false; isStopping = false; isHeadlightStart = false; isHeadlightStarted = false; isHighBeamFlash = false; isHighBeam = false; isFullLeft = false; isFullRight = false; isIndicatorRight = false; isIndicatorLeft = false; stateIndicatorRightIsOn = false; stateIndicatorLeftIsOn = false; toggleGear = false; isDiffLockFront = false; toggleDiffLockFront = false; isDiffLockRear = false; toggleDiffLockRear = false; isHazardLight = false; isFogLightOn = false; isHorn = false; isHornContinuous = false; numCurrentGear = 0; timeLastNeutral = millis(); timeCountdown = 0; timeLightSensorDelayOn = 0; timeLightSensorDelayOff = 0; timerHeadlightStart = 0; timeLastHeadlightStart = 0; timerLeftIndBlink = 0; timerRightIndBlink = 0; //-- Define Input Pins pinMode( pinSteering, INPUT ); // Pin 11 pinMode( pinThrottle, INPUT ); // Pin 12 pinMode( pinTransmission, INPUT ); // Pin 14/A0 pinMode( pinDiffLockFront, INPUT ); // Pin 15/A1 pinMode( pinDiffLockRear, INPUT ); // Pin 16/A2 pinMode( pinRemoteButton1, INPUT ); // Pin 17/A3 pinMode( pinRemoteButton2, INPUT ); // Pin 18/A4 pinMode( pinRemoteButton3, INPUT ); // Pin 19/A5 pinMode( pinRemoteButton4, INPUT ); // Pin 20/A6 pinMode( pinLightSensor, INPUT ); // Pin 21/A7 //-- Define Output Pins pinMode( pinFogLight, OUTPUT ); // Pin 0 pinMode( pinReverseLight, OUTPUT ); // Pin 1 pinMode( pinThirdBrakelight, OUTPUT ); // Pin 2 //pinMode( pinHorn, OUTPUT ); // Pin 3 pinMode( pinDaytimeLights, OUTPUT ); // Pin 4 pinMode( pinHeadlight, OUTPUT ); // Pin 5 pinMode( pinTaillight, OUTPUT ); // Pin 6 pinMode( pinIndicatorRight, OUTPUT ); // Pin 7 pinMode( pinIndicatorLeft, OUTPUT ); // Pin 8 pinMode( pinLicensePlateLight, OUTPUT ); // Pin 9 pinMode( pinRooflightFront, OUTPUT ); // Pin 10 pinMode( pinRooflightRear, OUTPUT ); // Pin 13 // ESSDual.attach(pinHorn); } //---------------- Loop Section void loop() { // Serial.println("Test"); //-- Read Inputs // checkRemote1(); // checkRemote2(); // checkRemote3(); checkRemote4(); // checkPhotoSensor(); checkThrottle(); checkSteering(); // checkGear(); // checkDiff1(); // checkDiff2(); //-- Write Outputs setDaytimeLights(); // setHeadlight(); // setRooflightFront(); // setHeadlightStart(); // setTaillight(); // setLicensePlateLight(); // setThirdBrakelight(); // setReverseLight(); // setRooflightRear(); setIndicatorRight(); setIndicatorLeft(); // setFogLight(); setHorn(); // setChristmasTree(); //-- reset Toggles toggleGear = false; toggleDiffLockFront = false; toggleDiffLockRear = false; // Serial.print("Throttle: "); // Serial.print(servoThrottle.getPulse()); // Serial.print(" - Steering: "); // Serial.print(servoSteering.getPulse()); // Serial.print(" - Gear: "); // Serial.print(servoTransmission.getPulse()); // Serial.print(" - DiffFront: "); // Serial.print(servoDiffLockFront.getPulse()); // Serial.print(" - DiffRear: "); // Serial.print(servoDiffLockRear.getPulse()); Serial.println(); // isIgnition = true; } //---------------- Function Section //-- Function checkRemote1 void checkRemote1() { if (digitalRead(pinRemoteButton1) == HIGH) { isButton1Pressed = true; isButton1Released = false; // isHighBeamFlash = true; isDark = true; // todo test isIgnition = true; // todo test } if (digitalRead(pinRemoteButton1) == LOW) { isButton1Released = true; // isHighBeamFlash = false; isDark = false; // todo test isIgnition = false; // todo test } } //-- Function checkRemote2 void checkRemote2() { // Serial.print("Hazard: "); // Serial.print(isHazardLight); // Serial.print(" - "); if (digitalRead(pinRemoteButton2) == HIGH) { isButton2Pressed = true; isButton2Released = false; } if (digitalRead(pinRemoteButton2) == LOW) isButton2Released = true; if (isButton2Pressed && isButton2Released) { isButton2Pressed = false; isButton2Released = false; if (isHazardLight) { isHazardLight = false; timerLeftIndBlink = 0; timerRightIndBlink = 0; } else { isHazardLight = true; timerLeftIndBlink = millis(); timerRightIndBlink = millis(); } } } //-- Function checkRemote3 void checkRemote3() { if (digitalRead(pinRemoteButton3) == HIGH) { isButton3Pressed = true; isButton3Released = false; } if (digitalRead(pinRemoteButton3) == LOW) isButton3Released = true; if (isButton3Pressed && isButton3Released) { isButton3Pressed = false; isButton3Released = false; isFogLightOn = !isFogLightOn; } } //-- Function checkRemote4 void checkRemote4() { // Serial.print(" Horn: "); // Serial.print(analogRead(pinRemoteButton4)); // Serial.print(" - "); // Serial.print(isHorn); // Serial.print(" - "); if (analogRead(pinRemoteButton4) > 512) { isButton4Pressed = true; isButton4Released = false; isHorn = true; } if (analogRead(pinRemoteButton4) < 512) { isButton4Released = true; isHorn = false; } if (isButton4Pressed && isButton4Released) { isButton4Pressed = false; isButton4Released = false; isHornContinuous = !isHornContinuous; } } //-- Function checkPhotoSensor void checkPhotoSensor() { // Serial.print("Light Sensor: "); // Serial.print(analogRead(pinLightSensor)); if (analogRead(pinLightSensor) <= 512) { // Serial.print(" - Bright - "); timeLightSensorDelayOff = 0; if (timeLightSensorDelayOn == 0) timeLightSensorDelayOn = millis(); if (millis() >= timeLightSensorDelayOn + ( numPhotoSensorDelayOn * 1000 )) { timeLightSensorDelayOn = 0; isDark = false; } } else { // Serial.print(" - Dark - "); timeLightSensorDelayOn = 0; if (timeLightSensorDelayOff == 0) timeLightSensorDelayOff = millis(); if (millis() >= timeLightSensorDelayOff + ( numPhotoSensorDelayOff * 1000 )) { timeLightSensorDelayOff = 0; isDark = true; } } } //-- Function checkThrottle void checkThrottle() { isReverse = false; isForward = false; isStopping = false; // Serial.print("Throttle: "); // Serial.print(servoThrottle.getPulse()); if (servoThrottle.getPulse() > numPWMThrottleForward) { isIgnition = true; isForward = true; isCountdown = false; } else { if (servoThrottle.getPulse() < numPWMThrottleReverse) { isIgnition = true; isReverse = true; isCountdown = false; } else { isStopping = true; if (isIgnition) { if (!isCountdown) { isCountdown = true; timeCountdown = millis(); } } } } if (isCountdown) if (millis() >= timeCountdown + ( durIgnition * 1000 )) isIgnition = false; } //-- Function checkSteering void checkSteering() { Serial.print(servoSteering.getPulse()); Serial.print(" - "); Serial.print(isFullRight); Serial.print(" - "); Serial.print(isFullLeft); Serial.print(" - "); Serial.print(isIndicatorRight); Serial.print(" - "); Serial.print(isIndicatorLeft); Serial.print(" - "); Serial.print(" - "); // Full Left Steering if (servoSteering.getPulse() > numPWMSteeringLeftMax) { if (millis() - timeLastNeutral < ( durIndicatorActivate * 1000 )) { isFullLeft = true; isFullRight = false; } else { isFullLeft = false; } } // Full Right Steering if (servoSteering.getPulse() < numPWMSteeringRightMax) { if (millis() - timeLastNeutral < ( durIndicatorActivate * 1000 )) { isFullRight = true; isFullLeft = false; } else { isFullRight = false; } } // Little Left Steering if (servoSteering.getPulse() > numPWMSteeringLeftMin) { isIndicatorRight = false; } // Little Right Steering if (servoSteering.getPulse() < numPWMSteeringRightMin) { isIndicatorLeft = false; } // Steering in Neutral if (servoSteering.getPulse() > numPWMSteeringRightMin && servoSteering.getPulse() < numPWMSteeringLeftMin) { if (isFullLeft && millis() - timeLastNeutral < ( durIndicatorActivate * 1000 )) { isIndicatorLeft = true; timerLeftIndBlink = millis(); isIndicatorRight = false; timerRightIndBlink = 0; } if (isFullRight && millis() - timeLastNeutral < ( durIndicatorActivate * 1000 )) { isIndicatorRight = true; timerRightIndBlink = millis(); isIndicatorLeft = false; timerLeftIndBlink = 0; } isFullRight = false; isFullLeft = false; timeLastNeutral = millis(); } } //-- Function checkGear void checkGear() { if (1 == 1) { // ToDo if (PWM > numPWMGear) { if (numCurrentGear == 1) toggleGear = true; numCurrentGear = 2; } else { if (numCurrentGear == 2) toggleGear = true; numCurrentGear = 1; } } //-- Function checkDiff1 void checkDiff1() { if (1 == 1) { // ToDo if (PWM > numPWMDiffLockFront) { if (isDiffLockFront) toggleDiffLockFront = true; isDiffLockFront = false; } else { if (!isDiffLockFront) toggleDiffLockFront = true; isDiffLockFront = true; } } //-- Function checkDiff2 void checkDiff2() { if (1 == 1) { // ToDo if (PWM > numPWMDiffLockRear) { if (isDiffLockRear) toggleDiffLockRear = true; isDiffLockRear = false; } else { if (!isDiffLockRear) toggleDiffLockRear = true; isDiffLockRear = true; } } //-- Function setDaytimeLights void setDaytimeLights() { if (isIgnition) digitalWrite(pinDaytimeLights, HIGH ); else digitalWrite(pinDaytimeLights, LOW ); } //-- Function setHeadlight void setHeadlight() { if (isIgnition) { if (isHighBeam || isHighBeamFlash) { analogWrite(pinHeadlight, numBrightness100 ); } else if (isFogLightOn) if (isHeadlightStarted) { analogWrite(pinHeadlight, numBrightness050 ); timeLastHeadlightStart = 0; } else isHeadlightStart = true; else { if (isDark) { if (isHeadlightStarted) { analogWrite(pinHeadlight, numBrightness050 ); timeLastHeadlightStart = 0; } else isHeadlightStart = true; } else { analogWrite(pinHeadlight, numBrightness000 ); if (timeLastHeadlightStart == 0) timeLastHeadlightStart = millis(); if (millis() >= timeLastHeadlightStart + 10000) { timeLastHeadlightStart = 0; isHeadlightStarted = false; } } } } else { analogWrite(pinHeadlight, numBrightness000 ); isHeadlightStarted = false; } } //-- Function setTaillight void setTaillight() { if (isIgnition) { // Serial.println("Ignition on"); if (isStopping) analogWrite(pinTaillight, numBrightness100 ); else if (isFogLightOn) analogWrite(pinTaillight, numBrightness050 ); else if (isDark) // analogWrite(pinTaillight, numBrightness050 ); analogWrite(pinTaillight, numBrightness050 ); else analogWrite(pinTaillight, numBrightness000 ); } else { // Serial.println("Ignition off"); analogWrite(pinTaillight, numBrightness000 ); } } //-- Function setLicensePlateLight //-- Function setIndicatorRight void setIndicatorRight() { Serial.print(isIndicatorRight); if ((isIgnition && isIndicatorRight) || isHazardLight) { if (stateIndicatorRightIsOn) { if (millis() >= timerRightIndBlink + ( durIndicatorOn * 1000 )) { stateIndicatorRightIsOn = false; timerRightIndBlink = millis(); } } else { if (millis() >= timerRightIndBlink + ( durIndicatorOff * 1000 )) { stateIndicatorRightIsOn = true; timerRightIndBlink = millis(); } } if (stateIndicatorRightIsOn) { Serial.print(" - On"); digitalWrite(pinIndicatorRight, HIGH ); } else { Serial.print(" - Off"); digitalWrite(pinIndicatorRight, LOW ); } } else digitalWrite(pinIndicatorRight, LOW ); } //-- Function setIndicatorLeft void setIndicatorLeft() { if ((isIgnition && isIndicatorLeft) || isHazardLight) { if (stateIndicatorLeftIsOn) { if (millis() >= timerLeftIndBlink + ( durIndicatorOn * 1000 )) { stateIndicatorLeftIsOn = false; timerLeftIndBlink = millis(); } } else { if (millis() >= timerLeftIndBlink + ( durIndicatorOff * 1000 )) { stateIndicatorLeftIsOn = true; timerLeftIndBlink = millis(); } } if (stateIndicatorLeftIsOn) digitalWrite(pinIndicatorLeft, HIGH ); else digitalWrite(pinIndicatorLeft, LOW ); } else digitalWrite(pinIndicatorLeft, LOW ); } //-- Function setReverseLight //-- Function setThirdBrakelight //-- Function setRooflightFront //-- Function setRooflightRear //-- Function setFogLight //-- Function setHorn void setHorn() { // Serial.print(timerHorn); // Serial.print(" - "); // Serial.print(timerHorn + (durHornSignalPWM*1000)); if (isHorn) { if (timerHorn == 0) { ESSDual.attach(pinHorn); ESSDual.writeMicroseconds(1800); timerHorn = millis(); } } if (timerHorn != 0) { if (millis() >= timerHorn + (durHornSignalPWM*1000)) { timerHorn = 0; ESSDual.writeMicroseconds(1500); ESSDual.detach(); } } } //-- Function setHeadlightStart void setHeadlightStart() { if (isHeadlightStart) { // Start the timer if (timerHeadlightStart == 0) timerHeadlightStart = millis(); if (millis() <= timerHeadlightStart + ( HeadlightStage1 * 1000 )) analogWrite(pinHeadlight, numBrightness100 ); else if (millis() <= timerHeadlightStart + ( HeadlightStage2 * 1000 )) analogWrite(pinHeadlight, numBrightness000 ); else if (millis() <= timerHeadlightStart + ( HeadlightStage3 * 1000 )) analogWrite(pinHeadlight, numBrightness010 ); else if (millis() <= timerHeadlightStart + ( HeadlightStage4 * 1000 )) analogWrite(pinHeadlight, numBrightness020 ); else if (millis() <= timerHeadlightStart + ( HeadlightStage5 * 1000 )) analogWrite(pinHeadlight, numBrightness025 ); else if (millis() <= timerHeadlightStart + ( HeadlightStage6 * 1000 )) analogWrite(pinHeadlight, numBrightness030 ); else if (millis() <= timerHeadlightStart + ( HeadlightStage7 * 1000 )) analogWrite(pinHeadlight, numBrightness035 ); else if (millis() <= timerHeadlightStart + ( HeadlightStage8 * 1000 )) analogWrite(pinHeadlight, numBrightness040 ); else if (millis() <= timerHeadlightStart + ( HeadlightStage9 * 1000 )) analogWrite(pinHeadlight, numBrightness045 ); else { isHeadlightStarted = true; timeLastHeadlightStart = millis(); isHeadlightStart = false; timerHeadlightStart = 0; } } } //-- Function setChristmasTree The heavy
  13. I got these and I am quite happy with. Feel subjectively stronger: https://www.ebay.co.uk/itm/FTX-CARNAGE-VANTAGE-HOOLIGAN-Diff-Drive-Cup-4-PCS-UPGRADED-PARTS-UK-FTX6235S-/184500890499?_trksid=p2349526.m4383.l10137.c10&nordt=true&rt=nc&orig_cvip=true Sadly, out of stock for now.
  14. I would say the driving time depends mostly on driving style, surface, motor/ESC setup and battery quality and of course the capacity. Something similar to real life. So when I say my son runs one battery for 40 minutes, it would apply only to my son. It might just give you a little reference, but I would say it cannot be directly compared.
  15. I have been looking for them for a long time. They must have become available again. I believe they are better than the carbon ones. The carbon ones don't have threads and therefore you need to use nylocs on the other side. Thus preventing me from properly fixing the wheelie bar.
×
×
  • Create New...