Arduino oder nicht?

Hallo, ich bin der neue :smiley:

Ich habe mich in meiner Jugend und Ausbildung viel mit Elektronik befasst, die letzten 10 Jahre jedoch nicht mehr, habe hauptsächlich als Webentwickler gearbeitet. Die Entwicklung der MC für den Hobbyisten ist komplett an mir vorbei gegangen und jetzt versuche ich wieder Anschluss zu finden.

Ich überlege, ob ich nun mit Arduino einsteigen soll, oder mit einem klassischen Evaluation Board. Preislich schenken die sich ja nix.
Aber ich wollte mal nach pro und contra Arduino fragen.
Ein paar Punkte, die ich so verstanden habe bzw. meine persönliche Sicht darstellen, bitte korrigieren, falls ich falsch liege:

Pro Arduino:

  • Nette Community
  • Viel Dokumentation
  • Einsteiger- und Noobfreundliche Hard-&Software

Contra Arduino:

  • Nur für AtMega8 ( ? )

Pro "Klassik"-Board:

  • Die eigene Programmiersprache von Arduino spricht mich nicht wirklich an, ich würde lieber in C entwicklen, das kann ich schon
  • Sämtliche Atmega-Chips passen aufs Board
  • Minimal günstigerer Anschaffungspreis

Contra "Klassik"-Board:

  • Die mir bekannten Communitys zeichnen sich nicht umbedingt durch Freundlichkeit gegenüber Anfängern aus, alte Hasen eben
  • Mehr Elektroniktüftelei

Ich muss dazu sagen, dass ich noch nicht wirklich den Überblick habe, was wie funktioniert, deshalb wäre es nett, wenn jemand mir die Grauzonen etwas erhellen könnte :slight_smile:

Beste Grüße, manu79

Nur für AtMega8 ( ? )

ATmega168 bzw ATmega328 bzw. ATmega2560

Die eigene Programmiersprache von Arduino spricht mich nicht wirklich an, ich würde lieber in C entwicklen, das kann ich schon

Es hindert Dich niemand daran, C zu programmieren. :wink:
Musst die String-Objekte und ähnliches ja nicht nutzen...

Der Arduino hat keine eigene Programmiersprache, er wird in C programmiert. Es sind halt nur sehr viele Bibliotheken implementiert welche die Programmierung erleichtern.

Und nicht wundern, dass es keine main() Funktion gibt, die wird im Hintergrund automatisch eingebunden.
Der Inhalt von main() ist aber relativ simpel:

#include <WProgram.h>

int main(void)
{
    init();

    setup();

    for (;;)
        loop();

    return 0;
}

Daraus ergeben sich eben setup() und loop() als Ausgangsbasis.

Danke Joghurt & MaFu für die Klarstellung.

Die unterstützten Atmegas, die du schreibst, sollten für meine Bastlerzwecke wohl ausreichen ( ? )
Die Bauform ist mir eigentlich egal, ich hatte nur irgendwie (falsch) gesehen, dass das für Atmega8 ist und dieser wiederum ein Auslaufmodell (gibt es zumindest beim Teilegroßhändler meiner Wahl nicht mehr).

Das mit der Programmiersprache habe wohl auch falsch verstanden, sorry, ich muss mich gerade in viele Sachen einlesen.

Wenn das also eine Art C-Framework darstellt, wäre das für mich ein weiterer Pro-Arduino Punkt.

Hallo alle zusammen
@ alle

ich würde lieber in C entwicklen,

wie ich das versanden habe bezog sich das nicht auf Arduino sondern auf die Alternative.

@manu79
Der Vorteil von Arduino ist, daß konsequent alles Creative Commons license Attribution-ShareAlike 2.5 gestellt ist und so man alle Schaltpläne und fast alle Platinenlayouts findet.
Die Programmierumgebung bat auf dem offiziellen AVRGCC- Compiler auf. Man programmiert in C++ kann aber auch spezielle Befehle für die direkte Controllerprogrammierung verwenden.
Es gibt spezielle funktionen um die Ein/Ausgänge und andere funktionen des Controllers anzusprechen.
Die Comunity und verschiedene Hersteler haben viel Hardware eingebunden und Bibliotheken und Beispiele und Anleitungen geschrieben.
Kaufberatung:
Aktuell ist der Arduino UNO mit einem ATmega328. Den rate ich Dir fürs anfangen.
Für größere Anwendungen (mehr Speicher und mehr Ausgänge) Arduino Mega 2560 mit einem ATmega2560.
Für andere Bedürfnisse kleine Maße, bereits vorhandene Schnittstellen gibt es Sondermodelle.

Bezugsquellen, Hardwarebeschriebungen, Befehlreferenz, Installation, und Tutorial unter Arduino.cc

Grüße Uwe

Danke Uwe, für die Zusammenfassung.

Ich denke ich werde mit Arduino anfangen, eine letzte Frage hätte ich allerdings noch.

Der Uno nutzt Atmega328, bei meinem Händler werden aber nur folgende Typen gelistet:
Microcontroller ATMEGA16-16PU
Microcontroller ATMEGA32-16PU

Sind das nun dieselben Typen?

Ich rede deshalb immer von "meinem Händler", weil mein Vater und ich dort regelmäßig größere Bestände bestellen, und 5-7? Versandkosten bei einem gleichteuren Bauteil ziemlich reinhauen, wenn ich woanders bestellen würde.

Nein, dass sind nicht die gleichen Typen. Du wirst wohl nicht drumherum kommen, andere Bezugsquellen zu erschließen. Ich gehe aber davon aus, dass dein Händler auch nicht die Arduino-Boards listet. Du könntest dieses beispielsweise bei Watterott oder Segor bestellen und gleich zwei, drei Mikrocontroller mehr bestellen.

Das hatte ich auch schon überlegt, werde es wohl so machen.

Ok super, danke an alle, ich werde hier im Forum wohl wieder aufschlagen, sobald ich alles zusammen habe und nichts verstehe :smiley:

Die ATmega328 des Arduino haben bereits einen Bootloader und andere Einstellungen ( zb für externen Takt) programmiert.
Wenn Du eine ATmega328 beim Bauteilhändler bestellst, bekommst Du sie ohne Bootloader. Diesen kannst Du aber mit einem anderen Arduino UNO oder einem ISP-programmierer draufladen. Im IDE sind alle Files mitgeliefert.

Fang mal mit einem Arduino UNO an und dann wenn Du eingearbeitet bist und Du Lust bekommst mehr zu machen kannst Du Dich an den Selbstbau wagen.
Grüße Uwe

Arduino or not Arduino ? This is the sugar like question !

Kannst dir ja einen Arduino und das Propeller Shield dazu kaufen.

Kann man das Propellurino Shield eigentlich auch in Deutschland beziehen ?

Unter, Der Domainname e-robotix.de steht zum Verkauf., lese ich schon seit Monaten das wegen Urlaub geschlossen ist !

Alles klar, ich werde mir erstmal die Woche den Uno bestellen, und bis dahin versuchen, die Software unter Ubuntu zu installieren.

Noch der Fragen zwei:
Kann man mit der IDE auch simulieren?

Hat jemand einen Tipp zum Einstieg, wie ich die Uhrzeit "zählen" kann? Also ich muss die wohl erstmal einstellen, aber gibt es da Funktionen für, oder muss ich selber Takte zählen?

IDE simuliert nicht. :frowning:

Zeit zählen:
millis()
micros()
Librarys:
http://www.arduino.cc/playground/Code/Time
http://www.arduino.cc/playground/Code/Metro
http://www.arduino.cc/playground/Main/MsTimer2
Grüße Uwe

Die IDE hat keinen Simulator, neulich bin ich aber über folgendes gestoßen: http://www.virtualbreadboard.net/Shop/tabid/206/Default.aspx

Nach dem Start zählt der Mikrocontroller selbstständig seine Millisekunden, eine richtige Uhrzeit ist das jedoch nicht. Hier bietet sich eine RTC (Real Time Clock) an, die batteriegepuffert die Uhrzeit behält:
http://www.watterott.com/de/Real-Time-Clock-Module-RTC

Danke für die Tipps.

So als Nachtrag, der Uno wurde nun flux bestellt, nachdem ich mir die IDE und einige Codebeispiele angeschaut hatte, konnte ich mich nicht mehr bremsen. Die Bibliothek ist ja echt fantastisch, schwer beeindruckt hat mich die einfache Servo-Steuerung. Wahnsinn, ein dank an alle Entwickler. :o

Fang mal mit einem Arduino UNO an und dann wenn Du eingearbeitet bist und Du Lust bekommst mehr zu machen kannst Du Dich an den Selbstbau wagen.

Genau so sollte man mit Arduino beginnen. :wink:

So als Nachtrag, der Uno wurde nun flux bestellt,

Sehr gute Wahl und willkommen in der Arduino-Community.