Forum

Einloggen | Registrieren | RSS  

Sel(R)

E-Mail

Radebeul,
31.03.2016,
18:32
 

µC - ich würde fremdgehen (Elektronik)

Hallo ihrs,

wenn ich eine Schaltungslösung suche, immer wieder stoße ich auf diese µControler. Früher machte man viele Sachen mit paar Transistoren oder einfachen ICs, heute kauft man nen µC für paar Cent, programmiert den und fertsch.

Ok, auf meine alten Tage werde ich da keinen Baum ausreißen, aber irgendwie werde ich irgendwann nicht mehr drumrumkommen mich mit dem "Mist" zu beschäftigen.

Wie und mit was kann ich da einsteigen? Zu primitiv sollte die Sache nicht sein, ich will ja nicht nach 10 Versuchen feststellen das der µC am Ende ist. Es gibt so viele Einsteigersets, ich sehe da nicht durch.

Könnt ihr mir bissel helfen bei einer Entscheidung? Preislimit um die 150 Euronen, damit kann man sicher schon mal arbeiten.

LG Sel

olit(R)

E-Mail

Berlin,
31.03.2016,
18:46
(editiert von olit
am 31.03.2016 um 19:16)


@ Sel

µC - ich würde fremdgehen

» Hallo ihrs,
»
» wenn ich eine Schaltungslösung suche, immer wieder stoße ich auf diese
» µControler. Früher machte man viele Sachen mit paar Transistoren oder
» einfachen ICs, heute kauft man nen µC für paar Cent, programmiert den und
» fertsch.
»
» Ok, auf meine alten Tage werde ich da keinen Baum ausreißen, aber irgendwie
» werde ich irgendwann nicht mehr drumrumkommen mich mit dem "Mist" zu
» beschäftigen.
»
» Wie und mit was kann ich da einsteigen? Zu primitiv sollte die Sache nicht
» sein, ich will ja nicht nach 10 Versuchen feststellen das der µC am Ende
» ist. Es gibt so viele Einsteigersets, ich sehe da nicht durch.
»
» Könnt ihr mir bissel helfen bei einer Entscheidung? Preislimit um die 150
» Euronen, damit kann man sicher schon mal arbeiten.
»
» LG Sel

https://www.conrad.de/de/c-control-i-micro-chip-5-vdc-eingaenge-ausgaenge-1-x-digital-io-1-x-digital-eingang-4-x-digital-io-bzw-analog-eingang-programm-speicher-2-kb-anschluss-198275.html

Dazu das Heft für 10,00€

Programme für den PC kann man glaube ich aus dem Internet laden.
Und ein Adapter. Zum überspielen braucht man noch.
https://www.conrad.de/de/c-control-programmieradapter-198834-rs-232-passend-fuer-serie-c-control-198834.html
Mit 40 € aber zu teuer .
Eine einfache Version mit dem MAX232 kann man aber selber bauen.


gast

31.03.2016,
19:10

@ Sel

µC - ich würde fremdgehen

»
» Könnt ihr mir bissel helfen bei einer Entscheidung? Preislimit um die 150
» Euronen, damit kann man sicher schon mal arbeiten.
»
» LG Sel

Eindeutig Arduino für Einsteiger.

Warum?

Es gibt sehr viele fertige Bibliotheken die die Arbeit ungemein erleichtern und schnell einen Erfolg garantieren.

Programmiersoftware deutsch und gratis (eine Spende ist aber angebracht)

"echte" µC Programmierer bekommen zwar eine Kriese weil Programmteile nur mehr zusammen gestellt werden und nicht "richtig" programmiert wird.

Beispiel:
Einen Text in einem LCD Display ausgeben.

icnlude <LiquidCrystal.h> -> das ist die Bibliothek die ein Könner schon geschrieben hat

lcd.begin(16, 2); LCD 16 Zeichen 2 Zeilen
lcd.setCursor(0, 1); Cursor auf Zeile oben (=0) und Zeichenplatz 1
lcd.print "Hallo Sel" ;

fertig ist die Software

Im Hintergrund ist das doch wesentlich komplexer, high Byte und low Byte übertragen, Steuerleitungen umschalten, Timing beachten - das machen echte Programmierer

Die Hardwarekosten sind sehr sehr gering und Beispiele gibt es massenweise.
Auch Einsteigerbücher (deutsch) sind ausreichend verfügbar.

xy(R)

E-Mail

31.03.2016,
19:10

@ Sel

µC - ich würde fremdgehen

» Wie und mit was kann ich da einsteigen?

Wie stehts bei dir mit Programmierkenntnissen?

Sel(R)

E-Mail

Radebeul,
31.03.2016,
19:48

@ xy

µC - ich würde fremdgehen

» » Wie und mit was kann ich da einsteigen?
»
» Wie stehts bei dir mit Programmierkenntnissen?

Praktisch Null. Ich weiß zwar paar Grundlagen, aber Programmieren würde ich das nicht nennen. Wo ich ganz gut bin ist Programmierung in Excel, das hat jedoch nix mit diesem Thema zu tun. Und dazu noch mein miserables Englisch.

In den anderen Postings kamen schon gute Vorschläge, mal sehen :-)

LG Sel

Blubblubb

31.03.2016,
20:00

@ gast

µC - ich würde fremdgehen

» »
» » Könnt ihr mir bissel helfen bei einer Entscheidung? Preislimit um die
» 150
» » Euronen, damit kann man sicher schon mal arbeiten.
» »
» » LG Sel
»
» Eindeutig Arduino für Einsteiger.
»
» Warum?
»
» Es gibt sehr viele fertige Bibliotheken die die Arbeit ungemein erleichtern
» und schnell einen Erfolg garantieren.
»
» Programmiersoftware deutsch und gratis (eine Spende ist aber angebracht)
»
» "echte" µC Programmierer bekommen zwar eine Kriese weil Programmteile nur
» mehr zusammen gestellt werden und nicht "richtig" programmiert wird.
»

Naja, so schlimm wie LabView isses ja nun auch nicht :D

» Beispiel:
» Einen Text in einem LCD Display ausgeben.
»
» icnlude <LiquidCrystal.h> -> das ist die Bibliothek die ein Könner schon
» geschrieben hat
»
» lcd.begin(16, 2); LCD 16 Zeichen 2 Zeilen
» lcd.setCursor(0, 1); Cursor auf Zeile oben (=0) und Zeichenplatz 1
» lcd.print "Hallo Sel" ;
»
» fertig ist die Software
»
» Im Hintergrund ist das doch wesentlich komplexer, high Byte und low Byte
» übertragen, Steuerleitungen umschalten, Timing beachten - das machen echte
» Programmierer
»

Ein echter und guter Programmierer kommt mit den vertretbaren Mitteln zum Ziel, also wuerde ich mir da nix denken. Zumal die "echten Programmierer" ja meistens nicht mal mehr *.hex-Files von Hand patchen koennen...

Ausserdem, man sehe sich mal z.B. Steuerungen an, die sicherheitskritisch sind, die werden ja auch eher nicht bare-metal programmiert.

Kurzum, gut ist das, was einen optimal an sein Ziel bringt.

» Die Hardwarekosten sind sehr sehr gering und Beispiele gibt es
» massenweise.
» Auch Einsteigerbücher (deutsch) sind ausreichend verfügbar.

Jo, das ist das was man braucht. Es gibt auch sogenannte "Shields" um mit Erweiterungen zu spielen wenn das LED blinken schon keinen Spass mehr macht.

Ein Tipp noch: Dokumentieren, dokumentieren, dokumentieren. Und wenn es nur handschriftlich ist. Erst male Dir ein Flussdiagramm und dann implementiere es. Das macht das Leben definitiv einfacher - Auch wenn der richtige Programmierer das auch nicht braucht :D

cmyk61(R)

E-Mail

Edenkoben, Rheinland Pfalz,
31.03.2016,
21:06

@ Sel

µC - ich würde fremdgehen

Hallo DU da,

:-D :-D :-D :-D


lies hier mal ein paar Seiten und melde Dich erneut.


http://elektronik-kompendium.de/public/arnerossius/schaltungen/avr/avrkurs.htm

http://halvar.at/elektronik/kleiner_bascom_avr_kurs/

http://www.weigu.lu/a/

http://stefanfrings.de/avr_workshop/index.html

http://www.rclineforum.de/forum/board72-elektronik-spezial-eigene-schaltungen-prinzipien-realisierung/board92-atmel-programmierung-f%C3%BCr-einsteiger/?s=d94538565233cd2088510091f9ccb0e736e9ae29

....


Gruß
Ralf


» Hallo ihrs,
»
» wenn ich eine Schaltungslösung suche, immer wieder stoße ich auf diese
» µControler. Früher machte man viele Sachen mit paar Transistoren oder
» einfachen ICs, heute kauft man nen µC für paar Cent, programmiert den und
» fertsch.
»
» Ok, auf meine alten Tage werde ich da keinen Baum ausreißen, aber irgendwie
» werde ich irgendwann nicht mehr drumrumkommen mich mit dem "Mist" zu
» beschäftigen.
»
» Wie und mit was kann ich da einsteigen? Zu primitiv sollte die Sache nicht
» sein, ich will ja nicht nach 10 Versuchen feststellen das der µC am Ende
» ist. Es gibt so viele Einsteigersets, ich sehe da nicht durch.
»
» Könnt ihr mir bissel helfen bei einer Entscheidung? Preislimit um die 150
» Euronen, damit kann man sicher schon mal arbeiten.
»
» LG Sel

bastelix(R)

31.03.2016,
21:11

@ Blubblubb

µC - ich würde fremdgehen

Mit dem Arduino ist der Einstieg definitiv am einfachsten. Ich glaub über Shields brauchst du dir erst Gedanken machen wenn du was spezielles vor hast und das selber löten zu umständlich wäre.

Konkret würde ich den Arduino Uno empfehlen: Günstig, 5V-Logik, robust, weit verbreitet und die Leistung sowie die IO-Ports sollten für den Anfang auch reichen.

» » Im Hintergrund ist das doch wesentlich komplexer, high Byte und low Byte
» » übertragen, Steuerleitungen umschalten, Timing beachten - das machen echte Programmierer
Naja, wenn man berufsmäßig programmiert sollte man wissen was da im Hintergrund passiert. Normalerweise greift man auch da auf ne fertige Bibliothek zurück und erfindet nicht jedes mal das Rad neu, aber die Zusammenhänge sollte man schon verstehen - wenn man das berufsmäßig macht. Gut im Embedded-Umfeld muss man da wohl öfter mal ein etwas abgewandeltes Rad erfinden als in meiner Ecke aber ich kenne keinen Embedded-Entwickler der nicht auf fertigen Code zurückgreifen würde es möglich wäre.

» Jo, das ist das was man braucht. Es gibt auch sogenannte "Shields" um mit
» Erweiterungen zu spielen wenn das LED blinken schon keinen Spass mehr
» macht.
Die meisten Shields sind eigentlich für Leute gedacht, die von E-Technik keine/wenig Ahnung haben und schnell zum Ziel kommen wollen. Vieles davon kann man auch selber löten. Es spricht natürlich nichts gegen Shields, man muss ja nicht immer das Rad neu erfinden ;-) Aber man kann auch mehr als nur mit LEDs rumspielen ohne gleich ein Shield kaufen zu müssen. Oh und es gibt auch noch Breakout-Module für spezielle Aufgaben (z.B. SD-Karten, WLAN, Funk, ...)

» Auch wenn der richtige Programmierer das auch nicht braucht :D
Genau! Und kommentieren muss man auch nicht. Guter Code dokumentiert sich selbst!

Ne ernsthaft, wenn das Programm etwas umfangreicher wird (sagen wir mal mehr als 20 Zeilen) sollte man schon von Anfang an auf eine gute Dokumentation achten. So als Faustformel: Für jede Methode und jede Klasse/Modul muss mit mindestens einem Satz kommentiert werden was sie tut bzw. wozu sie da ist. Bei komplexeren Programmen ist auch eine grafische Skizze sinnvoll. Muss nicht unbedingt ein Flussdiagramm sein, aber ein Bild kann komplexe zusammenhänge recht gut visualisieren. Und wenn man nach einem Jahr oder so an seinem alten Code was ändern muss ist man sich selbst für ne Doku sehr dankbar ;-)

Wenn ich meinen Code dokumentiere stell ich mir immer vor ein neuer Kollege müsste meinen Code verwenden/pflegen und ich wär grad in Urlaub. Dann versuch ich den Code so zu dokumentieren, dass er ihn versteht und mich nicht im Urlaub anruft (natürlich nur wegen den Roaming-Gebühren ;-) )

gast

31.03.2016,
21:19

@ Blubblubb

µC - ich würde fremdgehen

» Ein Tipp noch: Dokumentieren, dokumentieren, dokumentieren. Und wenn es nur
» handschriftlich ist.

200% Zustimmung von einem der seine eigene Faulheit schon verflucht hat. Einen 6 Monate alten Code wieder aufdröseln dauert ungefähr 10 mal so lang wie gleich ein paar Kommentare dazu schreiben.

bastelix(R)

31.03.2016,
22:12

@ Sel

µC - ich würde fremdgehen

» Praktisch Null. Ich weiß zwar paar Grundlagen, aber Programmieren würde ich
» das nicht nennen. Wo ich ganz gut bin ist Programmierung in Excel, das hat
» jedoch nix mit diesem Thema zu tun. Und dazu noch mein miserables
» Englisch.

Naja wennst in Excel programmieren kannst, dann sollte dir algorithmisches Denken nicht fremd sein (auch wennst noch nie was davon gehört hast ;-) ) und um Objektorientiert brauchst dir als Anfänger keine Gedanken machen. Die wichtigen Schlüsselwörter die C/C++ haben lernst von ganz alleine mit den ersten Programmbeispielen.

geralds(R)

Homepage E-Mail

Wien, AT,
31.03.2016,
22:50
(editiert von geralds
am 31.03.2016 um 23:08)


@ Sel

µC - Programmieren

» » » Wie und mit was kann ich da einsteigen?
» »
» » Wie stehts bei dir mit Programmierkenntnissen?
»
» Praktisch Null. .... Wo ich ganz gut bin ist Programmierung in Excel, das hat
» ....noch mein miserables
» Englisch.
»
» -

---
:-D hm, gut in Excel Programmieren? - Visual Studio Basic, also VBA im Excel?

Dein Englisch, ... nun, für Programmierer wichtig.

Sicher kennst du das Struktogramm und Flussdiagramm, oder?

https://www.google.at/search?q=Struktogramm&tbm=isch&tbo=u&source=univ&sa=X&ved=0ahUKEwidnZPb4-vLAhUDXBQKHWE5D3wQsAQIIg&biw=1479&bih=820

https://www.google.at/search?q=Struktogramm&tbm=isch&tbo=u&source=univ&sa=X&ved=0ahUKEwidnZPb4-vLAhUDXBQKHWE5D3wQsAQIIg&biw=1479&bih=820#tbm=isch&q=Flussdiagramm

ok,,, mal Schritt für Schritt....

www.sprut.de
Hier wird der PIC von Microchip sehr gut beschrieben.
Das gilt similar auch für den AVR von Atmel, sie sind ähnlich aufgebaut.

Im Übrigen, dort oben gibt's auch Bauprojekte zum Abbasteln.
Auch kannst auf Anleitung µC-Programmiermodule bauen,
damit du gleich diese welche programmieren kannst.

Tip:
Brich nichts übers Knie, sondern gehe strategisch vor.
Gerne helfe ich, wo und wie ich kann.

-->> Wenn du was brauchst, so mal auf Projekte bezogen, kann ich gerne
einspringen, dabei Schritt für Schritt die Einzelteile (auch Source-Code) im Projekt erklären.
Weil, oft kommt es auf das Projekt an, zB. mit der Controller Auswahl.

Projekt:
.) Beginne mit dem Ziel, Endlösung (meine jetzt nicht das absolute), also die Anwendung.
.) Arbeite dann auf den Anfang zurück, zur Bauteilauswahl.
.) Auch, von Anfang zum Ziel kannst anfangen, also, von beiden
Seiten gleichzeitig als grober Überblick; und dann ins Detail gehen.
Auch das kommt vor.
Also Controller Wahl, dann Endziel; geht dann, wenn du bereits Eigenschaften der verschiedenen Bauteile kennst.
Dann kannst gleich zugreifen, wie bei der einfachen Elektronik.
-> ist ähnlich wie im Wörterbuch, wo du Sachbegriffe suchst - welche als Wort, oder Phrase gesucht werden kann.
Kennst mehrere, bist schneller beim Zielfinden.

Im Übrigen:
oben wurde etwas von Display erwähnt, mit einem Header File.
Hier hast schon das erste! Projekt.

Programmiere mal ein Charakter-LCD. Du brauchst nicht einmal einen µC!!!!
Dieses kannst ganz toll mit Mäuseklavier programmieren, sodass Buchstaben zu sehen sind.
Also, das wäre schon mal eine waschechte Programmierung, nämlich die des Display-Controllers!!!
Ist ja auch ein µC, nur eben dafür zugeschnitten.

Dann nimmst diese Routinen und machst den Source für den µC und steuerst damit dein Display an.
Genauso, zB, habe ich auch angefangen zu programmieren.

Hier im ELKO hatten wir das Thema in 2014:
damals erklärte ich, wie man das mit dem LPT Port machen kann:

http://www.elektronik-kompendium.de/forum/board_entry.php?id=125063#p125068

etwas später erklärte ich das auch mit dem Mäuseklavier.

Na denn, viel Spaß!
Grüße
Gerald
---

--
...und täglich grüßt der PC:
"Drück' ENTER! :wink: Feigling!"

simi7(R)

D Südbrandenburg,
31.03.2016,
22:54

@ Sel

µC - ich würde fremdgehen

» » » Wie und mit was kann ich da einsteigen?
» »
» » Wie stehts bei dir mit Programmierkenntnissen?
»
» Praktisch Null. Ich weiß zwar paar Grundlagen, aber Programmieren würde ich ...

In deinem ersten Leben bist du doch bestimmt mal auf BASIC gestoßen. Wie wäre es mit BASCOM AVR. Es gibt einen Compiler von MCSelec in der kostenlosen Version und für Projekte über 4kB Code in der Bezahlversion.
Als Programmer genügt einer für 15,95€ z.B.
http://shop.myavr.de/index.php?sp=article.sp.php&artID=200006
Als Hardware tut es für den Anfang ein Brotbrett (engl. Breadboard)und ein µC.
» Und dazu noch mein miserables Englisch.
Ein paar Brocken genügen.

» In den anderen Postings kamen schon gute Vorschläge, mal sehen :-)
»
» LG Sel

geralds(R)

Homepage E-Mail

Wien, AT,
31.03.2016,
23:11

@ gast

µC - ich würde fremdgehen

» » Ein Tipp noch: Dokumentieren, dokumentieren, dokumentieren. Und wenn es
» nur
» » handschriftlich ist.
»
» 200% Zustimmung von einem der seine eigene Faulheit schon verflucht hat.
» Einen 6 Monate alten Code wieder aufdröseln dauert ungefähr 10 mal so lang
» wie gleich ein paar Kommentare dazu schreiben.

---
400% Zustimmung!
Aber, der Mensch ist ein fauler Hund.

Genau aus diesem Grund gehen sogar Firmen in Konkurs,
weil sie einfach dahingehend zu schlampig waren.

Gerald
---

--
...und täglich grüßt der PC:
"Drück' ENTER! :wink: Feigling!"

bastelix(R)

31.03.2016,
23:12

@ simi7

µC - ich würde fremdgehen

» In deinem ersten Leben bist du doch bestimmt mal auf BASIC gestoßen. Wie
» wäre es mit BASCOM AVR.
Die Nähe von BASCOM zu BASIC ist mir auch aufgefallen (ich kann kein BASCOM und BASIC ist fast 20 Jahre her) aber schön find ich die Sprache nicht. Wenn man etwas oder gut englisch und nicht programmieren kann dann ja - sicher keine schlechte Idee. Wenn man aber kaum englisch aber dafür etwas mehr Mathe kann (was man ja in der E-Technik braucht?) dann ist C mit einem guten Buch meiner Meinung nach die bessere Wahl. Und eine behütete Einsteigerumgebung die für Leute geschaffen wurde welche weder Ahnung von programmieren noch von Elektronik haben ist da sicher nicht verkehrt.

Ich hab mir heute mal ein Tutorial für BASCOM angeschaut (aus den Link von cmyk61), das schaut auch nicht schlecht aus aber mich hat der Installationsaufwand etwas abgeschreckt. Aber bei dem Budget kann Sel ja auch beides ausprobieren und dann schaun wo er sich wohler fühlt.

Udo

31.03.2016,
23:20

@ bastelix

µC - ich würde fremdgehen

Schau einfach mal hier vorbei:

http://www.mikroe.com/

Ob du nun in MikroBasic oder MikroC programmierst,
macht heute keinen großen Unterschied mehr.
Beide Sprachen sind fast gleich gut. Da du in Visual Basic
programmieren kannst, bietet es sich an in Basic zu bleiben. Lad dir die kostenlosen Compiler runter und
schreib in jeder Sprache mal ein kleines Programm
und schaue womit du am besten zurecht kommst.

bastelix(R)

01.04.2016,
00:42

@ Udo

µC - ich würde fremdgehen

» Schau einfach mal hier vorbei:
»
» http://www.mikroe.com/
Auf den ersten Blick: Wow! Schaut echt cool aus, aber ist auch recht teuer. Bin mir nicht sicher ob das das richtige für Sel ist. Aber grundsätzlich gefällt mir die Plattform schon, so was ich auf die schnelle gesehen haben (ok, bis auf die Preise ;-) )

» Ob du nun in MikroBasic oder MikroC programmierst,
» macht heute keinen großen Unterschied mehr.
» Beide Sprachen sind fast gleich gut.
Bei den meisten Sprachen kommt es nur darauf an was der Programmierer daraus macht, die Sprache kann nichts dafür wenn man schlecht programmiert. Aber die Sprache kann es einem einfach oder schwer machen schlecht zu programmieren. Leider findet man für Sprachen die es einem einfach machen schlecht zu programmieren meistens auch nur Anleitungen die schlechtes Programmieren lehren.
Für den Einstieg in die Programmierung ist das aber eher irrelevant, da sollte man sich wirklich die Sprache und Entwicklungsumgebung suchen mit der man sich am wohlsten fühlt (und die noch im Budget liegt)

» Da du in Visual Basic programmieren kannst, bietet es sich an in Basic zu bleiben.
Meinst du mich oder Sel? (Sorry, das ist mir nicht so ganz klar)

Also wenn Sel VB programmieren kann und sich nicht schon für das günstige und relativ einfache Arduino-Ökosystem entschieden hat, dann ist dein Vorschlag echt gut. Ich denke bei Excel immer erst mal an Formeln und da muss man nicht wirklich programmieren können aber algorithmisch denken und ich bin immer wieder beeindruckt was Leute mit Excel-Formeln so alles zaubern.

Mich hat BASCOM übrigens eher an QBASIC erinnert, aber ich kann auch VB, etwas VBA, VB.NET, PHP, C, C++, C#, Java, Ruby, Erlang, Prolog, u.v.a. ... dafür bin ich was E-Technik angeht ein blutiger Anfänger ;-)

So unter den Aspekten günstig (nicht billig) und einfach zu erlernen halte ich das Arduino-Ökosystem immer noch für das geeignetste. Einfach weil es unter dem Aspekt entstanden ist, dass damit Leute die weder von Programmierung noch von Elektronik Ahnung haben etwas tolles bauen können und die Community recht groß ist. Wenn man von einem Teilaspekt mehr Ahnung hat macht das den Einstieg noch einfacher.

Eventuell bin ich da aber auch voreingenommen, weil ich eben über Arduino zur E-Technik gekommen bin und als Softwareentwickler eine gewisse Abneigung gegenüber Programmiersprachen habe die schlechten Programmierstiel einfach machen und Assembler hasse ich! (Ja ich hab Assembler mal gelernt. Das war auch der Grund, dass ich über zehn Jahre nen Bogen um µC-Programmierung gemacht habe! ;-) )