Ich denke nicht.lukmilei hat geschrieben:Ich wollte den LM abfragen, weil dann beim Zulaufen der Türen (z.B. beim 423) auch der LM blinkt. Das ist bei case 86 nicht der Fall, oder?
Gruß, Arne
Ich denke nicht.lukmilei hat geschrieben:Ich wollte den LM abfragen, weil dann beim Zulaufen der Türen (z.B. beim 423) auch der LM blinkt. Das ist bei case 86 nicht der Fall, oder?
Code: Alles auswählen
// <-- Anfang des 1. Bereichs für individuelle Anpassungen -->
// Pinbelegungen für angeschlossene LED
int ledPZB85 = 22;
int ledPZB70 = 24;
int ledPZB55 = 26;
int ledPZB1000 = 28;
int ledPZB500 = 30;
int ledPZB40 = 32;
int ledsifa = 34;
// ACHTUNG: je nach Arduino stehen einige PINs hier NICHT für
// Ausgaben frei zur Verfügung, da möglicherweise intern belegt.
// Darunter fallen ggf. PIN 0, 1, 4, 10, 50, 51, 52, 53
void setup()
{
// PINs für Ausgaben als Ausgänge setzen
pinMode(ledPZB55, OUTPUT);
pinMode(ledPZB70, OUTPUT);
pinMode(ledPZB85, OUTPUT);
pinMode(ledPZB40, OUTPUT);
pinMode(ledPZB500, OUTPUT);
pinMode(ledPZB1000, OUTPUT);
pinMode(ledsifa, OUTPUT);
// <-- Ende des 1. Bereichs für individuelle Anpassungen -->
Moin,Bahnbekloppter hat geschrieben: Vielleicht einfach mal an GND statt 3,3V anschließen, da die Pins bei aktivierung ja 3,3V führen...[/b]
Dank, das hört man natürlich gerne ;-)SgtMcExodus hat geschrieben:aber du hast mein Leben sehr vereinfacht Arne!
denn genau aus?insgesamt auch nur 4 oder 5 knappe Zeilen im EthernetScript
Hi,Bahnbekloppter hat geschrieben: Wie sehen denn diedenn genau aus?insgesamt auch nur 4 oder 5 knappe Zeilen im EthernetScript
Wenn ich den Tacho direkt an den Arduino hänge, passt das leider mit einer einfachen Multiplikation des Wertes nicht. Wenn ich z.B. mit 1,4 multipliziere, so passen die Geschwindigkeiten zwischen ~80 und 140kmh. Unterhalb weicht das ganze dann zu sehr ab und der Tacho zeigt z.B. 30kmh statt 10kmh an.
Naja, da kommt dann doch raus, dass ich einfach nur ein blutiger Anfänger bin...
Code: Alles auswählen
if(singlewert > 90) { kmh = (singlewert+3)*1.10; }
else { kmh = (singlewert+3)*1.09; }
Code: Alles auswählen
-> Server connecting...
connected
Code: Alles auswählen
-> Server:
00 00 00 00 // Laenge 0 Bytes -> es beginnt ein Knoten
01 00 // ID 1: Verbindungsaufbau
00 00 00 00 // Laenge 0 Bytes -> es beginnt ein Knoten
01 00 // ID 1: HELLO-Befehl
04 00 00 00 // Laenge 4 Bytes -> es folgt ein Attribut
01 00 // ID x0001: Protokoll-Version
02 00 // Protokoll-Version "2" (Word)
04 00 00 00 // Laenge 4 Bytes -> es folgt ein Attribut
02 00 // ID x0002: Client-Typ
02 00 // Client-Typ "Fahrpult" (Word)
0A 00 00 00 // Laenge 10 Bytes -> es folgt ein Attribut
03 00 // ID x0003: Klartextstring
46 61 68 72 70 75 6C 74 // "Fahrpult"
05 00 00 00 // Laenge 5 Bytes -> es folgt ein Attribut
04 00 // ID x0004: Version
32 2E 30 // String "2.0"
FF FF FF FF // Ende Knoten
FF FF FF FF // Ende Knoten
(HELLO)
Code: Alles auswählen
<- Server:
00 00 00 00
FFFF
FFFF
FFFF
(ACK_NEEDED_DATA)
Code: Alles auswählen
#define NUM_SEND_HELLO 59
byte hello[NUM_SEND_HELLO];
hello[0] = 0x00; // Laenge 0 Bytes -> es beginnt ein Knoten
hello[1] = 0x00;
hello[2] = 0x00;
hello[3] = 0x00;
...
hello[55] = 0xFF; // Ende Knoten
hello[56] = 0xFF;
hello[57] = 0xFF;
hello[58] = 0xFF;
client.write(hello, NUM_SEND_HELLO);
Das ist nur ein Kommentar vom Protokoll zur besseren Zuordnung aus welchem Teil vom Script die Daten da kommen.Johannes hat geschrieben:Woher kommt denn der Text ACK_NEEDED_DATA?