Stap 2: Voeg een flex-sensor
Zo kunt u het uit ruilen voor andere sensor. Ik ben met behulp van een flex-sensor van instructables. De sensor verandert weerstand als het is gebogen. Het is uit [##REF ##].
De flex-sensor wordt vastgehaakt als volgt:
5V----------
|
PIN 0---100K---videoconnectors aan flex sensor---
| |
| Flex Sensor
| |
Grond---andere einde van flex sensor---
De waarde van de weerstand is afhankelijk van de weerstand van de sensor. Het moet in de dezelfde honkbalveld als de max weerstand van de sensor. U zult ook moeten tweaken van de code de invoerwaarden toewijzen aan de hoek van de servo.
Zoek deze lijn van code:
Val = kaart (val, 40 350, 90, 179); schaal om het te gebruiken met de serv
Hier is een video:
Potentiometer met de flex-sensor vervangen
-Het aanpassen van analoge input waarden dus alles goed met de flex-sensor werkt. It's okay to denk dat een beetje
-Hier is de geactualiseerde code
Arduino Code / / /
Beheersen een servo-positie met behulp van een potentiometer (variabele weerstand)
door Michal Rinott
MPC - toegevoegd uitgang voor seriële 'n stuff
Met flex sensor
-Tweak Val naar hoek kaart
/*
Hier is de bedrading:
Bedrading-
Flex Sensor |---Arduino Gnd
Flex Sensor |---analoge 0
100K |---analoge 0
100K |---5V van de Arduino
| Geel---Digi 9 (PWM)
Top servo | Red---5V
| Bruin---Gnd
| Geel---Digi 10 (PWM)
Onderkant servo | Red---5V
| Brown---
*/
#include
Servo myservo; maken van servo-object om te bepalen van een servo
Servo otherServo;
int potpin = 0; analoge pin gebruikt voor het aansluiten van de potentiometer
int val; variabele te lezen van de waarde van de analoge pin
int valComp;
VOID Setup
{
myservo.attach(9); de servo op pin 9 hecht aan de servo-object
otherServo.attach(10);
Serial.begin(9600);
}
void loop
{
Val = analogRead(potpin); leest de waarde van de potentiometer (waarde tussen 0 en 1023)
Serial.println(val);
valComp = analogRead(potpin);
Serial.println(val);
Val = kaart (val, 40 350, 90, 179); schaal om het te gebruiken met de servo (waarde tussen 0 en 180)
valComp = kaart (valComp, 350, 40, 0, 90); andere servo doet andere
myservo.write(val); stelt u de positie van de servo volgens de geschaalde waarde
delay(15);
otherServo.write(valComp);
delay(25); wacht tot de servo om er te komen
}