Röst aktiverat en fågel klocka (2 / 14 steg)
Steg 2:
Programvara:
#include < Servo.h >
int ledPin = 13.
int minut = 0;
int timme = 7. starttid på 7
int valm = 0;
int valm1 = 0;
Servo myservo;
statiska osignerade långa lastTick = 0; Ställ in en lokal variabel för att hålla sista gången flyttade vi fram fem minuter
Flytta framåt fem minuter varje 300000 millisekunder
void setup() {//set utgångar och ingångar
myservo.attach(5);
pinMode (ledPin, produktionen);
}
void loop() {
om (millis() - lastTick > = 300000) {
lastTick = millis();
minut ++;
}
Flytta framåt en timme varje 12 fem minuters intervaller
om (minut > = 12) {
timme ++;
minut = 0; nollställs minuter
}
om (timme > = 13) {
timme = 1;
minut = 0; nollställs minuter
}
valm=analogRead(0);
IF(valm>400) {
fördröjning (10).
valm=analogRead(0);
IF(valm>300) {
digitalWrite (ledPin, hög);
fågel dunk
IF(Hour == 1) {
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Hour ==2) {
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Hour == 3) {
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Hour == 4) {
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Hour == 5) {
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Hour == 6) {
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Hour == 7) {
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Hour == 8) {
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Hour == 9) {
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Hour == 10) {
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Hour == 11) {
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Hour == 12) {
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(10);
Delay(500);
myservo.write(90);
Delay(500);
}
skilja mellan timmar och minuter
myservo.write(80);
Delay(500);
myservo.write(100);
Delay(500);
myservo.write(80);
Delay(500);
myservo.write(100);
Delay(500);
myservo.write(90);
Delay(500);
IF(Minute ==1) {
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Minute ==2) {
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Minute == 3) {
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Minute == 4) {
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Minute == 5) {
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Minute == 6) {
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Minute == 7) {
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Minute == 8) {
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Minute == 9) {
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Minute == 10) {
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
}
IF(Minute == 11) {
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
myservo.write(170);
Delay(500);
myservo.write(90);
Delay(500);
}
digitalWrite (ledPin, låg);
}}
valm1 = analogRead(1); Lägg till fem minuter när du trycker
IF(valm1<800) {
minut ++;
Delay(250);
}
}