Forum: Offtopic Programmieren Lernen aber wie welche sprache


von Patrick P. (patrick_r10)


Lesenswert?

Kann mir jemand sage wie ich es am einfachsten erlernen und welche 
Sprache ich erlernen soll?
Und welche Beispiele das ich machen könnte (Projekte).
Habe von Controllern nicht viel ahnung bitte um euere Hilfe!:)

Vielen Dank schon mal im Voraus!!:)

: Verschoben durch User
von chris (Gast)


Lesenswert?

tja einfach anfangen und dann kriegste schon mit ob es DIE sprache für 
sich ist.
aber sonst mal hier:

http://www.mikrocontroller.net/articles/AVR-Tutorial

oder hier

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

gucken....

von Roland .. (rowland)


Lesenswert?

Angeblich leicht für Neulinge zu erlernen ist Basic, wo BASCOM hier für 
Mikrocontroller ein bekannter Compiler wäre. Besser, da universeller und 
professioneller ist C/C++ - meines Erachtens auch nicht wirklich 
schwieriger zu erlernen als Basic.

von Patrick P. (patrick_r10)


Lesenswert?

Vielen dank
giebt es eine Seite wo ma alles nach einander abgearbeitet wir auch 
erklärt was der code bedeutet?

von Steffen (Gast)


Lesenswert?

Patrick Reichhold schrieb:
> Kann mir jemand sage wie ich es am einfachsten erlernen und welche
> Sprache ich erlernen soll?

Ich bevorzuge Basic im Windows wegen VBA (wegen der Arbeit) für uC nutze 
ich C wobei ich auch C und C++ im Windows nutze.

Das kommt drauf an was du machen willst.

> Und welche Beispiele das ich machen könnte (Projekte).
> Habe von Controllern nicht viel ahnung bitte um euere Hilfe!:)
>

Da würde ich mit einfachen Grundlagen anfangen, ein Steckbrett, paar uC, 
Kleinteile kaufen um erstmal verstehen zu lernen wie das alles 
funktioniert. Dazu gibt es viele Seiten, Hilfen, Tutorials.

Vorallem nicht zu komplex anfangen.

von T.roll (Gast)


Lesenswert?


von Patrick P. (patrick_r10)


Lesenswert?

Ja die sachen habe ich alles zu hause auch oszi usw!
Ja welche seiten?
ich möchte nicht falsches lernen.

von Eumel (Gast)


Lesenswert?

Patrick Reichhold schrieb:
> Ja die sachen habe ich alles zu hause auch oszi usw!
> Ja welche seiten?
> ich möchte nicht falsches lernen.


MSP430 Launchpad kaufen, online Workshop machen, glücklich werden.
Viel Spaß :)

von wendelsberg (Gast)


Lesenswert?

Patrick Reichhold schrieb:
> ich möchte nicht falsches lernen.

DAS wirst Du nie vermeiden koennen.

wendelsberg

von Patrick P. (patrick_r10)


Lesenswert?

Besitze das Evolutionsboard von Pollin Funkt auch oder?

von Steffen (Gast)


Lesenswert?

Patrick Reichhold schrieb:
> Ja die sachen habe ich alles zu hause auch oszi usw!
> Ja welche seiten?
> ich möchte nicht falsches lernen.

naja da man die uC sehr gut mit C/C++ programmieren kann, würd ich das 
nehmen.

von Patrick P. (patrick_r10)


Lesenswert?

Kannst mir bitte noch einen guten Workshop dafür sagen?

von Stepper (Gast)


Lesenswert?

Arduino.
Hab schon einige Projekte mit Schülern gemacht. Gibts nichts besseres 
ohne viel Frust.
Gibt viele Tutorials und Hilfe im Netz.
Und es ist C, ohne dass Du gleich am Anfang mit den dunklen Seiten 
dieser Sprache konfrontiert wirst :)
1
#define new delete
2
#define True 0
3
#define False -1

von MaWin (Gast)


Lesenswert?

> Kann mir jemand sage wie ich es am einfachsten erlernen und welche
> Sprache ich erlernen soll?

Üblich an (Hoch)shchulen ist derzeit Java, sozusagen der Nachfolger des 
einfach erlernbaren Basic von Annodunnemal.

> Habe von Controllern nicht viel ahnung bitte um euere Hilfe!:)

Für Microcontroller nimmt man aber eher C. Nicht ganz so leicht 
erlernbar, aber deutlich schneller. Eine entschärfte Version für den 
leichteren Einstieg findest du im Arduino.

von Dennis H. (t1w2i3s4t5e6r)


Lesenswert?

Patrick Reichhold schrieb:
> Kannst mir bitte noch einen guten Workshop dafür sagen?

chris schrieb:
> aber sonst mal hier:
>
> http://www.mikrocontroller.net/articles/AVR-Tutorial
>
> oder hier
>
> http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
>
> gucken....

Dennis

von W.S. (Gast)


Lesenswert?

Patrick Reichhold schrieb:
> Kann mir jemand sage wie ich es am einfachsten...

Nein, sagen wie DU es am einfachsten hast, kann niemand. Allenfalls, 
wie es andere für sich gemacht haben.

Aber ich gebe zu bedenken, daß "DAS PROGRAMMIEREN" keine wirklich 
eigenständige Kunst ist. Eher schon, sich für das Basteln mit Elektronik 
zu begeistern und bei dieser Gelegenhei sich eben auch um das 
Programmieren der Bauteile zu kümmern, die man dabei verwenden will.

Du soltest dich also eher fragen "wie kann ich mich für Elektronik 
interessieren?"

W.S.

von Carsten (Gast)


Lesenswert?

Hi,
MaWin schrieb:
> Üblich an (Hoch)shchulen ist derzeit Java, sozusagen der Nachfolger des
> einfach erlernbaren Basic von Annodunnemal.

Diese Aussage halte ich aber für ein (dummes) Gerücht!
Java ist mitnichten ein Nachfolger von BASIC und ganz sicher nicht 
derart Intuitiv für einen Einsteiger zu Programmieren wie mit einem 
(guten) Basicinterpreter.

Java ist im Grunde eine Plattformunabhängigere Version von C++.
Etwas anderer Syntax da bewusst auf Übernahme von C++ Elementen die nur 
noch aus Gründen der Abwärtskompatiblität zu C erhalten werden 
verzichtet wurde und das Programm benötigt immer eine Laufzeitumgebung.
Eigendlich damit das absolute Gegenteil von BASIC da mit java nur noch 
Streng Objektorientiert programmiert werden KANN während in c++ 
Programmen grundsätzlich (wegen der Abwärtskompatibilität) auch noch 
komplett Strukturorientiert erstellt werden könnten.

Im übrigen wird wohl in den meisten Hochschulen zuerst C gelehrt und 
erst nach Abschluss des C Moduls auf eine Objektorientierte Sprache 
gewechselt. Vor 10 Jahren war das dann ausschließlich C++, heute an 
vielen HS dann statt C++ halt JAVA.
Aber der grundsätzliche Ablauf "Erst C -> Dann Objektorientiert" der ist 
an allen HS deren Lehrinhalte mir bekannt sind so vorgesehen.

Aber BTT:
@TE
Wenn du µC Programmierung lernen möchtest um damit das eine oder andere 
Projekt zu machen, dann ist heute ganz klar C angesagt. Es gibt für 
praktisch jeden gängigen µC einen C Compiler und viele passende Libs.
Auch praktisch alle aktuellen µC Tutorials basieren auf C.

C++ kommt mit den großen Controllern auch immer mehr, aber im verhältnis 
zu C ist die Verbreitung im bereich der (echten) µC noch gering.
Davon abgesehen beginnt beinahe jeder C++ Lehrgang, Buch, Tutorial usw. 
sowieso mit C. Also ist man mit C Wissen beim Lernen von C++ deutlich im 
Vorteil.

BASIC gibt es einige Dialekte für µC. Aber die sind praktisch nur für 
den Hobbybereich relevant. Zudem ist das alles andere als Universell 
denn Basic ist eben NICHT gleich BASIC. Die Dialekte unterscheiden sich 
teilweise ERHEBLICH. Ausserdem gibt es viele dieser Compiler nur für 
einige wenige µC Familien. Durch die deutlich geringere Verbreitung gibt 
es auch viel wenige an Libs, Frameworks usw.
Wenn man nur ganz schnell etwas Blinken lassen will oder ähnlich 
einfache Anwendungen hat ist man da vielleicht schneller mit. Aber 
sobald es Anspruchsvoller wird kommt man genauso schnell in eine 
Sackgasse.

Daher Noch einmal:
Für die µC Programmierung steige (heute) mit C ein.
Das schöne an C ist das C eben wirklich gleich C ist. Lediglich bei den 
Libs unterscheiden sich die einzelnen Plattformen. Wenn du dann C kannst 
und du mit wirklich Leistungsstarken µC arbeitest oder doch in die PC 
Programmierung einsteigen willst ist das eine super Basis um sich mit 
C++ oder Java zu befassen...

Falls du allerdings beabsichtigst später auch beruflich etwas in der 
Richtung µC Firmwareentwicklung zu machen oder einfach nur die Ambition 
hast nicht nur funktionierende Programme zu schreiben sondern wirklich 
zu verstehen was da auf der untersten ebene Abläuft würde ich zusätzlich 
noch dazu raten dich mal etwas mit Assembler zu beschäftigen. Das muss 
selbst für eine Berufliche Laufbahn heute nicht mal mehr Perfekt sein, 
aber zumindest das Verständniss dafür was da abläuft sollte da sein.
(Bzw. Man sollte ein ASM Programm lesen können, selber komplexe 
Programme schreiben braucht man als Einsteiger heute nur noch sehr 
selten - schadet aber nicht das zu können)
- Aber wie gesagt: Das nur noch bei weitergehenden Ambitionen. Zumal ja 
auch hier wieder jede Familie ihren eigenen Dialekt hat.  Das Prinzip 
ist aber gleich.

Gruß
Carsten

P.S.: Auch wenn es auf den ersten Blick für viele Langweiliger 
erscheint:
Als Einsteiger ist man SEHR GUT BERATEN wenn man die ersten 
Programmierschritte in C auf dem PC macht.
Da hat man einfach die viel direktere Rückmeldung und muss nicht als 
Einsteiger raten warum der µC nicht das macht was man vor hat. Erst wenn 
die wirklichen Grundlagen sitzen sollte der Sprng auf den µC erfolgen.

von Lehrer (Gast)


Lesenswert?

Carsten, Du schreibst mir immer viel zu lange. Deine Beiträge sind 
inhaltlich oft recht gut. Aber mir ist es als zu viel zum Lesen.

von Steffen (Gast)


Lesenswert?

Lehrer schrieb:
> Carsten, Du schreibst mir immer viel zu lange. Deine Beiträge sind
> inhaltlich oft recht gut. Aber mir ist es als zu viel zum Lesen.

dann lies es nicht!

Ich finde es sehr gut und ausführlich. Wir haben immer wieder "Anfänger" 
die fragen stellen nur weil es nicht schnell genug geht oder sie nicht 
einmal die Grundlagen beherschen.

von Johannes O. (jojo_2)


Lesenswert?

Stepper schrieb:
> Arduino.
> Hab schon einige Projekte mit Schülern gemacht. Gibts nichts besseres
> ohne viel Frust.

Sein Ziel ist es NICHT, dass man mit möglichst großer Abstraktion der 
Hardware möglichst schnell ans Ziel kommt. Sondern er will 
"Programmieren Lernen".
Und es gehört hier dazu, dass man sich auch über die darunterliegende 
Hardware (Timer, I/Os, UART etc.) seine Gedanken macht. Ansonsten könnte 
er ja gleich am PC programmieren.

Als Projekt für den Anfang (zum Beispiel):
- Blinkende LED (ernst gemeint!)
- Mehrere LEDs, Lauflicht
später mal:
Binäruhr, Kommunikation über UART, internen ADC auslesen etc.

Fang zuerst mit einfachen Dingen an, bist du weißt wie sich der 
Controller verhält. Dann kannst du dich an schwierigeres wagen.

von Patrick P. (patrick_r10)


Lesenswert?

ja lauf lichter habe ich schon programmiert!
wo finde ich codes mit erklärung für andere beispiele?

von Timm T. (Gast)


Lesenswert?

Patrick Reichhold schrieb:
> wo finde ich codes mit erklärung für andere beispiele?

Andersrum: Suche Dir ein überschaubares Projekt, schau dann, wie andere 
das Problem / die Teilprobleme gelöst haben, und wende es Schritt für 
Schritt auf Dein Projekt an. Dabei lernst Du mehr, als wenn Du einen 
fertigen Code versuchst zu verstehen - zumindest sobald dieser etwas 
komplexer als eine blinkende LED oder ein Lauflicht ist.

von Patrick P. (patrick_r10)


Lesenswert?

Was für ein Projekt würdest ma raten?

von Hannes L. (hannes)


Lesenswert?

Patrick Reichhold schrieb:
> Was für ein Projekt würdest ma raten?

Z.B.:

1. Eine blinkende LED.

2. Zwei blinkende LEDs mit leicht unterschiedlicher Frequenz.

3. Wie 2, dazu zwei Taster, mit denen man die beiden Blinker separat 
ein/aus schalten kann, also einmal drücken ein, nochmal drücken aus.

Das reicht erstmal für ein paar Aha-Effekte. Und bitte Algorithmen und 
Code selbst entwerfen und nicht im Netz zusammensuchen oder gar 
zusammenfragen.

...

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Eigentlich ist die Programmiersprache ziemlich "Wurst". Wichtig ist das 
Verstehen von Programmieren ansich, die Problemanalyse von Oben nach 
Unten (top down) und die algorithmische Lösung von Unten nach Oben 
(bottom up).

Ob am Ende nun nach jeder Zeile ein Semikolon kommt oder man geschweifte 
oder runde Klammern verwendet - what happens?

Einen gewissen Unterschied macht die objektorientierte oder die 
prozedurale Programmierung ... in der Paraxis gibts da aber so viele 
Überschneidungen ... also auch hier wird nur "mit Wasser gekocht".

von Patrick P. (patrick_r10)


Lesenswert?

Wie Progrmier ich einen Zähler ?
Mfg

von Michael .. (thing)


Lesenswert?

Patrick Reichhold schrieb:
> Wie Progrmier ich einen Zähler ?
> Mfg

Mach erst mal ein Pflichtenheft.

Also wie viele Stellen?
Wie soll der Zählerstand angezeigt werden?
Was soll gezählt werden?
Wie soll gezählt werden?
Soll bei einem bestimmten Zählerstand was ausgelöst werden?
Wie schnell soll gezählt werden?
Soll der Zähler auf Null gesetzt werden und wie oder wann?
 usw. usf.

Vorteilhaft wäre es, auch erst mal einen Controller auf dem Steckbrett
zum Laufen zu bringen.

Als Sprache eignet sich Assembler, C, oder Basic.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Patrick Reichhold schrieb:
> Wie Progrmier ich einen Zähler ?

indem du eine Zählervariable hast, und diese "ab und an" oder 
regelmäßig" hoch- oder runterzählst. Wenn die Zählvariable ihren 
maximalen oder minimalen Wert erreicht hast, dann überlegst du dir was 
dann passieren soll, z.B. sollen dann der Zähler auf einen neuen 
Anfangswert gesetzt werden, oder irgendwas stoppen oder starten etc...

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

und wieso jetzt 2 threads?

Beitrag "Zähler mit Taster und Zeit"

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.