ein paar fragen zum mega, vor dem kauf

hallo zuammen,

ich interessiere mich für den adruino mega. ich habe damals schon mal mit visual basic die comschnittstelle des computers angesteuert, bin gelernter elektroniker für betriebstechnik und hab auch damals mal mit c++ angefangen. also vorerfahrungen hab ich aber ist schon an die 10 jahre her..... mein englisch ist allerdings nicht soooooo gut bzw ehr ausreichend.

ich würde mich gerne mit dem adruino mega auseinandersetzen und mit verschiedenen sensoren experimentieren und hätte dazu einige fragen, vorab.

  1. wenn ich zb eine anleitung für ein anderen adruino-typ hab, kann ich das so auf den mega übertragen ? zb diese hier: http://blog.simtronyx.de/arduino-nano-und-der-hc-sr04-ultraschall-entfernungssensor/

  2. hab ich das richtig verstanden, das manche sensoren mehrere eingänge belegen ? man aber dafür auch mehrere temperatursensoren auf einen (digitalen) eingang legen kann ?

  3. der mega hat 54 ein oder ausgänge ? - das heißt, ich kann selber enscheiden, welcher davon ein und welcher ausgang ist ?

  4. ist das im bedarfsfall auch noch erweiterbar ?

  5. funktionieren folgende sensoren beim mega ? bzw ist die programmierung schwer, wenn man keine hilfe/anleitung hat ? und wie viele eingänge belegen diese ?: Ultraschall Sensor HC-SR04 Temperatursensoren DS18S20 Temperatur Luftfeuchte-Sensor DHT22 BH1750VFI Lichtintensitätssensormodul GY-30 MQ-5 Smoke Gas Detector Sensor

  6. funktionieren folgende erweiterungen beim mega ? bzw ist die programmierung schwer, wenn man keine hilfe/anleitung hat ? und wie viele eingänge belegen diese ?:

Micro-SD-card-module-6Pin-SPI-Interface I2C TWI 1602 Real Time Clock DS1307 ESP8266 Wireless SIM900 GSM/GPRS Shield

  1. kann ich mir vom adruino über wlan dann auch messwerte auf dem laptop anzeigen lassen bzw kann der adruino die messwerte dann im browser darstellen und kann man dann im browser die ausgänge ein/ausschalten bzw parameter (im programmcode) ändern ? (ähnlich wie bei einem router) zB adruino soll bei einem bestimmten temperaturwert eine lampe anschalten. - kann ich mir die aktuelle temperatur dann auf einer homepage darstellen lassen und die temperatur, bei der die lampe angeht auf der homepage ändern ? ich denke, das erfordert dann noch mehr kenntnisse in anderen programmiersprchen ? und ist das schwer zu realisieren ? html und javascript kann ich einigermaßen. ich hatte da eine anleitung gefunden, wo der arduino als webserver genutzt wurde, ist das sowas ?

kann man alles machen, funktioniert. Ethernet Shield brauchste, da ist auch SD Slot.

1: meistens ja, in diesem Fall ja.

2: kann gut sein, nicht alle.

3: mehr oder weniger ist es so, ja.

4: ja.

Hallo,

naja, schon die Definition, was ist schwer und was nicht, ist unmöglich zubeantworten. Für Leute die programmieren können, ist nichts schwer, die lesen ein Datenblatt und legen los. Andere haben schon Probleme Funktionen zu lesen. Das lernt man aber auch mit der Zeit. ;)

Fertige Librarys gibts auf jeden Fall für:

Temperatursensoren DS18S20 Temperatur Luftfeuchte-Sensor DHT22 Micro-SD-card-module-6Pin-SPI-Interface Real Time Clock DS1307

Wobei ich für die RTC gleich zur DS3231 raten würden. Läuft genauer. Für die RTC selbst, braucht man auch keine extra Library, da reichen paar kleine Funktionen.

Für die SD Karte gibt es eine einfache Library. Die von Arduino selbst. Funktioniert. Guck mal oben unter Learning unter Examples. Oder in der IDE unter Beispiele. Aber es gibt noch eine neuere mit viel mehr Möglichkeiten. Da muß man sich erstmal einarbeiten. https://github.com/greiman/SdFat http://arconlab.com/lab/Arduino/Library/SD%20Reader%20-%20Fat32/html/index.html

Du redest von Mega2560? Der Mega ist zum Uno auf jeden Fall abwärtskompatibel. Alles was auf dem Uno läuft, läuft auch auf dem Mega 2560. Alle I/O kann man natürlich nicht frei verwenden, weil viele davon mehrere Funktionen haben. Man kann die dennoch verwenden, aber dann muß man wissen warum und was man macht. Nicht das man sich Timer 0 oder die serielle Schnittstelle 0 lahm legt. Aber zum Bsp. kann man alle von der hinteren doppelten Buchsenleiste frei verwenden.

Nur um Dir ein Gefühl für Einschränkungen zu geben:

  • 54 Ausgänge mit je einer 20 mA LED = 1 A bei max. 500 mA erlaubt.
  • Wenn Du Programmbibliotheken für die Sensoren verwendest, vertragen die sich manchmal nicht.
  • Der Speicher für einen Sketch ist begrenzt. Beispiel (UNO) SD lesen, mp3 abspielen, I2C Bus und etwas Logik 20.078 Bytes.
  • Die Anzahl der Bytes für Variablen sind begrenzt.

Alle Sensoren gleichzeitig an einen Mega, dann müßte der "adruino mega" ein Druide sein :) Aber mit verteilten Aufgaben geht's. Beispiel: Ein ATtiny85 liest und interpretiert eine IR-Fernbedienung, schickt die Information mittels I2C an einen (bei mir) UNO.

Die Fragen 5 und 6 kannst Du durch Suchen im Internet herausfinden. Beispiel: I2C TWI 1602 Ergebnis: I2C braucht A4 und A5. Bei konkreten Fragen gibt es hier im Forum bestimmt Übersetzer für das Datenblatt.

Noch zwei Tipps: - Fang vorne an, bei den vielen mitgelieferten Beispielen, oder auch hier. Relativ einfaches Englisch verwenden diese Tutorials. - Suche erst nach einem Datenblatt, Anschlußzeichnungen und Programmbeispielen, bevor Du ein Teil kaufst.

Ich überlege auch, mir einen Mega zuzulegen. Wenn es nicht weitergeht, können wir ja dann zusammen grübeln :grin:

agmue: Nur um Dir ein Gefühl für Einschränkungen zu geben: 54 Ausgänge mit je einer 20 mA LED = 1 A bei max. 500 mA erlaubt.

Meines Wissens sind 200mA Gesamstrom das Limit. Es gibt auch Limits für Pingruppen.

@magictrips

1) Adruino mit Atmega328 (zb UNO) auf Arduino Mega mit ATmega2560 vieles schon, nicht alles und einige Dinge sind nicht auf den gleichen pins (zB I2C, SPI). Arduino Leonardo hat einen weniger ähnlichen Controller. Prinzipiell alles was direkt auf die Hardware bzw Register des Kontrollers zugreift muß man unter Umständen adaptieren. Bibliotheken gehen auf diese Differenzen meist ein und funktionieren für mehrere Controllermodelle.

2) Kommt auf die Sensoren an. Manche Ja manche nein.

3) Der Mega hat noch mehr. Die analogen Eingänge können auch als Digitale Ein/Ausgänge verwendet werden. Man kann selbst Entscheiden ob sie Eingänge sind oder Ausgänge und man kann auch dauernd hin und herschalten falls es die exterene Schaltung zuläßt. sinnvoll zB wenn man eine Treestate-pin braucht; Z ist Einfgang.

4) Pin Erweiterungen: Port Expander (I/O wählbar) über I2C oder SPI; Schieberegister ( je nach Modell Eingänge oder Ausgänge) über SPI oder x beliebige Pins. Andere Erweiterungen wie A/D oder D/A Wandler ecc

5) ja, bzw Schwierigkeitsgrad kommt auf Dein Wissen an. Wieso willst Du es ohne Anleitung machen? Zu den Sensoren such ein wenig im Internet.

6) ja

7) prinzipiell ja; Es ist aber ein wenig Programmarbeit nötig. Auch ist ein Programm PC-Seitig zu schreiben. Ja Du kannst Programmparameter ändern. Du kannnst Sie im EEPROM abspeichern oder falls Du den DS1307 verwendest in dessen 56 Byte RAM. Du mußt den sSketch dementsprechend programmieren. Ein Arduino ist ein 8 Bit Controller; da hat man nicht allzuviele Resourcen um viel in einem Webserver zu machen.

Die Fragen 5 und 6 kannst Du durch Suchen im Internet herausfinden. Beispiel: I2C TWI 1602 Ergebnis: I2C braucht A4 und A5. Bei konkreten Fragen gibt es hier im Forum bestimmt Übersetzer für das Datenblatt.

I2C (TWI) A4 udn A5 beim UNO 20 und 21 beim MEGA2560

Grüße Uwe

vielen dank für die antworten, das hat mir schon mal eine etwas genauere vorstellung von der ganzen sache gegeben....

die "strombegrenzung" der ausgänge lässt sich doch hiermit lösen oder nicht ? http://www.ebay.de/itm/8-Kanal-Channel-Relais-Modul-5V-230V-Optokopplung-Arduino-Raspberry-CP0408A-F23-/271513577525?pt=LH_DefaultDomain_77&hash=item3f37786835

" Der Speicher für einen Sketch ist begrenzt. Beispiel (UNO) SD lesen, mp3 abspielen, I2C Bus und etwas Logik 20.078 Bytes. Die Anzahl der Bytes für Variablen sind begrenzt.

Alle Sensoren gleichzeitig an einen Mega, dann müßte der "adruino mega" ein Druide sein"

wie genau ist das gemeint ? also könnte ich nicht zb alle oben genannten sensoren und erweiterungen gleichzeitig am mega betreiben ?

nimmt man adruino nicht auch um roboter zu programmieren ? sowas hat doch auch einen recht komplexen code oder ?

und noch mal zum websever. wie sind da die grenzen ? kann man das eventuell noch erweitern zb durch rasperi ?

und kann man mit der real time clock zb auch eine komplexe wochenzeitschaltuhr(wie die digitalen, die man für die steckdose kaufen kann) programmieren ? und wenn man an verschiedenen ausgängen, verschiedene ein/aus-zeiten einstellen möchte, reicht dann eine rtc ? weil bei der ds3231 steht nur "zwei wecker"

Du solltest anfangen!

Die ganzen wirren Fragen machen dich nur verrückt.

ja, schon.

aber habe erst in 1-2wochen geld um das material zu bestellen (; und ich versuche abzuklären, ob das adruino überhaupt was für mich ist.

was für mich eine grundvorraussetzung ist, um überhaupt damit anzufangen ist, das ich alle oben genannten sensoren und erweiterungen auch aufeinmal benutzen kann.

und später würde ich auch gerne ein touchscreen mitanschließen und die messwerte darstellen.

wenn adruino das alles nicht packt oder der quellcode zu groß wird, ist adruino wohl nicht das richtige für mich.

Im Prinzip geht das schon.

Fang aber Schritt für Schritt an. Immer eine Sache anschließen und Programmieren. Danach kann man die verschiedenen Komponenten zusammenfügen.

Ein paar der Sachen laufen auch auf den selben Bussen. z.B. eine RTC und ein 2x16 LCD sind beides I2C. Belegt also nur 2 Pins. Oder ein TFT, SD und Ethernet kann man alles über den SPI Bus laufen lassen.

vielen dank !

schritt für schritt wollte ich das auch machen. erstmal jeden sensor einzeln "kennenlernen". vielleicht den wert über eine lcd-anzeige anzeigen lassen, programm speichern und den nächsten sensor. und wenns gut klappt, dann die teuren sensoren kaufen und zum schluss dann alle anschließen und die programmcode-stücke zusammenbasteln.

allerdings wurde hier doch geschireben, das der speicher für die scetche begrenz ist..... der mega hat ja 256kb ? wie groß ist denn zb so eine temperaturmessung ? bzw muss ich mir wegen dem speicher wirklich gedanken machen oder kann man den zur not erweitern ?

messwerte kann der ja auf der sd ablegen ?

ach und noch was. brauche ich ethernet für den arduino, wenn ich wlan hab ?

hat zwar noch zeit aber ich frag schon mal (; kann mir jemand ein guten, großen, leicht zu programmierenden touchscreen empfehlen, der man nicht aufsteckt, sondern über kabel anschließt ? so in die richtung: http://www.ebay.de/itm/SainSmart-3-2-TFT-LCD-Touch-Panel-SD-Reader-fur-Arduino-Mega2560-R3-DELager-/380993982261?pt=LH_DefaultDomain_77&hash=item58b502cf35

256kB ist reichlich Platz. Da musst du dich schon groß anstrengen um das wirklich auszunutzen.

Wenn du ein WLAN Shield hast, brauchst kein Ethernet Shield. Wenn du ein Ethernet Shield hast, kannst WLAN draus machen. Wie das geht, sagt dir Google. Und sparst Geld.

Ach ja, das TFT Display da frisst massig Pins, auch wenn es an sich nicht schlecht ist.

Für dich ist eins mit SPI Schnittstelle besser geeignet. z.B.: http://www.exp-tech.de/displays/tft/adafruit-2-8-tft-lcd-with-touchscreen-breakout-board-w-microsd-socket http://www.exp-tech.de/displays/tft/adafruit-3-5-tft-320x480-touchscreen-breakout-board-w-microsd-socket

magictrips:
allerdings wurde hier doch geschireben, das der speicher für die scetche begrenz ist…
der mega hat ja 256kb ?

Der Speicher ist natürlich immer endlich, also begrenzt. Daher stimmt die Aussage :wink: So, wie ich es gemeint habe, nehme ich das aber wieder zurück, ich habe mich versehen, denn 256 kByte sind wirklich 'ne Menge. Der UNO hat leider nur 32 kByte :-[

magictrips:
also könnte ich nicht zb alle oben genannten sensoren und erweiterungen gleichzeitig am mega betreiben ?

Ja, so habe ich das gemeint, wobei es sich natürlich nur um eine Vermutung handeln kann, da Deine Auswahl an Sensoren wahrscheinlich niemand genau so ausprobiert hat.

Außerdem sind verschiedene Parameter uns und wohl auch Dir überhaupt nicht bekannt. Willst Du die Feuchte von Blumenerde bestimmen, reicht das alle paar Minuten. Ein Roboter mit Ultraschallsensoren muß natürlich sehr schnell reagieren können, um Hindernisse zu erkennen. Da sind die Anforderungen sehr unterschiedlich.

magictrips:
messwerte kann der ja auf der sd ablegen ?

Ja, beachte bitte die maximale Kapazität, bei mir 4 GByte.

combie:
Du solltest anfangen!

Wenn alles so funktionieren sollte, wie Du Dir das momentan vorstellst, würde mich das wundern. Mit Kreativität und Kompromißbereitschaft wird es aber schon irgendwie gehen. Ich drücke die Daumen!

vielen dank für die antworten !

ist das wlan-shield denn nicht brauchbar ? das kostet doch auch nicht viel ? http://www.ebay.de/itm/ESP8266-Wireless-WIFI-WLAN-Modul-Raspberry-Pi-Arduino-Atmel-AVR-/121598675091?pt=LH_DefaultDomain_77&hash=item1c4fd88893

ok. das mit dem speicher macht mir keine sorgen mehr....

aber was sollte denn nicht funktionieren ? im netz gibts doch auch anleitung für zb (funk)wetterstationen(mit lcd display), zeitschaltuhren, aquarium/terrarium/gewächshaus/raumklimasteuerung, alarmanlagen, steuerung per sms, messwertübertragung per lan, funksteckdosen, oder ganze roboter oder sogar ein smartphone hat glaub ich damit jemand gebaut

wenn ein sensortyp probleme macht, kann man ja einen anderen mit der selben funktion testen ?

oder kanns sein, das adruino mit der verarbeitung der ganzen messwerte überfordert ist ?

wenn alles zu viel wird könnte ich zur not die aufgaben aufteilen und ein zweites mega nutzen.

Nimm mal ein Sketch, kompiliere den mit Mega und den gleichen Sketch mit UNO (Atmega 328p) und mit einem Atmega8. Man sieht dass der gleiche Sketch auf dem ATMEGA8 am wenigsten Speicher verbraucht und auf Mega am meisten.

Dieses Modul kenne ich nicht, ist auch kein WLAN Shield, denn die kosten um die 60€.

Ich denke nicht dass der Mega damit überfordert ist. Vielleicht wenn das Display da dran ist.

ich wollte noch mal loben ! ist echt ein super forum hier ! hier wird kompetent und freundlich auf die fragen eingegangen ! - ich habs leider schon zu oft anders erlebt....

ich kenn mich halt mit der ganzen praxis noch nicht so aus, aber in der anleitung siehts so aus, als könnte ich den ünstigen wlan-chip auch nehmen: http://arduino-hannover.de/2014/12/11/wifi-kochbuch-mit-esp8266/

oder brauche ich dann noch ein shield oder sowas zusätzlich ?

Hallo,

@ skorpi
doch, dass ist ein WLAN Shield. Nämlich das original Arduino WIFI Shield. Hab ich nämlich und brauch’s aber nicht.
http://arduino.cc/en/Main/ArduinoWiFiShield

@ magic
wenn du die Basic’s verstanden hast, kannste jedes Modul einbinden. Zumal Du hier schon die Beschreibung vom Buch hast. Das kleine ist ja seriell angebunden wie man sieht und wird über Kommandos angesprochen. Lies einfach mal das Buch. Generell solltest Du ein Arduino Buch kaufen und anfangen. Also Buch, Arduino, paar LEDs, Widerstände. Damit kannste schon viel ausprobieren.

@doc also is das: http://www.ebay.de/itm/ESP8266-Wireless-WIFI-WLAN-Modul-Raspberry-Pi-Arduino-Atmel-AVR-/121598675091?pt=LH_DefaultDomain_77&hash=item1c4fd88893

das gleiche wie das ?: http://arduino.cc/en/Main/ArduinoWiFiShield

das gleiche wie

Wer schon keine Datenblätter lesen mag, sollte sich wenigstens mal Fotos anschauen. Grrr...