Hallo
Ik ben Noé ik wil graag dat de kippen automatish eten krijgen op een bepaald tijdstip. Ik heb al dit materiaal gekocht:
amazon (breadboard en touwtjes)
Ik heb deze code:
#include <RtcDS1302.h>
#include <ThreeWire.h>
const int buzzPin = 12;
const int relPin = 8;
const int clk = 10;
const int dat = 11;
const int rst = 9;
int Hour = 13;
int Minute = 58;
int Second = 10;
ThreeWire myWire(dat, clk, rst);
RtcDS1302<ThreeWire> Rtc(myWire);
void setup() {
Serial.begin(9600); // Start serial communication for debugging
pinMode(buzzPin, OUTPUT);
pinMode(relPin, OUTPUT);
Rtc.Begin();
RtcDateTime currentTime = RtcDateTime(__DATE__, __TIME__);
Rtc.SetDateTime(currentTime);
if (!Rtc.IsDateTimeValid()) {
Serial.println("RTC lost confidence in the DateTime!");
RtcDateTime currentTime = RtcDateTime(__DATE__, __TIME__);
Rtc.SetDateTime(currentTime);
}
if (!Rtc.GetIsRunning()) {
Serial.println("RTC was not actively running, starting now");
Rtc.SetIsRunning(true);
}
}
void loop() {
RtcDateTime now = Rtc.GetDateTime();
// Print current time for debugging
Serial.print(now.Hour());
Serial.print(":");
Serial.print(now.Minute());
Serial.print(":");
Serial.println(now.Second());
if (now.Hour() == Hour && now.Minute() == Minute && now.Second() == Second) {
digitalWrite(relPin, HIGH); // Note: fixed typo in relPin
// Play melody
tone(buzzPin, 130.81); delay(600);
tone(buzzPin, 146.83); delay(600);
tone(buzzPin, 164.81); delay(600);
tone(buzzPin, 174.61); delay(600);
tone(buzzPin, 196); delay(600);
tone(buzzPin, 220); delay(600);
tone(buzzPin, 246.94); delay(600);
noTone(buzzPin); // Stop the buzzer
digitalWrite(relPin, LOW);
}
delay(1000); // Add a small delay to prevent excessive checking
}
Nu kan ik de tijd veranderen in de code maar ik zou dat graag kunnen doen via een site of app. Ik denk dat Blynk IOT een goed idee is. Ik zou ook graag kunnen de kippen direct eten geven door op een knop te duwen.
Weet iemand hoe ik dat kan doen? Of heeft iemand tips?
Alvast bedankt
PS: Ik heb dit ook al gepost op anderen topics