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
Code um temperatu einzustellen funktioniert nicht
16.04.2015, 15:04
Beitrag #1
Information Code um temperatu einzustellen funktioniert nicht
Hallo Zusammen,

Ich studiere in den niederlanden eine Mischung aus Maschinenbau und Design und dafür haben wir ein projekt bekommen, eine Maus mit Heizung zu bauen.

Es geht hauptsächlich um den elektrotechnischen Teil, wovon wir alle nicht wirklich ahnung haben. Wir haben uns einen Schaltplan erarbeitet und ein Programm für den Arduino geschrieben, aber das Programm funktioniert leider nicht.
Ich hoffe das ihr uns dabei helfen könnt...

Die Schaltung hab ich mal als Bild angehangen.
Bei dem Code geht es grob darum, dass ein Potentiometer angibt wie warm das Heizelement maximal werden darf. Ein Temperatursensor misst die Temperatur und wenn diese zwischen zwei Werten liegt, die das potmeter bestimmt, wird das heizelement angeschaltet oder es bleibt entsprechend aus.
Ausserdem haben wir noch eine LED eingebaut, die anzeigen soll ob das potmeter an ist oder nicht.

Ich hoffe man kann das ein bisschen verstehen...
Hier der Code, den ich geschrieben habe:

int PotiPin= A0;
int PotiValue = 0;
int TempPin = A1;
int TempValue = 0;
int LEDPin = 13;
int HeatPin = 2;

void setup () {
pinMode (LEDPin, OUTPUT);
pinMode (HeatPin, OUTPUT);
}

void loop (metenTemperatuur) {
TempValue = analogRead(TempPin);
delay (1000);
}

void loop (metenPotmeter) {
PotiValue = analogRead(PotiPin);
delay (1000);
}

void loop (aanzettenLED) {
if (PotiValue > 4);
{
digitalWrite (LEDPin, HIGH);
}
else
{
digitalWrite (LEDPin, LOW);
}
delay (500);
}

void loop (instellenTemperatuur) {

if (PotiValue <=341 && TempValue <=446);
{
digitalWrite (HeatPin, HIGH);
}

if (TempValue >453);
{
digitalWrite (HeatPin, LOW);
}

if (PotiValue >341 && PotiValue <=682);
{
digitalWrite (HeatPin, HIGH);
}

if (TempValue <=483);
{
digitalWrite (HeatPin, HIGH);
}

if (PotiValue >341 && PotiValue <=682);
{
digitalWrite (HeatPin, LOW);
}

if (TempValue >490);
{
digitalWrite (HeatPin, LOW);
}

if (PotiValue >682 && TempValue <=521);
{
digitalWrite (HeatPin, HIGH);
}

if (PotiValue >682 && TempValue >529);
{
digitalWrite (HeatPin, LOW);
}

delay (1000);
}


Es wäre echt genial wenn uns jemand helfen könnte!
Dankeschön schonmal :)


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.04.2015, 15:42
Beitrag #2
RE: Code um temperatu einzustellen funktioniert nicht
Es darf nur eine Funktion loop geben.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.04.2015, 16:19 (Dieser Beitrag wurde zuletzt bearbeitet: 16.04.2015 16:20 von Jelimi.)
Beitrag #3
RE: Code um temperatu einzustellen funktioniert nicht
Als erstes mal alle delay raus, das ist nicht gut.

Bei den If Abfragen ist einiges falsch, das kann nie gehen.


z.B.
if (PotiValue >341 && PotiValue <=682);
{
digitalWrite (HeatPin, HIGH);
}

und direkt danach

if (PotiValue >341 && PotiValue <=682);
{
digitalWrite (HeatPin, LOW);
}

da geht der HeatPin an und in der gleichen Millsekunde wieder aus, was soll das?

Das sind nur Beispiele, es liegt noch viel mehr im Argen.

gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.04.2015, 17:58
Beitrag #4
RE: Code um temperatu einzustellen funktioniert nicht
Meiner Meinung nach sind die delays in Ordnung, aber fast alles andere ist eher nicht so doll. Das geht nichtmal durch den Compiler, würde ich sagen.

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.04.2015, 09:47
Beitrag #5
RE: Code um temperatu einzustellen funktioniert nicht
Hallo,
Danke schon mal für eure schnellen Antworten!

@ Jelimi:
Mit der if abfrage hast du recht, da hab ich vergessen das >< Zeichen umzudrehen, dann macht es wieder Sinn.
Das werd ich bei den andern dann auch noch mal überprüfen.

@ Thorsten Pferdekämpfer:
mit dem compiler hast du leider recht, nur kann ich die Fehlermeldung darin nicht richtig interpretieren. Hab das auch schon versucht zu googlen, aber das hat leider auch nicht geholfen, weil die antworten da für mich schon zu fachspeziefisch waren -.-

@ t.a.f.k.a.Z.:
Das relais war nur als alternative gedacht und kommt in der entgültigen schaltung gar nicht mehr vor.


Hat jemand ne idee wie das programm richtig aussehen muss?! Wir sind mit unserm elektrotechnik - latein ziemlich am Ende und ein bisschen verzweifelt, wie wir das ganze noch zum laufen kriegen sollen...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.04.2015, 09:57
Beitrag #6
RE: Code um temperatu einzustellen funktioniert nicht
Hi,
fangt erstmal kleiner an. Schreibt erstmal ein Programm, dass z.B. einfach nur die Temperatur einmal pro Sekunde auf die serielle Schnittstelle ausgibt. Dann habt Ihr wenigstens mal Programm ohne Syntaxfehler. Darauf kann man dann aufbauen.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  TFT Pixel to Code oOSpikeOo 5 197 06.04.2017 18:49
Letzter Beitrag: Tommy56
  SD Karte wird nicht erkannt Maxi290997 6 199 31.03.2017 06:05
Letzter Beitrag: Bitklopfer
Sad Sketch funktioniert auf dem Mega 2560 nicht Frank1234 16 597 26.03.2017 14:15
Letzter Beitrag: oOSpikeOo
  Mein Skript macht nicht das was es soll ;( DerMatze79 4 238 16.03.2017 22:19
Letzter Beitrag: MicroBahner
  Programmablauf macht nicht das was ich möchte !! ESP + Blynk b3ta 3 204 01.03.2017 14:29
Letzter Beitrag: Tommy56
Rainbow File geht nicht zum compilieren!!!! Jocky 7 299 19.02.2017 20:01
Letzter Beitrag: Binatone
  IRremote bringe ich nicht zum laufen Franz54 5 233 19.02.2017 11:56
Letzter Beitrag: Tommy56
  Tri-State Code ?? Franz54 3 175 12.02.2017 19:23
Letzter Beitrag: Franz54
  Code aus 1.6.9 geht mit 1.8.1 nicht mehr zu kompilieren DL1AKP 7 424 02.02.2017 12:16
Letzter Beitrag: Tommy56
  Arduino Läst sich nicht Programmieren Micha06 4 319 29.01.2017 17:27
Letzter Beitrag: Micha06

Gehe zu:


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