INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Gewächshaussteuerung
02.11.2015, 11:26 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2015 11:30 von hotsystems.)
Beitrag #9
RE: Gewächshaussteuerung
Das ist so nicht lesbar.
Nimm den Sketch wieder raus und setze ihn in Code-Tags (Schaltfläche #)

Edit:
Es ist aber prima, dass es funktioniert.
Nur bitte beachte meine obige Anmerkung.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.11.2015, 11:36
Beitrag #10
RE: Gewächshaussteuerung
(02.11.2015 11:26)hotsystems schrieb:  Das ist so nicht lesbar.
Nimm den Sketch wieder raus und setze ihn in Code-Tags (Schaltfläche #)

Edit:
Es ist aber prima, dass es funktioniert.
Nur bitte beachte meine obige Anmerkung.

Wie setze ich den sketch in Code-tags?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.11.2015, 11:39
Beitrag #11
RE: Gewächshaussteuerung
(02.11.2015 11:36)ElAleMaNo schrieb:  
(02.11.2015 11:26)hotsystems schrieb:  Das ist so nicht lesbar.
Nimm den Sketch wieder raus und setze ihn in Code-Tags (Schaltfläche #)

Edit:
Es ist aber prima, dass es funktioniert.
Nur bitte beachte meine obige Anmerkung.

Wie setze ich den sketch in Code-tags?

Habe ich doch oben beschrieben.
Solltest du die Schaltflächen nicht sehen, kurzen Text tippen und auf Vorschau klicken.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.11.2015, 11:42 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2015 11:47 von ElAleMaNo.)
Beitrag #12
RE: Gewächshaussteuerung
Ich glaube mit den delays haben wir uns falsch verstanden. ich möchte die Sensoren in Echtzeit auslesen, aber es reicht, wenn sie 1x pro sekunde oder so auf dem LCD aktualisiert werden, damit die zahlen nicht so da "rüberrauschen". grade bei der temp is das ein problem. jetzt ist es zumindest schonmal so das sich die sensorwerte nicht gegenseitig beeinflussen. Sobald ich weiß wie es geht poste ich nochmal den überarbeiteten Code. komisch das es beim ersten mal mit copy paste einfach funktioniert hat und jetzt nicht mehr.

ich war in der inlinebearbeitung deshalb wusste ich nicht was du mit schaltfläche # meintestBlush
habs aber jetzt geändert
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.11.2015, 11:59
Beitrag #13
RE: Gewächshaussteuerung
(02.11.2015 11:42)ElAleMaNo schrieb:  Ich glaube mit den delays haben wir uns falsch verstanden. ich möchte die Sensoren in Echtzeit auslesen, aber es reicht, wenn sie 1x pro sekunde oder so auf dem LCD aktualisiert werden, damit die zahlen nicht so da "rüberrauschen". grade bei der temp is das ein problem. jetzt ist es zumindest schonmal so das sich die sensorwerte nicht gegenseitig beeinflussen. Sobald ich weiß wie es geht poste ich nochmal den überarbeiteten Code. komisch das es beim ersten mal mit copy paste einfach funktioniert hat und jetzt nicht mehr.

ich war in der inlinebearbeitung deshalb wusste ich nicht was du mit schaltfläche # meintestBlush
habs aber jetzt geändert

Beim ersten Mal war es eben so schlecht.
Aber ich wollte dich nicht gleich erschrecken. Wink

Mit Code-Tags wird die Formatierung auch übernommen und das ist besser lesbar.

Du kannst den SimpleTimer auch zum übertragen an das Display einsetzen und immer die Sensoren auslesen. Das bleibt dir überlassen, welche Funktion du wann aufrufst.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.11.2015, 12:20
Beitrag #14
RE: Gewächshaussteuerung
So sieht das ganze jetzt aus mit allen Akteuren inbegriffen.

Code:
#include <Stepper.h>
int SPMU =32;
Stepper myStepper(SPMU, 2,3,4,5);

#include <LiquidCrystal.h>
LiquidCrystal lcd(39,37,49,47,45,43);

float messwert=0;
float feuchtigkeit1;

int trigger=8;
int echo=9;
long dauer=0;
long entfernung=0;

int TMP36=A1;
int temperatur1=0;
int temp[10];
int time=20;

int relais1=21;




void setup()
{
lcd.begin(16,2);
Serial.begin(9600);

myStepper.setSpeed(500);

pinMode(relais1, OUTPUT);

pinMode(trigger, OUTPUT);
pinMode(echo, INPUT);
}

void loop()
{
  ultraschall();
  temperatur();
  feuchtigkeit();
  LCDAnzeige();
  PCAnzeige();
  relais();
  stepper();
}

void ultraschall()
{
  digitalWrite(trigger, LOW);
  delay(5);
  digitalWrite(trigger, HIGH);
  delay(10);
  digitalWrite(trigger, LOW);
  dauer=pulseIn(echo, HIGH);
  entfernung=(dauer/2)/29.1;
}

void feuchtigkeit()
{
  messwert=analogRead(A0);
  feuchtigkeit1=messwert/7.9;
}


void temperatur()
{
  temp[0] = map(analogRead(TMP36), 0, 410, -50, 150);
  delay(time);
  temp[1] = map(analogRead(TMP36), 0, 410, -50, 150);
  delay(time);
  temp[2] = map(analogRead(TMP36), 0, 410, -50, 150);
  delay(time);
  temp[3] = map(analogRead(TMP36), 0, 410, -50, 150);
  delay(time);
  temp[4] = map(analogRead(TMP36), 0, 410, -50, 150);
  delay(time);
  temp[5] = map(analogRead(TMP36), 0, 410, -50, 150);
  delay(time);
  temp[6] = map(analogRead(TMP36), 0, 410, -50, 150);
  delay(time);
  temp[7] = map(analogRead(TMP36), 0, 410, -50, 150);
  delay(time);
  temp[8] = map(analogRead(TMP36), 0, 410, -50, 150);
  delay(time);
  temp[9] = map(analogRead(TMP36), 0, 410, -50, 150);

  temperatur1=(temp[0]+temp[1]+temp[2]+temp[3]+temp[4]+temp[5]+temp[6]+temp[7]+temp[8]+temp[9])/10;
}


void LCDAnzeige()
{
  lcd.setCursor(0,0);
  lcd.print("ABS");
  lcd.setCursor(6,0);
  lcd.print("TMP");
  lcd.setCursor(12,0);
  lcd.print("FTK");
  lcd.setCursor(0,1);
  lcd.print(entfernung);
  lcd.setCursor(6,1);
  lcd.print(temperatur1);
  lcd.setCursor(12,1);
  lcd.print(feuchtigkeit1);
}

void PCAnzeige()
{
Serial.println(messwert);
}

void relais()
{
  digitalWrite(relais1, LOW);
  if (feuchtigkeit1<=60)
  {
    digitalWrite(relais1, HIGH);
  }
}

void stepper()
{
  if (entfernung<=15)
  {
    myStepper.step(20);
  }
}

ich habe jetzt beim temperatursensor einfach die Nachkommastellen weggelassen, da es ja nicht auf so eine hohe Genauigkeit ankommt und jetzt ist das mit dem aktualisieren auch nicht mehr so wichtig.
das einzige Problem was ich jetzt noch habe ist, dass wenn sich der stepper einschaltet die temperatur von 19-20 grad auf 25-26 springt und auch wenn er sich wieder abschaltet sie da bleibt.
wenn ich das programm resete über den knopf zeigt er wieder die ca. 20 grad an.
ich könnte jetzt noch eine resetfkt anhängen aber das würde ja nix daran ändern das das eigentlich falsch istBig Grin
hast du oder jmd da ne idee?Smile

ps auch beim feuchtigkeitssensor hab ich dann schwankungen in der temperatur allerding nur co 1 grad.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.11.2015, 13:40 (Dieser Beitrag wurde zuletzt bearbeitet: 02.11.2015 13:42 von hotsystems.)
Beitrag #15
RE: Gewächshaussteuerung
Da ich bisher noch nicht mit Steppern gearbeitet habe, fehlt mir hier die Idee.
Ich würde allerdings die If-Anweisung in die Loop aufnehmen und nur bei Zutreffen in die Funktion springen.
z.B.
Code:
void loop() {
...
...
...
  if (entfernung<=15) {
    stepper();
  }

Dann springt er nur in die Funktionen wenn die Anweisung zutrifft.
Alles weitere musst du probieren.

Was natürlich auch sein kann, dass der Stepper Störimpulse erzeugt, die den Ardu durcheinander bringen kann. Das solltest du prüfen.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.11.2015, 14:10
Beitrag #16
RE: Gewächshaussteuerung
Was natürlich auch sein kann, dass der Stepper Störimpulse erzeugt, die den Ardu durcheinander bringen kann. Das solltest du prüfen.
[/quote]

also durch ein wenig rumprobieren hab ich jetzt gemerkt, das die temperaturanzeige nur spinnt, wenn das arduino zusätzlich zur stromversorgung per usb am pc hängt.
nur am strom bleiben die werte normal. daher denke ich an irgendwelche störimpulse

ich probiere mal weiter aber schonmal herzlichen dank für deine zeit
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste