Feed Mi - Arduino hund mat dispenser (7 / 7 steg)
Steg 7: Koden
#include
Inkludera tid biblioteket #include omfattar tiden larm biblioteket #include inkluderar variabel hastighet Servo Library
VarSpeedServo myservo; Skapa och namnge den servo const int servoPin = 9; Digital PIN-koden används för servo int potpin = 0; Analoga pin används för att ansluta potentiometer int val; Variabel att läsa värdet från det analoga stiftet
void setup() {Serial.begin(9600); Anger data klassar setTime(8,29,50,1,1,11); Manuellt ställa in Alarm.alarmRepeat (8,30,0, MorningAlarm); Ställ in alarm för varje dag kl 8:30 kallas morgon larm
myservo.attach(servoPin); Fäster servo på stift 9 till servo objekt myservo.write(0,255,true); } Ange inledande position på servo, så fort som möjligt, vänta tills gjort
void loop() {int sensorValue = analogRead(A0); Läs värdet från analog pin 0 Serial.println(sensorValue); Skriva ut värdet på serial övervaka void MorningAlarm() {när giltighetstiden för "morningAlarm" gör detta... om (sensorValue < 341) {om potentiometer värde är mindre än 341 göra detta... för (int jag = 1; jag < = 100; jag = i + 1) upprepa följande kod 100 gånger. Serial.println ("Aktivera Servo"); Skriv ut "Aktivera Servo" på serial monitor. myservo.write(110,240,true); Flytta servo arm till 110degrees, med en hastighet på 240 och vänta tills komplett delay(500); myservo.write(0,240,true); Flytta servo arm tillbaka till 0degrees, med en hastighet på 240 och vänta tills fullständig delay(500) ;}}
{om (sensorValue > 341 & & sensorValue < 682) om potentiometer värde är mellan 341 och 682 göra detta... {för (int jag = 1; jag < = 80; jag = i + 1) upprepa följande kod 80 gånger. Serial.println ("Aktivera Servo"); Skriv ut "Aktivera Servo" på serial monitor. myservo.write(110,240,true); Flytta servo arm till 110degrees, med en hastighet på 240 och vänta tills komplett delay(500); myservo.write(0,240,true); Flytta servo arm tillbaka till 0degrees, med en hastighet på 240 och vänta tills fullständig delay(500) ;}}
{om (sensorValue > 682 & & sensorValue < 1200) om potentiometer värde är mellan 682 och 1200 göra detta... {för (int jag = 1; jag < = 60; jag = i + 1) upprepa följande kod 60 gånger. Serial.println ("Aktivera Servo"); Skriv ut "Aktivera Servo" på serial monitor. myservo.write(110,240,true); Flytta servo arm till 110degrees, med en hastighet på 240 och vänta tills komplett delay(500); myservo.write(0,240,true); Flytta servo arm tillbaka till 0degrees, med en hastighet på 240 och vänta tills fullständig delay(500) ;}}