Stap 3: Voeg een Arduino aan de mix
Ik moest een soort manier om te herkennen wanneer ik druk op de knop op het onkruid trimmer en stuur een PWM voor full throttle... de truc is dat er aan de oprit of het ESC kan burn-out. Ik deed dit met behulp van een Arduino Pro Mini maar een nano zou doen de truc. U moet zitten kundig voor minder dan $10 online krijgen.
Volgende ik bedraad de ESC-pols aan de analoge pin0 gerouteerd vermogen van het ESC tot de Arduino board macht pin... en natuurlijk sluit grond ook.
Ik denk dat voor het grootste deel alle onkruid grastrimmers zijn voorzien van een schakelaar op binnen de trigger in serie met de accu en motor onderaan. Ik kortgesloten de batterij terminal boven aangezien ik zal niet langer worden gebruikt. Als gevolg daarvan fungeren de twee draden die oorspronkelijk op de motor aansluiten zou als mijn schakelaar/trigger-verbinding. Dit was tussen de Arduino macht en digitale PIN2-gesoldeerd. Ik aangesloten een 10 k ohm weerstand naar de grond en vervolgens naar de switch op digitale pin2 zoals weergegeven in dit voorbeeld instructies hier.
De truc is de code, de code moet oprit aan de motor. Hier is in ruwe vorm:
#include <servo.h></servo.h><Servo.h> int switchState = 0; int switchPin = 2; int servoPin = 14; int ledPin = 13;<servo.h></servo.h> int servoPwm = 1500; Servo servo; void setup() { pinMode(servoPin,OUTPUT); pinMode(switchPin, INPUT); servo.attach(servoPin); digitalWrite(ledPin, LOW); servo.writeMicroseconds(servoPwm); delay (7000); // wait for ESC to startup } void loop() { switchState = digitalRead(switchPin); if (switchState == HIGH && servoPwm == 1500) { digitalWrite(ledPin, HIGH); servo.writeMicroseconds(1550); delay(100); servo.writeMicroseconds(1600); delay(100); servo.writeMicroseconds(1650); delay(100); servo.writeMicroseconds(1700); delay(100); servo.writeMicroseconds(1750); delay(100); servo.writeMicroseconds(1800); servoPwm = 1800; } if (switchState == LOW) { servoPwm = 1500; servo.writeMicroseconds(servoPwm); digitalWrite(ledPin, LOW); } delay(100); // waits for the servo to get there }