Paso 3: código
En el archivo principal de lo sketch de arduino, cada uno de los sensores de cinco flexión se asignan a entradas analógicas 0 a 4 mientras que los servos correspondientes se asignan a los pines analógicos en el lado digital 5,6,9,10 y 11 respectivamente. Como se puede ver, el archivo principal declara objetos pulgar, índice, medio, anillo y basado en la clase, el dedo meñique. En la función de la configuración, cada objeto inicializa la función de inicialización de servo del dedo mientras que en la función de bucle cada objeto actualiza constantemente la posición de cada servo según lectura del sensor flex.
El archivo de encabezado de clase dedo contiene todas las declaraciones asociadas con la clase. Se declaran los pines flexSensorPin y servoPin y el número de servo, junto con la variable flexSensorReading que contiene la asignación de las lecturas de resistencia cruda de los sensores de flexión. La flexión variable contiene la asignación de flexSensorReading asignado a un parámetro más ágil. También se declaran las funciones attachServoPin y updateFinger. El constructor está presente sin un parámetro simplemente para permitir que la declaración de los objetos.
El archivo de clase de clase dedo contiene todas las definiciones de función para cada objeto de dedo. En primer lugar, el constructor se inicializa. A continuación, es la función de attachServoPin que se fija un servoPin a un servo correspondiente e inicializa ese servo. La siguiente función es updateFinger que se basa en el parámetro flexSensorPin. Para entender lo que hace la función, primero debe entender lo que está sucediendo en el sistema de control. Cada sensor flex tiene una resistencia de lectura alimentados en el arduino. Sin código, la flex sensor no nada excepto alimenta en las lecturas. Qué arduino está codificado para hacer es leer la resistencia cada flex sensor salidas cuando doblado o unbent y asigna estos valores a los servos.
Tenga en cuenta que cada sensor tiene una resistencia de 22 kilo-ohm para alimentar en el arduino, razón por la cual los parámetros de dibujo están muy en relación con lo que la resistencia está presente en cada circuito de entrada manejable y suave. Así que el updateFinger función de mapas estos flexión flexión lecturas a una variable, dependiendo del número de pin de la resistencia del sensor. Esto es porque cada objeto del dedo tiene su propio rango de resistencia de doblado a desplegadas debido a la naturaleza única de la estructura de dedos de una mano. Aquí es donde si condicionales vienen en. La flexión variable asigna estos rangos de resistencia de los valores arbitrarios de 0 a 100. Esto, más aerodinámico de la lectura, entonces alimenta la línea de asignación de servo, que se ve al final, con el fin de mover los servos de 0 grados a 180 grados cuando el sensor es unbent y doblado.