Stap 1: Bepalen een gelijkstroommotor met variabele weerstand
Het eerste wat dat wij zullen doen is om elke motor werkt met een controller.
Gebruik een joystick met potentiameter aan de controle van de snelheid en de richting van een DC-motor.
Dit zal worden gebruikt voor:
-verhogen en verlagen van de klauw
-openen en sluiten van de clow
Hardware keten:
Joystick (potentiameter) -> Arduino met code-DC motor stuurprogramma V1.1 (make.rrf.org\dcmd-1.1) - > > motor
Is afhankelijk van: http://www.reprap.org/bin/view/Main/DC_Motor_Driver_1_1#Wire_up_test_devices
Hier is de code van arduino:
Opmerking: dit loopt alleen een gelijkstroommotor
********************ARDUINO*****************
POT controle van een DC motor snelheid en richting *** / /
pinnen en variabelen definiëren
int potPin = 2; Selecteer de invoer pin voor de potmeter
int val = 0; variabele de waarde afkomstig van de sensor opslaan
int j = 0;
int Dir_A = 4;
int Speed_A = 5;
VOID Setup {}
pinMode (Dir_A, uitvoer);
pinMode (Speed_A, uitvoer);
Serial.begin(9600);
}
void loop {}
Lezen van locatie voor joystick en berekenen van de afstand en vanuit Midden
Val = analogRead(potPin); luiden naar de waarde van de sensor
j = val - 517; 517 is center posities - hoe ver van centrum
j = abs(j); absolute waarde
sommige grenzen op j te houden PWM waarden nuttige plaatsen
onder 100 de motor niet verplaatst en PWM max is 255
Als (j > = 510) {}
j = 510; de meest de PWM-pin kan doen is 255
}
Als (j < = 200 & & j > = 10) {}
j = 200; onder 100 PWM de motor maakt een hoge pek klinken en niet beweegt
}
Als (j < = 10) {}
j = 0; minder dan 10 is de joystick zeer dicht bij het centrum
}
Uitvoeren van DC motor een gebaseerd op analoge ingang joystick
Als (val > = 520) {}
digitalWrite (Dir_A, hoge); andere richting
analogWrite (Speed_A, j/2); PWM uit (delen door 2 omdat max is 255)
}
Als (val < = 510) {}
digitalWrite (Dir_A, laag); //
analogWrite (Speed_A, j/2); //
}
Als (val < = 520 & & val > = 510) {}
analogWrite (Speed_A, 0); uitschakelen als de joystick in het midden
}
afdrukken van waarden voor foutopsporing
Serial.Print(val); getallen verzenden met PC, zodat u kunt zien wat het gaande
Serial.Print(",");
Serial.println(j);
}