#define TASTER_PRELL delay(40);
#define TASTER digitalRead(SW)
#define TASTER_PUSHTIME 800
#define DOUBLEKLICK_TIME1 300
#define DOUBLEKLICK_TIME2 700
#define RETURN_TIME 10000
#define PUMP_ON digitalWrite(pumpe,HIGH);
#define PUMP_OFF digitalWrite(pumpe,LOW);
#define LED_ON digitalWrite(led,HIGH);
#define LED_OFF digitalWrite(led,LOW);
// Timer
#define READ_TIMER 60001UL
#define LCD_TIME 3
// Globs
int Position = 0;
bool Letzte_Position = LOW;
bool n = LOW;
bool Taster = LOW;
bool Letzte_Taster = LOW;
// EEPROM
byte flutTime_H; // EEPROM
byte flutTimeAddr_H=0;
byte flutTime_L; // EEPROM
byte flutTimeAddr_L=1;
byte ebbeTime_H; // EEPROM
byte ebbeTimeAddr_H=2;
byte ebbeTime_L; // EEPROM
byte ebbeTimeAddr_L=3;
//
int flutTime_;
int ebbeTime_;
int flutTimeMin;
int flutTimeSec;
int ebbeTimeMin;
int ebbeTimeSec;
long int save;
long int hure;
int merk_timer1=0;
int merk_timer2=0;
// EEPROM
#include <EEPROM.h>
// Display
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 32 // OLED display height, in pixels
// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
// The pins for I2C are defined by the Wire-library.
// On an arduino UNO: A4(SDA), A5(SCL)
// On an arduino MEGA 2560: 20(SDA), 21(SCL)
// On an arduino LEONARDO: 2(SDA), 3(SCL), ...
#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin)
#define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void go_ebbe(void);
void go_flut(void);
void flutTime(void);
void ebbeTime(void);
void flutEbbeTime(void);
unsigned int secTimer1(unsigned long int);
unsigned int msTimer1(unsigned long int);
void lcdOut(int, int, int, char[] );
int setTime(int,int,int);
void auswahl_tide(void);
void lcd_notsys(void);
#include "pins.h"
#include "lcd.h"
#include "time.h"
#include "tide.h"
#include "loop.h"
void setup() {
pinMode (pumpe, OUTPUT);
pinMode (CLK, INPUT_PULLUP);
pinMode (DT, INPUT_PULLUP);
pinMode (SW, INPUT_PULLUP);
pinMode (pumpe, OUTPUT);
pinMode (led, OUTPUT);
Serial.begin(9600);
ebbeTime_H = EEPROM.read(ebbeTimeAddr_H);
ebbeTime_L = EEPROM.read(ebbeTimeAddr_L);
flutTime_H = EEPROM.read(flutTimeAddr_H);
flutTime_L = EEPROM.read(flutTimeAddr_L);
flutTime_ = flutTime_ | flutTime_L | flutTime_H <<8;
ebbeTime_ = ebbeTime_ | ebbeTime_L | ebbeTime_H <<8;
// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;); // Don't proceed, loop forever
}
display.clearDisplay();
for(int16_t i=0; i<display.height()/2; i+=2) {
display.drawRect(i, i, display.width()-2*i, display.height()-2*i, SSD1306_WHITE);
display.display(); // Update screen with each newly-drawn rectangle
delay(20);
}
for(int16_t i=0; i<display.height()/2; i+=2) {
display.drawRect(i, i, display.width()-2*i, display.height()-2*i, SSD1306_BLACK);
display.display(); // Update screen with each newly-drawn rectangle
delay(20);
}
for(int16_t i=display.height(); i>display.height()/2; i-=2) {
display.drawRect(i, i, display.width()-2*i, display.height()-2*i, SSD1306_WHITE);
display.display(); // Update screen with each newly-drawn rectangle
delay(20);
}
for(int16_t i=display.height(); i>display.height()/2; i-=2) {
display.drawRect(i, i, display.width()-2*i, display.height()-2*i, SSD1306_BLACK);
display.display(); // Update screen with each newly-drawn rectangle
delay(20);
}
lcd_notsys();
delay(1500);
msTimer1(200);
}
/*
LCD_Display
void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS );
void clear();
void home();
void noDisplay();
void display();
void noBlink();
void blink();
void noCursor();
void cursor();
void scrollDisplayLeft();
void scrollDisplayRight();
void printLeft();
void printRight();
void leftToRight();
void rightToLeft();
void shiftIncrement();
void shiftDecrement();
void noBacklight();
void backlight();
void autoscroll();
void noAutoscroll();
void createChar(uint8_t, uint8_t[]);
void setCursor(uint8_t, uint8_t);
*/