Isi kandungan:
Video: Garden Train - Arduino Wireless NMRA DCC: 4 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Lebih jauh dari instruksi sebelumnya dengan DCC pada sistem rel mati, saya telah mengembangkan gagasan ini lebih jauh dengan Stesen Perintah DCC yang dipegang tangan dengan papan kekunci dan paparan LCD. Command Station mengandungi semua pengekodan yang diperlukan untuk arahan NMRA DCC, namun alih-alih menyambung ke rel, data dipindahkan oleh modul radio RF24L01 + ke penerima yang dipasang di dalam trak atau di bawah loko - di mana sahaja bilik membenarkan.
Sudah tentu, lokasi anda mesti dilengkapi dengan penyahkod keupayaan muatan yang sesuai dengan motor enjin.
Langkah 1: Reka Bentuk Sistem
Arduino Pro Mini adalah inti reka bentuk. Menggunakan Fritzing untuk mengembangkan litar dan menghasilkan PCB.
Saya dapat menggunakan PCB yang sama untuk pemancar dan penerima sehingga menjimatkan kos.
Pemancar mempunyai sambungan untuk papan kekunci dan LCD sementara penerima tidak memerlukannya dan menggunakan jambatan H untuk membekalkan output DCC untuk loko.
Perkembangan selanjutnya merangkumi sambungan untuk jambatan H yang lebih besar jika diperlukan untuk lokasi yang lebih berkuasa.
PCF8574 boleh dihapus jika anda menggunakan paparan LCD yang disertakan dengan ransel yang membolehkan sambungan SCA / SCL di Arduino memberi makan paparan hanya dengan menggunakan 2 wayar. Senarai bahagian: Jumlah = kira-kira £ 60 untuk DCC Command Station + 1 penerima Kos tambahan penerima = £ 10.00 setiap satu. + bateri
Arduino Pro Mini. x 2 = £ 4.00
Pad kekunci membran 4x3 = £ 3.00
Paparan LCD 20 x 4 = £ 7.00
PCF5874 = £ 1.80
NRF24L01 +. modul radio x 2 = £ 5.80
Pembuatan PCB dengan potongan 10 (atau papan Vero boleh digunakan) = £ 24 atau £ 4,80 untuk 2off
3.3 v Regulator = £ 0.17 (pek 25 dari RS Comp)
5v Regulator LM7805 = £ 0,30
H-bridge SN754410ne = £ 3.00
Lloytron boleh dicas semula 2700 maH AA bateri x 12 = £ 22.00. (bateri berkadar maH rendah lebih murah)
Kapasitor, periuk, pin, penyambung, dan lain-lain = £ 2.00 lebih kurang
Lampiran 190x110x60 mm = £ 8.00
Pemancar - pengecas / bateri telefon = £ 2.00
Langkah 2: Pemancar
Gambarajah litar ditunjukkan di mana pin D2 hingga D8 pada Arduino Pro Mini disambungkan ke papan kekunci. Potensiometer 100k ohm disambungkan ke pin Analog A0 untuk penyesuaian kelajuan. Pin SDA dan SCL membentuk cip PCF8574 disambungkan ke pin A4 dan A5 pada Arduino Pro Mini dengan menggunakan wayar yang disolder ke pin pada lapisan atas Pro Mini.
Lakaran Arduino dilampirkan untuk dimuat turun.
Saya telah menggunakan paparan LCD 20 x 4 yang membolehkan 4 baris maklumat dengan 20 aksara setiap baris. Pad kekunci menyediakan menu berikut:
1 hingga 9 = alamat loko * = arah 0 = lampu # = Menu fungsi untuk kekunci 1 hingga 8
Penerangan asas mengenai lakaran Arduino Pro Mini: Garis kod ini menyusun pesanan DCC dalam format HEX. Struktur Mesej msg [MAXMSG] = {
{{0xFF, 0, 0xFF, 0, 0, 0, 0}, 3}, // idle msg
{{locoAdr, 0, 0, 0, 0, 0, 0}, 3} // 3 bait alamat
};
Untuk menyimpan tetapan untuk setiap loko, serangkaian susunan disusun seperti berikut:
int la [20]; // array untuk menyimpan nombor loko
int sa [20]; // array untuk menahan nilai kelajuan
int fda [20]; // array untuk menahan dir
int fla [20]; // array untuk menahan lampu
int f1a [20]; // array untuk menggembirakan1…..
int f8a [20]; // array untuk menyeronokkan8
Untuk membolehkan arahan DCC dipinda semasa kita pergi:
Untuk arahan kelajuan: batal edit_speed (struct Pesan & x) {
x.data [0] = locoAdr;
x.data [1] = 0x40; // locoMsg dengan 28 langkah laju}
Untuk arahan Fungsi:
batal edit_group1 (struct Pesan & x) {
x.data [0] = locoAdr;
x.data [1] = 0x80; // locoMsg dengan arahan kumpulan satu 0x80}
Gelung utama lakaran:
gelung void (kekosongan) {if (read_locoSpeed ()) {assemble_dcc_msg_speed ();
hantar_data_1 (); // hantar data secara wayarles
kelewatan (10);
hantar_data_3 (); // paparkan data pada paparan LCD
hantar_data_4 (); // paparkan data pada monitor bersiri}
jika (baca_fungsi ()) {
assemble_dcc_msg_group1 ();
hantar_data_1 ();
kelewatan (10);
hantar_data_3 (); }}
Kemas kini data apabila kelajuan berubah:
boolean read_locoSpeed () Ini mengesan tetapan alamat, kelajuan atau arah loko baru dan mengubah 'data' HEX dengan sewajarnya. Di sini saya telah menentukan 28 langkah kelajuan dan untuk memenuhi standard NMRA S 9.2, data kelajuan mesti dijumpai dari jadual carian dalam 'speed_step ()'
void speed_step () {switch (locoSpeed) {
kes 1: data | = 0x02; rehat;
kes 2: data | = 0x12; rehat;
kes 3: data | = 0x03; rehat;
………
kes 28: data | = 0x1F; rehat; }}
Kemas kini data apabila fungsinya berubah:
fungsi_bacaan_boolean ()
if (fla [locoAdr] == 0) {data = 0x80;
} // lampu kepala dimatikan
jika (fla [locoAdr] == 1) {
data = 0x90;
} // lampu kepala menyala
Untuk setiap Fungsi:
if (f2a [locoAdr] == 0) {data | = 0; }. // Fungsi 2 mati
jika (f2a [locoAdr] == 1) {
data | = 0x02; // Fungsi 2 on} 'data' dibangun dengan menggabungkan ['| =' gabungan sedikit demi sedikit atau] kod HEX untuk setiap Fungsi.
Langkah 3: Penerima
Gambarajah litar ditunjukkan di mana pin 5 dan 6 Arduino Pro Mini digunakan untuk memberikan isyarat DCC yang dibekalkan ke jambatan H. Pasangan H-bridge disambungkan secara selari untuk meningkatkan kapasiti semasa. Bergantung pada arus yang dilukis oleh loko, heatsink mungkin diperlukan untuk dipasang pada alat DIP 16 pin, atau jambatan H tugas berat mungkin disambungkan secara luaran.
Sketsa Arduino dilampirkan untuk dimuat turun. Isyarat DCC dibuat dari jam yang berjalan pada 2MHZ
batal SetupTimer2 () melakukan kerja ini.
Jam termasuk 'denyutan pendek' (58us) untuk '1' dalam data DCC dan 'denyut panjang' (116us) untuk '0' dalam data DCC.
Gelung tidak sah, mendapat data dari radio dan jika terdapat rentetan yang sah, data tersebut akan ditukar menjadi data DCC.
gelung void (void) {if (radio.available ()) {bool done = false; selesai = radio.read (inmsg, 1); // baca data yang diterima
char rc = inmsg [0]; // masukkan watak yang dibaca ke dalam larik ini
jika (rc! = 0) {. // jika watak tidak sama dengan sifar
dalamString.concat (rc); // membina mesej}
if (rc == '\ 0') {// jika watak adalah '/ 0' akhir mesej
Serial.println (inString); // mencetak mesej yang dipasang
tali(); // de-build mesej rentetan untuk mendapatkan arahan DCC
} } }
Langkah 4: Jalankan Locos
Untuk mengelakkan gangguan data dari menjalankan banyak kereta api di landasan yang sama, anda mesti memutuskan hubungan antara roda dan trek untuk setiap loko dan trak yang digunakan.
Nikmati kereta api percuma tanpa mengira keadaan trek - apa bezanya! Tidak perlu repot, tidak berhenti-henti dan tidak perlu pembersihan.
Bateri yang saya gunakan adalah LLoytron AA x 12. yang boleh dicas semula. Saya telah membina pengecas terutamanya untuk mereka yang mengecas 6 pada satu masa. (lihat arahan)
Disyorkan:
LAMPU WIRELESS SOLAR DENGAN ARM FLEKSIBEL MAGNETIK: 8 Langkah (dengan Gambar)
SOLAR WIRELESS LAMP WITH MAGNETIC FLEXIBLE ARM: Projek ini dibuat dari lampu yang rosak & nodeMCU. Lampu hiasan ini boleh disesuaikan ke mana-mana arah & dilekatkan pada bahan magnet atau diletakkan di atas meja. Ia dapat dikendalikan dalam dua mode seperti berikut: - Mod kawalan tanpa wayar, seperti
Fifty Meter Range Wireless Access Point With TP Link WN7200ND USB Wireless Adapter on Raspbian Stretch: 6 Langkah
Fifty Meter Range Wireless Access Point With TP Link WN7200ND USB Wireless Adapter on Raspbian Stretch: Raspberry Pi sangat bagus untuk membuat Secure Wireless Access Points tetapi tidak mempunyai julat yang baik, saya menggunakan TP Link WN7200ND USB Wireless Adapter untuk memperluasnya. Saya ingin berkongsi cara melakukannyaMengapa saya mahu menggunakan pi raspberry dan bukannya penghala?
Tukar Bose QC25 ke Wireless Termasuk Mikrofon dengan Kurang Dari 15 Dolar !: 4 Langkah (dengan Gambar)
Tukar Bose QC25 ke Wireless Termasuk Mikrofon dengan Kurang Dari 15 Dolar !: Ini bukan hack tercantik tetapi ini adalah kaedah termurah dan paling menarik untuk menjadikan fon kepala bose QC25 yang hebat tanpa wayar walaupun mikrofon berfungsi! Kita hanya perlu membeli 2 keping murah dan sesuatu yang perlu dicampurkan: 1: penyesuai nokia untuk menukar
DIY Rotary Garden (TfCD): 12 Langkah (dengan Gambar)
DIY Rotary Garden (TfCD): Hai! Kami mengumpulkan sedikit tutorial bagaimana membuat versi kecil dari taman putar anda sendiri, yang pada pendapat kami dapat mewakili kebun masa depan. Dengan menggunakan jumlah elektrik dan ruang yang berkurang, teknologi ini sangat sesuai untuk
DIY Wireless Mic to Wireless Guitar System: 4 Langkah
DIY Wireless Mic to Wireless Guitar System: Saya telah menonton beberapa video dan beberapa band dan hampir mereka menggunakan sistem tanpa wayar pada gitar. Menjadi gila, bergerak, berjalan dan melakukan apa sahaja yang mereka mahukan tanpa tali pusat, jadi saya bermimpi untuk memilikinya .. Tetapi .. bagi saya sekarang ini terlalu mahal sehingga saya mencapai ini