Pages: [1]   Go Down
Author Topic: CAN BUS Shield, anstelle von LCD Display, LED Anzeige  (Read 1553 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
« Last Edit: December 23, 2012, 05:01:20 pm by uwefed » Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 266
Posts: 21665
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Logged

Germany
Online Online
Edison Member
*
Karma: 47
Posts: 2322
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

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

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
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.

smiley-sad
Logged

Germany
Online Online
Edison Member
*
Karma: 47
Posts: 2322
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.

Logged

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

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
if (ctemp < 40)
{
  digitalWrite(ledPinRot, HIGH);   
}

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

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

Austria
Offline Offline
Full Member
***
Karma: 2
Posts: 107
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ich würde es so machen smiley

Code:
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);
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Danke, das werde ich gleich mal ausprobieren
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
« Last Edit: January 16, 2013, 04:29:04 am by farewell » Logged

Pages: [1]   Go Up
Jump to: