Läskigaste pumpa någonsin! (11 / 12 steg)
Steg 11: Programmera Arduino
Ladda upp här koden till din Arduino:/ * GÖRA MagazineArdumpkin eller Pumpuino, ditt samtal?
Av Marc de Vinck
*/
#include "<" Servo.h">" / / ta bort "citat" symboler från denna rad kod! Jag var tvungen att lägga till dem så instructables inte berövar ut dem.
Servo myservo; skapa objekt för att styra en servo servo
int inputPin = 7. Välj ingångsstift (för en tryckknapp)
int värde1 = 0; variabel för att hålla reda på knappen status
int värde2 = 0; variabel som används för PWM av lysdioder
int ledrt = 10; höger öga ledde
int ledlt = 11; vänster öga ledde
int ledmain = 6; Vit LED i centrum av pumpa
int pos = 0; variabel att lagra servo position
void setup() {
myservo.attach(9); tillmäter stift 9 till objektet servo servo
myservo.write(90); berätta servo gå till position "90" eller "off" läge
pinMode (ledrt, produktionen); deklarera LED som utdata
pinMode (ledlt, produktionen); deklarera LED som utdata
pinMode (ledmain, produktionen); deklarera LED som utdata
pinMode (inputPin, ingång); deklarera tryckknapp som indata
}
void loop() {
värde1 = digitalRead(inputPin); Läs indatavärde
om (värde1 == hög) {/ / kolla om ingången är hög
trick();
}
annat {
Treat();
}
}
void trick() {
digitalWrite(ledmain,HIGH); slå på främsta LED
digitalWrite(ledrt,HIGH); slå på höger öga LED
digitalWrite(ledlt,HIGH); slå på vänster öga LED
för (värde2 = 0; värde2 < = 255; värde2 += 2) / / fade (från min till max)
{
analogWrite (ledlt, värde2); Skriv vänster ledde på kraften i "val"
analogWrite (ledrt, värde2); Skriv rätt ledde på kraften i "val"
analogWrite (ledmain, värde2); Skriv huvudsakliga ledde på kraften i "val"
Delay(30); väntar på 30 millisekunder för ljusreglering effekt
}
myservo.write(90); Ställ in servo till "off" läge
Delay(10);
myservo.write(45); ställa in servo till "på" läge
Delay(500); bo "på 1/2 sekund
myservo.write(90); Ställ in servo tillbaka till "off" läge
Delay(200);
digitalWrite (ledmain, låg); Inaktivera största pumpa LED
digitalWrite(ledrt,LOW); Stäng höger LED av
digitalWrite(ledlt,LOW); Inaktivera vänster LED
}
void treat() {/ / detta bleknar lysdioderna på/av tills du trycker på knappen
för (värde2 = 0; värde2 < = 255; värde2 += 50) / / fade (från min till max)
{
analogWrite (ledrt, värde2);
analogWrite (ledlt, värde2);
Delay(30); väntar på 30 millisekunder för ljusreglering effekt
}
för (värde2 = 255; värde2 > = 0; värde2-= 50) / / tona ut (från max till min)
{
analogWrite (ledrt, värde2); Skriv vänster ledde på kraften i "val"
analogWrite (ledlt, värde2); Skriv rätt ledde på kraften i "val"
Delay(30); väntar på 30 millisekunder för ljusreglering effekt
}
}