Go Down

Topic: CAN BUS Shield, anstelle von LCD Display, LED Anzeige (Read 1 time) previous topic - next topic

farewell

Dec 23, 2012, 08:54 pm Last Edit: Dec 23, 2012, 11:01 pm by uwefed Reason: 1
Hallo,

wollte mal fragen ob ich anstelle des LCD Displays, eine LED Anzeige anschließen kann.

da mich vorerst nur die Kühlmitteltemperatur interessiert, dachte ich mir, eine kleine LED Anzeige anzuschließen, um genau zu sein einen Ampel LED Baustein:



dieser sollte eben je nach Temperatur die Farbe wechseln.

meine genaue Frage lautet nun, kann ich diesen Baustein irgendwie über das 3 polige Kabel für die LCD Anzeige betreiben ggf. mit nem controller dazwischen und falls das nicht möglich ist, wie kann ich sonst diese Baustein mit meinem arduino + canbus shield verbinden...
das ist mein can shield: http://www.skpang.co.uk/catalog/arduino-canbus-shield-with-usd-card-holder-p-706.html

wäre für tipps dankbar

uwefed

Das dreipolige Kabel hat sicher Masse und 5V. Bleibt also 1 Kabel für die Daten.
http://www.skpang.co.uk/catalog/serial-enabled-16x2-lcd-red-on-black-5v-p-571.html Beschreibung des Displays.
Darauf ist als Interface ein Microcontroller der die seriellen Daten in die paralellen des HD44780 kompatiblen Displays umwandelt.

Du kannst einen Controller so programmieren, daß er bei bestimmten Zeichenfolgen die LED ansteuert.
Viele einfacher ist es 3 unbenutzte Pins des Arduino's zu finden (zb die analogen Pins) und an diese die 3 LED mit je einen Vorwiderstad zu löten.

Grüße Uwe


sth77

Wie Uwe schon sagte, ist der Anschluss für ein serielles Display. Verdrahtet ist dieser mit A0, der als Digitalpin 14 genutzt wird, wie man am verlinkten Beispielsketch sehen kann. Da dieser bei entsprechender Programmierung nur einen Zustand HIGH oder LOW annehmen kann, kannst du nur zwei LEDs daran betreiben, z.B. so:

5V --- Vorwiderstand1 --- LED1 --- Digitalpin --- Vorwiderstand2 --- LED2 --- Masse.

Je nachdem, ob logisch 1 oder 0 am Pin anliegt, leuchtet eine der LEDs. Schaltest du den Pin als Eingang, werden vermutlich beide LEDs schwach leuchten, kommt auf die Größe der Vorwiderstände an.
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

farewell

danke für die rasche antwort ...

wenn ich mir das recht überlege, reichen eigentlich 2 leds, da die ampel leds nach vorgegebenen temperaturbereichen leuchten sollen.

also rot wenn temp unter 40°,
gelb wenn temp zwischen 40° und  80°
grün würde sich somit erübrigen da die temp inzwischen bei +80° wäre.

gedanklich gehts also in die Richtung.

Code: [Select]
if (ctemp < 40)
{
  digitalWrite(ledPinRot, HIGH);   
}

{
  delay(5000);
  digitalWrite(ledPinRot, LOW);           
  digitalWrite(ledPinGelb, HIGH); 
}

else
{   
  delay(5000);                 
  digitalWrite(ledPinGelb, LOW);               
}


ich stehe jedoch auf dem schlauch, wenns um die verdrahtung geht, und auch wenn ich mehrfach durchlese was ihr geschrieben habt, so blicke ich mich gerade gar nicht durch.

:(

sth77

Du definierst in deinem Beispiel zwei LED-Ausgänge, bei dem Anschluss hast du aber nur einen Ausgang frei! Die anderen beiden Pins sind Versorgungsspannung und Masse.

Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

farewell

hallo,

habs jetzt endlich geschafft, sketch läuft soweit.

bin gerade mit den feinheiten beschäftigt.

und zwar, wenn ich zb 41 grad erreicht habe, leuchtet keine led mehr und nach 5 sek geht die gelbe an.

wie kann es so einstellen, dass die rote so lange mitleuchtet, bis die gelbe angesteuert wird?!

wäre für tipps dankbar

Code: [Select]
if (ctemp < 40)
{
  digitalWrite(ledPinRot, HIGH);   
}

else if (ctemp > 61 && ctemp < 79)
{
  delay(5000);         
  digitalWrite(ledPinGelb, HIGH); 
}

else
{   
  delay(5000);                 
  digitalWrite(ledPinGelb, LOW);               
}

J3RE

ich würde es so machen :)

Code: [Select]
if (ctemp < 40){
  digitalWrite(ledPinRot, HIGH);
  digitalWrite(ledPinGelb, LOW); 
}
else if (ctemp >= 40 && ctemp < 79){       
  digitalWrite(ledPinGelb, HIGH);
  digitalWrite(ledPinRot, LOW);
}
else{                 
  digitalWrite(ledPinGelb, LOW); 
  digitalWrite(ledPinRot, LOW);             
}
delay(5000);


farewell

#8
Jan 16, 2013, 10:27 am Last Edit: Jan 16, 2013, 10:29 am by farewell Reason: 1
so Leute dank eurer Hilfe bin ich mit meinem Projekt so gut wie fertig.

der vorerst letzte Punkt ist, der Anschluss am Auto.

und zwar ist mein arduino über das can bus shield am OBD Port angeschlossen, ich würde dies nun gern ändern und direkt im Auto anschließen, hierzu benötige ich CAN High/LOW, GND und Plus.

diese anschlüsse habe ich direkt an meinem Idrive, und könnte sie anzapfen.

so nun zu meiner eigentlichen Frage, kann ich mein arduino direkt an den wagen anschließen oder gibts Probleme mit Spannungsspitzen etc. die es am OBD Port nicht gibt?!

aja und ich würde gern um auf nummer sicher zu gehen, eine Sicherung noch anschließen, welchen benötige ich dafür?
LG

Go Up