SO, hab jetzt noch mal ne Frage:
Ich habe heute mal meine Schaltung getestet, per Schalter wollte ich meine Dosierpumpe schalten (siehe ParallelThread von mir)
Das Problem ist, dass (nicht immer) häufig wenn ich schalte, die Displayausgabe verrückt spielt.
Ab und dann stürzt die Geschichte dann auch mal ab, sprich ich kann nichts mehr an oder aus schalten.
Hier mal der Code:
#include <WProgram.h>
#include <Wire.h>
#include <DS1307.h> // written by mattt on the Arduino forum and modified by D. Sjunnesson
#include <LiquidCrystal.h>
LiquidCrystal lcd(39, 41, 43, 45, 47, 49);
int buttonPin=46;
int buttonState;
int lcdmillis=0;
int pumpe1=35;
int pumpe2=33;
int pumpe3=31;
int pumpe4=29;
void setup()
{
pinMode(13, OUTPUT);
pinMode(buttonPin, INPUT);
pinMode(pumpe1, OUTPUT);
pinMode(pumpe2, OUTPUT);
pinMode(pumpe3, OUTPUT);
pinMode(pumpe4, OUTPUT);
digitalWrite(pumpe1, HIGH);
digitalWrite(pumpe2, LOW);
digitalWrite(pumpe3, HIGH);
digitalWrite(pumpe4, LOW);
digitalWrite(13, HIGH);
/*
RTC.stop();
RTC.set(DS1307_SEC,10); //set the seconds
RTC.set(DS1307_MIN,01); //set the minutes
RTC.set(DS1307_HR,15); //set the hours
RTC.set(DS1307_DOW,4); //set the day of the week
RTC.set(DS1307_DATE,25); //set the date
RTC.set(DS1307_MTH,6); //set the month
RTC.set(DS1307_YR,11); //set the year
RTC.start();*/
lcd.begin(20, 4);
}
void loop()
{
if (millis() - lcdmillis > 1000) {
lcd.clear();
lcd.setCursor(0,0);
lcd.print(RTC.get(DS1307_HR,true)); //read the hour and also update all the values by pushing in true
lcd.print(":");
lcd.print(RTC.get(DS1307_MIN,false));//read minutes without update (false)
lcd.print(":");
lcd.print(RTC.get(DS1307_SEC,false));//read seconds
lcd.print(" "); // some space for a more happy life
lcd.print(RTC.get(DS1307_DATE,false));//read date
lcd.print("/");
lcd.print(RTC.get(DS1307_MTH,false));//read month
lcd.print("/");
lcd.print(RTC.get(DS1307_YR,false)); //read year
lcdmillis=millis();
}
buttonState = digitalRead(buttonPin);
if (buttonState == LOW) {
digitalWrite(13, LOW);
digitalWrite(pumpe1, LOW);
}
if (buttonState == HIGH){
digitalWrite(13, HIGH);
digitalWrite(pumpe1, HIGH);
}
}
Idee woran das liegen könnte?
Die Schalter habe ich nich intern sondern extern über nen 10Kohm Widerstand an Ground angeschlossen.
Ich muss dazu sagen, ich habe ne recht große Platine gelötet, auf der ich alle meine Schaltungen integriert habe.
D.h. über eine GND Leitung oder 5v Leitung fließen recht viele verschieden Schaltungen, aber das kann ja nicht das Problem sein oder?
Gruß