AVR als anfang in die Elektronik.

OP #6585365
Lesenswert?

Da ich mich nun seit geraumer Zeit  für die Elektronik interessiere, 
habe ich mich entschlossen endlich mit anzufangen. Ich habe keine 
Erfahrung und programmieren kann ich auch nur vielleicht die Grundlagen 
von c++. Ich möchte die Elektronik auf einem Level lernen um beim jugend 
forscht Wettbewerb mitzumachen. Alles schön und gut jedoch habe ich 
keine Ahnung wo ich anfangen soll. Desto weiter ich suche desto mehr 
verwirrter wird es. Da ich nun aber weiß dass Avr für Anfänger wohl 
einen guten Einstieg vermittel, ist meine Frage ob die auch stimmt.Falls 
ihr Tutorials,Bücher oder andere Sachen kennt dann würdet ihr mir auch 
mit weiterhelfen.
Oh uns falls Avr nicht passt, könnt ihr mir gerne Alternativen 
vorschlagen.
Danke im vorraus _:)
Beitrag #6585382 wurde von einem Moderator gelöscht.
Gast #6585505
Lesenswert?

hi Crazy M.,
ich würde dir vorschlagen "learning by doing". Wenn du bei jugend 
forscht mitmachen möchtest hast du ja bereist eine Idee oder ?
Fange einfach an diese umzusetzen. Du wirst auf Probleme stoßen die du 
dann durch Bücher oder heute Internet lösen wirst.
So wirst du nach und nach zu einem Nerd :-)
Um die Sache dann noch beglaubigen zu lassen kannst su dann noch 
Elektrotechnik studieren.
LG
#6585759
Lesenswert?

Was hast Du denn schon so an Programmiererfahrung?

Die Sache ist meiner Meinung nach nämlich die:
Es ist zwar äusserst naheliegend, C++ lernen zu wollen, wenn man 
Mikrocontroller programmieren will. Schliesslich ist das DIE Sprache 
schlechthin, in der Mikrocontroller programmiert werden, meist bleibt 
einem ja auch gar nichts anderes übrig (ausser vielleicht Assembler).

Aber: C++ ist in meinen Augen auch so ziemlich die ungeeignetste Sprache 
überhaupt, um die ersten Programmiererfahrungen zu machen. C++ ist 
einfach keine Anfängersprache, für den Einstieg in die Programmierung 
ist sowas wie Python (oder in meiner Jugend: Basic) einfach viel besser 
geeignet.
Der Einstieg in die Programmierung fällt imho einfach viel leichter, 
wenn man mit einer Sprache anfängt, die
- eine REPL-Shell bietet, d.h. eine Möglichkeit, Befehle einfach 
eingeben und direkt ausführen zu können, statt immer erst das komplette 
Projekt zu kompilieren etc. zu müssen. Das ist ein unschätzbarer 
Vorteil, wenn man einfach mal schnell irgendetwas live ausprobieren und 
bisschen herumprobieren kann.
- dynamisch typisiert ist, d.h. man nicht im Vorfeld bei jeder Variable 
den Typ festlegen muss

Da Dein Ziel ja ist, bei Jugend Forscht mitzumachen: Dort wird sich die 
Jury vermutlich kaum dafür interessieren, in welcher Programmiersprache 
Du Dein Projekt programmiert hast. Es wird keine grossen Sonderpunkte 
dafür geben, dass Du Dich mit C++ abgequält hast und Dein Programm durch 
die grössere Hardwarenähe schneller läuft, denn vermutlich wird ein 
menschlicher Beobachter  das nicht einmal wahrnehmen können.

Ich würde überlegen, statt eines schwachbrünstigen AVRs direkt einen 
vglw. leistungsfähigen ESP8266 oder ESP32 zu nehmen. Den kann man 
nämlich auch in Python oder LUA programmieren - das ist deutlich 
leichter zu lernen, und wird mit ziemlicher Sicherheit für Dein Jugend 
forscht-Projekt völlig ausreichend sein. Und auch wenn Du das bei Deinem 
JF-Projekt vielleicht gar nicht brauchen wirst: Im Gegensatz zum AVR 
hast Du da auch gleich WLAN und im Falle des ESP32 zusätzlich auch noch 
Bluetooth LE eingebaut, Du könntest später also noch irgendwelche WLAN- 
oder Bluetooth-basierten Zusatzfeatures einbauen (zugehörige 
Smartphone-App, Steuerung über das Internet, whatever), mit denen Du die 
Jury beeindrucken könntest. Und so ein Development Board mit ESP32 
kostet auch nur geringfügig mehr als ein AVR-Board.
#6586773
Lesenswert?

Hallo,

fange doch mit Transistorschaltungen an. Z.B. Blinker mit komplementären 
Transistoren, Multivibratoren, Blinker mit zwei gleichen Transistoren, 
kleine Audioverstärker, seit die Mittelwelle tot ist, kannst Du das 
Detektorradio überspringen. Wen Du schon beim Überspringen bist, 
brauchst Du auch keine Topfkreise lernen. Operationsverstärker in allen 
Grundschaltungen sollte man kennen. Später dann RC-Oszillatoren mit 
Logikgattern wie 4093, 4011 und ähnliche, 4060 mit RC oder Quarz mal 
aufbauen, 4046 PLL ausprobieren. Naja, bis dorthin kannst Du den AVR 
bestimmt schon in Assembler und in C Programmieren und brauchst das 
ganze Analogwissen dann eh nicht mehr wirklich, sondern nur dann, wenn 
Du den Fehler nicht finden kannst. Du kannst Dich ja auch noch in 
Höchstfrequenztechnik mit Streifenleitern einarbeiten....

MfG
#6586802
Lesenswert?

#6586927
Lesenswert?

Hallo zusammen, hallo Crazy.

Du brauchst eine Anwendung!!!!!, die dir ewas bringt!

.. Ich möchte mich mal MCs beschäftigen..., und vieles andere mehr 
bringt dir nichts. Die blinkende LED ist genauso (un)wichtig und 
langweilig wie das 'Hello World' auf dem Display.
Programmiersprache kannst du dir beliebig! aussuchen; wenn es C(++) sein 
soll, nur zu. Vieles Andere ist genau so gut und schön. Ich erwähne 
bewusst keine andere bevor hier, wie so oft, der Sprachenkrieg losgeht. 
Such dir aus, was dir gefällt.
Es muss kein Arduino sein, selbst mit einem Tiny 13 kann man auf dem 
Steckbrett nette Dinge zum Üben zusammenfrickeln.

73
Wilhelm
#6586977
Lesenswert?

Joachim S. schrieb:
> Es ist zwar äusserst naheliegend, C++ lernen zu wollen, wenn man
> Mikrocontroller programmieren will. Schliesslich ist das DIE Sprache
> schlechthin, in der Mikrocontroller programmiert werden,

Wenn man C++ durch C ersetzt, stimmt es (zumindestens für 8-Bit AVR).
Das soll keine Diskussion über die beste Programmiersprache für 
Mikrocontroller lostreten, aber so kann man das nicht stehen lassen.
Gast #6587175
Lesenswert?

Wilhelm S. schrieb:
> Du brauchst eine Anwendung!!!!!, die dir ewas bringt!
Deine Tastatur hat einen Tastenklemmer.

Ja, eine konkrete Anwendung sollte man im Auge haben. Als Anfänger muß 
man dazu aber akzeptieren, dass der Weg dahin steinig sein kann und man 
sich über Tage oder Wochen Grundlagen erarbeiten muß.

> .. Ich möchte mich mal MCs beschäftigen..., und vieles andere mehr
> bringt dir nichts. Die blinkende LED ist genauso (un)wichtig und
> langweilig wie das 'Hello World' auf dem Display.

Ich weiß nicht, wie ich Dein "(un)wichtig" verstehen soll. Wenn die LED 
blinkt, hat man schon einmal mindestens zwei Bauteile richtigherum 
angeschlossen. Wieviele Kasper tauchen hier jede Woche im Forum auf, die 
nicht in der Lage sind, mit einem µC ein Relais zu schalten, weil sie 
den Transistor nicht begriffen haben?

Als bei mir nach längerem Stochern "Tach Manfred" auf dem LCD stand, ein 
paar Tage später per Tasten eine Zahl im Display rauf und runter gezählt 
und auch korrekt formatiert angezeigt wurde, war das keine unsinnige 
Beschäftigung.

Anders gesagt: Ich habe mit meinem ersten Arduino diverse simple Dinge 
durchgespielt, auch Blinke-LED und Lauflicht, bevor ich die eigentliche 
Aufgabe begonnen habe.
Gast #6587179
Lesenswert?

Stefan ⛄ F. schrieb:

> Auch auf den 32 bittern wird C++ eher selten verwendet, wenn wir Arduino
> mal außen vor lassen.

Äh, nö. Auf den Dickschiffen wird natürlich massig C++ verwendet. Außer 
vielleicht direkt im Kernel, weil das ja meist Linux ist. Aber auf den 
höheren Ebenen ist natürlich sehr oft auch C++ zu finden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren