20-08-2018, 17:27
Witam,
Chcę zrobić podajnik karmy na attiny85. Dwa razy dziennie ma podawać karmę przy użyciu serwa.
Problem polega na tym że: wysłane informacje po serialu są nieczytelne, poza tym powinny być wysyłane co sekundę a są wysyłane w większy dostępie czasowym(np. 3-4 s).
Oto kod:
Proszę o pomoc!
Chcę zrobić podajnik karmy na attiny85. Dwa razy dziennie ma podawać karmę przy użyciu serwa.
Problem polega na tym że: wysłane informacje po serialu są nieczytelne, poza tym powinny być wysyłane co sekundę a są wysyłane w większy dostępie czasowym(np. 3-4 s).
Oto kod:
Kod:
#include <Time.h>
#include <TimeLib.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(3,4);
int servopin = 2;
void servopulse(int servopin,int myangle)
{
for(int i=0;i<=15;i++)
{
int pulsewidth=(myangle*11)+500;
digitalWrite(servopin,HIGH);
delayMicroseconds(pulsewidth);
digitalWrite(servopin,LOW);
delay(20-(pulsewidth*0.001));
}
}
void setup() {
mySerial.begin(9600);
servopulse(servopin,0);
servopulse(servopin,0);
setTime(11,29,50,1,1,2017);
pinMode(servopin,OUTPUT);
}
void loop() {
digitalClockDisplay();
delay(1000);
if(second()==00 && minute()==30 && hour()==11)
{
karm();
delay(990);
}
if(second()==0 && minute()==00 && hour()==16)
{
karm();
delay(990);
}
}
void digitalClockDisplay()
{
mySerial.print(hour());
mySerial.print(":");
mySerial.print(minute());
mySerial.print(":");
mySerial.print(second());
mySerial.print(" ");
mySerial.print(day());
mySerial.print(".");
mySerial.print(month());
mySerial.print(".");
mySerial.println(year());
}
void karm()
{
servopulse(servopin,0);
servopulse(servopin,60);
delay(10);
servopulse(servopin,0);
mySerial.println("Karmie");
}
Proszę o pomoc!