Microcontroller-Programmierung
Microcontroller-Programmierung
Abend proggen.org!
Nach knapp einem Jahr melde ich mich hier auch mal wieder zu Wort.
Mein damaliges Verschwinden lässt sich damit begründen, dass ich 1. wieder mehr mit meiner Ausbildung (Elektroniker für Betriebstechnik) beschäftigt war 2. mein ursprüngliches Ziel, die Grundlagen, das wie und warum beim Programmieren zu verstehen, erreicht hatte.
Aufgegeben hab ich das Programmieren zwar nicht ganz, habe mich aber ausbildungsbedingt auf Systeme wie LogoSoft und S7 konzentriert. Es lässt sich zwar keinesfalls mit C vergleichen, trotzem macht es Spaß, Aufgaben damit umzusetzen. Unabhängig, ob zur reinen Übung, oder um kleiner Aufträge im Betrieb zu erledigen.
Allerdings ist mir klar, das es sich bei diesen Systemen um Industriestandards handelt und man z.B. in einem Digitalwecker nicht unbedingt eine SPS verbaut.
Genau dies stellt das Ziel dar, welches ich mir fürs nächste Jahr vorgenommen habe:
Ich möchte Hardware mit einer nicht-grafischen Sprache programmieren, um einfache Steuerungen damit aufbauen zu können.
Angefangen vll. mit einer Blinkerschaltung, weiter zur Stoppuhrfunktion, bis hin zum einstellbaren Digitalwecker, oder einem Taschenrechner der ein paar Grundfunktionen beherrscht.
Wäre für dieses Vorhaben C weiterhin eine geeignete Sprache?
Könnt ihr mir irgendwelche Mikrocontroller (oder was auch immer man dafür verwendet) empfehlen, welche man recht einfach mit einem Display, einzelnen LEDs und Tastern verbinden kann? Von Vorteil wäre auch, wenn das Aufspielen der Programme recht einfach direkt über den PC funktionieren würde.
Gibt es irgendwas in dieser Richtung auf dem Markt?
Viel Geld möchte ich auch nicht unbedingt gerne für etwas ausgeben, von dem ich keine Ahnung habe, ob ich damit zurecht komme und ob es micht überhaupt dauerhaft begeistern kann. Maximal 60€ wäre es mir es mir zumindest für den Anfang wert.
Danke schonmal für die Antworten!
Gruß
Marco
PS: ich habe das Thema mal im Vorstellungsbereich erstellt, da mir nach einem Jahr Abwesenheit eine Neuvorstellung vll. nicht ganz verkehrt vorkommt und sich mein Vorhaben nicht zwingend auf C versteifen muss
Edit by Xin: Titel geändert, ursprünglich "Melde mich auch mal wieder"
Nach knapp einem Jahr melde ich mich hier auch mal wieder zu Wort.
Mein damaliges Verschwinden lässt sich damit begründen, dass ich 1. wieder mehr mit meiner Ausbildung (Elektroniker für Betriebstechnik) beschäftigt war 2. mein ursprüngliches Ziel, die Grundlagen, das wie und warum beim Programmieren zu verstehen, erreicht hatte.
Aufgegeben hab ich das Programmieren zwar nicht ganz, habe mich aber ausbildungsbedingt auf Systeme wie LogoSoft und S7 konzentriert. Es lässt sich zwar keinesfalls mit C vergleichen, trotzem macht es Spaß, Aufgaben damit umzusetzen. Unabhängig, ob zur reinen Übung, oder um kleiner Aufträge im Betrieb zu erledigen.
Allerdings ist mir klar, das es sich bei diesen Systemen um Industriestandards handelt und man z.B. in einem Digitalwecker nicht unbedingt eine SPS verbaut.
Genau dies stellt das Ziel dar, welches ich mir fürs nächste Jahr vorgenommen habe:
Ich möchte Hardware mit einer nicht-grafischen Sprache programmieren, um einfache Steuerungen damit aufbauen zu können.
Angefangen vll. mit einer Blinkerschaltung, weiter zur Stoppuhrfunktion, bis hin zum einstellbaren Digitalwecker, oder einem Taschenrechner der ein paar Grundfunktionen beherrscht.
Wäre für dieses Vorhaben C weiterhin eine geeignete Sprache?
Könnt ihr mir irgendwelche Mikrocontroller (oder was auch immer man dafür verwendet) empfehlen, welche man recht einfach mit einem Display, einzelnen LEDs und Tastern verbinden kann? Von Vorteil wäre auch, wenn das Aufspielen der Programme recht einfach direkt über den PC funktionieren würde.
Gibt es irgendwas in dieser Richtung auf dem Markt?
Viel Geld möchte ich auch nicht unbedingt gerne für etwas ausgeben, von dem ich keine Ahnung habe, ob ich damit zurecht komme und ob es micht überhaupt dauerhaft begeistern kann. Maximal 60€ wäre es mir es mir zumindest für den Anfang wert.
Danke schonmal für die Antworten!
Gruß
Marco
PS: ich habe das Thema mal im Vorstellungsbereich erstellt, da mir nach einem Jahr Abwesenheit eine Neuvorstellung vll. nicht ganz verkehrt vorkommt und sich mein Vorhaben nicht zwingend auf C versteifen muss
Edit by Xin: Titel geändert, ursprünglich "Melde mich auch mal wieder"
- cloidnerux
- Moderator
- Beiträge: 3123
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Melde mich auch mal wieder
DefinitivWäre für dieses Vorhaben C weiterhin eine geeignete Sprache?
Ich bin da wrsl der richtige AnsprechpartnerKönnt ihr mir irgendwelche Mikrocontroller (oder was auch immer man dafür verwendet) empfehlen, welche man recht einfach mit einem Display, einzelnen LEDs und Tastern verbinden kann? Von Vorteil wäre auch, wenn das Aufspielen der Programme recht einfach direkt über den PC funktionieren würde.
Du solltest dir mal Arduino anschauen, das ist das was du suchst
SPS kommt sehr bald auf mich zu, ich fand aber bisher immer µC besser. Vlt kann man sich da mal austauschen.Aufgegeben hab ich das Programmieren zwar nicht ganz, habe mich aber ausbildungsbedingt auf Systeme wie LogoSoft und S7 konzentriert. Es lässt sich zwar keinesfalls mit C vergleichen, trotzem macht es Spaß, Aufgaben damit umzusetzen. Unabhängig, ob zur reinen Übung, oder um kleiner Aufträge im Betrieb zu erledigen.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
- Xin
- nur zu Besuch hier
- Beiträge: 8859
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Melde mich auch mal wieder
Was genau ist das?Hallou hat geschrieben:Aufgegeben hab ich das Programmieren zwar nicht ganz, habe mich aber ausbildungsbedingt auf Systeme wie LogoSoft und S7 konzentriert.
Also SPS-Programmierung... auch ein interessantes Thema.Hallou hat geschrieben:Allerdings ist mir klar, das es sich bei diesen Systemen um Industriestandards handelt und man z.B. in einem Digitalwecker nicht unbedingt eine SPS verbaut.
Die kleinen Microcontrollers sind soweit ich weiß nicht sonderlich teuer. Sie werden auch mit C programmiert.Hallou hat geschrieben:Gibt es irgendwas in dieser Richtung auf dem Markt?
Viel Geld möchte ich auch nicht unbedingt gerne für etwas ausgeben, von dem ich keine Ahnung habe, ob ich damit zurecht komme und ob es micht überhaupt dauerhaft begeistern kann. Maximal 60€ wäre es mir es mir zumindest für den Anfang wert.
cloidnerux kann Dir da eventuell weiterhelfen. (PS: Zu spät ^^)
Ich habe es mal in Richtung Projekte verschoben, da es ja doch vorrangig eine klare Projektfrage enthältHallou hat geschrieben:PS: ich habe das Thema mal im Vorstellungsbereich erstellt, da mir nach einem Jahr Abwesenheit eine Neuvorstellung vll. nicht ganz verkehrt vorkommt und sich mein Vorhaben nicht zwingend auf C versteifen muss
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Microcontroller-Programmierung
Danke fürs Verschieben Xin
LogoSoft kannst du dir als recht nützliche Demo direkt downloaden und als S7-Alternative könntest du dir WinPLC7v5 von Vipa, ebenfalls als Demo holen, wenn du dich damit im Vorfeld schonmal etwas auseinander setzen möchtest.
Haben beide ihre Vor- und Nachteile, im Endeffekt erinntert mich das ganze aber ein bisschen ans Spielen mit Lego:
Du hast deine fertigen Bausteine und fügst sie beliebig zusammen, um was größeres daraus zu machen
Mit klassischem Programmieren hat es also eigentlich nicht sonderlich viel gemeinsam...
Gefunden hätte ich zmd. mal diese Sets:
http://www.amazon.de/Kompatibel-Tutoria ... bel+UNO+R3
http://www.amazon.de/Arduino-Ultimate-S ... ds=Arduino
Bei der billigeren Kopie wäre halt für weniger Geld deutlich mehr enthalten, fragwürdig ist nur, ob das Teil zu etwas zu gebrauchen ist.
Noch eine Ecke günstiger gäbe es welche, die sich nur auf ein paar Bauteile, ein Steckbrett und dem R3 selbst beschränken. Wo bekäme ich in dem Fall allerdings die Software und Anleitungen her?
http://www.amazon.de/gp/product/B0051QH ... =computers
Was wäre für mich zu empfehlen?
Zudem bin ich auch noch etwas verwirrt, was die Programmiersprache angeht. Scheinbar benutzt man für diese Dinger eine stark vereinfachte Art von C?
(hoffe mal, die Links sind kein Problem, ansonsten nehme ich sie wieder raus)
Sofern ich dir dabei helfen kann, können wir uns ruhig mal darüber austauschen. Es gibt zwar verschiedene Wege, diese Teile zu programmieren, aber zmd. in unserem Bereich verwendet man LogoSoft für Logo Module (kann man als eine abgespeckten Sorte von SPS verstehen) und S7 für die normalen SPS.SPS kommt sehr bald auf mich zu, ich fand aber bisher immer µC besser. Vlt kann man sich da mal austauschen.
LogoSoft kannst du dir als recht nützliche Demo direkt downloaden und als S7-Alternative könntest du dir WinPLC7v5 von Vipa, ebenfalls als Demo holen, wenn du dich damit im Vorfeld schonmal etwas auseinander setzen möchtest.
Haben beide ihre Vor- und Nachteile, im Endeffekt erinntert mich das ganze aber ein bisschen ans Spielen mit Lego:
Du hast deine fertigen Bausteine und fügst sie beliebig zusammen, um was größeres daraus zu machen
Mit klassischem Programmieren hat es also eigentlich nicht sonderlich viel gemeinsam...
So, habe mal nach Arduino gesucht und es scheint wirklich das zu sein, was ich suche. Allerdings ist die Vielfalt an Produkten recht unübersichtlich. Empfiehlst du unbedingt den Kauf eines originalen, oder machen es die billigeren Clone genauso gut? Ebenfalls wurde mir von diversen Seiten auch das Rasperry Pi vorgeschlagen. Handelt es dabei noch um das Gleiche, oder lässt es sich eher als fertiger Mini-PC verstehen?Du solltest dir mal Arduino anschauen, das ist das was du suchst
Gefunden hätte ich zmd. mal diese Sets:
http://www.amazon.de/Kompatibel-Tutoria ... bel+UNO+R3
http://www.amazon.de/Arduino-Ultimate-S ... ds=Arduino
Bei der billigeren Kopie wäre halt für weniger Geld deutlich mehr enthalten, fragwürdig ist nur, ob das Teil zu etwas zu gebrauchen ist.
Noch eine Ecke günstiger gäbe es welche, die sich nur auf ein paar Bauteile, ein Steckbrett und dem R3 selbst beschränken. Wo bekäme ich in dem Fall allerdings die Software und Anleitungen her?
http://www.amazon.de/gp/product/B0051QH ... =computers
Was wäre für mich zu empfehlen?
Zudem bin ich auch noch etwas verwirrt, was die Programmiersprache angeht. Scheinbar benutzt man für diese Dinger eine stark vereinfachte Art von C?
(hoffe mal, die Links sind kein Problem, ansonsten nehme ich sie wieder raus)
- cloidnerux
- Moderator
- Beiträge: 3123
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Microcontroller-Programmierung
Ich habe eine S7-1200 1212C und das TIA-Portal in der Aktuellsten Version.Sofern ich dir dabei helfen kann, können wir uns ruhig mal darüber austauschen. Es gibt zwar verschiedene Wege, diese Teile zu programmieren, aber zmd. in unserem Bereich verwendet man LogoSoft für Logo Module (kann man als eine abgespeckten Sorte von SPS verstehen) und S7 für die normalen SPS.
LogoSoft kannst du dir als recht nützliche Demo direkt downloaden und als S7-Alternative könntest du dir WinPLC7v5 von Vipa, ebenfalls als Demo holen, wenn du dich damit im Vorfeld schonmal etwas auseinander setzen möchtest.
Das habe ich schon gesehenDu hast deine fertigen Bausteine und fügst sie beliebig zusammen, um was größeres daraus zu machen
Mit klassischem Programmieren hat es also eigentlich nicht sonderlich viel gemeinsam..
Die Klone tuen es genau so, als Prozessor sitzt da überall das gleiche Drauf. In Sachen Verarbeitung unterscheiden die sich aber schon mal.So, habe mal nach Arduino gesucht und es scheint wirklich das zu sein, was ich suche. Allerdings ist die Vielfalt an Produkten recht unübersichtlich. Empfiehlst du unbedingt den Kauf eines originalen, oder machen es die billigeren Clone genauso gut?
Der RPi ist ein Mini-PC. Du hast deinen (ARM)-Prozessor, speicher, Grafikchip, USB, Ethernet, Audio und eben halt ein wenig GPIO. Es läuft darauf ein Linux, es gibt Treiber und all das Gedöns.Ebenfalls wurde mir von diversen Seiten auch das Rasperry Pi vorgeschlagen. Handelt es dabei noch um das Gleiche, oder lässt es sich eher als fertiger Mini-PC verstehen?
http://arduino.cc/Wo bekäme ich in dem Fall allerdings die Software und Anleitungen her?
Die Software ist Gratis und Open Source. Arduino ist das Bastelboard, es gibt gefühlt eine Billionen Anleitungen, Tutorials und Informationen dazu
Nein, man benutzt C++. Was die Arduino-Software macht ist eine Abstraktionsschicht anzubieten. Statt das du dich mit den einzelnen Bits und Bytes rumschlagen musst gibt es Funktionen die das für dich regeln. Und du musst keine eigene main-Funktion schreiben, weil das im Hintergrund gemacht wird.Zudem bin ich auch noch etwas verwirrt, was die Programmiersprache angeht. Scheinbar benutzt man für diese Dinger eine stark vereinfachte Art von C?
Kompiliert wird aber mit einem AVR-gcc, du kannst also ganz "normal" in C/C++ deine Programme schreiben.
Ich kann dir nur schlecht sagen, welches Kit du dir kaufen solltest, weil es bisher immer so war, dass man sich erst eingearbeitet hat und dann immer mehr Möglichkeiten sieht, irgendwas cooles zu bauen.
Wenn du bestimmte Bauteile suchst solltest du mal bei den speziallisierteren Shops schauen:
http://www.proggen.org/doku.php?id=electronics:shops
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
Re: Microcontroller-Programmierung
Inklusive Hardware war es dir die Investition scheinbar wertIch habe eine S7-1200 1212C und das TIA-Portal in der Aktuellsten Version.
Auf TIA soll bei uns auch in nächster Zeit umgestellt werden, mal schauen, wie es wird.
Das Programmieren ist zwar das Selbe, aber die Oberfläche ist halt schon wieder eine leicht andere...
So, habe mich mal etwas umgeschaut und werde mir höchstwahrscheinlich dieses Kit bestellen:
http://www.amazon.de/Kompatibel-1602LCD ... uctDetails
Dabei scheint es sich um einen Nachbau von Sainsmart zu handeln. Der preistreibende Unterschied dürfte sein, dass ein ATmega328-AU, statt dem normalen ATmega328 verwendet wird.
Macht sich bei normalen Versuchen aber hoffentlich nicht bemerkbar?
Der Preis ist gut, mit dem Geld das ich spare könnte ich mir als Ersatz das selbe Modell nochmal kaufen.
Ich hoffe mal, dass das System überhaupt meinem PC laufen wird, habe in irgendeinem Forum gelesen, dass es Probleme mit Windows 8 gab. Wie alt das Thema allerdings war, ob der Fehler behoben wurde und wie es mit Windows 8.1 steht, kann ich allerdings nichtmehr sagen
- cloidnerux
- Moderator
- Beiträge: 3123
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Microcontroller-Programmierung
Das AU bezeichnet nur die Gehäuse Form, vom Chip her macht es keinen Unterschied.Der preistreibende Unterschied dürfte sein, dass ein ATmega328-AU, statt dem normalen ATmega328 verwendet wird.
Das ganze ist kein Privatvergnügen, das wird ne Steuerung die dann auch verkauft wird.Inklusive Hardware war es dir die Investition scheinbar wert
Wenn das Probleme hat, dann wrsl alle anderen Arduinos auch.Ich hoffe mal, dass das System überhaupt meinem PC laufen wird, habe in irgendeinem Forum gelesen, dass es Probleme mit Windows 8 gab
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
Re: Microcontroller-Programmierung
So, habe das Arduino heute bekommen und es inzwischen auch unter Windows 8 bzw. 8.1 zum laufen bekommen.
Es hat ist eigentlich kein Kompatibilitätsproblem, sondern es liegt einfach daran, das der Treiber für Win8 unsigniert ist. Nach ändern, Funktioniert das Ganze ohne weitere Schwierigkeiten.
Danke nochmal an cloidnerux für die Empfehlung, nach genau so etwas habe ich gesucht
Es hat ist eigentlich kein Kompatibilitätsproblem, sondern es liegt einfach daran, das der Treiber für Win8 unsigniert ist. Nach ändern, Funktioniert das Ganze ohne weitere Schwierigkeiten.
Danke nochmal an cloidnerux für die Empfehlung, nach genau so etwas habe ich gesucht
Re: Microcontroller-Programmierung
So, habe schon das erste Problem, welches sich einfach nicht lösen lässt
Ich wollte einstellen, dass beim betätigen von Taster 4 die LED 12 leuchtet und bei Taster 2 die LED 13 das Selbige tut.
Das hier wäre soweit mit Quellcode:
Angeschlossen habe ich es, ähnlich wie hier: http://www.arduino-tutorial.de/wp-conte ... Button.jpg
nur eben mit 2 Tastern und den LEDs auf dem Board ( MINUS läuft zusammen und dann auf GND).
Habe das Ganze schon mehrmals gesteckt und geschrieben, immer mit ernüchterndem Ergebnissen:
-Einer der Taster bleibt immer komplett ohne Funktion
-Beim anderen Taster leuchtet manchmal eine wie geplant, manchmal geht aber auch die andere LED mit an
-manchmal leuchtet min. eine LED auch dann noch weiter, wenn ich den Taster schon längst los gelassen habe
-manchmal flackert auch eine LED unwillkürlich auf
-bei den ersten Steckversuchen hat die Schaltung scheinbar auf meine alleinige Anwesenheit reagiert: Finger zwischen zwei Kabel gehalten = LED an, Finger wieder raus = LED wieder aus - verwirrenderweiße funktionierte das Selbe auch mit meinem Schatten aus 1m Entfernung....
Um zu testen, ob es an den LEDs liegt, habe ich zwischendurch eingestellt, dass ein Taster beide ansteuert, das ging dann wiederrum ohne Probleme.
Schlussfolgernd müsste der Fehler am 2. Eingang liegen. Hardwaretechnisch düfte es kein Fehler sein, habe schon mehrfach neu gesteckt und auch mal den Taster ausgetauscht. Unterschiedliche Ein- und Ausgänge habe ich auch schon vesucht...
Ich wollte einstellen, dass beim betätigen von Taster 4 die LED 12 leuchtet und bei Taster 2 die LED 13 das Selbige tut.
Das hier wäre soweit mit Quellcode:
Code: Alles auswählen
int buttonPin4 = 4;
int buttonPin2 = 2;
int ledPin12 = 12;
int ledPin13 = 13;
int buttonState4 = LOW;
int buttonState2 = LOW;
void setup() {
pinMode(buttonPin4, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(ledPin12, OUTPUT);
pinMode(ledPin13, OUTPUT);
}
void loop() {
buttonState4 = digitalRead(buttonPin4);
buttonState2 = digitalRead(buttonPin2);
if(buttonState4 == HIGH) {
digitalWrite(ledPin12, HIGH);
}
else {
digitalWrite(ledPin12, LOW);
}
if(buttonState4 == HIGH) {
digitalWrite(ledPin13, HIGH);
}
else {
digitalWrite(ledPin12, LOW);
}
}
nur eben mit 2 Tastern und den LEDs auf dem Board ( MINUS läuft zusammen und dann auf GND).
Habe das Ganze schon mehrmals gesteckt und geschrieben, immer mit ernüchterndem Ergebnissen:
-Einer der Taster bleibt immer komplett ohne Funktion
-Beim anderen Taster leuchtet manchmal eine wie geplant, manchmal geht aber auch die andere LED mit an
-manchmal leuchtet min. eine LED auch dann noch weiter, wenn ich den Taster schon längst los gelassen habe
-manchmal flackert auch eine LED unwillkürlich auf
-bei den ersten Steckversuchen hat die Schaltung scheinbar auf meine alleinige Anwesenheit reagiert: Finger zwischen zwei Kabel gehalten = LED an, Finger wieder raus = LED wieder aus - verwirrenderweiße funktionierte das Selbe auch mit meinem Schatten aus 1m Entfernung....
Um zu testen, ob es an den LEDs liegt, habe ich zwischendurch eingestellt, dass ein Taster beide ansteuert, das ging dann wiederrum ohne Probleme.
Schlussfolgernd müsste der Fehler am 2. Eingang liegen. Hardwaretechnisch düfte es kein Fehler sein, habe schon mehrfach neu gesteckt und auch mal den Taster ausgetauscht. Unterschiedliche Ein- und Ausgänge habe ich auch schon vesucht...
Re: Microcontroller-Programmierung
Taster an Microcontroller brauchen eine Entprellung, um vernünftig zu funktionieren.
Lies mal das (Softwareentprellung). Damit sollte es eigentlich tun.
Lies mal das (Softwareentprellung). Damit sollte es eigentlich tun.
It's as simple as that. And remember, Beethoven wrote his first symphony in C.