Paso 11: Programar el Arduino
Subir este código para el Arduino:/ * HACER revista¿Ardumpkin o Pumpuino, la llamada?
Por Marc de Vinck
*/
#include "<" Servo.h">" / / quitar los símbolos de "quote" de esta línea de código! Tuve que agregarlos para que instructables no tira de ellos hacia fuera.
Servo myservo; crear objeto servo para controlar un servo
int inputPin = 7; elegir la clavija de entrada (para un pulsador)
int val1 = 0; variable para mantener el estado de botón
int val2 = 0; variable utilizada para el PWM de LED
int ledrt = 10; ojo derecho conducido
int ledlt = 11; ojo izquierdo led
int ledmain = 6; LED blanco en el centro de la calabaza
int pos = 0; variable para almacenar la posición del servo
void setup() {}
myservo.Attach(9); se conecta el servo al pin 9 al objeto servo
myservo.Write(90); Dile el servo a la posición "90" o "posición off"
pinMode (ledrt, salida); declarar el LED como salida
pinMode (ledlt, salida); declarar el LED como salida
pinMode (ledmain, salida); declarar el LED como salida
pinMode (inputPin, entrada); declarar pulsador como entrada
}
void loop() {}
val1 = digitalRead(inputPin); leer valor de entrada
Si (val1 == HIGH) {/ / comprobar si la entrada es alta
Trick();
}
Else {}
Treat();
}
}
void trick() {}
digitalWrite(ledmain,HIGH); enciende LED principal
digitalWrite(ledrt,HIGH); Gire a la derecha ojo LED
digitalWrite(ledlt,HIGH); Gire a la izquierda ojo LED
para (val2 = 0; val2 < = 255; val2 += 2) / / se descolora (de min a max)
{
analogWrite (ledlt, val2); izquierda de escritura llevado en poder de "val"
analogWrite (ledrt, val2); escribir condujo derecho en poder de "val"
analogWrite (ledmain, val2); Escriba principal en poder de "val"
Delay(30); espera 30 milisegundos para amortiguar el efecto
}
myservo.Write(90); conjunto servo a la posición "off"
Delay(10);
myservo.Write(45); conjunto servo a la "posición on"
Delay(500); alojarte "en 1/2 segundo
myservo.Write(90); atrás Set servo a la posición "off"
Delay(200);
digitalWrite (ledmain, bajo); Apagar LED calabaza principal
digitalWrite(ledrt,LOW); Apagar el LED derecho
digitalWrite(ledlt,LOW); Apagar el LED izquierdo
}
void treat() {/ / esto desvanece los LEDs de encendido/apagado hasta que pulse botón
para (val2 = 0; val2 < = 255; val2 += 50) / / se descolora (de min a max)
{
analogWrite (ledrt, val2);
analogWrite (ledlt, val2);
Delay(30); espera 30 milisegundos para amortiguar el efecto
}
para (val2 = 255; val2 > = 0; val2-= 50) / / se descoloran hacia fuera (de max a min)
{
analogWrite (ledrt, val2); izquierda de escritura llevado en poder de "val"
analogWrite (ledlt, val2); escribir condujo derecho en poder de "val"
Delay(30); espera 30 milisegundos para amortiguar el efecto
}
}