Inhaltsverzeichnis:
Video: Gartenzug - Arduino Wireless NMRA DCC - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Zusätzlich zu den vorherigen instructable mit DCC auf Dead-Rail-System habe ich die Idee mit einer Hand-DCC-Kommandostation mit Tastatur und LCD-Display weiterentwickelt. Die Command Station enthält alle notwendigen Codierungen für NMRA DCC-Befehle, jedoch werden die Daten statt an die Schienen angeschlossen, per Funkmodul RF24L01+ an einen im LKW oder unter der Lok montierten Empfänger übertragen - wo immer es der Platz zulässt.
Selbstverständlich müssen Ihre Loks mit einem auf die Motoren abgestimmten belastbaren Decoder ausgestattet sein.
Schritt 1: Design des Systems
Der Arduino Pro Mini ist das Herzstück des Designs. Mit Fritzing die Schaltung entwickeln und Leiterplatten herstellen.
Ich konnte die gleiche Platine für Sender und Empfänger verwenden und so einige Kosten sparen.
Der Sender hat Anschlüsse für Tastatur und LCD, während der Empfänger diese nicht benötigt und über die H-Brücke den DCC-Ausgang der Lok versorgt.
Eine Weiterentwicklung beinhaltet Anschlüsse für eine größere H-Brücke bei Bedarf für stärkere Loks.
Der PCF8574 kann gelöscht werden, wenn Sie ein LCD-Display verwenden, das mit dem Rucksack geliefert wird, sodass SCA / SCL-Verbindungen am Arduino das Display mit nur 2 Drähten versorgen können = ca. 10,00 € pro Stück. + Batterien
Arduino Pro Mini. x 2 = 4,00 €
4x3 Folientastatur = 3,00 €
20 x 4 LCD-Display = 7,00 £
PCF5874 = 1,80 €
NRF24L01+. Funkmodule x 2 = £5.80
PCB-Herstellung für 10 Stück (oder Vero-Board kann verwendet werden) = 24 £ oder 4,80 £ für 2 Stück
3,3-V-Regler = 0,17 £ (Packung mit 25 von RS Comp)
5V-Regler LM7805 = 0,30 €
H-Brücke SN754410ne = 3,00 £
Lloytron wiederaufladbare 2700 mAh AA-Batterien x 12 = £22,00. (Batterien mit niedrigerem maH-Wert sind billiger)
Kondensatoren, Töpfe, Stifte, Anschlüsse usw. = ca. 2,00 £
Gehäuse 190x110x60 mm = 8,00 €
Sender - Handy-Ladegerät / Akku = 2,00 £
Schritt 2: Sender
Das Schaltbild wird gezeigt, wo D2- bis D8-Pins des Arduino Pro Mini mit der Tastatur verbunden sind. Ein 100k-Ohm-Potentiometer ist mit dem analogen Pin A0 zur Geschwindigkeitseinstellung verbunden. Die SDA- und SCL-Pins des PCF8574-Chips sind mit den Pins A4 und verbunden A5 auf dem Arduino Pro Mini mittels Lötdrähten an die Pins auf der obersten Schicht des Pro Mini.
Die Arduino-Skizze ist zum Download beigefügt.
Ich habe ein 20 x 4 LCD-Display verwendet, das 4 Informationszeilen mit 20 Zeichen pro Zeile ermöglicht. Die Tastatur bietet das folgende Menü:
1 bis 9 = Lokadresse * = Fahrtrichtung 0 = Licht # = Funktionsmenü für Tasten 1 bis 8
Grundlegende Beschreibung der Arduino Pro Mini-Skizze: Diese Codezeile ordnet die DCC-Nachricht im HEX-Format an. struct Nachricht msg[MAXMSG] = {
{ { 0xFF, 0, 0xFF, 0, 0, 0, 0}, 3}, // Leerlaufnachricht
{ { locoAdr, 0, 0, 0, 0, 0, 0}, 3} // 3 Byte Adresse
};
Um die Einstellungen für jede Lok zu speichern, werden eine Reihe von Arrays wie folgt eingerichtet:
int la[20]; // Array für Loknummern
int sa[20]; // Array zum Speichern von Geschwindigkeitswerten
int fda[20]; // Array zum Speichern von dir
int fl[20]; // Array zum Halten von Lichtern
int f1a[20]; // Array, um fun1 zu halten…..
int f8a[20]; // Array für fun8
Damit die DCC-Anweisungen im Laufe der Zeit geändert werden können:
Für Geschwindigkeitsanweisungen: void amend_speed (struct Message & x) {
x.data[0] = locoAdr;
x. Daten[1] = 0x40; // locoMsg mit 28 Fahrstufen }
Für Funktionsanweisungen:
void amend_group1 (struct Nachricht & x) {
x.data[0] = locoAdr;
x.data[1] = 0x80; // locoMsg mit Anweisung der Gruppe eins 0x80 }
Die Hauptschleife der Skizze:
Void Schleife (void) { if (read_locoSpeed ()) { Assemble_dcc_msg_speed ();
send_data_1(); // Daten drahtlos senden
Verzögerung(10);
send_data_3(); // Daten auf LCD-Display anzeigen
send_data_4(); // Daten auf seriellem Monitor anzeigen}
if (read_function()) {
Assemble_dcc_msg_group1();
send_data_1();
Verzögerung(10);
send_data_3(); } }
Daten aktualisieren, wenn sich die Geschwindigkeit ändert:
boolean read_locoSpeed () Dies erkennt eine neue Lokadresse, Geschwindigkeit oder Richtungseinstellung und ändert die HEX-'Daten' entsprechend. Hier habe ich 28 Geschwindigkeitsstufen angegeben und um den NMRA-Standard S 9.2 zu erfüllen, müssen die Geschwindigkeitsdaten aus einer Nachschlagetabelle gefunden werden in 'speed_step()'
Void speed_step () { Schalter (locoSpeed) {
Fall 1: Daten |= 0x02; brechen;
Fall 2: Daten |= 0x12; brechen;
Fall 3: Daten |= 0x03; brechen;
………
Fall 28: Daten |= 0x1F; brechen; }}
Daten aktualisieren, wenn sich die Funktionen ändern:
boolesche read_function()
if (fla[locoAdr] == 0) { Daten = 0x80;
} // Scheinwerfer aus
if (fla[locoAdr] == 1) {
Daten = 0x90;
} // Scheinwerfer an
Für jede Funktion:
if (f2a[locoAdr] == 0) { Daten |= 0; }. // Funktion 2 aus
if (f2a[locoAdr] == 1) {
Daten |= 0x02; // Funktion 2 auf }'data' wird aufgebaut, indem ['|=' bitweise zusammengesetzt oder] die HEX-Codes für jede Funktion kombiniert werden.
Schritt 3: Empfänger
Das Schaltbild wird gezeigt, wo die Pins 5 und 6 des Arduino Pro Mini verwendet werden, um das an die H-Brücke gelieferte DCC-Signal bereitzustellen. Die H-Brückenpaare sind parallel geschaltet, um die Stromkapazität zu erhöhen. Abhängig von der Stromaufnahme der Lok kann es erforderlich sein, einen Kühlkörper an das 16-polige DIP-Gerät anzuschließen oder eine Hochleistungs-H-Brücke extern anzuschließen.
Die Arduino-Skizze ist zum Download beigefügt. Das DCC-Signal besteht aus einer Uhr mit 2 MHz
void SetupTimer2() erledigt diese Aufgabe.
Der Takt umfasst „kurze Impulse“(58 us) für „1“in DCC-Daten und „lange Impulse“(116 us) für „0“in DCC-Daten.
Die Schleife void, ruft Daten vom Funkgerät ab und wenn ein gültiger String gefunden wird, werden die Daten in DCC-Daten umgewandelt.
Void Schleife (void) { if (radio.available ()) { bool done = false; done = radio.read(inmsg, 1); // die empfangenen Daten lesen
char rc = inmsg[0]; // Gelesenes Zeichen in dieses Array einfügen
if (rc != 0){. // wenn Zeichen ungleich Null ist
inString.concat(rc); // die Nachricht aufbauen }
if (rc == '\0') { // wenn Zeichen '/0' ist Ende der Nachricht
Serial.println (inString); // drucke die zusammengestellte Nachricht
Zeichenfolge(); // Dekonstruiere die String-Nachricht, um DCC-Anweisungen zu erhalten
} } }
Schritt 4: Fahren Sie die Loks
Um eine Datenunterbrechung durch den Betrieb mehrerer Züge auf demselben Gleis zu vermeiden, müssen Sie die Kontakte zwischen den Rädern und dem Gleis für jede eingesetzte Lok und jeden eingesetzten LKW trennen.
Genießen Sie frei laufende Züge unabhängig von den Gleisbedingungen - was für ein Unterschied! Kein Ärger, kein Start-Stopp und keine Reinigung erforderlich.
Die von mir verwendeten Batterien sind wiederaufladbare LLoytron AA x 12. Ich habe speziell dafür ein Ladegerät gebaut, das 6 gleichzeitig auflädt. (siehe Anleitung)
Empfohlen:
Creative Tactic3D Rage Wireless Headset reparieren (blaues Blinken, kein Pairing, Batterie ersetzen): 11 Schritte
Reparieren Sie das Creative Tactic3D Rage Wireless Headset (blaues Blinken, kein Pairing, Ersetzen der Batterie): Dieses Handbuch in Bildern ist für Besitzer eines Creative Headsets, bei denen die Kopplung mit dem USB-Sender verloren und die erneute Kopplung nicht funktioniert, da das Headset langsam blau blinkt und reagiert nicht mehr auf die Tasten. In diesem Zustand können Sie nicht
35 $ Wireless Follow Focus vom Kran 2 Schritte
35 US-Dollar drahtloser Follow-Fokus vom Kran 2: Lassen Sie uns einen drahtlosen Follow-Fokus für 35 US-Dollar für Ihre Kamera erstellen. Dies kann hervorragend für Filmsets mit einem dedizierten Fokus-Puller verwendet werden und kann verwendet werden, um den Zoom oder den Fokus jeder Kamera drahtlos einzustellen
So kühlen Sie Ihren Wireless-Netzwerkrouter und verhindern, dass er langsamer wird – wikiHow
So kühlen Sie Ihren drahtlosen Netzwerkrouter ab und verhindern, dass er verlangsamt wird: Dies ist eine Anleitung, die Ihnen zeigt, wie Sie Ihren drahtlosen Netzwerkrouter kühlen und eine Verlangsamung vermeiden. Ich habe den Lüfter des Computers verwendet, um das WLAN zu kühlen, den Lüfter an das WLAN anzuschließen und zu verwenden die gleiche Stromquelle des Wireless (Wireless NO Fan ON, Wi