Stap 11: Program de Arduino
Upload deze code aan uw Arduino:/ * MAKE MagazineArdumpkin of Pumpuino, uw oproep?
Door Marc de Vinck
*/
#include "<" Servo.h">" / / verwijderen van de "citaat" tekens uit deze lijn code!! Ik moest hen toevoegen zodat instructables doet niet strippen ze uit.
Servo myservo; maken van servo-object om te bepalen van een servo
int inputPin = 7; Kies de invoer pin (voor een drukknop)
int val1 = 0; variabele voor het bijhouden van de status van de knop
int val2 = 0; variabele gebruikt voor PWM van LEDs
int ledrt = 10; rechter oog geleid
int ledlt = 11; linkeroog geleid
int ledmain = 6; Witte LED in centrum van pompoen
int pos = 0; variabele op te slaan van de servo positie
VOID Setup {}
myservo.attach(9); de servo hecht aan pin 9 op het servo-object
myservo.write(90); vertellen van de servo naar positie "90" of "off" positie
pinMode (ledrt, OUTPUT); declareren van LED als de uitgang
pinMode (ledlt, OUTPUT); declareren van LED als de uitgang
pinMode (ledmain, OUTPUT); declareren van LED als de uitgang
pinMode (inputPin, INPUT); drukknop declareren als input
}
void loop {}
val1 = digitalRead(inputPin); lezen van de invoerwaarde
Als (val1 == HIGH) {/ / controleren als de ingang hoog is
Trick();
}
else {}
Treat();
}
}
ongeldig trick() {}
digitalWrite(ledmain,HIGH); belangrijkste LED inschakelen
digitalWrite(ledrt,HIGH); rechter oog LED inschakelen
digitalWrite(ledlt,HIGH); linkeroog LED inschakelen
voor (val2 = 0; val2 < = 255; val2 += 2) / / fade-in (van min tot max)
{
analogWrite (ledlt, val2); Schrijf links leidde op kracht van "val"
analogWrite (ledrt, val2); schrijf rechts leidde op kracht van "val"
analogWrite (ledmain, val2); Schrijf de belangrijkste leidde op kracht van "val"
delay(30); wacht 30 milliseconden voor dimmen effect
}
myservo.write(90); set servo op "off" positie
delay(10);
myservo.write(45); servo aan "op" positie instellen
delay(500); verblijf "op voor 1/2 seconden
myservo.write(90); set servo terug naar "off" positie
delay(200);
digitalWrite (ledmain, laag); belangrijkste pompoen LED uitschakelen
digitalWrite(ledrt,LOW); juiste LED uitschakelen
digitalWrite(ledlt,LOW); linker LED uitschakelen
}
VOID treat() {/ / dit verdwijnt de LEDs aan/uit tot druk op de knop
voor (val2 = 0; val2 < = 255; val2 += 50) / / fade-in (van min tot max)
{
analogWrite (ledrt, val2);
analogWrite (ledlt, val2);
delay(30); wacht 30 milliseconden voor dimmen effect
}
voor (val2 = 255; val2 > = 0; val2-= 50) / / uitfaden (van max naar de min)
{
analogWrite (ledrt, val2); Schrijf links leidde op kracht van "val"
analogWrite (ledlt, val2); schrijf rechts leidde op kracht van "val"
delay(30); wacht 30 milliseconden voor dimmen effect
}
}