Forum: Mikrocontroller und Digitale Elektronik Auspielereien Programmieren?


von Sergio W. (sergiow)


Lesenswert?

Hallo,
im Rahmen meines Studiums habe ich ein C++ Kurs belegen "müssen".
Sprich, ich habe Grundkentnisse in C++.
In der Uni programmieren wir alle möglichen Programme hin und her,
 jedoch würde mich der Einstieg in die Microcontroller eher 
interessieren.

Nur weiß ich nicht, wo ich anfangen soll.
Ein Gedankengang von mir war z.B. ein Drehzahlmesser für ein Auto zu 
programmieren.

Über den OBD Anschluss ist es ja kein Problem Drehzahl, Öltemeratur etc. 
auf dem Smartphone anzeigen zu lassen.

Könnte man diese Werte irgendwie in einen Microcontroller einspeisen und 
dann Programmieren
"wenn Drehzahl im Bereich a bis b, dann leuchtet LED 1"
"wenn Drehzahl im Bereich c bis d, dann leuchtet LED 1 & 2"

oder z.B.
"Wenn Öltemeratur < Wert X, dann leuchtet Rote LED"
"Wenn Öltemperatur >= x , dann Leuchtet grüne LED"

Auf solche Spielereien hätte ich Bock.
Ist das mit C++ Grundkentnissen machbar?

Wenn nicht, wie fuchst man sich am besten in die Thematik ein?

Vielen Dank und Grüße

von Carol (Gast)


Lesenswert?

Bei C++ ist C schon drin. - Also Null Problem.

WENN einem da nicht die Physik, mit Spannungen, Strömen,
Zeiten, Toleranzen (!) und sonstigem lebensechtem Ungemach
die Arbeit versauern würde...

Wenn dir das keine Angst macht: Fang an!

von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Sergio W. schrieb:
> Könnte man diese Werte irgendwie in einen Microcontroller einspeisen

Durch das 'Irgendwie' kann die Antwort nur 'JA' sein

Das Problem, was ich sehe: Der OBD-Anschluß wird diese Daten nicht 
einfach so raus fallen lassen - es werden wohl doch etwas mehr als drei 
Zeilen Basic nötig sein, bis der Wert überhaupt ansatzweise im Steinchen 
angekommen ist.

Könnte mir vorstellen, daß aus der Richtung Arduino Spielereien in der 
Richtung 'vorgefertigt' erhältlich sind.

MfG

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Es gibt OBDII Chips, die auf der PC/Smartphone Seite einfach seriell 
angesprochen werden, entweder über USB oder auch Bluetooth. Das 
Protokoll des z.B. ELM327 Chips ist offengelegt und kann leicht an MC 
angepasst werden, alles was man benötigt, ist eine serielle 
Schnittstelle, bzw. ein BT Modul, das den seriellen Service unterstützt.
https://www.amazon.de/SODIAL-Bluetooth-diagnostic-Interface-Software/dp/B00BNO1GYG

Dabei wird die OBD Seite vom ELM übernommen und so ungefähr wie ein 
Modem auf der UART Seite angesprochen.
https://www.sparkfun.com/datasheets/Widgets/ELM327_AT_Commands.pdf
https://www.elmelectronics.com/wp-content/uploads/2016/07/ELM327DS.pdf

von c.m. (Gast)


Lesenswert?

Sergio W. schrieb:
> Über den OBD Anschluss ist es ja kein Problem Drehzahl, Öltemeratur etc.
> auf dem Smartphone anzeigen zu lassen.

ja, wenn jemand anderes die arbeit gemacht hat - elektronik und 
programmierung - ist es kein problem das fertige produkt zu verwenden 
;-)

von A. S. (Gast)


Lesenswert?

Sergio W. schrieb:
> In der Uni programmieren wir alle möglichen Programme hin und her,
>  jedoch würde mich der Einstieg in die Microcontroller eher
> interessieren.
>
> Nur weiß ich nicht, wo ich anfangen soll.
> Ein Gedankengang von mir war z.B. ein Drehzahlmesser für ein Auto zu
> programmieren.

Das ist ein gutes Ziel.

Für den Anfang ist das Blinken einer LED jedoch ein geeignetes 
Hallo-Welt.

Danach serielle Schnittstelle, Display, Taster, Interrupts, Timer-Tick, 
Main-Loop oder RTOS.

Und dann gerne OBD oder beliebige andere Quellen/Senken.

von PittyJ (Gast)


Lesenswert?

Sergio W. schrieb:
> Hallo,
> im Rahmen meines Studiums habe ich ein C++ Kurs belegen "müssen".

Da sollte man doch "müssen" durch "dürfen" ersetzen.

Viele Leute wären froh, wenn sie einen kostenfünstigen C++ Kurs bekämen. 
Es ist doch toll, was von den mit Steuergeldern bezahlten Universitäten 
alles angeboten wird.
Also setz dich hin und lerne. Dann wäre auch klar, was du mit dem C++ 
alles machen könntest.

von Martin K. (maart)


Lesenswert?

Was sind "Auspielereien"?

von H-G S. (haenschen)


Lesenswert?

Du brauchst Literatur!

von Sergio W. (sergiow)


Lesenswert?

Moin,

c.m. schrieb:
> ja, wenn jemand anderes die arbeit gemacht hat - elektronik und
> programmierung - ist es kein problem das fertige produkt zu verwenden
> ;-)

bei den fertigen Apss ging es mir nicht darum, die alle zu klauen; 
sondern eher als Nachweis der Machbarkeit...


Achim S. schrieb:
> Das ist ein gutes Ziel.
>
> Für den Anfang ist das Blinken einer LED jedoch ein geeignetes
> Hallo-Welt.
>
> Danach serielle Schnittstelle, Display, Taster, Interrupts, Timer-Tick,
> Main-Loop oder RTOS.
>
> Und dann gerne OBD oder beliebige andere Quellen/Senken.

Vielen Dank, das wollte ich wissen.
Wie man wo überhaupt anfängt :)


PittyJ schrieb:
> Sergio W. schrieb:
>> Hallo,
>> im Rahmen meines Studiums habe ich ein C++ Kurs belegen "müssen".
>
> Da sollte man doch "müssen" durch "dürfen" ersetzen.
>
> Viele Leute wären froh, wenn sie einen kostenfünstigen C++ Kurs bekämen.
> Es ist doch toll, was von den mit Steuergeldern bezahlten Universitäten
> alles angeboten wird.
> Also setz dich hin und lerne. Dann wäre auch klar, was du mit dem C++
> alles machen könntest.

Deswegen in Anführungsstrichen, es macht mir ja Spaß :)

Martin K. schrieb:
> Was sind "Auspielereien"?
Dem Kontext nach, entweder ein Tippfehler von mir oder das Arbeiten mit 
OBD Signalen, würde ich sagen...

H-G S. schrieb:
> Du brauchst Literatur!


Könnt ihr mir da etwas empfehlen?
Gibt es sowas wie eine Anfänger-Bibel; oder einen Yotube channel der 
seine Sache ganz gut macht? :)

Grüße

von Stefan F. (Gast)


Lesenswert?

> Könnt ihr mir da etwas empfehlen?

Die üblichen Mikrocontroller, die Anfänger verwenden, haben leider 
vermutlich alle kein CAN Interface. Viele ARM Cortex M3 Controller (z.B. 
STM31F103) haben eins, aber die sind meiner Meinung nach nichts für 
Anfänger.

Ich schlage Dir vor, dass du dich erst ein bisschen in kleine 8bit 
Controller (ohne Arduino Software zu benutzen) einarbeitest, und dann 
ins nächste Level mit ARM Cortex M3 aufsteigst.

http://stefanfrings.de/mikrocontroller_buch/index.html
http://stefanfrings.de/stm32/index.html

Oder du bleibst nach dem Einstieg bei ATmega, und zwar einen aus dieser 
Liste:
http://www.atmel.com/products/automotive/canvan/avr-based_can_mcus.aspx

Nur kann ich Dir leider nicht dabei helfen, diese Chips einzeln oder als 
Bastelboard zu bekommen. Board mit STM31F103 sind hingegen leicht zu 
beschaffen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Martin K. schrieb:
> Was sind "Auspielereien"?

Vermutlich *Autospielereien". Gebastel am Auto halt.

von CM (Gast)


Lesenswert?

Ich habe auch schon die ganze Zeit gerätselt:

Aus-pielereien
Au-spielereien

schwierig ...

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Stefan U. schrieb:
> Die üblichen Mikrocontroller, die Anfänger verwenden, haben leider
> vermutlich alle kein CAN Interface.

Viele Autos auch nicht. Es hat daher keinen Sinn, sich auf CAN zu 
konzentrieren. Da gibt es noch ISO 14230 KWP, SAE J1850, ISO 9141 etc. 
Deswegen der Hinweis auf dem ELM Chip, der einem dieses abnimmt.

https://en.wikipedia.org/wiki/On-board_diagnostics#OBD-II_signal_protocols

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.