INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino IDE - wie umfangreicher Programmaufbau?
01.09.2013, 12:01 (Dieser Beitrag wurde zuletzt bearbeitet: 01.09.2013 12:46 von alpenpower.)
Beitrag #1
Thumbs Up Arduino IDE - wie umfangreicher Programmaufbau?
Hallo,
so, die ersten Hürden mit der Arduinowelt sind gelöst und die Beispiele sind größtenteils durchgearbeitet. Anfangs etwas skeptisch bin ich nun doch pos. überrascht über die Vielfalt der Möglichkeiten.
Für mein Heizungssteuerprojekt habe ich mir ein Pflichtenheft erstellt.
Als Fühler sind gedacht:
- I2C-Sensoren
- Temperatursensoren mit Analogeingänge

Als Funktionen sind gedacht:
- Manuelbetrieb
- Automatikbetrieb
- Einstellungen zu Schaltzeiten (über RTC DS3231)
- Auswertungen, wie Temp./Feuchteverlauf, Betriebszeiten usw.
- Datenaufzeichnung u. Speicherung auf SD-Card
- 3,2" TFT-Display

Da ich zwar viel programmiere (VBA, LabView, SPS...), aber in C kein oder wenig Wissen besitze hier ein paar Fragen:
Arduino-IDE bietet ja nicht gerade sehr komfortables debuggen. Gibt es eine andere Software, in der ich Arduinos programmieren kann?

- Wie baut man in Arduino-IDE eine so umfangreiche Software auf?
- Stellt man in die verschiedenen 'Karteireiter' die einzelnen Funktionen wie Temp.sensor, Feuchtesensor...als Unterprogramm dar?
Sicherlich gibt es ein Hauptprogramm, aber kann ich dann z.B. alles notwendige an Code für einen DS1620 in einen solchen Reiter hineinpacken und diese dann in der Hauptschleife aufrufen?
- Gibt es irgendwo noch nähere Infos zum (professionellen) Programmaufbau für Arduino?
Sicherlich werden jetzt einige Hinweise kommen, dass das alles sehr üppig ist, was ich mir vorgenommen habe, aber es sind ja viele Funktionen, welche erst in der Endausbaustufe realisiert werden sollen. Zunächst ist der Manuellbetrieb wichtig und die Realisierung der Sensorwerte u. deren weiteren Verarbeitung.
vielleicht kann mir hier ein Profi nochmals Rat geben, danke.

Gruß Franz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.09.2013, 14:02 (Dieser Beitrag wurde zuletzt bearbeitet: 01.09.2013 14:03 von rkuehle.)
Beitrag #2
RE: Arduino IDE - wie umfangreicher Programmaufbau?
Moin,

das sind ja wirklich viele Fragen. Ich versuche mal ein paar Antworten zu geben.

1. "Karteireiter" - naja man kann sie sicher benutzen um Funktionen reinzupacken und so in der IDE die Übersicht zu behalten. Letztlich wird beim Compilerlauf alles vorher verlinkt. Ich persönlich nutze die Reiter nicht weil dadurch die Gefahr von doppelten Deklarationen nicht so hoch ist. Man muss bei langen Programmen zwar mehr scrollen um was zu kontrollieren, dafür aber nicht zwischen den Reitern hin und her springen.

2. Programmaufbau: Da der Arduino nicht so der Speichergigant ist, sollte man ein paar Regeln beachten:
- Code der sich wiederholt sollte in Unterfunktionen rein
- Variablen die nur in Unterfunktionen genutzt werden, immer nur dort und nicht im globalen Bereich deklarieren
- Variblen mit festen Werten (was ein Unsinn) als Const deklarieren
- Im Loop() sollte eigentlich nur noch die Aufnahme der Sensorwerte aufgerufen werden, sowie die Entscheidung was bei bestimmten Sensorwerten passieren soll.
Also welche Unterfunktion aufgerufen werden soll.
- Die Verarbeitung der Werte und alle Arten von Darstellung, Speicherung sollte in Unterfunktionen rein.
Eine Anleitung, die zwar nicht in die tiefsten Tiefen geht, aber ein paar grundlegen Aussagen macht, gibt's zB. hier:
http://robocupjuniorunibremen.files.word...ndbuch.pdf
Generell weg vom objektorientierten Programm, hin zum rein seriell ablaufenden.!

Vielleicht hilft es ja ein bisschen weiter.

Grüße Ricardo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.09.2013, 16:08
Beitrag #3
RE: Arduino IDE - wie umfangreicher Programmaufbau?
Hallo Ricardo,

jetzt bin ich etwas verblüfft.
In anderen Foren habe ich über die Vor- u. Nachteile von Bascom auf C-Programmierung nachgefragt. Hier wurde mir dann von dem "Spagetticode" (betraf wohl das Bascomzeugs) ganz dringend abgeraten.
Ich denke aber, dass jeder seine eigene Handschrift wählt, wie ein Programm aufgebaut wird.
Zu 1.: ich werde aber trotzdem mal so beginnen, dass ich die Unterfunktionen in diese Karteireiter packen werde, vielleicht ändert sich dann dies doch wieder.

zu 2.: Ich hab ja für einen Lerneffekt schon ein paar Beispiele soweit durchleuchtet, was speziell den Aufbau betrifft. Wo packe ich dann im Listing eine Funktion rein? Ist diese Funktion dann einfach in der Mainloop irgendwo platziert, oder wo sonst?
Aber so muss es doch wohl sein, weil beim Compilieren dann alles verlinkt wird (hast Du hier geschrieben)?
Ich muss mir da noch ein paar Beispiele näher ansehen, dann versteh ich das besser.

Die Deklaration von Variablen, global oder nicht, ist soweit schon klar.
Momentan steht der Hardwarebedarf zu 80%. Parallel dazu strukturiere ich die ersten Programmfetzen und da fällt mir dies und das auf.
Die Anleitung habe ich schon entdeckt, danke nochmals.

Dann noch eine weitere Frage zum Ersatz für die IDE? Gibts da noch was eleganteres?
Wenn ich auf dem Touch die Masken erstelle wäre ein Tool dazu gut zu gebrauchen. Von den Edel-TFT's kenn ich das, aber es dürfte in dieser Preisklasse wohl nicht vorgesehen sein, oder?
Wie erstellt der Profi solche Anzeige- u. Bedienmasken? ...alles zu Fuß?

Langsam macht es Spass mit dem Ding hier zu arbeiten und das Forum finde ich nicht so steril sondern eher ..."hier werden Sie geholfen". Danke mal an alle Helferlein!

Gruß Franz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.09.2013, 17:00
Beitrag #4
RE: Arduino IDE - wie umfangreicher Programmaufbau?
Hallo Franz,

ein paar Sätze:

Zitat:so beginnen, dass ich die Unterfunktionen in diese Karteireiter packen werde
Ist ja reine Geschmackssache. Ich persönlich bin nicht so der Liebhaber von vielen Fenstern (ich bekomme schon in Windows einen Anfall;-)
Zitat:Wo packe ich dann im Listing eine Funktion rein? Ist diese Funktion dann einfach in der Mainloop irgendwo platziert, oder wo sonst?
Beispiel: Ist eigentlich selbsterklärend.
Code:
// Deklaration
unsigned int wert=1;
// Setup - wird einmal durchlaufen
void setup()
{
  Serial.begin(9600);
}
// loop - wird immer wieder durchlaufen nachdem setup abgearbeitet
void loop()
{
  /* in einer for Schleife Funktionen aufrufen
   auch wenn Begrenzung auf 10 Durchläufe gesetzt ist, würde,
   da es im Loop() steht, immer wieder von
   vorne begonnen, daher.... siehe while */
  for (int i=1;i<10;i++)
  {
    plus(); // Aufruf 1. Unterfunktion plus
    minus(); // Aufruf 2. Unterfunktion minus
  }
  /* ... while zum abwürgen des Arduino
   bedeutet: solange 1 (was immer stimmt)
   mache {} -> also nix */
  while(1) { }
}
// 1. Unterfunktion - könnte in einen eigene Reiter - muss aber nicht
void plus()
{
  wert=wert+1;
  // Aufruf 3. Unterfunktion
  zeige();
}
// 2. Unterfunktion - könnte in einen eigene Reiter - muss aber nicht
void minus()
{
  wert=wert-1;
  // Aufruf 3. Unterfunktion
  zeige();
}
// 3. Unterfunktion - könnte in einen eigene Reiter - muss aber nicht
void zeige()
{
  Serial.println(wert);
}
Zitat:Dann noch eine weitere Frage zum Ersatz für die IDE? Gibts da noch was eleganteres?
Es gibt ein Arduino Plugin für Visual Studio. Schau mal hier:
http://playground.arduino.cc/Main/DevelopmentTools
Aber bis man das eingerichtet hat dauert es!
Zitat:Wie erstellt der Profi solche Anzeige- u. Bedienmasken? ...alles zu Fuß?
Mit der Standard IDE macht man alles zu Fuß / Hand - wenn nicht jemand anderes schon so nett war. Die Beispiele der UTFT-Library zeigen eigentlich alles dafür erforderliche. Wie es bei Visual Studio ist kann ich nicht sagen ;-)
Ich habe das aus der gleichen Fragestellung heraus, wie du sie geäußert hast, mal installiert. Als ich gesehen habe wie viel da auf meinem PC installiert wurde, hab ich es gleich wieder runtergeschmissen.

Grüße Ricardo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
01.09.2013, 20:01
Beitrag #5
RE: Arduino IDE - wie umfangreicher Programmaufbau?
Hallo Ricardo,

nun siehts klarer aus. Vielen Dank für die ausführliche Beantwortung.

Gruß Franz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.09.2013, 21:10 (Dieser Beitrag wurde zuletzt bearbeitet: 08.09.2013 21:15 von Hobel.)
Beitrag #6
RE: Arduino IDE - wie umfangreicher Programmaufbau?
Hallo,

ähm.... der Arduino lässrt sich natürlich wie ein normaler Atmel in C++ programmieren, auch ganz ohne diese kitschige Oberflläche (die aber leider nunmal die Kommunikation steuert und zum Upload benutzt werden muss). Aber ohne JTAG Interface hast du kein Single Step Debugging, kannst nur herumflashen und ausprobieren, was bei komplexen Funktionen mühsam ist, da eben kein Simulator..

Ich nutze den JEDIT als Editor, HTERM als Terminalprogramm und compiliere nur mit der Java Shell die dabei liegt. String-R ist der einzige Befehl den ich dort nutze.

Den Luxus den Du suchst findest du eher bei LXexpresso oder mbed auf ARM Cortex Basis. Ich habe dazu die Rowley crossworks IDE gekauft (ähnlich KEIL) und da hat man wirklich professionelle Tools. Aber eben nicht mehr kostenlos.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.09.2013, 18:13
Beitrag #7
RE: Arduino IDE - wie umfangreicher Programmaufbau?
Hallo,

ich hab mir die beiden Programme mal geladen. HTerm muss ich erst noch checken.
Aber der Editor, den find ich ganz gut, jedenfalls xfach besser als die IDE von Arduino. Zum Überprüfen hab ich ein Miniprogramm abgeändert und wie DU beschrieben hast, mit der einfachen Arduino_IDE rübergeschoben. Ich denke, dass ist es was ich suche. Vielen Dank erstmals, muss noch ein bisschen rumprobieren.

Gruß Franz
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino Ethernet mit USB 2 Serial Converter/Welche Einstellungen im Arduino-Sketch lociluke 1 1.105 05.05.2015 13:40
Letzter Beitrag: Bitklopfer
  Arduino Mega-Projekt mit EEPROM auf Arduino Due portieren Foto-Ralf 17 3.126 16.03.2015 12:06
Letzter Beitrag: Foto-Ralf

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste