mehrere .ino-Dateien / c-Dateien in einem sketch

Hallo allerseits,
vorab: es tut mir leid Euch mit einem vermutlich längst abgekasperten Problem zu behelligen. Aber ich komme einfach nicht weiter. Und das trotz strapaziertem Onkel GOOGLE.
Ich versuche erfolglos und frustiert den Code auf zwei Dateien zu verteilen.

Version 1 (ino-Date)i:
main.ino

void setup() {}

void loop() {
pause ();
}

und pause.ino

void pause {
delay (400);
}

Fehlermeldung: variable or field pause declared void.
Das Weglassen von void oder pause () führt zu anderen Fehlermeldungen.

Version 2(cpp-/h-Date)i:
main.ino

#include <pause.h>
void setup() {}

void loop() {
pausieren ();
}

und pause.h

void pausieren();

sowie pause.cpp

#include <pause.h>
void pausieren () {
delay (400);
}
Fehlermeldung: unable to create a folder to save the sketch

Wahrscheinlich ernte ich nun viele harsche Kommentare. Aber ich bin absolut ratlos.

Wie heißt das Verzeichnis, in dem sich die ino befinden?

Gruß Tommy

pause.ino; you're missing the () after pause

Not sure what goes wrong with your .h/.cpp approach. If the files are in tabs with the sketch, it should not require a different directory.

Note: please use code tags, not quote tags.

Um meine Programme übersichtlich zu halten, gehe ich meistens so vor:

Wenn es im Hauptsketch Codeteile gibt, die „fertig“ sind, fasse ich sie zu Funktionen zusammen, die in je zwei Tabs kommen:

blabla.h und blabla.cpp.

In die h-Datei kommt nur der Funktionskopf, z. B.

byte blabla();

in blabla.cpp entsprechend:

#include "blabla.h"

byte blabla()
{
  // Befehle
}

In den Hauptsketch kommt zum Schluss noch

#include "blabla.h"

Somit „weiß“ der Hauptsketch von blabla() und Aufrufe wie

byte foo=blabla();

verursachen keine Fehlermeldung.

Gruß

Gregor

Folgende Tabs in der IDE

Verzeichnis main

Tab main (in Wirklichkeit wird eine main.ino angelegt):

#include "pause.h"
void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:
  pause();
}

Tab pause.cpp (damit entsteht auch eine pause.cpp im Verzeichnis main)

#include <Arduino.h> // heißt der Tab pause.cpp brauchst du diese Zeile, nennst du den Tab nur pause, ist das nicht notwendig
#include "pause.h"

void pause()
{ 
  delay (400);
}

pause.h (legt eine Datei pause.h an)

void pause();

viel Spaß.

#include "arduino.h" #include <Arduino.h>

Gruß

Gregor

Du kannst in der IDE mehrere Tabs aufmachen. Die Fils werden ich glaube Alfabetisch zusammengefügt und dann kompiliert.
Ansonsten schreibst Du Dir ene Bibliothek wie noiasca vorschlägt.

Grüße Uwe

#include <Arduino.h> //heißt der Tab pause.cpp brauchst du diese Zeile, nennst du den Tab nur pause, ist das nicht notwendig

Wenn der Tab nur "pause" heißt, ist es in Wirklichkeit die Datei pause.ino .
Beim Übersetzen werden alle .ino Dateien zusammengefügt, ein gemeinsames #include <Arduino.h> davor gesetzt und Funktionsdeklarationen erzeugt.
Diese gemeinsame Datei, sowie alle .cpp Dateien des Verzeichnisses, werden dann übersetzt und zusammengelinkt.