Daftar Isi:
- Langkah 1: Kode Arduino - Stasiun Perintah Dengan Keypad
- Langkah 2: Kode Arduino - Tampilan TFT
- Langkah 3: Pengontrol Jumlah Peserta
Video: Model Railway - Stasiun Komando DCC Menggunakan Arduino :: 3 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Diperbarui Agustus 2018 - lihat Instruksi baru:
Pembaruan 28 April 2016: Sekarang 16 kemampuan kontrol jumlah pemilih / poin ke Stasiun Komando. Jumlah pemilih T1 - T8 tersedia melalui tombol 'B' Jumlah pemilih T9 - T16 tersedia melalui tombol 'C'
Pembaruan 10 Maret 2016:
Sekarang menambahkan 8 kemampuan kontrol turnout / poin ke Command Station. Kode Arduino telah diperbarui sesuai dengan menggunakan paket standar NMRA untuk jumlah pemilih (juga berdasarkan studi paket data Lenz / Atlas Compact untuk kontrol jumlah pemilih).
Jumlah pemilih T1 - T8 tersedia melalui tombol 'B'
Lihat instruksi pada rangkaian penerima paket data yang digunakan dan kode Arduino yang diperlukan.
Pembaruan 18 Januari 2016:
Saya telah menambahkan resistor indera arus (1k5 ohm) dan kapasitor (10 uf) ke sirkuit dan mengubah kode Arduino untuk memutus daya ketika arus puncak> 3200 mAmp terdeteksi. Spesifikasi H-bridge menyatakan arus keluaran sebesar 377 uA per 1 Amp dalam beban.
Resistor 1,5 k ohm akan menghasilkan 0,565 volt per Amp pada pin analog 6. Dengan 1023 langkah pada input analog, ini memberikan beban 0,565 * 1023/5 = 116 per Amp.
A = 100 * (analogRead(AN_CURRENT)) / 116;A = A * 10; (untuk memberikan hasil dalam miliampere)
Arus beban dalam miliampere ditampilkan pada TFT
Keyboard 4x4 lengkap mencakup fungsi F1 hingga F8 dan 10 loco lainnya (1-19) melalui tombol '#' (untuk menambahkan 10 ke tombol numerik mulai dari loco 10).
Kode arduino termasuk standar NMRA untuk byte instruksi.
Lihat tautan
www.nmra.org/sites/default/files/s-9.2.1_20…
(halaman 6 memiliki relevansi khusus)
Paket-paket tersebut disusun menurut jumlah langkah kecepatan, alamat panjang/pendek dan instruksi Kelompok Fungsi.
Semua byte instruksi didahului oleh pembukaan '1' bit 11111111 (atau paket idle) diikuti oleh;
misalnya Alamat 4 byte 0 00000011 0 00111111 0 10000011 0 10111111
sama dengan loco 3, langkah kecepatan 128, arah maju dan kecepatan langkah 3 (byte akhir adalah kesalahan pemeriksaan XOR)
misalnya Alamat 3 byte 0 00000011 0 10010000 0 10110011
sama dengan loco 3, grup fungsi 1, FL menyala ditambah XOR byte (bit '0' memisahkan setiap byte)
Lihat video demonstrasi terlampir untuk loco 12.
Fungsi F1 - F8 tersedia melalui tombol 'A', DIR (tombol '*' = arah) FL (tombol '0' = lampu) dan tombol '#' memberikan locos 10 hingga 19 pada keypad numerik. Tombol 'D' sekarang digunakan untuk 'BERHENTI Darurat'.
Terima kasih kepada berbagai penyedia di web untuk sumber informasi DCC dan kode Arduino.
Secara khusus, proyek ini terinspirasi oleh Michael Blank dan 'Simple DCC - a command station'.
www.oscale.net/en/simpledcc
4x4 Matrix Array 16 Key Membran Switch Keypad (ebay) £1.75
2,2 inci 240x320 Serial SPI TFT LCD Display Module (ebay) £7,19
UNIVERSAL 12V 5A 60W POWER SUPPLY AC ADAPTOR (ebay) £6.49
Nano V3.0 Untuk Arduino dengan CH340G 5V 16M kompatibel ATmega328P (ebay) 2 x £3,30 = £6,60
Modul Driver Motor LMD18200T untuk Arduino R3 (ebay) £6,99
Konektor, kawat, papan vero, potensiometer kira-kira £3,50
Total £32,52
Stasiun perintah dasar tanpa layar tft dan 1 x nano akan menjadi £22,03
[Catatan: Anda dapat menambahkan kartu memori ke tampilan TFT dan mengubah kode untuk menampilkan gambar mesin yang dipilih, meskipun kode perpustakaan harus diedit untuk membuat lebih banyak memori untuk sketsa. Ukuran sketsa saat ini maksimal untuk TFT Arduino Nano]
Kode Arduino asli oleh Michael Blank adalah untuk satu mesin, hanya maju / mundur tanpa kontrol fungsi, tanpa keypad, dan tanpa tampilan.
Saya telah memodifikasi kode untuk memasukkan 1 - 19 mesin, tampilan layar, arah, lampu, 8 fungsi, berhenti darurat dan batas arus otomatis.
Jembatan LMD18200T dapat membawa hingga 3 amp yang membuatnya cocok untuk semua skala termasuk skala G (kereta taman). Catu daya utama dan elektronik hanya cocok untuk penggunaan di dalam ruangan kecuali Anda dapat membuatnya tahan cuaca. Saya memiliki stasiun komando di rumah musim panas dengan kabel penghubung rel yang mengalir melalui dinding ke trek.
Langkah 1: Kode Arduino - Stasiun Perintah Dengan Keypad
Terima kasih saya kepada tvantenna2759 untuk menunjukkan 2 kesalahan dalam diagram sirkuit di mana kode Arduino tidak cocok dengan kabel, sekarang diperbarui (21 Okt 2017).
Sekarang menambahkan 16 pemilih ke Stasiun Komando. Lihat instruksi pada diagram rangkaian jumlah pemilih / poin menggunakan modul Arduino Mini Pro.
Kode yang dimodifikasi termasuk kontrol jumlah pemilih terlampir di bawah ini.
Paket decoder Accessory Basic adalah: 0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1 Dari analisa paket yang digunakan oleh Lenz (Compact / Atlas) untuk point control, saya telah menggunakan format paket binary berikut untuk byte 1 dan 2: tunAddr = 1 Turnout 1a: 1000 0001 1111 1000 / Jumlah Peserta 1b: 1000 0001 1111 1001 Jumlah Peserta 2a: 1000 0001 1111 1010 / Jumlah Peserta 2b: 1000 0001 1111 1011 Jumlah Peserta 3a: 1000 0001 1111 1100 / Jumlah Peserta 3b: 1000 0001 1111 1101 Jumlah Peserta 4a: 1000 0001 1111 1110 / Jumlah Peserta 4b: 1000 0001 1111 1111 tunAddr = 2 ----------------------------------------- -------------------------------------------------- ----------------- Jumlah Peserta 5a: 1000 0010 1111 1000 / Jumlah Peserta 5b: 1000 0010 1111 1001 Jumlah Peserta 6a: 1000 0010 1111 1010 / Jumlah Peserta 6b: 1000 0010 1111 1011 Jumlah Peserta 7a: 1000 0010 1111 1100 / Jumlah Peserta 7b: 1000 0010 1111 1101 Jumlah Peserta 8a: 1000 0010 1111 1110 / Jumlah Peserta 8b: 1000 0010 1111 1111 ----------------------- -------------------------------------------------- ---------------------------------- Jumlah Peserta 9a: 1000 0011 1111 1000 / Jumlah Peserta 9b: 1000 0011 1111 1001 dst ………
Ekstrak dari kode yang dimodifikasi: Tambahkan 2 lagi pesan 'struct' updatevoid amend_tun1 (Pesan struct & x) { x.data[0] = 0x81; // decoder aksesori 0x80 & alamat 1 x.data[1] = 0; }
void amend_tun2 (Pesan struct & x) { x.data[0] = 0x82; // decoder aksesori 0x80 & alamat 2 x.data[1] = 0; }
Tambahkan kekosongan baru untuk turnouts:boolean read_turnout() { delay(20);
boolean diubah_t = false; get_key();
if (key_val >= 101 && key_val <= 404 && turn == 1){
data = 0xf8; // = biner 1111 1000
amand_tun1(pesan[1]);
}
if (key_val >= 505 && key_val <= 808 && turn == 1){
data = 0xf8; // = biner 1111 1000
amand_tun2(pesan[1]);
}
if (key_val == 101 && belok == 1){
jika (tun1 == 1){
data |= 0; //t1a
berubah_t = benar;}
jika (tun1 == 0){
data |= 0x01; //t1b
berubah_t = benar;}
}
if (key_val == 202 && belok == 1){
jika (tun2 == 1){
data |= 0x02; //t2a
berubah_t = benar;
}
jika (tun2 == 0){
data |= 0x03; //t2b
berubah_t = benar; }
}
if (key_val == 303 && belok == 1){
jika (tun3 == 1){
data |= 0x04; //t3a
berubah_t = benar;
}
jika (tun3 == 0){
data |= 0x05; //t3b
berubah_t = benar;}
}
if (key_val == 404 && putar == 1){
jika (tun4 == 1){
data |= 0x06; //t4a
berubah_t = benar;
}
jika (tun4 == 0){
data |= 0x07; // f4b
berubah_t = benar;}
}
if (key_val == 505 && belok == 1){
jika (tun5 == 1){
data |= 0; //t5a
berubah_t = benar;
}
jika (tun5 == 0){
data |= 0x01; //t5b
berubah_t = benar;}
}
dll ………………….
Langkah 2: Kode Arduino - Tampilan TFT
Rangkaian tampilan tetap sama dengan kode yang dimodifikasi untuk menunjukkan status 16 pemilih. Catatan: Kode perpustakaan menghabiskan hampir semua memori kode sketsa, menyisakan sedikit ruang untuk fitur baru. Jika ada yang memiliki file perpustakaan yang lebih efisien untuk TFT yang digunakan di sini, beri tahu saya.
Langkah 3: Pengontrol Jumlah Peserta
Lihat instruksi tentang cara membuat pengontrol Turnout / Poin.
Sirkuit lengkap mengontrol 16 titik dan 15 aksesori seperti lampu, suara, meja putar, dll.
Direkomendasikan:
Komando Por Voz - DragonBoard410c: 5 Langkah
Komando Por Voz - DragonBoard410c: Este guia irá lakukan instalasi dan konfigurasi program Julius junto com Coruja, que são respectivamente um programa de reconhecimento de voz e o modelo acústico em Português.A vantagem da utilizaç&
Menggunakan Fotogrametri untuk Membuat Model: 9 Langkah
Menggunakan Fotogrametri untuk Membuat Model: Siapa saya? Saya Samuel Conklin dan saya mahasiswa tahun kedua di E.L. SMA Meyer. Saya telah bereksperimen dengan fotogrametri selama beberapa bulan terakhir dan saya berharap dapat membantu Anda jika Anda memilih untuk membuat ulang produk ini. Saya tertarik untuk melihat bagaimana pe
(Ascensor) Model Lift Menggunakan Arduino, App Inventor dan Software Gratis Lainnya: 7 Langkah
(Ascensor) Model Lift Menggunakan Arduino, App Inventor, dan Perangkat Lunak Gratis Lainnya: ESPConstrucción, paso a paso, de un ascensor a escala usando arduino (como controlador del motor y entradas y salidas por bluetooth), penemu aplikasi (para diseño de aplicación panel como de control del ascensor) y freeCAD y LibreCAD untuk diseño.Abajo
Garden Train - Arduino Wireless NMRA DCC: 4 Langkah (dengan Gambar)
Garden Train - Arduino Wireless NMRA DCC: Lebih jauh dari instruksi sebelumnya dengan DCC pada sistem rel mati, saya telah mengembangkan ide lebih lanjut dengan Stasiun Komando DCC genggam dengan keypad dan layar LCD. Stasiun Komando berisi semua pengkodean yang diperlukan untuk instruksi NMRA DCC, namun
Scan Objek Terdekat untuk Membuat Model 3d Menggunakan ARDUINO: 5 Langkah (dengan Gambar)
Pindai Objek Terdekat untuk Membuat Model 3D Menggunakan ARDUINO: Proyek ini khusus dengan memanfaatkan sensor ultrasonik HC-SR04 untuk memindai objek terdekat. Untuk membuat model 3d Anda perlu menyapu sensor dalam arah tegak lurus. Anda dapat memprogram Arduino untuk membunyikan alarm ketika sensor mendeteksi objek yang