Hallo zusammen,
komme grad bei einem Projekt nicht weiter.
Habe eine Schaltung aufgebaut, die einen attiny85, ds1307 und eine led enthält.
Die led soll nun ab einem festgelegtem Datum blinken, nur weiß ich nicht, wie ich dies nun in meine if els Schleife einbauen soll:
#include <TinyWireM.h> // I2C Master lib for ATTinys which use USI
#define DS1307_ADDR 0x68 // I2C real time clock
int led = 3;
uint8_t seconds,minutes,hours,day_of_week,days,months,years,PM,hour12,DST; // time components
// initialisation
void setup(){
TinyWireM.begin();
initTime();
pinMode(led, OUTPUT);
}// main loop
void loop(){
getTime();if
(datum ab dem die led blinken soll)
{
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(100);}
else
{
digitalWrite(led, LOW);
}
delay(1000);}
// initialise the time
void initTime(){}
// get the time and date from the DS1307 chip
void getTime(){
// reset DS1307 register pointer
TinyWireM.beginTransmission(DS1307_ADDR);
TinyWireM.send(0);
TinyWireM.endTransmission();// request 7 bytes from DS1307
TinyWireM.requestFrom(DS1307_ADDR, 7);
seconds = bcdToDec(TinyWireM.receive());
minutes = bcdToDec(TinyWireM.receive());
hours = bcdToDec(TinyWireM.receive());
day_of_week = TinyWireM.receive();
days = bcdToDec(TinyWireM.receive());
months = bcdToDec(TinyWireM.receive());
years = bcdToDec(TinyWireM.receive());
}// Convert binary coded decimal to normal decimal numbers
uint8_t bcdToDec(uint8_t val) {
return ((val / 16 * 10) + (val % 16));
}
Wäre euch sehr verbunden, wenn jemand weiterhelfen könnte.
Besten Dank