noInterrupts()
Druckbare Version
Könnte mir falls das jemand macht oder weis wie man mit den Tabs umgeht im Ardiono pde ?
Das ich zb die Fahrtprogramme nicht im gleichen Fenster habe wie der Loop oder Setup Teil?
Das ich das ein wenig übersichtlicher gestalten kann. Oder macht man das in der Regel nicht so?
Wisst ihr was ich meine ?
Da gabs schon mal nen Thread zu: TabsZitat:
Könnte mir falls das jemand macht oder weis wie man mit den Tabs umgeht im Ardiono pde ?
Danke Sisor, würdest du / ihr das so machen oder habt ihr das alles in einem Tab?
So dann hier mal die Bilder, wie ich mir das mal so vorstelle ..... Ist noch nicht ganz fertig aber das ihr mal wisst wie ich mir das vorstelle!
Hier zwei Bilder von der Sensor Abdeckung die für die Ultraschallsensoren sind!
Werden gefräst aus dem Vollen, also sprich aus einem Stück Rennsport-ALuminium.
Die wo zu kaufen sind gefallen mir nicht und ich will das nicht so haben, so wie ich es
mit den einfachen Halterungen machen müsste, ich will z.b. die Kabel nicht sehen möchte dazu im dritten Bild mehr!
Anhang 28917Anhang 28918
Hier nun das Bild von der Halterung die dann Schwinungsfrei am Roboter montiert wird!
Die Halterung wird auch komplett aus einem Stück Aluminium gefräst!
Hier seht ihr die Freimachung unter der Abdeckung zur Kabelführung! Wie schon gesagt das ich die nicht sehen möchte!
Anhang 28919
Im Gesamten sieht das dann wie folgt aus, die Höhe bis zum Boden bzw Rasen wird so 30 bis 35cm liegen!
Je nach dem wie sehr der Roboter im Rasen einsinkt! auf der Hälfte sollen dann die Stoßstange so zu sagen zum Schutz
mit dem Notstop Programm befestigt werden! Die Sensor Halterung ( GRÜN ) ist schon fertig das Design der Kompletten Sensor
Halterung ist noch nicht ganz fertig - werd euch dann das Finale Design nicht vorenthalten werde!
Anhang 28920
Als Nachtrag:
Auf Bild zwei .... Stehen die Pins des HC-SR04 nach unten, das kommt daher weil ich es erst anderst machen wollte, habe es
noch nicht umkonstruiert! Die Pin´s müssen natürlich gernade schauen das der Stecker dann auch drauf passt.
Bei größeren Programmen ist eine Modularisierung immer sinnvoll. Also je ein Tab für die Funktionen und Variablen aus Funk, Motorsteuerung, Sensorabfrage etc. macht schon Sinn. Das Hauptprogramm sollte dann nur noch initialisieren (setup) und die abstrakte (grobe) Abarbeitung darstellen (loop).
okay dann werd ich das mal probieren so zu machen - meld mich wenn ich evtll noch die eine oder andere frage habe!
Müssen die Variablen auch mit in die anderen Tabs oder können die im Main bleiben ?
Wenn du globale Variablen meist: Kommt drauf an.Zitat:
Müssen die Variablen auch mit in die anderen Tabs oder können die im Main bleiben ?
Das hier z.B. funktioniert:
Code:// main
int globaleVariable = 10;
void setup() {}
void loop() {
tuwas();
}
----------------------------------Code:// tab
int tuwas() {
return globaleVariable;
}
Das hier NICHT:
Code:// main
void setup() {}
void loop() {
tuwas();
globaleVariable++;
}
----------------------------------Code:// tab
int globaleVariable = 10;
int tuwas() {
return globaleVariable;
}
so klappts trotzdem:
Code:// main
extern int globaleVariable; // Compiler die andernorts definierte Variable mitteilen
void setup() {}
void loop() {
tuwas();
globaleVariable++;
}
Code:// tab
int globaleVariable = 10;
int tuwas() {
return globaleVariable;
}
also ist "return" der springende Punkt?
im Main steht:
int tempVORNE_MITTE; oder
int ledPin_ROT = 4; oder
int bumperPin = 6;
in dann hab ich es in verschiedene Tabs aufgeteilt wie du ja shon richtig geschrieben hast!
und in dem tab muss dann vor die globale variable das "return" davor?
also anhand von einem Beispiel nur das ich es versteh und wir nicht aneinander vorbei reden!
das is der Main Teil
und das in neuem Tab der heist Ampel.pde (pde zeigt es dann nicht an in dem Tab )Code:int ledPin_ROT = 1;
int ledPin_ORANGE = 2;
int ledPin_GRUEN = 3;
void setup()
{
pinMode(ledPin_ROT, OUTPUT);
pinMode(ledPin_ORANGE, OUTPUT);
pinMode(ledPin_GRUEN, OUTPUT);
ampel();
}
void loop()
{
}
int ledPin_ROT = 4; zählt ja auch als globale variable - Richtig?Code:void ampel()
{
digitalWrite(ledPin_ROT, HIGH);
delay(10000);
digitalWrite(ledPin_ROT, LOW);
digitalWrite(ledPin_ORANGE, HIGH);
delay(5000);
digitalWrite(ledPin_ORANGE, LOW);
digitalWrite(ledPin_GRUEN, HIGH);
}
Der Compiler meckert so aber nicht!
Nein, das hat nichts miteinander zu tun.Zitat:
und in dem tab muss dann vor die globale variable das "return" davor?
Hab meine Erklärung oben ergänzt.
Okay ja das hab ich verstanden!
Aber ist mein Beispiel mit der Ampel richtig? also das man dann gewisse Teile so in Tabs einfach schreiben kann?
Weil wie gesagt mit dem Bsp bei der Ampel er nicht meckert