Arduino kontrolleras hund mat/behandla dispenser (10 / 10 steg)
Steg 10: Koden
Hämta och öppna Arduino IDE från http://arduino.cc/en/Main/Software
Kopiera och klistra in koden nedan:
BÖRJAN AV KODEN #include < Servo.h > //this är ett bibliotek som används för att styra en servo (för mer information se www.arduino.cc för mer info) variabler
Författare: Shane Halse
E-post: ShaneHalse
Datum: 2011/02/11
#define fylla 155 //the ställning i grader att fylla behållaren
#define Tom 20 //the position i grader att tömma uppsamlaren
#define potPin A0 //this är PIN-koden (måste vara analog) som i mitten av potentiometern är ansluten till
Servo mainServo; förklara de viktigaste servon
int trigger = 0; Detta för att växla mellan fyllning och Tom
int potIn = 0; Detta är data läsning från stift A0 (potPin)
int count = 1; används som en tid muliplier
void setup()
{
grundinställning
mainServo.attach(3); berätta för arduino som pin-servo är på (den vita kabeln från servo)
ställa in pin lägen
pinMode (4, OUTPUT); brukade utgång 5V eller hög till potentiometern
pinMode (10, OUTPUT); används för led
pinMode (11, OUTPUT); används för led
digitalWrite (4, hög). ställa in pin 4 hög
digitalWrite (10, låg). lågt satt stift 10
}
void loop()
{
potIn = analogRead(potPin); Läs den ståndpunkten potentiometern är på
om trigger värdet är 0 fyllning tratten
IF(!trigger)
{
mainServo.write (fyllning); //move servo att fylla plats
Detta används för att ställa in fördröjningen
count = 171 //uncomment här om du vill ställa in max väntetiden till 3 timmar
förseningen nedan är beräknat med potin (som kan vara 0-1024) som delayinseconds ~ = 0 - 64 sekunder
för (; count > = 0; count--)
{
för (; potIn > 0; potIn = potIn-20)
{
Detta är att göra LED flash varje 100 + potIn millisekunder
digitalWrite(11,HIGH); som ledde till den
Delay(100+potIn);
digitalWrite(11,LOW); uppsättning ledde till off
Delay(100+potIn);
}
}
count = 1;
trigger = 1; ändra trigger till 1 till setup tom
digitalWrite(11,LOW); uppsättning ledde bort
}
annat if(trigger)
{
mainServo.write(empty); inställd Tom position servo
Delay(1000); dröjsmål medan servo anger position
trigger = 0; ändra trigger till 0 till setup Fyll
}
}
SLUTET AV KODEN
Anslut Arduino till datorn
Klicka på kompilera
Ladda upp den kompilerade koden till styrelsen och det ska börja arbeta automatiskt
Du kan sedan montera enheten på väggen, placera en skål under enheten och låt roligt följden!
* ANTECKNINGAR * - om du vill kan du lägga till någon form av knappen din hund pressar för att få en behandling snarare än väntar och du kommer bara gjort den berömda Skinner box!