Paso 2: Agregar un sensor flex
Así puede intercambiar hacia fuera para diferentes sensores. Estoy usando un sensor flex de instructables. El sensor cambia la resistencia como está doblado. Es de [#REF ##].
El sensor flex está conectado como esta:
5V----------
|
Pin 0---100K---uno de los extremos de flex sensor---
| |
| Flex Sensor
| |
Suelo---otro final de flex sensor---
El valor de la resistencia depende de la resistencia del sensor. Debe estar en el mismo estadio de béisbol como la resistencia máxima del sensor. También tendrás que modificar el código de asignación de los valores de los entrada en el ángulo del servo.
Busque esta línea de código:
Val = mapa (val, 40, 350, 90, 179); la escala a utilizar con el serv
Aquí está un video:
Sustituir el potenciómetro con el sensor flex
-Ajustar los valores de entrada analógicos por lo que todo funciona bien con el sensor de flex. Está bien que adivinar un poco
-Aquí está el código actualizado
Código de Arduino / / /
Control de una posición de servo con un potenciometro (resistencia variable)
por Michal Rinott
MPC - añadido salida serial ' n stuff
Con flex sensor
-Ajustar a Val a ángulo plano
/*
Aquí está el cableado:
Cableado-
Flex Sensor |---Arduino Gnd
Flex Sensor |---analógico 0
100K |---analógico 0
100K |---5V de Arduino
| Amarillo---Digi 9 (PWM)
Servo superior | Rojo---5V
| Marrón---Gnd
| Amarillo---Digi 10 (PWM)
Servo de fondo | Rojo---5V
| Brown---
*/
#include
Servo myservo; crear objeto servo para controlar un servo
Servo otherServo;
int potpin = 0; pin analógico utilizado para conectar el potenciómetro
int val; variable para leer el valor del pin analógico
int valComp;
void setup()
{
myservo.Attach(9); se fija el servo en el pin 9 al objeto servo
otherServo.attach(10);
Serial.Begin(9600);
}
void loop()
{
Val = analogRead(potpin); Lee el valor del potenciómetro (valor entre 0 y 1023)
Serial.println(Val);
valComp = analogRead(potpin);
Serial.println(Val);
Val = mapa (val, 40, 350, 90, 179); la escala a utilizar con el servo (valor entre 0 y 180)
valComp = mapa (valComp, 350, 40, 0, 90); otro servo hace frente
myservo.Write(Val); ajusta la posición del servo según el valor de escala
Delay(15);
otherServo.write(valComp);
Delay(25); espera a que el servo llegar
}