C5: OBD2 Basteleien
Birger, jetzt am Wochenende kann ich eigentlich nicht..... eventuell Sonntag, dann aber nur kurzfristig.

So, mein DOG-M128 Shield habe ich heute mal zusammengelötet und getestet King

Jetzt ist erst mal wieder der Corvette Datenbus dran - die Anschaffung des Arduino hat mich ganz schön
im Zeitplan zurückgeworfen
, das macht soviel Spaß mit dem Teil zu spielen und Shields zu entwickeln Prost!

Das geht schon mal..... huahua huahua

Na, wer weiß welches Modul hier der Absender ist?

[Bild: dogshield1.jpg]
  Zitieren
ich Engel-3 Engel-3

Aber andere sollen auch mal was sagen Augenrollen
  Zitieren
er war es:

[Bild: dic.jpg]
  Zitieren
Hier schüttet's mal wieder, und unten in der Tiefgarage ist kein WLAN Dagegen!
  Zitieren
Ich bin auch noch nicht dazu gekommen am Arduino weiter zu machen.
Aber das Wochenende naht ja Großes Grinsen
C5_Coup_sil_60.png
  Zitieren
Hier mal ein Arduino-Programm, welches auf einem 4x20-Display die Kühllmitteltemperatur anzeigt:
Code:
#include <LiquidCrystal.h>

LiquidCrystal lcd(22, 23, 24, 25, 26, 27, 28); // Displan-Anschlüsse an einem Arduino Mega
int backLight = 29;  // Pin fuer Hintergrundbeleuchtung
char buffer[16] ;
int a = 0;
int b = 0;
int pointer = 0;

void setup() {
pinMode(backLight, OUTPUT);  
digitalWrite(backLight, HIGH); // Licht an!
lcd.begin(4,20);              // Display mit 4 Zeilen, 20 Zeichen
lcd.clear();                  // Display leeren
lcd.setCursor(0,0); lcd.print("Corvetteduino"); // Test ob's geht...
Serial.begin(9600);  // Serialport für Debugging (Arduino USB-Monitor)
Serial1.begin(9600); // Serialport für ELM
Serial1.println("ATZ");  // Reset ELM
delay(2000);
Serial1.println("ATE0");  // local Echo OFF
delay(2000);
}

int hex2dec(byte x) { // Umrechnung HEX-Zeichen nach Dezimal
  if (x >= '0' && x <= '9') { return x - '0'; } else if (x >= 'A' && x <= 'F') {  return x - 'A' + 10; }
}


void loop()
{
  Serial1.flush();  // Eingangspuffer leeren
  
  Serial1.print("01 05");  // Mode01-Message schicken, Frage nach Kühlmitteltemp
  Serial1.print((char)13); // Return dahinter
     while (Serial1.available() < 3) {} // Warten, bis erste 3 Zeichen vom ELM angekommen
    Serial.println("ELM sendet!");  // Debug-Message
     pointer = 0;
     a = 0;
     delay(200); // Warten bis Nachricht sicher im Puffer
     while (Serial1.available() >0)  // Solange Zeichen im Puffer sind
         {
         buffer[pointer] = Serial1.read();   // Ein Zeichen lesen und in's Array packen
          Serial.print(buffer[pointer]);   // Debug-Message
         pointer++;  // Pointer eins erhöhen für nächstes Array-Element
         }
         a = hex2dec(buffer[7]) + hex2dec(buffer[6]) * 16;  // passende Bits in Hex umrechnen
        if (pointer > 9) {b = hex2dec(buffer[10]) + hex2dec(buffer[9]) * 16;}  // für lange Antworten
lcd.clear();
lcd.setCursor(0,0); lcd.print("Temp:");   // Erste Zeile Einheit schreiben
lcd.setCursor(10,0); lcd.print(a-40);     // ab 10. Stelle dann Ergebnis ausgeben
delay(1000);  // 1 Sek warten
}

Natürlich muß man anpassen, an welchen Portbits das Display hängt, und ggf. die Displaygröße ändern.
Es werden einfache Mode01-Messages an den ELM geschickt, und die Antwort bit für Bit zerlegt und angezeigt.
Ich hatte den Mega gewählt, weil dieser 4 serielle Ports hat - der erste hängt wie beim normalen Arduino parallel zum USB-Anschluß. Am zweiten (Serial1) hängt der ELM, so kann der beim programmieren dranbleiben, und im Betrieb weiter Debugmessages schicken.
  Zitieren
Super Michael OK!

Sowas hilft mir als C und Arduino Einsteiger natürlich sehr Yeeah!
Werde das mal auf mein DOGM 128 umschreiben und probieren. *freu*


Ich bin gerade dabei eine Platine mit AT-Mega8 (DIL28) und ELM322 für eine stand alone Anwendung zu routen. Ich kann diese dann als Window und Tank-Klappen Valet benutzen und für die Kollegen aus dem F-Body Forum zusätzlich als Getriebeöl Thermometer für die LS1 Camaro und Firebird mit 4L60E Automat.
Es kommt dann einfach eine 3 stellige 7Segment LED Anzeige ans Board (LED-Anzeige=billigste Lösung!)

Diese C5 Window Valet Platine wird dann eine Version die in Umlauf kommt.
Schaltung wird offen gelegt.
Sourcen soweit auch.
Die enhanced PIDs bleiben erst mal unter Verschluß.


Ich hoffe morgen Abend den Schaltplan und das Layout zeigen zu können.
Erste Musterplatinen fräse ich dann gegen Mitte der nächsten Woche.


Es ist bewusst keine Entwicklung auf Arduino Basis da die Geschichte mit dem Getriebeöl-Thermometer auch noch in der Pipeline war und ich das in einem Rutsch abarbeiten möchte.
ich denke auch mal das die breite Masse gar kein Interesse hat ein Arduino in die Corvette oder den Camaro zu basteln Zwinkern
Für die paar aktiven Member hier im Thread bleibt es natürlich beim Arduino um auch weitere Experimente auf einer gemeinsamen Hardware Basis durchzuführen.
Michaels letzets Posting ist da ein weiterer Schritt in diese Richtung.
  Zitieren
Zitat:Original von Thomas V
Sowas hilft mir als C und Arduino Einsteiger natürlich sehr Yeeah!
Werde das mal auf mein DOGM 128 umschreiben und probieren. *freu*

Ja, bei der Geschichte sind ein paar Fallstricke, wie z.B. das ASCII-13, obwohl der Befehl Serial1.println eigentlich ein CRLF hinterherschicken sollte - das hat ne Weile gedauert bis ich darauf kam, warum der ELM schweigt.
Gleich kommt noch eine (ungetestete) bereinigte Version. Soll ich den ganzen Code hier posten, sobald was verbessert wurde, oder wächst der Thread dann ins unendliche?

Zitat:Ich bin gerade dabei eine Platine mit AT-Mega8 (DIL28) und ELM322 für eine stand alone Anwendung zu routen. Ich kann diese dann als Window und Tank-Klappen Valet benutzen und für die Kollegen aus dem F-Body Forum zusätzlich als Getriebeöl Thermometer für die LS1 Camaro und Firebird mit 4L60E Automat.

Huh, er geht fremd? sich vor Lachen auf dem Boden wälzen
Das Ding ist aber IMHO Pinkompatibel zum ATmega168, damit kann also auch was Arduinoartiges draufgesteckt werden Idee

Zitat:Es kommt dann einfach eine 3 stellige 7Segment LED Anzeige ans Board (LED-Anzeige=billigste Lösung!)

Ist sie das? Was kosten 3 7-Seg-Anzeigen plus Decoder?
Das billigste LCD (2x8 Zeichen) kostet bei Seeed $5.95 - kann man das unterbieten?

Zitat:Die enhanced PIDs bleiben erst mal unter Verschluß.

Besser ist das Dafür
Ein Getriebeöl-Anzeiger ist mein nächster Step, der gepostete Code ist leicht abwandelbar.
Einfach andere Sequenz schicken, und andere Bytes auswerten...

Zitat:Ich hoffe morgen Abend den Schaltplan und das Layout zeigen zu können.
Erste Musterplatinen fräse ich dann gegen Mitte der nächsten Woche.

Schööön! Bin gespannt!!
  Zitieren
Micha, 3 Stück 7 Segment Anzeigen kosten zusammen 1 Euro 80
Einen Dekoder brauche ich nicht, ich multiplexe die einfach.
Dazu benötige ich 7 Plus 3 Portpinne und 3 Transistoren.
  Zitieren
Hmm, dann noch 3x7 Widerstände - die aber zugegebenermaßen auch fast nichts kosten.
Okay, dann sind wir bei 2Eur vs. 6$.
Macht's das, wenn man anschließend ein cooles blau leuchtendes Display hat?
Welches vielleicht beim einsteigen noch eine Begrüßung anzeigen kann?
  Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  neues Projekt: OBD2 fun Thomas V 152 46.741 06.02.2013, 09:45
Letzter Beitrag: Hughes500
  OBD2 software für C5 smartie 18 9.686 22.09.2005, 16:21
Letzter Beitrag: Jochen

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 22 Gast/Gäste
Forenübersicht
Technikforen
-- C 1 Technikforum
-- C 2 Technikforum
-- C 3 Technikforum
-- C 4 Technikforum
---- C4 ZR-1 Technikforum
-- C 5 Technikforum
---- C5 Z06-Technikforum
-- C 6 Technikforum
---- C6 Z06-Technikforum
---- C6 ZR1-Technikforum
-- C7 Technikforum
---- C7 Z06 Technikforum
-- C8 Diskussionsforum
-- Tuningforum
-- Allgemeines Technikforum
---- OBD2
Other Vette-Stuff
-- Man sieht sich
---- Nachbetrachtungen
---- Stammtische Deutschland
------ Baden-Württemberg
------ Bayern
------ Berlin/Brandenburg
------ Hessen
------ Nordrhein- Westfalen
------ Niedersachsen/HB/HH
------ Rheinland-Pfalz
------ Sachsen
------ Thüringen
------ Schleswig Holstein
---- Stammtische Österreich
------ Wien / St. Pölten
---- Stammtische Schweiz
------ Ostschweiz/Vorarlberg
------ Treffen Schweiz
-- Jäger & Sammler
-- Vettetalk
---- Reiseberichte
-- Corvette-Bilder der Mitglieder
---- Membervideos
-- Sonstige Schöne Vettepics
---- Corvettevideos
-- Vettelady's Corner
-- Wissenswertes & Kurioses
-- Werkstätten & Händler
-- CORVETTE & Parts - For Sale!
---- laufende Auktionen bei EBAY
---- Transporthilfeforum
---- for sale - Alles ohne Corvette!
-- Wanted !
-- Wer weiß was
---- Fragen vor dem Kauf
-- Paragraphen & Pamphlete
Smalltalk und Forumsschnack
-- Über dieses Forum
---- Teammitteilungen
---- In Memoriam
-- Hallo, ich bin's!
-- Motorsport
-- Off Topic
---- Jux & Dallerei
---- Das Club-Forum
---- Don't feed the troll!
-- Glückwunsch- und Grußforum
-- Bits und Bytes
-- Comic-Forum
-- Das Modellautoforum
-- Testforum
Händlerangebote
-- Info-Forum
-- ACP Euskirchen
-- Dyno-Center
-- KTS American Parts
-- Corvetteproject (Molle)
-- Schmidt Revolution
-- NCRS Central Europe
-- IDP-CORVETTE ( INJA )
-- TIKT Performance Parts
-- BG Sportwagen
-- SPEEDSTYLE
-- V8Lounge
-- AVI Schilling & Wendt Assekuranzmakler
-- Autosalon am Park GmbH
-- NCRS Central Europe
-- Hoffmann Classics
-- CCRP Austria
-- RockAuto.com
-- Stingrays-Shop.com
-- corvetteparts.de