Paso 7: El código
#include
Incluir la biblioteca en tiempo de #include incluye el tiempo alarmas biblioteca #include incluye el Biblioteca de Servo de velocidad Variable
VarSpeedServo myservo; Crear y nombrar el servo const int servoPin = 9; El pin digital utilizado para el servo int potpin = 0; Pin analógico utilizado para conectar el potenciómetro int val; Variable para leer el valor del pin analógico
void setup() {Serial.begin(9600); Establece la setTime(8,29,50,1,1,11) de la tarifa de datos; Ajustar manualmente la hora Alarm.alarmRepeat (8,30,0, MorningAlarm); Llamada de alarma para cada día de 8:30 mañana alarma
myservo.Attach(servoPin); Se fija el servo en el pin 9 para el servo objeto myservo.write(0,255,true); } Establece la posición inicial del servo, tan rápido como sea posible, espere hasta que
void loop() {int sensorValue = analogRead(A0); Leer el valor de analog pin Serial.println(sensorValue) 0; Valor impresión en serie monitor MorningAlarm() vacío {cuando cuando "morningAlarm" a hacer esto... Si (sensorValue < 341) {si el valor del potenciómetro es menos 341 hacerlo... para (int i = 1; me < = 100; me = i + 1) Repita 100 veces, el código siguiente. Serial.println ("Active Servo"); Imprimir "Active Servo" en el monitor serie. myservo.Write(110,240,true); Mueva el brazo de servo a 110degrees, con una velocidad de 240 y esperar a que delay(500) completa; myservo.Write(0,240,true); Regresar a servo brazo a 0degrees, con una velocidad de 240 y esperar a que delay(500) completa ;}}
{Si (sensorValue > 341 & & sensorValue < 682) si el valor del potenciómetro es entre 341 y 682 hacer esto... {para (int i = 1; i < = 80; i = i + 1) Repita 80 veces, el código siguiente. Serial.println ("Active Servo"); Imprimir "Active Servo" en el monitor serie. myservo.Write(110,240,true); Mueva el brazo de servo a 110degrees, con una velocidad de 240 y esperar a que delay(500) completa; myservo.Write(0,240,true); Regresar a servo brazo a 0degrees, con una velocidad de 240 y esperar a que delay(500) completa ;}}
{Si (sensorValue > 682 & & sensorValue < 1200) si es valor de potenciómetro entre 682 y 1200 hacer esto... {para (int i = 1; i < = 60; i = i + 1) Repita el siguiente código 60 veces. Serial.println ("Active Servo"); Imprimir "Active Servo" en el monitor serie. myservo.Write(110,240,true); Mueva el brazo de servo a 110degrees, con una velocidad de 240 y esperar a que delay(500) completa; myservo.Write(0,240,true); Regresar a servo brazo a 0degrees, con una velocidad de 240 y esperar a que delay(500) completa ;}}