Elektronika na kolejišti
Jednoduše použití zvukového modulu.Lze spouštět ručně například hlášení, nebo ve vagonu spouštěný magnetem na kolejí a přes snímač s jazýčkovým kontaktem na spodku vagonu.


lze doplnit i malým zesilovačem 2x5W PAM8406.cena každého modulu je přibližně 40 korun.

Použití led pásku - imitace zářivkového svítidla vyrobené z hliníkové lišty.Já používám napětí 24 V, pro 12 V budou srážecí odpory 05 - 1.5 K ohmu.

Pro osvětlení vozů používám katalogové zapojení obvodu stabilizátoru LM317.Napětí se dá brát z kolejí přes diodový můstek např. DB107.Použitý odpor R1 při zapojených 8 diodách na výstupu je 50 Ohmů.

zapojení na univerzální desce ve vagonu.

Jednoduchá pendl automatika.Základní zapojení je na obrázku.

Vložení diody do kolejnice.

Já pro ovládání směru a spouštění používám Arduino k řízení.

Jízda se spouští tlačítkem. na Arduino je napojen zvukový modul se zesilovačem (vlak před rozjezdem zapíská) a přes relé se sepne napětí nastavené na regulátoru.Jakmile lokomotiva přejede koncovou diodu vlak se zastaví a po nastaveném čase arduino přepne relé s napětím opačné polarity a vlak jede zpět.
Program pendl se zvukem pro arduino:
#define RELE1_PIN 4
#define RELE2_PIN 5
#define RELE3_PIN 6
#define RELE4_PIN 7
int start = 8; // tlacitko
#define LED_ZELENA_PIN 9
#define LED_RUDA_PIN 10
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"
// Use pins 2 and 3 to communicate with DFPlayer Mini
static const uint8_t PIN_MP3_TX = 2; // Connects to module's RX
static const uint8_t PIN_MP3_RX = 3; // Connects to module's TX
SoftwareSerial softwareSerial(PIN_MP3_RX, PIN_MP3_TX);
// Create the Player object
DFRobotDFPlayerMini player;
int buttonState = 0;
void setup() {
pinMode(start, INPUT);
digitalWrite(start, HIGH);
pinMode(RELE1_PIN, OUTPUT);
pinMode(RELE2_PIN, OUTPUT);
pinMode(RELE3_PIN, OUTPUT);
pinMode(RELE4_PIN, OUTPUT);
pinMode(LED_ZELENA_PIN, OUTPUT);
pinMode(LED_RUDA_PIN, OUTPUT);
// nuluje relatka, Led
digitalWrite(RELE1_PIN, HIGH);
digitalWrite(RELE2_PIN, HIGH);
digitalWrite(RELE3_PIN, HIGH);
digitalWrite(RELE4_PIN, HIGH);
digitalWrite(LED_ZELENA_PIN, HIGH);
digitalWrite(LED_RUDA_PIN, HIGH);
// Init USB serial port for debugging
Serial.begin(9600);
// Init serial port for DFPlayer Mini
softwareSerial.begin(9600);
// Start communication with DFPlayer Mini
if (player.begin(softwareSerial)) {
Serial.println("OK");
// Set volume to maximum (0 to 30).
player.volume(30);
// Play the first MP3 file on the SD card
// player.play(1);
} else {
Serial.println("Connecting to DFPlayer Mini failed!");
}
}
void loop() {
digitalWrite(LED_ZELENA_PIN, LOW);
buttonState = digitalRead(start);
if (buttonState == LOW) // ceka na stisk tlacitka
{
digitalWrite(LED_RUDA_PIN, LOW);
digitalWrite(LED_ZELENA_PIN, HIGH);
delay(6000);
// spusti zvuk
player.play(1);
delay(6000);
// vlak se rozjede
digitalWrite(RELE1_PIN, LOW); // vpred
digitalWrite(RELE2_PIN, LOW); // vpred
delay(6000);
digitalWrite(RELE1_PIN, HIGH); // stop
digitalWrite(RELE2_PIN, HIGH); // stop
// vlak ceka
delay(5000);
digitalWrite(RELE3_PIN, LOW); // vzad
digitalWrite(RELE4_PIN, LOW); // vzad
delay(6000);
digitalWrite(RELE3_PIN, HIGH); // stop
digitalWrite(RELE4_PIN, HIGH); // stop
digitalWrite(LED_ZELENA_PIN, LOW);
digitalWrite(LED_RUDA_PIN, HIGH);
// vlak ceka
delay(5000);
} else { }
}