RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#76 von MicroBahner , 01.08.2019 22:07

Hallo Rainer,

Zitat

Wenn das jetzt wieder Falsch ist dann gebe ich langsam auf.... ops:

Du musst nicht aufgeben ... Du hast nur einen kleinen Tippfehler in der Doku gefunden . Ist für die nächste Version gleich beseitigt.
Natürlich muss da ein Komma hin.
Was die Datentypen angeht - wie hast Du denn da gesucht? Mit dem Suchbegriff 'datentyp uint16_t' findet man gleich als erstes diesen Treffer.

Zitat

und jeweils geprüft ob es stimmt.

Nur ob es sich übersetzten lässt? Oder auch ob es funktioniert? Du musst in kleinen Schritten vorgehen, und immer testen, ob es auch wirklich funktioniert. Nur dass der Compiler nicht meckert ist nicht ausreichend.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#77 von ts250x , 02.08.2019 08:00

Hallo Franz-Peter,

Zitat

Du musst nicht aufgeben ... Du hast nur einen kleinen Tippfehler in der Doku gefunden . Ist für die nächste Version gleich beseitigt.
Natürlich muss da ein Komma hin.


Da fällt mir spontan dazu ein; Auch ein blindes Huhn findet mal ein Korn

Zitat

Was die Datentypen angeht - wie hast Du denn da gesucht? Mit dem Suchbegriff 'datentyp uint16_t' findet man gleich als erstes diesen Treffer.


ich habe im Browser nur unit16_t eingegeben...........

Zitat

Nur ob es sich übersetzten lässt? Oder auch ob es funktioniert? Du musst in kleinen Schritten vorgehen, und immer testen, ob es auch wirklich funktioniert. Nur dass der Compiler nicht meckert ist nicht ausreichend.


Ja das war gestern so mein Plan, also die kleinen Schritte, zum Testen komme ich erst wenn ich auch einen DRV8825 habe denn LED`s zum Testen werden da nicht funktionieren....

Du könntest mir allerdings noch einen gefallen tun, beantworte mir doch meine Vermutung ob das "unit16_t" im Sketch nicht geschrieben wird?


Gruß Rainer bleibt gesund


 
ts250x
InterRegioExpress (IRE)
Beiträge: 475
Registriert am: 11.03.2017
Ort: Vorderpfalz
Gleise ROCO-Line ohne
Spurweite H0
Steuerung z21,Tablet, Multimaus
Stromart Digital


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#78 von ts250x , 02.08.2019 11:06

Hallo Franz-Peter,

bei dem folgenden macht es noch Probleme:

1
2
3
4
 
T1Stepper.attachEnable(12,2,0);     //EnaPin,delay,LOW
T2Stepper.attachEnable(9,2,0); //funktioniert nicht
T3Stepper.attachEnable(6,2,0);
 
 



Als Fehler wird hier unter anderem geschrieben das er auf die MobaTools withEnable nicht zugreift obwohl er auch den Verzeichnis Ort mit auflistet.
Kann es sein dass die noch nicht Freigegeben ist.... oder gibt es da eine andere Lösung dafür ?

Mein Sketch der jetzt erstmal ohne Fehlermeldung daher kommt sieht so aus:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
 
#include <MobaTools.h>
#include <IRremote.h>
#include <Arduino.h>
Stepper4 T1Stepper(200, A4988);
Stepper4 T2Stepper(200, A4988);
Stepper4 T3Stepper(200, A4988);
int irPin = 13; //Pin am Arduino Nano für den IR Receiver
 
int ledPin1 = 3;
int ledPin2 = 2;
int ledPin3 = 1;
int ledPin4 = A5;
int ledPin5 = A4;
int ledPin6 = A3;
int ledPin7 = A2;
int ledPin8 = A1;
int ledPin9 = A0;
IRrecv irrecv(irPin); //Objekt initialisieren für die IR Übertragung
decode_results results;
 

 
void setup()
{
T1Stepper.attach( 10,11 ); // Step und Dir-Pin
T2Stepper.attach( 7,8 ); // Step und Dir-Pin
T3Stepper.attach( 4,5 ); // Step und Dir-Pin
 
T1Stepper.setSpeedSteps( 200,50 );
T2Stepper.setSpeedSteps( 200,50 );
T3Stepper.setSpeedSteps( 200,50 );
 
T1Stepper.setRampLen( 50 ); // doppelte Eingabe der Rampenlänge ??
T2Stepper.setRampLen( 50 );
T3Stepper.setRampLen( 50 );
 
//T1Stepper.attachEnable(12,2,0); //EnaPin,delay,LOW
//T2Stepper.attachEnable(9,2,0); //funktioniert nicht
//T3Stepper.attachEnable(6,2,0);
pinMode(irPin, INPUT); //Den IR Pin als Eingang deklarieren.
pinMode(ledPin1, OUTPUT);
 
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
pinMode(ledPin6, OUTPUT);
pinMode(ledPin7, OUTPUT);
pinMode(ledPin8, OUTPUT);
pinMode(ledPin9, OUTPUT);
Serial.begin(9600); //Serielle kommunikation mit 9600 Baud beginnen.
 

 

 
}
void loop(){
if (irrecv.decode(&results))
Serial.println (results.value, DEC);
 
if (results.value == 16724175) // Taste 1 Wenn der Infrarotempfanger die Zahl
 
T1Stepper.doSteps(1700); // macht 1700 Schritte nach „rechts“
 
if (results.value == 16718055) // Taste 2
 
T1Stepper.doSteps(-1700); // macht 1700 Schritte nach „links“
 
if (results.value == 16716015) // Taste 4
 
T2Stepper.doSteps(1700); //1700 Stepps rechts
 
if (results.value == 16726215) // Taste 5
 
T2Stepper.doSteps(-1700); // 1700 nach links
 
if (results.value == 16728765) // Taste 7
 
T3Stepper.doSteps(1700); // 1700 nach rechts
 
if (results.value == 16730805) // Taste 8
 
T3Stepper.doSteps(-1700); // 1700 nach links
 
// Beleuchtung
if (results.value == 16756815) // Taste 3
 
if (results.value == 16734885) // Taste 6
 
if (results.value == 16732845) // Taste 9
 
if (results.value == 16738455) // Taste 0
if (results.value == 16750695) // Taste 100+
 
if (results.value == 16756815) // Taste 200+
if (results.value == 16769055) // Taste minus
if (results.value == 16754775) // Taste plus
if (results.value == 16748655) // Taste EQ
if (results.value == 16720605) // Taste I<<
if (results.value == 16761405) // Taste >>I
if (results.value == 16761405) // Taste <II
 
if (results.value == 16753245) // Taste CH-
 
if (results.value == 16736925) // Taste CH
if (results.value == 16769565) // Taste CH+
delay(1000);
}
 
 



Beim eingeben der FB Codes ist mir noch aufgefallen das zwei Tasten die gleichen Nummern haben. Da muss ich nochmal die FB Codes Auslesen....
Unten das letzte delay war notwendig damit das ohne Fehler läuft...


Gruß Rainer bleibt gesund


 
ts250x
InterRegioExpress (IRE)
Beiträge: 475
Registriert am: 11.03.2017
Ort: Vorderpfalz
Gleise ROCO-Line ohne
Spurweite H0
Steuerung z21,Tablet, Multimaus
Stromart Digital


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#79 von MicroBahner , 04.08.2019 09:11

Hallo Rainer,

Zitat

Als Fehler wird hier unter anderem geschrieben das er auf die MobaTools withEnable nicht zugreift obwohl er auch den Verzeichnis Ort mit auflistet.
Kann es sein dass die noch nicht Freigegeben ist.... oder gibt es da eine andere Lösung dafür ?

Ja, das ist noch eine Entwicklerversion. Die ist noch nicht in die aktuelle Version im Bibliotheksverwalter integriert.

Zitat

Unten das letzte delay war notwendig damit das ohne Fehler läuft...

Du hast da halt eine lange verschachtelte if-Kette gebaut, und irgendwann will der Compiler wissen, was er tun soll, wenn alle if's erfolgreich abgearbeitet wurden ( was in deinem Fall aber nie passieren kann ... ). Wenn Du den Code mal mit ctrl-T formatierst würdest Du das sofort erkennen. Ist halt noch unvollständiger Code.
Mit switch-case wäre das übrigends deutlich effizienter.

P.S. und unterscheide im Hirnstübchen von Anfang an zwischen 'ohne Fehler läuft' und 'ohne Fehler compiliert'. Dazwischen liegen Welten .


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#80 von ts250x , 04.08.2019 11:18

Guten Morgen Franz-Peter,
Schön dass du dir die Zeit genommen hast mir zu Antworten.

Leider muss ich noch ein paar Fragen stellen, ich hoffe dass ich dich damit nicht "Nerve" ops:

1. Hast du schon einen Plan bis wann in etwa die Funktionen: "withEnable" freigeschaltet sind

2.

Zitat

Mit switch-case wäre das übrigends deutlich effizienter.


Meinst du damit : switch-case anstatt: if (results.value == zu benutzen?

Zitat

P.S. und unterscheide im Hirnstübchen von Anfang an zwischen 'ohne Fehler läuft' und 'ohne Fehler compiliert'. Dazwischen liegen Welten .



JA ich gelobe Besserung.........

Inzwischen habe ich den Sketch etwas weiter gesponnen oder gestrickt, Mit dem Ergebnis dass der Compiler keine Fehlermeldung ausgegeben hat.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
 
#include <MobaTools.h>
#include <IRremote.h>
#include <Arduino.h>
Stepper4 T1Stepper(200, A4988);
Stepper4 T2Stepper(200, A4988);
Stepper4 T3Stepper(200, A4988);
int irPin = 13; //Pin am Arduino Nano für den IR Receiver
 
int ledPin1 = 3;
int ledPin2 = 2;
int ledPin3 = 1;
int ledPin4 = A5;
int ledPin5 = A4;
int ledPin6 = A3;
int ledPin7 = A2;
int ledPin8 = A1;
int ledPin9 = A0;
IRrecv irrecv(irPin); //Objekt initialisieren für die IR Übertragung
decode_results results;
 

 
void setup()
{
T1Stepper.attach( 10,11 ); // Step und Dir-Pin
T2Stepper.attach( 7,8 ); // Step und Dir-Pin
T3Stepper.attach( 4,5 ); // Step und Dir-Pin
 
T1Stepper.setSpeedSteps( 200,50 );
T2Stepper.setSpeedSteps( 200,50 );
T3Stepper.setSpeedSteps( 200,50 );
 
T1Stepper.setRampLen( 50 ); // doppelte Eingabe der Rampenlänge ??
T2Stepper.setRampLen( 50 );
T3Stepper.setRampLen( 50 );
 
//T1Stepper.attachEnable(12,2,0); //EnaPin,delay,LOW
//T2Stepper.attachEnable(9,2,0); //funktioniert nicht
//T3Stepper.attachEnable(6,2,0);
pinMode(irPin, INPUT); //Den IR Pin als Eingang deklarieren.
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
pinMode(ledPin6, OUTPUT);
pinMode(ledPin7, OUTPUT);
pinMode(ledPin8, OUTPUT);
pinMode(ledPin9, OUTPUT);
Serial.begin(9600); //Serielle kommunikation mit 9600 Baud beginnen.
 

 

 
}
void loop()
{
if (irrecv.decode(&results))
Serial.println (results.value, DEC);
 
if (results.value == 16724175) // Wenn der Infrarotempfanger die Zahl
 
T1Stepper.doSteps(1700); // Taste 1 macht 1700 Schritte nach „rechts“
 
if (results.value == 16718055) // Taste 2
 
T1Stepper.doSteps(-1700); // macht 1700 Schritte nach „links“
 
if (results.value == 16716015) // Taste 4
 
T2Stepper.doSteps(1700); //1700 Stepps rechts
 
if (results.value == 16726215) // Taste 5
 
T2Stepper.doSteps(-1700); // 1700 nach links
 
if (results.value == 16728765) // Taste 7
 
T3Stepper.doSteps(1700); // 1700 nach rechts
 
if (results.value == 16730805) // Taste 8
 
T3Stepper.doSteps(-1700); // 1700 nach links
 
// Beleuchtung
if (results.value == 16756815) // Taste 3
digitalWrite(ledPin1,HIGH);
if (results.value == 16734885) // Taste 6
digitalWrite(ledPin1,LOW);
if (results.value == 16732845) // Taste 9
digitalWrite(ledPin2,HIGH);
if (results.value == 16738455) // Taste 0
digitalWrite(ledPin2,LOW);
if (results.value == 16750695) // Taste 100+
digitalWrite(ledPin3,HIGH);
if (results.value == 16756815) // Taste 200+
digitalWrite(ledPin3,LOW);
if (results.value == 16769055) // Taste minus
digitalWrite(ledPin4,HIGH);
if (results.value == 16754775) // Taste plus
digitalWrite(ledPin4,LOW);
if (results.value == 16748655) // Taste EQ
digitalWrite(ledPin5,HIGH);
if (results.value == 16720605) // Taste I<<
digitalWrite(ledPin5,LOW);
if (results.value == 16712445) // Taste >>I
digitalWrite(ledPin6,HIGH);
if (results.value == 16761405) // Taste <II
digitalWrite(ledPin6,LOW);
 
if (results.value == 16753245) // Taste CH-
digitalWrite (ledPin7,HIGH);
digitalWrite (ledPin8,HIGH);
digitalWrite (ledPin9,HIGH);
if (results.value == 16736925) // Taste CH
digitalWrite (ledPin7,LOW);
digitalWrite(ledPin8,LOW);
digitalWrite(ledPin9,LOW);
if (results.value == 16769565) // Taste CH+
delay(10);
}
 
 



Dabei habe ich die beiden Tasten(Zahlenwerte) nochmal korrigiert.
Nun bin ich am Überlegen wie ich die LED`s im Lokschuppen am besten starten lasse, ich wollte diese ja wie "Alte abgenudelte" Leuchtstoffröhren starten. Also erst 2-4 mal blinken mit halber Leuchtkraft dann langsam heller und zum Schluss dann an.

Weiterhin muss ich mir Gedanken machen wie ich die Strombelastung vom UNO reduzieren kann für die vielen LED`s

Gibt es dafür eventuell fertige Treiber IC`s oder muss ich da für jeden Ausgang Transistoren benutzen.
Ich habe auch schon mal über Opto-Koppler nach gedacht damit wäre sicher gestellt dass dem UNO nichts passiert. das wird dann allerdings eine Große Platine.

Vielleicht hat ja jemand eine Idee dazu


Gruß Rainer bleibt gesund


 
ts250x
InterRegioExpress (IRE)
Beiträge: 475
Registriert am: 11.03.2017
Ort: Vorderpfalz
Gleise ROCO-Line ohne
Spurweite H0
Steuerung z21,Tablet, Multimaus
Stromart Digital


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#81 von MicroBahner , 04.08.2019 22:49

Hallo Rainer,

Zitat

1. Hast du schon einen Plan bis wann in etwa die Funktionen: "withEnable" freigeschaltet sind

Auf github habe ich geschrieben:

1
2
 
Version Release Date 	Description
1.2.0 2019-08-?? managing an enable pin for steppers is possible
 

Mal sehen, ob das mit dem August noch klappt . Da ich da auch noch ein paar Tage in Urlaub bin ...

Zitat

Meinst du damit : switch-case anstatt: if (results.value == zu benutzen?

Genau das.

1
 
  T1Stepper.setRampLen( 50 );  // doppelte Eingabe der Rampenlänge ??
 

Wenn Du die Rampe schon beim SetSpeedSteps() mit angegeben hast, musst Du sie nicht nochmal angeben.

1
2
3
4
5
 
if (results.value == 16753245)  // Taste CH-
digitalWrite (ledPin7,HIGH);
digitalWrite (ledPin8,HIGH);
digitalWrite (ledPin9,HIGH);
if (results.value == 16736925) // Taste CH
 

Das macht nicht das was Du willst. Wenn Du mehrere Anweisungen von einem if abhängig machen sillst, musst du sie in { } einschließen.

1
2
3
4
5
6
 
if (results.value == 16753245)  { // Taste CH-
digitalWrite (ledPin7,HIGH);
digitalWrite (ledPin8,HIGH);
digitalWrite (ledPin9,HIGH);
}
if (results.value == 16736925) // Taste CH
 



Und versuche deinen Code mit Einrückungen logisch zu formatieren. Dann ist er wesentlich besser lesbar ( ctrl-T ist dein Freund )

Zitat

Weiterhin muss ich mir Gedanken machen wie ich die Strombelastung vom UNO reduzieren kann für die vielen LED`s
Gibt es dafür eventuell fertige Treiber IC`s oder muss ich da für jeden Ausgang Transistoren benutzen.

Ja, da gibt es schon IC's - z.B. den ULN2803.
Aber brauchst Du das wirklich? Wenn Du keine Scheinwerfer nachbilden willst, brauchen aktuelle Leds doch kaum mehr als 2mA für eine angemessene Helligkeit. Und da kannst Du schon einige anschließen. Das würde ich erstmal ausprobieren, ob das nicht reicht.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#82 von ts250x , 05.08.2019 10:53

Hallo Franz-Peter,

Zitat von MicroBahner im Beitrag Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

Mal sehen, ob das mit dem August noch klappt . Da ich da auch noch ein paar Tage in Urlaub bin ...


Dein Urlaub hat natürlich Vorrang, dazu wünsche ich Dir schon mal "Gute erholsame Tage"

Zu dem Switch case habe ich dann doch noch die ein oder andere Frage: Steht im Sketch
Im Sketch habe ich auch mal die 3 LED`s zusammen geführt so dass diese hoffentlich alle gleichzeitig an und aus gehen.
Der Compiler hat da jetzt mal nicht gemeckert,,,,,,, aber ob es das auch macht wie ich mir das Vorstelle ???

1
2
3
 
switch (results.value) // muss das dann immer aufgerufen werden oder nur einmal ?
case 16753245: // Taste CH-
digitalWrite [(ledPin7,HIGH),(ledPin8,HIGH),(ledPin9,HIGH)];
 



Zitat von MicroBahner im Beitrag Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

T1Stepper.setRampLen( 50 ); // doppelte Eingabe der Rampenlänge ??
Wenn Du die Rampe schon beim SetSpeedSteps() mit angegeben hast, musst Du sie nicht nochmal angeben.


Das dachte ich mir schon deshalb die Fragezeichen dahinter = Gut zu wissen ops:

Zitat von MicroBahner im Beitrag Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

Und versuche deinen Code mit Einrückungen logisch zu formatieren. Dann ist er wesentlich besser lesbar ( ctrl-T ist dein Freund )


Schön das ich Freunde habe die mir nicht bekannt sind das werde ich zukünftig dann so machen, wenn ich es nicht vergesse

Zitat von MicroBahner im Beitrag Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

ts250x hat geschrieben: ↑So 4. Aug 2019, 11:18
Weiterhin muss ich mir Gedanken machen wie ich die Strombelastung vom UNO reduzieren kann für die vielen LED`s
Gibt es dafür eventuell fertige Treiber IC`s oder muss ich da für jeden Ausgang Transistoren benutzen.
Ja, da gibt es schon IC's - z.B. den ULN2803.
Aber brauchst Du das wirklich? Wenn Du keine Scheinwerfer nachbilden willst, brauchen aktuelle Leds doch kaum mehr als 2mA für eine angemessene Helligkeit. Und da kannst Du schon einige anschließen. Das würde ich erstmal ausprobieren, ob das nicht reicht.



Ja von den 2mA Led´s hab ich auch schon gehört und auch schon danach gesucht ....... auch einige gefunden leider sind die meisten dann eher Farbig.
Von meinem letzten Projekt habe ich noch ein paar Smd
LED`s die habe ich schon auf die hälfte des Vorwärtsstroms begrenzt also mit 10 mA machen die noch genügend hell, ob diese bei 2 mA schon leuchten muss ich mal ausprobieren da fehlen mir momentan nur die Richtigen Widerstände

Nun freue ich mich schon auf eine Antwort ob ich das mit dem Switch case richtig geschrieben habe ....
Bis demnächst


Gruß Rainer bleibt gesund


 
ts250x
InterRegioExpress (IRE)
Beiträge: 475
Registriert am: 11.03.2017
Ort: Vorderpfalz
Gleise ROCO-Line ohne
Spurweite H0
Steuerung z21,Tablet, Multimaus
Stromart Digital


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#83 von vikr , 05.08.2019 11:53

Hallo

Zitat


Ja von den 2mA Led´s hab ich auch schon gehört und auch schon danach gesucht ....... auch einige gefunden leider sind die meisten dann eher Farbig.




Licht ist immer farbig. Die richtige Mischung und Intensität der Farben erscheint dem menschlichem Auge weiß. Eine weiß erscheinende LED besteht aus mind. drei LEDs, benötigt also etwa dreimal soviel Strom wie eine einfarbige LED gleichen Typs.

MfG

vik


im Übrigen - Märklin am liebsten ohne Pukos, z.B. als Trix


vikr  
vikr
ICE-Sprinter
Beiträge: 6.260
Registriert am: 23.10.2011
Gleise M, C u. K.
Spurweite H0, N
Stromart Digital, Analog


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#84 von MicroBahner , 05.08.2019 13:59

Zitat

Eine weiß erscheinende LED besteht aus mind. drei LEDs,

Das gilt aber nur für RGB-Led's, die durch entsprechende Ansteuerung unterschiedliche Farben erzeugen können.
Rein weiße Led's arbeiten anders. Da wird eine blaue LED mit entsprechenden Leuchtstoffen kombiniert.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#85 von MicroBahner , 05.08.2019 18:26

Hallo Rainer,

Zitat

Nun freue ich mich schon auf eine Antwort ob ich das mit dem Switch case richtig geschrieben habe ....

tja, wie soll ich's sagen ... Du wirst dich über meine Antwort wohl nicht freuen ...

Obwohl es rein syntaktisch korrekt ist (deshalb gibt es ja keine Fehlermeldung), ist es völliger Humbug. Wenn Du im Compiler die Warnungen einschaltest, sagt er dir das auch. C++ eignet sich nicht dazu, nach der Methode Try&Error vorzugehen. Du verplemperst nur deine wertvolle Zeit.
Ich bleibe dabei - Du musst dir dringend die Grundlagen erarbeiten, z.B mit dem Link, den ich dir oben gepostet habe. Und mit kleinen Sketchen anfangen, die Du dann auch zum Laufen bringst, bevor es weitergeht.
Ich verstehe ja, dass das für dich wohl eher mühsam und vielleicht langweilig ist, und Du möglichst schnell zu einem Ergebnis bei deinem eigentliche Projekt kommen willst. Aber Du vergeudest nur Zeit. Wenn Du dich jetzt erstmal in die Grundlagen einarbeitest, geht es hinterher umso schneller, und insgesamt wirst Du Zeit sparen.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#86 von ts250x , 06.08.2019 08:54

Hallo Franz-Peter, Hallo Bodo,Hallo @ All

Zitat

tja, wie soll ich's sagen ... Du wirst dich über meine Antwort wohl nicht freuen ...



Täusche dich da mal nicht, ich bin immer für offene Ehrliche Worte zu haben, die sind mir lieber als irgend welche Floskeln, die im Ende nichts sagen.
Von daher:

Zitat

Obwohl es rein syntaktisch korrekt ist (deshalb gibt es ja keine Fehlermeldung), ist es völliger Humbug.


Da hatte ich den einzigen Sketch im Hinterkopf den ich dazu gefunden hatte, habe.

1
2
3
4
5
6
 
if (irrecv.decode(&results)) { //Wenn etwas gelesen wurde dann...
//Ausgabe des Wertes auf die Serielle Schnittstelle.
int value = results.value;
switch (value){ // hier hatte ich die geschweifte Klammer nicht gesehen! Da habe ich doch gleich eine Idee :mrgreen:
case 16724175 : //Taste 1
 
 


In der PDF "Arduino-Referenz" quasi deine Empfehlung,gibt es auf Seite 39 das hier zu lesen:
switch / case Anweisungen
Ähnlich wie if-Anweisungen erlauben die switch/case-Anweisungen die Ausführung bestimmter
Abläufe zu kontrollieren. Eine switch-Anweisung vergleicht den Wert einer Variablen mit den Werten
aus den case-Anweisungen. Wenn eine Übereinstimmung gefunden wird, wird das Programm ab der

jeweiligen case-Anweisung bis zum nächsten break ausgeführt.
Syntax
switch (var) {
case label:
// Anweisungen
break;
case label:
// Anweisungen
break;
default:
// Anweisungen
}
Parameter
var: eine Variable deren Wert zwischen den einzelnen case-Anweisungen verglichen wird
label: ein Wert der mit var verglichen wird
Beispiel
switch (var) {
case 1:
//etwas tun wenn var == 1
break;
case 2:
//etwas tun wenn var == 2
break;
default:
// wenn nichts zutrifft, führe default (standard) code aus
// default ist optional, sollte aber immer hinzugefügt werden
}


Damit kann ich nichts anfangen es sollen ja keine Werte verglichen werden.......und der Hinweis mit "bis zum nächsten break" hat mich dann endgültig von dieser Anwendung gebracht...

Zitat

Wenn Du im Compiler die Warnungen einschaltest, sagt er dir das auch.


Wo , bitte kann man das Einschalten ??

Zitat

Ich verstehe ja, dass das für dich wohl eher mühsam und vielleicht langweilig ist, und Du möglichst schnell zu einem Ergebnis bei deinem eigentliche Projekt kommen willst. Aber Du vergeudest nur Zeit. Wenn Du dich jetzt erstmal in die Grundlagen einarbeitest, geht es hinterher umso schneller, und insgesamt wirst Du Zeit sparen.


Auch auf die Gefahr hin dass ich mich hier als "unfähig Oute" ich kann mit diesen Beispielen nichts Anfangen
Für mich ist es in der Tat wichtiger das der Sketch das macht was ich erwarte.......Und wenn mir jemand schreibt wie das mit dem "switch/case"
geschrieben wird dann reicht mir das vollkommen aus, ich werde in diesem Leben bestimmt kein Programmierer mehr werden....


Gruß Rainer bleibt gesund


 
ts250x
InterRegioExpress (IRE)
Beiträge: 475
Registriert am: 11.03.2017
Ort: Vorderpfalz
Gleise ROCO-Line ohne
Spurweite H0
Steuerung z21,Tablet, Multimaus
Stromart Digital


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#87 von MicroBahner , 06.08.2019 09:49

Hallo Rainer,
ok, vielleicht hatte ich die falsche Zeile zitiert. Das mit dem 'Humbug' bezog sich weniger auf den switch-case ( mit dem winzigen Ausschnitt konnte man da sowieso nichts zu sagen ) sondern auf deinen Versuch, die 3 Leds gleichzeitig ein- und auszuschalten.
Das hier ist der Humbug:

1
 
    digitalWrite [(ledPin7,HIGH),(ledPin8,HIGH),(ledPin9,HIGH)];
 



Zitat

Damit kann ich nichts anfangen es sollen ja keine Werte verglichen werden......

Natürlich sollen Werte verglichen werden: Du willst den empfangenen Code mit allen Codewerten vergleichen, die etwas Auslösen sollen. Und genau für sowas - einen (variablen) Wert mit vielen anderen konstanten Werten vergleichen - benutzt man die switch Anweisung.

Zitat

"bis zum nächsten break" hat mich dann endgültig von dieser Anwendung gebracht...

Wieso? Genau die Anweisungen, die zwischen dem 'case' stehen, der zum empfangenen Code passt und dem nächsten 'break' werden ausgeführt, wenn dieser Code empfangen wird. Das ist doch genau das, was Du willst.

Zitat

Für mich ist es in der Tat wichtiger das der Sketch das macht was ich erwarte.....

Das macht er aber nicht von alleine, das musst Du programmieren.

Zitat

ich werde in diesem Leben bestimmt kein Programmierer mehr werden...

Man muss kein Profi-Programmierer werden, um mit Arduino zu arbeiten. Einige grundlegende Kenntnisse reichen da schon aus. Wenn Du aber gar kein Programmierer werden willst, dann lass das mit dem Arduino sein - oder such dir einen Dienstleister, der das für dich macht.

In den Anfängen der Microprozessortechnik, als die Euphorie groß war, dass man jetzt mit einer HW so viel unterschiedliche Dinge machen kann, hat mal ein schlauer Mann gesagt:

Zitat
Einen Microprozessor kann man nicht programmieren, den MUSS man programmieren.



P.S. Die Warnungen kannst Du in der IDE unter Datei-> Voreinstellungen einschalten. Dort unter 'Compilerwarnungen' 'alle' auswählen.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#88 von ts250x , 06.08.2019 11:09

Hallo Franz-Peter, Hallo @ All,

Zitat

Das mit dem 'Humbug' bezog sich weniger auf den switch-case ( mit dem winzigen Ausschnitt konnte man da sowieso nichts zu sagen )


Kann ich jetzt wenn ich das weiter unten lese verstehen.
Zum Humbug: in der Tat habe ich da 3-10 verschiedene Varianten versucht bis ich auf die Glorreiche Idee kam wenn digitalWrite ein oder Ausschaltet
Dann muss eben erst die Große Klammer geöffnet werden danach die einzelnen Anweisungen in separaten Klammern und zu guter Letzt auf eine geöffnete Klammer folgt immer eine Geschlossene vom gleichen Typ.....Da fällt mir gerade ein für eine Echte RGB Led benutzt man ja auch 3 Ausgänge vielleicht finde ich ja dort die Lösung.

Nun noch zum Switch/case:

Zitat

Natürlich sollen Werte verglichen werden: Du willst den empfangenen Code mit allen Codewerten vergleichen, die etwas Auslösen sollen. Und genau für sowas - einen (variablen) Wert mit vielen anderen konstanten Werten vergleichen - benutzt man die switch Anweisung.


Tja was soll ich dazu schreiben... ganz klar..... das habe ich anders verstanden bzw. eben nicht verstanden.

Zitat

Genau die Anweisungen, die zwischen dem 'case' stehen, der zum empfangenen Code passt und dem nächsten 'break' werden ausgeführt, wenn dieser Code empfangen wird. Das ist doch genau das, was Du willst.


Zum Break .. das habe ich so verstanden dass dieser den Arduino oder den Sketch an dieser Stelle abschaltet. Leider kann ich mich momentan nicht mehr genau erinnern wo ich das gelesen habe ..... bei gefühlten 1000 Seiten aus verschieden Quellen kann ich das nicht mehr schreiben.

Zitat

Man muss kein Profi-Programmierer werden, um mit Arduino zu arbeiten. Einige grundlegende Kenntnisse reichen da schon aus. Wenn Du aber gar kein Programmierer werden willst, dann lass das mit dem Arduino sein


Ich hoffe das ich Dir da nicht auf den Schlipps getreten bin..... das möchte ich unbedingt vermeiden..... denn ich finde es einfach Toll dass du mir hier Antwortest

Zitat

P.S. Die Warnungen kannst Du in der IDE unter Datei-> Voreinstellungen einschalten. Dort unter 'Compilerwarnungen' 'alle' auswählen.


DANKE für den Tipp, das werde ich gleich mal Testen...


Gruß Rainer bleibt gesund


 
ts250x
InterRegioExpress (IRE)
Beiträge: 475
Registriert am: 11.03.2017
Ort: Vorderpfalz
Gleise ROCO-Line ohne
Spurweite H0
Steuerung z21,Tablet, Multimaus
Stromart Digital


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#89 von MicroBahner , 06.08.2019 22:38

Hallo Rainer,

Zitat

Zum Break .. das habe ich so verstanden dass dieser den Arduino oder den Sketch an dieser Stelle abschaltet.

Das ist auf jeden Fall falsch. Mit 'break' kannst Du eine Programmschleife oder eben das switch-Statement verlassen. Nicht mehr und nicht weniger.

Zitat

Zum Humbug: in der Tat habe ich da 3-10 verschiedene Varianten versucht bis ich auf die Glorreiche Idee kam wenn digitalWrite ein oder Ausschaltet

Wenn Du 3 Leds ein- oder ausschalten willst, musst Du eben 3 einzelne digitalWrite-Anweisungen benutzen.

Zitat

Ich hoffe das ich Dir da nicht auf den Schlipps getreten bin.....

Ich trage keine Schlipse . Warum solltest Du mir auf selbigen getreten sein?

Ich sage halt meine Meinung, wie ich das mit dem Arduino-Programmieren sehe. Wenn ich zu dem Entschluß komme, dass Du ein hoffnungsloser Fall bist, stelle ich einfach meine Antworten ein


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#90 von ts250x , 07.08.2019 09:50

Hallo Franz-Peter, Hallo liebe Mitleser,
Heute fange ich mal von hinten an.

Zitat

Wenn ich zu dem Entschluß komme, dass Du ein hoffnungsloser Fall bist, stelle ich einfach meine Antworten ein


Franz-Peter, schön dass du mich noch nicht aufgegeben hast......

Die Fehlermeldungen habe ich jetzt eingeschaltet, Oh Je was da alles an Fehlern gemeldet wird, da habe ich noch Viel zu Tun ops:

Meine Idee bei den RGB Led`s auf eine Lösung zu stoßen war leider ohne Erfolg......

Mein nächster Ansatz ist jetzt, das vielleicht mit Arry`s umzusetzen.
Schau mer mal.........

Gestern habe ich mal meine zur Verfügung stehenden Spannungsquellen aus gesucht damit ich da Zukünftig eine Grundlage habe,
es wird ein 12 V DC mit 2 A werden.

Und wegen der Belastung vom UNO dann doch mal lieber vorsorglich diese ULN 2803 bestellt.

So nun werde ich weiter lesen hoffentlich auch etwas dabei lernen und mich hier in einer Fernen Zukunft wieder melden wenn ich etwas vorzeigbares FUNKTIONIERENDES zusammen habe.


Gruß Rainer bleibt gesund


 
ts250x
InterRegioExpress (IRE)
Beiträge: 475
Registriert am: 11.03.2017
Ort: Vorderpfalz
Gleise ROCO-Line ohne
Spurweite H0
Steuerung z21,Tablet, Multimaus
Stromart Digital


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#91 von MicroBahner , 07.08.2019 10:58

Zitat

Die Fehlermeldungen habe ich jetzt eingeschaltet, Oh Je was da alles an Fehlern gemeldet wird, da habe ich noch Viel zu Tun ops:

Da hast Du ja nun auch die Warnungen eingeschaltet. Die bedeuten ja nicht in jedem Fall einen Fehler - das muss man überprüfen. Wenn nur Warnungen erzeugt werden, generiert die IDE auch einen Code für den Arduino.
Die Warnungen können auch schonmal von den Libs kommen, die Du einbindest. Selbst einige der Systemlibs erzeugen Warnungen. Auch die MobaTools-Version, die über den Bibliotheksverwalter installiert wird, erzeugt leider noch allerhand Warnungen ops: . Die sind zwar überprüft und führen nicht zu einem Fehlverhalten. Trotzdem habe ich das aktuell soweit verbessert, dass keine Warnungen mehr erzeugt werden. Das ist immer besser .
Die Warnungen der Libs erscheinen aber nur beim ersten Übersetzen. Sie verschwinden, wenn Du Änderungen am Sketch machst, und dann nochmal übersetzt. Dann siehst Du nur noch die Warnungen, die wirklich von deinem Sketch stammen.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#92 von ts250x , 07.08.2019 11:17

Hallo Franz-Peter,
das musste ich eben bei einem Fertigen Sketch auch feststellen der Sketch ist der von der IRremote den ich schon verwendet habe....
da sind schon etliche Fehler Meldungen gekommen..

Das kann ja Heiter werden.... Da bleibt wohl nichts anderes übrig als das mit dem UNO in Wirklichkeit zu testen.....

Auch die Meldungen selbst sind für mich eher schwer zu verstehen, selbst nach der Übersetzung im www kommen da nicht eindeutige Dinge heraus

Andere Frage noch : wie oft kann man denn den UNO Neu brennen bis er die Grätsche macht?? <1000 mal oder mehr ??

Auf jeden Fall DANKE für die Nachricht


Gruß Rainer bleibt gesund


 
ts250x
InterRegioExpress (IRE)
Beiträge: 475
Registriert am: 11.03.2017
Ort: Vorderpfalz
Gleise ROCO-Line ohne
Spurweite H0
Steuerung z21,Tablet, Multimaus
Stromart Digital


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#93 von MicroBahner , 07.08.2019 11:49

Zitat

Andere Frage noch : wie oft kann man denn den UNO Neu brennen bis er die Grätsche macht?? <1000 mal oder mehr ??

Lt. Datenblatt mindestens 10.000 mal. In der Praxis wohl eher noch öfter.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#94 von ts250x , 07.08.2019 12:29

Hallo Franz-Peter,

Gut zu wissen ... da habe ich ja noch mindestens 9997 versuche Frei.

Und falls es jemand interessiert die Treiber sind eingetroffen, sogar Kühlkörper sind dabei

Also wird meine nächste Aufgabe darin bestehen ein kleines Programm zu schreiben damit ich die Ströme einstellen kann um dann mal die Motörchen drehen zu sehen
Eine Platine muss auch noch geplant werden wo alles seinen Platz findet..... Ergo es gibt viel zu tun.....


Gruß Rainer bleibt gesund


 
ts250x
InterRegioExpress (IRE)
Beiträge: 475
Registriert am: 11.03.2017
Ort: Vorderpfalz
Gleise ROCO-Line ohne
Spurweite H0
Steuerung z21,Tablet, Multimaus
Stromart Digital


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#95 von ts250x , 07.08.2019 19:10

Hallo Franz-Peter,
so mein Sketch zum ausprobieren eines Motors wäre soweit fertig
Soweit = Compiler hat keine Fehlermeldung angezeigt
Falls es deine Wertvolle Zeit zulässt könntest Du dir mal das Anschauen, andere Arduino Kenner selbstverständlich gerne auch
Als kleiner Hinweis: die delay Zeiten mit 5 sec habe ich absichtlich eingebaut.
Der zu testen Motor soll jeweils 1700 Stepps nach rechts und anschließend nach links machen also mit Taste 2
Hier der Code aus dem Arduino kopiert mit Strg+T formatiert.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
#include &lt;MobaTools.h&gt;
#include &lt;IRremote.h&gt;
#include &lt;Arduino.h&gt;
Stepper4 T1Stepper(200, A4988);
int irPin = 13; //Pin am Arduino Nano f&#252;r den IR Receiver
IRrecv irrecv(irPin); //Objekt initialisieren f&#252;r die IR &#220;bertragung
decode_results results;
 
void setup()
{
T1Stepper.attach( 10, 11 ); // Step und Dir-Pin
T1Stepper.setSpeedSteps( 200,100);
 
pinMode(irPin, INPUT); //Den IR Pin als Eingang deklarieren.
Serial.begin(9600); //Serielle kommunikation mit 9600 Baud beginnen.
}
 
void loop()
{
if (irrecv.decode(&amp;results))
Serial.println (results.value, DEC);
 
if (results.value == 16724175) // wenn der Infrarot Empf&#228;nger die Zahl erkennt
T1Stepper.doSteps(1700); // Taste 1 macht 1700 Schritte nach &#8222;rechts&#8220;
delay(5000);
if (results.value == 16718055) // Taste 2
T1Stepper.doSteps(-1700); // macht 1700 Schritte nach &#8222;links&#8220;
delay(5000);
}
 



Die Platine habe ich auch schon mal so Grob entworfen.


Gruß Rainer bleibt gesund


 
ts250x
InterRegioExpress (IRE)
Beiträge: 475
Registriert am: 11.03.2017
Ort: Vorderpfalz
Gleise ROCO-Line ohne
Spurweite H0
Steuerung z21,Tablet, Multimaus
Stromart Digital


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#96 von MicroBahner , 07.08.2019 21:49

Hallo Rainer,

Zitat

Hier der Code aus dem Arduino kopiert mit Strg+T formatiert.

Da hast Du aber geschummelt - so ist der mit ctrl-T nicht formatiert worden. Das sah da bestimmt so aus:

1
2
3
4
5
6
7
 
  if (results.value == 16724175)           // wenn der Infrarot Empf&#228;nger die Zahl erkennt
T1Stepper.doSteps(1700); // Taste 1 macht 1700 Schritte nach &#8222;rechts&#8220;
delay(5000);
if (results.value == 16718055) // Taste 2
T1Stepper.doSteps(-1700); // macht 1700 Schritte nach &#8222;links&#8220;
delay(5000);
 
 

Das die delay nicht eingerückt sind hat seinen Grund: die werden nämlich unabhängig von der if-Abfrage immer ausgeführt. Du musst dich mit der Bedeutung der geschweiften Klammer { } vertraut machen. Dann rückt das ctrl-T das auch so ein:

1
2
3
4
5
6
7
8
9
 
  if (results.value == 16724175) {           // wenn der Infrarot Empf&#228;nger die Zahl erkennt
T1Stepper.doSteps(1700); // Taste 1 macht 1700 Schritte nach &#8222;rechts&#8220;
delay(5000);
}
if (results.value == 16718055) { // Taste 2
T1Stepper.doSteps(-1700); // macht 1700 Schritte nach &#8222;links&#8220;
delay(5000);
}
 
 

Da fehlen aber noch mehr geschweifte Klammern.
Außerden fehlen Anweisungen für den Infrarotempfänger. Das musst Du aber doch schonmal hinbekommen haben, da Du die Tasten ja auslesen konntest.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#97 von ts250x , 08.08.2019 08:36

Hallo Franz-Peter,

Zitat

Da hast Du aber geschummelt - so ist der mit ctrl-T nicht formatiert worden. Das sah da bestimmt so aus:


Eventuell liegt das daran das ich erst alles in Word schreibe bzw. kopiere dann in die Oberfläche vom Arduino einfüge , danach markiere ich alles auf der Oberfläche vom Arduino, drücke Strg+t dann formatiert sich das ganze so wie ich es dann hier hinein kopiere....
Du schriebst allerdings ctrl+T also das Große T das habe ich nicht getan......... na ja zum schummeln
das würde doch nur bedeuten dass ich mich selbst betrüge ... daran habe ich kein Interesse... und andere möchte ich auch nicht betrügen

Zitat

Du musst dich mit der Bedeutung der geschweiften Klammer { } vertraut machen. Dann rückt das ctrl-T das auch so ein:


Tja die Bedeutung der Klammern, da habe ich falsche Vorstellungen..... ich dachte im void loop genügt am Anfang und am Ende eine...

Zitat

Da fehlen aber noch mehr geschweifte Klammern.
Außerden fehlen Anweisungen für den Infrarotempfänger. Das musst Du aber doch schonmal hinbekommen haben, da Du die Tasten ja auslesen konntest.



Da hast absolut Recht ich war zu blöd die Richtigen notwendigen Zeilen ein zu kopieren und dabei habe ich auch noch geschweifte Klammern weggelassen die eigentlich im Sketch enthalten sind...... Asche über mein Haupt oder besser geschrieben Entschuldigung ops: ops:
Jetzt traue ich mich nicht mehr hier noch einen weiteren Sketch hochzuladen, denn ich möchte Deine kostbare Zeit nicht in Anspruch nehmen für
meinen Dünnpfiff........... ops: ops:


Gruß Rainer bleibt gesund


 
ts250x
InterRegioExpress (IRE)
Beiträge: 475
Registriert am: 11.03.2017
Ort: Vorderpfalz
Gleise ROCO-Line ohne
Spurweite H0
Steuerung z21,Tablet, Multimaus
Stromart Digital


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#98 von MicroBahner , 08.08.2019 10:36

Zitat

Eventuell liegt das daran das ich erst alles in Word schreibe bzw. kopiere dann in die Oberfläche vom Arduino einfüge

??? Welchen Vorteil siehst Du darin? Word ist normalerweise nicht geeignet um Programme zu schreiben.

Zitat

Du schriebst allerdings ctrl+T also das Große T das habe ich nicht getan....

Hast Du einen Taste, auf der ein kleines 't' drauf ist? Auf meiner Tastatur gibt es nur eine mit 'T' drauf - und die eben zusammen mit ctrl ( oder 'Strg' - auf einer deutschen Tastatur ) drücken. Strg+shift+T bewirkt gar nichts.

Zitat

Tja die Bedeutung der Klammern, da habe ich falsche Vorstellungen

Vielleicht hilf dir das.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#99 von ts250x , 08.08.2019 11:58

Hallo Franz-Peter,

Zitat

??? Welchen Vorteil siehst Du darin? Word ist normalerweise nicht geeignet um Programme zu schreiben.


In Word kann ich zum einen die Schriftgröße anpassen, zum anderen aus Vorlagen mir Bausteine heraus kopieren und in einem anderen Dokument zusammen stellen. Für dich ist das sicherlich ein Nonsens....

Zitat

Hast Du einen Taste, auf der ein kleines 't' drauf ist?


ich schreibe es mal so: wenn ich die Umschalttaste nicht drücke dann erscheint da schon ein" t"
inzwischen habe ich es ausprobiert..... auch mit Großem T da formatiert das auch.

So sieht das dann aus , jetzt direkt aus der Arduino Oberfläche kopiert

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
#include &lt;MobaTools.h&gt;
#include &lt;IRremote.h&gt;
#include &lt;Arduino.h&gt;
Stepper4 T1Stepper(200, A4988);
int RECV_PIN = 13; //Pin am Arduino Nano f&#252;r den IR Receiver
IRrecv irrecv(RECV_PIN); //Objekt initialisieren f&#252;r die IR &#220;bertragung
decode_results results;
 
void setup()
{
T1Stepper.attach( 10, 11 ); // Step und Dir-Pin
T1Stepper.setSpeedSteps( 200, 50 );
irrecv.enableIRIn(); //Dieser Befehl initialisiert den Infrarotempf&#228;nger.
 
pinMode(RECV_PIN, INPUT); //Den IR Pin als Eingang deklarieren.
Serial.begin(9600); //Serielle kommunikation mit 9600 Baud beginnen.
}
 
void loop()
{
 
if (irrecv.decode(&amp;results)) {
Serial.println (results.value, DEC);
irrecv.resume();
}
 

 

if (results.value == 16724175) { // wenn der Infrarot Empf&#228;nger die Zahl erkennt
 
T1Stepper.doSteps(1700); // Taste 1 macht 1700 Schritte nach &#8222;rechts&#8220;
delay(5000);
}
 

if (results.value == 16718055) { // Taste 2
T1Stepper.doSteps(-1700); // macht 1700 Schritte nach &#8222;links&#8220;
delay(5000);
}
}
 
 



Bis vor einer viertel Std. bekam ich ständig diese Fehlermeldung:
expected unqualified-id before 'if'

Und weis der Teufel wie ich das weg bekommen habe im Oben eingefügten Sketch zeigt er auf einmal keine Fehler mehr an.
Dazwischen hatte ich } else { zwischen die > irrecv.resume(); } und if (results.value == 16718055) geschrieben.
Nach dem Löschen des" else" Eintrags mit den beiden Klammern war es auf einmal Ohne Fehlermeldung.....

Jetzt muss das nur noch funktionieren da komme ich wahrscheinlich erst morgen dazu...

Vielen Dank für deinen Link da gibt es noch vieles zu lesen ...

UUps : da habe ich noch etwas vergessen zu Fragen:
es geht um die Stepperrampe diese 50 wären ja gerade mal eine 1/4 Umdrehung bei 200 für eine ganze.
Jetzt meine Farge wie viele Stepps würdest du da setzen ? ............300 oder noch mehr ?


Gruß Rainer bleibt gesund


 
ts250x
InterRegioExpress (IRE)
Beiträge: 475
Registriert am: 11.03.2017
Ort: Vorderpfalz
Gleise ROCO-Line ohne
Spurweite H0
Steuerung z21,Tablet, Multimaus
Stromart Digital


RE: Hilfe zu Arduino(UNO)Sketch gesucht für FB gefunden/ Danksagungen

#100 von MicroBahner , 09.08.2019 09:29

Zitat

In Word kann ich zum einen die Schriftgröße anpassen, zum anderen aus Vorlagen mir Bausteine heraus kopieren und in einem anderen Dokument zusammen stellen.

Das geht doch in der IDE auch alles. Die Schriftgröße kannst Du unter Datei->Voreinstellungen ändern ( Feld 'Editor-Textgröße' ). Und zum hin- und herkopieren kannst Du die IDE auch mehrfach starten.
Die IDE hat den ganz wesentlichen Vorteil, dass sie weis, dass Du ein C++-Programm schreibst. Wenn Du da eintippst, werden Schlüsselworte gleich entsprechend farblich markiert ( da merkst Du Toppfehler gleich ), und wenn Du z.B. einen Block mit einer '{' startest, setzt sie dir gleich die dazugehörige '}' und rückt auch gleich ein.
Alle Texteditoren, die seitenorientiert und mit Formatierungen arbeiten, sind eigentlich zum Schreiben von Programmen ungeeignet. Es gibt sicherlich komfortablere Programmeditoren als die Arduino-IDE, z.B. Notepad++, aber Programme die eher zum Schreiben von Briefen und Dokumenten gedacht sind, gehören sicher nicht dazu. Und die Arduino-IDE hat den deutlichen Vorteil, dass sie auch alle Arduino-spezifischen Schlüsselworte kennt.

Zitat

Dazwischen hatte ich } else { zwischen die > irrecv.resume(); } und if (results.value == 16718055) geschrieben.

Was wolltest Du denn damit bezwecken?

Zitat

Jetzt meine Farge wie viele Stepps würdest du da setzen ? ...

Das kann man so allgemein nicht sagen. Ich kenne weder die Eigenchaften deiner Stepper, noch deine Mechanik. Letzendlich wirst Du ausprobieren müssen, was am besten passt. Ein Anhaltspunkt ist die Zahl der Steps für den gesamten Verfahrweg. 10% davon als Rampe wäre ein möglicher Startwert für Versuche. Ist aber vermutlich weniger ein technisches als ein optisches 'Problem'.


viele Grüße
Franz-Peter
Ein 'elektromechanisches' Stellwerk
Der (ehemalige) 'Eisberg'


 
MicroBahner
Metropolitan (MET)
Beiträge: 2.833
Registriert am: 28.11.2012
Ort: Mittelfranken
Gleise Tillig Elite
Steuerung Eigenbau
Stromart Analog


   


  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz