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
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!
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
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
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 ;-)
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.
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.
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
> 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.
Ich habe auch schon die ganze Zeit gerätselt: Aus-pielereien Au-spielereien schwierig ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.