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
LCD schreibt mal richtig,mal Krickel?
16.03.2016, 17:14
Beitrag #9
RE: LCD schreibt mal richtig,mal Krickel?
(16.03.2016 17:05)malsehen schrieb:  Danke für den Tipp!
Bei meinem Testboard sind die Kabel an diese üblichen Steckleistenreihen, welche man nach Bedarf ablängt, gelötet. Diese sitzen dann in den Buchsenreihen des Arduino.
Ok, das ist auf dem Bild nicht zu erkennen.
Dann sollte das kein Problem sein. Die Stifte sind dick genug dafür.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.03.2016, 19:55 (Dieser Beitrag wurde zuletzt bearbeitet: 17.03.2016 20:52 von malsehen.)
Beitrag #10
Bug RE: LCD schreibt mal richtig,mal Krickel?
Der Arduino ist nicht def.
Es lag am Code??

Editiert, da noch verrückter als gedacht!

Immer wenn ich etwas ergänze, laß ich es kompilieren. Wenn das OK ist, lade ich hoch.
Jedesmal schreibt das LCD dann Krickel!
Dann drücke ich die Reset Taste und halte sie. Dann entferne ich das USB Kabel, warte und steck es wieder auf. Jetzt lasse ich die Reset Taste los. Nun bauen sich die richtigen Zeichen/Ziffern auf und alles ist OK?
Habe ich zuviele { } Klammern?
Ich wollte mit dem Sketch nicht nerven,
aber:
Code:
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int numRows=2;
const int numCols=16;
const int tempPin=5;
const int literPin=1;
const int threshold=22;  // Schwellwert

int ledPin = 13;//Ausgang bei Temp erreichen auf High

const long oneSecond = 1000;  // Pausenzeit
const long oneMinute = oneSecond * 60;
const long oneHour   = oneMinute * 60;


void setup() {
pinMode(ledPin,OUTPUT);  //Start Ausgang
lcd.begin(numCols, numRows);//Start LCD

lcd.setCursor(6,0);  //1. Reihe 7.Zeichen
lcd.print("Liter");  //Schreibt das Wort

lcd.setCursor(6,1);  //2. Reihe 7.Zeichen
lcd.print("Temperatur");  //Schreibt das Wort
}

void loop() {
  {
int val;  // Einen Wert vom Sensor einlesen
int Liter;  // Er heißt Liter
val=analogRead(literPin);
Liter=map(val,0,1023,0,65);

{
    lcd.setCursor(1,0);  //2. Reihe 2. Feld
   lcd.print( Liter); //Schreibe den Wert für Liter

int val;  // Einen Wert vom Sensor einlesen
int Celsius;  // Er heißt Celsius

val=analogRead(tempPin);  //Von Analog 5 einlesen

Celsius=map(val,491,572,20,30);//Getestet entpricht der Temperatur

{
    lcd.setCursor(1,1);  //2. Reihe 2. Feld
   lcd.print( Celsius); //Schreibe den Wert für Celsius

if (Celsius>threshold) //Über 24°

  digitalWrite(ledPin,HIGH);//Schalte Pin D13 Auf High
  
if(Celsius<threshold)//Unter24°
digitalWrite(ledPin,LOW);


  int val = digitalRead(ledPin);//Zustand vom ledPin
  
if (val==HIGH)// Wenn er High ist
{
  digitalWrite(ledPin,HIGH);

  delay(oneMinute);// Eine Minute Pause
}
else  //sonst
{
  
  digitalWrite(ledPin,LOW);//ledPin LOW

  
}

}
}
}
}

Es geht ja auch mit dem Reseten, aber es nervt.
Achim

Ich kann kaum etwas lernen, vergesse das auch wieder. Aber wenn ich etwas immer wieder klar vor Augen habe, kann ich verdammt viel damit anfangen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.03.2016, 22:17
Beitrag #11
RE: LCD schreibt mal richtig,mal Krickel?
Ja, zu viele Klammern und mehrfache Deklaration von Variablen.
Code:
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int numRows = 2;
const int numCols = 16;
const int tempPin = 5;
const int literPin = 1;
const int threshold = 22; // Schwellwert

int ledPin = 13;//Ausgang bei Temp erreichen auf High

const long oneSecond = 1000;  // Pausenzeit
const long oneMinute = oneSecond * 60;
const long oneHour   = oneMinute * 60;


void setup() {
  pinMode(ledPin, OUTPUT); //Start Ausgang
  lcd.begin(numCols, numRows);//Start LCD

  lcd.setCursor(6, 0); //1. Reihe 7.Zeichen
  lcd.print("Liter");  //Schreibt das Wort

  lcd.setCursor(6, 1); //2. Reihe 7.Zeichen
  lcd.print("Temperatur");  //Schreibt das Wort
}

void loop()
{
  int val;  // Einen Wert vom Sensor einlesen
  int Liter;  // Er heißt Liter
  val = analogRead(literPin);
  Liter = map(val, 0, 1023, 0, 65);

  lcd.setCursor(1, 0); //2. Reihe 2. Feld
  lcd.print( Liter); //Schreibe den Wert für Liter

  //      int val;  // Einen Wert vom Sensor einlesen
  int Celsius;  // Er heißt Celsius

  val = analogRead(tempPin); //Von Analog 5 einlesen

  Celsius = map(val, 491, 572, 20, 30); //Getestet entpricht der Temperatur
  lcd.setCursor(1, 1); //2. Reihe 2. Feld
  lcd.print( Celsius); //Schreibe den Wert für Celsius

  if (Celsius > threshold) //Über 24°
    digitalWrite(ledPin, HIGH); //Schalte Pin D13 Auf High

  if (Celsius < threshold) //Unter24°
    digitalWrite(ledPin, LOW);

  val = digitalRead(ledPin);//Zustand vom ledPin
  if (val == HIGH) // Wenn er High ist
  {
    digitalWrite(ledPin, HIGH);
    delay(oneMinute);// Eine Minute Pause
  }
  else  //sonst
  {
    digitalWrite(ledPin, LOW); //ledPin LOW
  }
}

Ich habe die überflüssigen Klammern und Deklarationen entfernt.
Bitte mit deinem Sketch vergleichen.
Ich kann den Sketch kompilieren, aber ob er funktioniert, muss du testen.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.03.2016, 23:50
Beitrag #12
RE: LCD schreibt mal richtig,mal Krickel?
Hallo,
so solltest Du Dein LCD anschliessen…

https://www.arduino.cc/en/Tutorial/Hello...uidCrystal

Sketch mit Beispiel hängt auch dran. Das Funktioniert.

Das:

const int numRows=2;
const int numCols=16;
const int tempPin=5;
const int literPin=1;

ist zweifelhaft…
Rows und Cols werden nicht benötigt.

Das LCD wird an den Pin´s 12, 11, 5, 4, 3, und 2 angeschlossen

Was macht dann Dein "const int tempPin=5;" im Sketch?
Pin 5 des Arduino- liegt auf Pin 11 des LCD.

"lcd.setCursor(1,0); //2. Reihe 2. Feld"
hier ist ne´ "2" oder eine "0" falsch

Gruß und Spaß
Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.03.2016, 10:55
Beitrag #13
RE: LCD schreibt mal richtig,mal Krickel?
Zitat:ist zweifelhaft…
Rows und Cols werden nicht benötigt.

Er braucht das schon, da er im Sketch wieder darauf zugreift. Ist so aber wirklich unüblich.

Zitat:Was macht dann Dein "const int tempPin=5;" im Sketch?
Pin 5 des Arduino- liegt auf Pin 11 des LCD.

Das ist allerdings der tatsächliche Fehler.
Trotz mehrfacher Überprüfung, immer überlesen. Huh

Der "tempPin" muss anders gelegt werden.

Ein weiteres Problem kann der Pin "literPin=1" sein.
Hier wird der digitale D1 angesprochen, das ist ein serieller Port, der nicht benutzt werden sollte. Schreibe lieber "literPin=A0" o.ä., also einen analogen Eingang, den du dann auch verwenden musst.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.03.2016, 19:53 (Dieser Beitrag wurde zuletzt bearbeitet: 20.03.2016 20:23 von malsehen.)
Beitrag #14
Smile RE: LCD schreibt mal richtig,mal Krickel?
Hallo,
DANKESCHÖN,

Im Hasenkochbuch steht immer bei fast allen Sketchen:
Code:
cont int inPin=0;//Analogpin
Das es den 0 Pin nur 1x gibt und die anderen doppelt, ist mir nicht aufgefallen, leider. Die Pin 1+5 sind Analog Pins. Die digitalen 18B20 Sensoren habe ich weggepackt, da ich in der Deklaration nicht wusste ob ich mich auf dallas Temperatur oder oneWire berufen muss. (Nichts ging) Die NTC sind von der Logik her wesentlich einfacher.

"lcd.setCursor(1,0); //2. Reihe 2. Feld"
hier ist ne´ "2" oder eine "0" falsch

Deklarierung ist falsch //1.Reihe 2.Feld

Code:
lcd.begin(numCols, numRows);//Start LCD

  lcd.setCursor(6, 0); //1. Reihe 7.Zeichen
hotsystems, da hast du hinter den Kommata immer die Leertaste gedrückt?
Warum?

Mit A1+A5 läuft es.

Aber nun möchte ich, dass der Sketch nicht total still steht, wenn der Schwellwert erreicht ist. Sonst würde wenn der Schwellwert erreicht ist, auch die Benzinuhr nicht mehr richtig anzeigen.
Mit -delay- stoppt alles
Mit -millis- werden Laufzeiten gemessen
Also versuche ich myDelay?

Editiert:
Nein ich glaub ich laß das. Das einfachste ist keine Pause intern, sonder extern mit einem 555.

Achim

Ich kann kaum etwas lernen, vergesse das auch wieder. Aber wenn ich etwas immer wieder klar vor Augen habe, kann ich verdammt viel damit anfangen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.03.2016, 09:21
Beitrag #15
RE: LCD schreibt mal richtig,mal Krickel?
(20.03.2016 19:53)malsehen schrieb:  hotsystems, da hast du hinter den Kommata immer die Leertaste gedrückt?
Warum?

Das ist wegen der Übersichtlichkeit und wird automatisch von der IDE gemacht.
"Werkzeuge - Automatische Formatierung"

Zitat:Aber nun möchte ich, dass der Sketch nicht total still steht, wenn der Schwellwert erreicht ist. Sonst würde wenn der Schwellwert erreicht ist, auch die Benzinuhr nicht mehr richtig anzeigen.
Mit -delay- stoppt alles
Mit -millis- werden Laufzeiten gemessen
Also versuche ich myDelay?

Editiert:
Nein ich glaub ich laß das. Das einfachste ist keine Pause intern, sonder extern mit einem 555.

Sieh dir dazu mal "BlinkWithoutDelay" an, damit kannst du das lösen.
oder eine sehr gute Erklärung hier im Forum:Blinken ohne Delay

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
Question Rechnen in C - Was ist denn nun richtig? Stephan_56 17 1.226 27.03.2016 11:31
Letzter Beitrag: ardu_arne
  Constrain-Befehl -wie gehts richtig? Nimes 8 930 14.03.2016 18:00
Letzter Beitrag: DL1AKP
  Über Pin43 den Pin42 steuern, ist das so richtig? arduinofan 5 488 01.02.2016 21:01
Letzter Beitrag: ardu_arne
  Datenlogger schreibt nicht auf SD Karte kirchstefan 15 2.340 02.07.2015 08:03
Letzter Beitrag: HaWe
  C-Code für eine substring-Funktion: richtig ? HaWe 1 669 27.05.2015 14:01
Letzter Beitrag: HaWe
  Eingang analog oder digital? Wie macht man es richtig? Gelegenheitsbastler 3 978 25.03.2015 15:45
Letzter Beitrag: Bitklopfer
  [gelöst:] A.Mega: Pin4 bei Programmstart richtig setzen HaWe 0 586 28.09.2014 09:53
Letzter Beitrag: HaWe

Gehe zu:


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