সুচিপত্র:
- ধাপ 1: আরডুইনো কোড - কীপ্যাড সহ কমান্ড স্টেশন
- ধাপ 2: Arduino কোড - TFT প্রদর্শন
- ধাপ 3: টার্নআউট কন্ট্রোলার
ভিডিও: মডেল রেলওয়ে - ডিসিসি কমান্ড স্টেশন Arduino ব্যবহার করে :: 3 ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:01
আগস্ট 2018 আপডেট করা হয়েছে-নতুন নির্দেশিকা দেখুন:
28th এপ্রিল 2016 আপডেট করুন: এখন কমান্ড স্টেশনে 16 টি ট্রানআউট / পয়েন্ট নিয়ন্ত্রণ ক্ষমতা। ভোটার T1 - T8 'B' কী এর মাধ্যমে পাওয়া যায়
10 মার্চ 2016 আপডেট করুন:
এখন কমান্ড স্টেশনে 8 টি ট্রানআউট / পয়েন্ট নিয়ন্ত্রণ ক্ষমতা যোগ করা হয়েছে। Arduino কোড অনুযায়ী ভোটারদের জন্য NMRA স্ট্যান্ডার্ড প্যাকেট ব্যবহার করে আপডেট করা হয়েছে (এছাড়াও লেনজ / অ্যাটলাস কম্প্যাক্ট ডেটা প্যাকেটের উপর ভিত্তি করে ভোটদান নিয়ন্ত্রণের জন্য)।
ভোটার T1 - T8 'B' কী এর মাধ্যমে পাওয়া যায়
ব্যবহার করা ডেটা প্যাকেট রিসিভার সার্কিট এবং Arduino কোড প্রয়োজনীয় নির্দেশাবলী দেখুন।
18 জানুয়ারী 2016 আপডেট করুন:
আমি সার্কিটে একটি কারেন্ট সেন্স রেসিস্টার (1k5 ওহম) এবং ক্যাপাসিটর (10 uf) যোগ করেছি এবং> 3200 mAmps এর পিক কারেন্ট ধরা পড়লে বিদ্যুৎ বন্ধ করার জন্য Arduino কোড সংশোধন করেছি। এইচ-ব্রিজ স্পেকটি লোডটিতে প্রতি 1 এমপিতে 377 ইউএ এর আউটপুট সেন্স বর্তমান বলে।
1.5 কে ওহম রোধকারী অ্যানালগ পিনে প্রতি এমপিতে 0.565 ভোল্ট সরবরাহ করবে।
A = 100 * (analogRead (AN_CURRENT)) / 116; A = A * 10; (মিলিম্পসে ফলাফল দিতে)
মিলিফ্যাম্পে লোড কারেন্ট টিএফটি -তে প্রদর্শিত হয়
সম্পূর্ণ 4x4 কীবোর্ডের মধ্যে F1 থেকে F8 ফাংশন এবং '#' কী এর মাধ্যমে আরও 10 টি লোকো (1-19) রয়েছে (লোকো 10 থেকে শুরু করে সংখ্যাসূচক কীগুলিতে 10 যোগ করতে)
আরডুইনো কোডে নির্দেশনা বাইটের জন্য NMRA মান অন্তর্ভুক্ত রয়েছে।
লিঙ্ক দেখুন
www.nmra.org/sites/default/files/s-9.2.1_20…
(পৃষ্ঠা 6 বিশেষ প্রাসঙ্গিক)
প্যাকেটগুলি গতির ধাপ, দীর্ঘ / সংক্ষিপ্ত ঠিকানা এবং ফাংশন গ্রুপ নির্দেশাবলী অনুসারে সাজানো হয়।
সমস্ত নির্দেশনা বাইটের আগে '1' বিট 11111111 (বা নিষ্ক্রিয় প্যাকেট) এর একটি প্রস্তাবনা রয়েছে;
যেমন একটি 4 বাইট ঠিকানা 0 00000011 0 00111111 0 10000011 0 10111111
লোকো 3, 128 স্পিড স্টেপ, ফরোয়ার্ড ডাইরেকশন এবং স্পিড স্টেপ 3 এর সমান (শেষ বাইট হল ত্রুটি পরীক্ষা XOR)
যেমন একটি 3 বাইট ঠিকানা 0 00000011 0 10010000 0 10110011
লোকো 3, ফাংশন গ্রুপ 1, প্লাস XOR বাইটে FL লাইটের সমান (একটি '0' বিট প্রতিটি বাইটকে আলাদা করে)
লোকো 12 এর জন্য বদ্ধ প্রদর্শন ভিডিও দেখুন।
F1 - F8 ফাংশনগুলি 'A' কী, DIR ('*' কী = দিক) FL ('0' কী = লাইট) এবং কী '#' এর মাধ্যমে সংখ্যাসূচক কীপ্যাডে 10 থেকে 19 পর্যন্ত লোকো পাওয়া যায়। 'D' কী এখন একটি 'জরুরী স্টপ' এর জন্য ব্যবহৃত হয়।
DCC তথ্যের উৎস এবং Arduino কোডের জন্য ওয়েবে বিভিন্ন প্রদানকারীদের ধন্যবাদ।
বিশেষ করে, এই প্রকল্পটি মাইকেল ব্ল্যাঙ্ক এবং তার 'সিম্পল ডিসিসি - একটি কমান্ড স্টেশন' দ্বারা অনুপ্রাণিত হয়েছিল
www.oscale.net/en/simpledcc
4x4 ম্যাট্রিক্স অ্যারে 16 কী মেমব্রেন সুইচ কীপ্যাড (ইবে) £ 1.75
2.2 ইঞ্চি 240x320 সিরিয়াল SPI TFT LCD ডিসপ্লে মডিউল (ইবে) £ 7.19
ইউনিভার্সাল 12V 5A 60W পাওয়ার সাপ্লাই এসি অ্যাডাপ্টার (ইবে) £ 6.49
CH340G 5V 16M সামঞ্জস্যপূর্ণ ATmega328P (ebay) 2 x £ 3.30 = £ 6.60 সহ Arduino এর জন্য Nano V3.0
Arduino R3 (eBay) Motor 6.99 এর জন্য মোটর ড্রাইভার মডিউল LMD18200T
সংযোগকারী, তার, ভেরো বোর্ড, পটেনশিয়োমিটার প্রায় £ 3.50
মোট £ 32.52
টিএফটি স্ক্রিন এবং 1 এক্স ন্যানো ছাড়া মৌলিক কমান্ড স্টেশন হবে £ 22.03
[দ্রষ্টব্য: টিএফটি ডিসপ্লেতে একটি মেমরি কার্ড যোগ করা এবং নির্বাচিত ইঞ্জিনের ছবি প্রদর্শনের জন্য কোড সংশোধন করা সম্ভব, যদিও স্কেচের জন্য আরও মেমরি তৈরির জন্য লাইব্রেরির কোডগুলি সম্পাদনা করা আবশ্যক। বর্তমান স্কেচের আকার টিএফটি আরডুইনো ন্যানোর জন্য সর্বাধিক]
মাইকেল ব্ল্যাঙ্কের মূল আরডুইনো কোড ছিল একটি ইঞ্জিনের জন্য, ফরওয়ার্ড / রিভার্স শুধুমাত্র কোন ফাংশন কন্ট্রোল, কিপ্যাড এবং ডিসপ্লে ছাড়াই।
আমি 1-19 ইঞ্জিন, একটি ডিসপ্লে স্ক্রিন, দিকনির্দেশনা, লাইট, 8 টি ফাংশন, জরুরী স্টপ এবং স্বয়ংক্রিয় বর্তমান সীমা অন্তর্ভুক্ত করার জন্য কোডটি সংশোধন করেছি।
LMD18200T সেতু 3 amps পর্যন্ত বহন করতে পারে যা এটি G- স্কেল (বাগান ট্রেন) সহ সমস্ত স্কেলের জন্য উপযুক্ত করে তোলে। মূল বিদ্যুৎ সরবরাহ এবং ইলেকট্রনিক্স শুধুমাত্র অভ্যন্তরীণ ব্যবহারের জন্য উপযুক্ত, যদি না আপনি এটি সমস্ত আবহাওয়া প্রমাণ করতে পারেন। আমার গ্রীষ্মকালীন বাড়িতে কমান্ড স্টেশন আছে যা রেল সংযোগকারী তারের সাথে দেয়ালের মধ্য দিয়ে ট্র্যাকের দিকে চলে যাচ্ছে।
ধাপ 1: আরডুইনো কোড - কীপ্যাড সহ কমান্ড স্টেশন
সার্কিট ডায়াগ্রামে 2 টি ত্রুটি নির্দেশ করার জন্য tvantenna2759 কে আমার ধন্যবাদ যেখানে Arduino কোড তারের সাথে মেলে না, এখন আপডেট করা হয়েছে (21 অক্টোবর 2017)।
এখন কমান্ড স্টেশনে 16 টি ভোটার যোগ হয়েছে। Arduino Mini Pro মডিউল ব্যবহার করে ট্রানআউট / পয়েন্ট সার্কিট ডায়াগ্রামে নির্দেশযোগ্য দেখুন।
ট্রানআউট কন্ট্রোল সহ সংশোধিত কোড নিচে সংযুক্ত করা হল।
বেসিক আনুষঙ্গিক ডিকোডার প্যাকেট হল: 0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1 পয়েন্ট নিয়ন্ত্রণের জন্য Lenz (কম্প্যাক্ট / এটলাস) দ্বারা ব্যবহৃত প্যাকেট বিশ্লেষণ থেকে, আমি বাইট 1 এবং 2 এর জন্য নিম্নলিখিত বাইনারি প্যাকেট ফরম্যাট ব্যবহার করেছি: tunAddr = 1 টার্নআউট 1a: 1000 0001 1111 1000 / ভোটার 1 বি: 1000 0001 1111 1001 4b: 1000 0001 1111 1111 tunAddr = 2 ----------------------------------------- -------------------------------------------------- ----------------- ভোটার 5a: 1000 0010 1111 1000 / ভোট 5b: 1000 0010 1111 1001 1000 0010 1111 1100 / ভোটার 7b: 1000 0010 1111 1101 ভোট 8a: 1000 0010 1111 1110 / ভোট 8b: 1000 0010 1111 1111 ----------------------- -------------------------------------------------- ---------------------------------- ভোটার 9a: 1000 0011 1111 1000 / ভোট 9b: 1000 0011 1111 1001 ইত্যাদি ………
সংশোধিত কোড থেকে এক্সট্র্যাক্ট করুন: আরও 2 'স্ট্রাক্ট' মেসেজ আপডেট যোগ করুন edit_tun1 (struct বার্তা & x) {x.data [0] = 0x81; // আনুষঙ্গিক ডিকোডার 0x80 এবং ঠিকানা 1 x.data [1] = 0; }
অকার্যকর সংশোধন_টুন 2 (স্ট্রাক্ট মেসেজ & x) {x.data [0] = 0x82; // আনুষঙ্গিক ডিকোডার 0x80 এবং ঠিকানা 2 x.data [1] = 0; }
ভোটদানের জন্য নতুন শূন্যতা যোগ করুন: বুলিয়ান read_turnout () {বিলম্ব (20);
বুলিয়ান পরিবর্তিত_টি = মিথ্যা; get_key ();
যদি (key_val> = 101 && key_val <= 404 && turn == 1) {
ডেটা = 0xf8; // = বাইনারি 1111 1000
Amend_tun1 (msg [1]);
}
যদি (key_val> = 505 && key_val <= 808 && turn == 1) {
ডেটা = 0xf8; // = বাইনারি 1111 1000
Amend_tun2 (msg [1]);
}
যদি (key_val == 101 && turn == 1) {
যদি (tun1 == 1) {
তথ্য | = 0; // t1a
পরিবর্তিত_টি = সত্য;}
যদি (tun1 == 0) {
ডেটা | = 0x01; // টি 1 বি
পরিবর্তিত_টি = সত্য;}
}
যদি (key_val == 202 && turn == 1) {
যদি (tun2 == 1) {
তথ্য | = 0x02; // t2a
পরিবর্তিত_টি = সত্য;
}
যদি (tun2 == 0) {
ডেটা | = 0x03; // t2b
পরিবর্তিত_টি = সত্য; }
}
যদি (key_val == 303 && turn == 1) {
যদি (tun3 == 1) {
ডেটা | = 0x04; // t3a
পরিবর্তিত_টি = সত্য;
}
যদি (tun3 == 0) {
ডেটা | = 0x05; // টি 3 বি
পরিবর্তিত_টি = সত্য;}
}
যদি (key_val == 404 && turn == 1) {
যদি (tun4 == 1) {
ডেটা | = 0x06; // t4a
পরিবর্তিত_টি = সত্য;
}
যদি (tun4 == 0) {
ডেটা | = 0x07; // f4b
পরিবর্তিত_টি = সত্য;}
}
যদি (key_val == 505 && turn == 1) {
যদি (tun5 == 1) {
ডেটা | = 0; // t5a
পরিবর্তিত_টি = সত্য;
}
যদি (tun5 == 0) {
ডেটা | = 0x01; // t5b
পরিবর্তিত_টি = সত্য;}
}
ইত্যাদি …………………।
ধাপ 2: Arduino কোড - TFT প্রদর্শন
ডিসপ্লে সার্কিটটি 16 টি ভোটারদের অবস্থা দেখানোর জন্য একটি পরিবর্তিত কোড সহ একই থাকে। দ্রষ্টব্য: লাইব্রেরির কোডটি প্রায় সমস্ত স্কেচ কোড মেমরি নেয় যা নতুন বৈশিষ্ট্যগুলির জন্য সামান্য জায়গা ছেড়ে দেয়। এখানে ব্যবহৃত TFT- এর জন্য যদি কারও কাছে আরও কার্যকর লাইব্রেরি ফাইল থাকে, দয়া করে আমাকে জানান।
ধাপ 3: টার্নআউট কন্ট্রোলার
কিভাবে টার্নআউট / পয়েন্ট কন্ট্রোলার করতে হয় তার নির্দেশনা দেখুন।
সম্পূর্ণ সার্কিট 16 পয়েন্ট এবং 15 জিনিসপত্র যেমন লাইট, শব্দ, টার্নটেবল ইত্যাদি নিয়ন্ত্রণ করে।
প্রস্তাবিত:
স্বয়ংক্রিয় সাইডিং সহ মডেল রেলওয়ে লেআউট: 13 টি ধাপ (ছবি সহ)
অটোমেটেড সাইডিং সহ মডেল রেলওয়ে লেআউট: মডেল ট্রেনের লেআউট তৈরি করা একটি দুর্দান্ত শখ, এটি স্বয়ংক্রিয় করলে এটি অনেক উন্নত হবে! আসুন আমরা এর অটোমেশনের কিছু সুবিধা দেখি: কম খরচে অপারেশন: L298N মো ব্যবহার করে পুরো লেআউটটি একটি Arduino মাইক্রোকন্ট্রোলার দ্বারা নিয়ন্ত্রিত হয়
কীবোর্ড নিয়ন্ত্রিত মডেল রেলওয়ে লেআউট V2.5 - PS/2 ইন্টারফেস: 12 টি ধাপ
কীবোর্ড নিয়ন্ত্রিত মডেল রেলওয়ে লেআউট V2.5 | PS/2 ইন্টারফেস: Arduino মাইক্রোকন্ট্রোলার ব্যবহার করে, মডেল রেলওয়ে লেআউট নিয়ন্ত্রণ করার অনেক উপায় আছে। একটি কীবোর্ডের অনেকগুলি ফাংশন যুক্ত করার জন্য অনেক কী থাকার একটি দুর্দান্ত সুবিধা রয়েছে। এখানে চলুন দেখি কিভাবে লোকোমোটিভের সাথে একটি সাধারণ বিন্যাস দিয়ে শুরু করা যায়
সহজ স্বয়ংক্রিয় মডেল রেলওয়ে লেআউট - Arduino নিয়ন্ত্রিত: 11 ধাপ (ছবি সহ)
সহজ স্বয়ংক্রিয় মডেল রেলওয়ে লেআউট | Arduino নিয়ন্ত্রিত: Arduino মাইক্রোকন্ট্রোলারগুলি মডেল রেলপথের একটি দুর্দান্ত সংযোজন, বিশেষত যখন অটোমেশন নিয়ে কাজ করে। আরডুইনো দিয়ে মডেল রেলপথ অটোমেশন শুরু করার একটি সহজ এবং সহজ উপায় এখানে। সুতরাং, আর কোন ঝামেলা ছাড়াই, শুরু করা যাক
স্বয়ংক্রিয় পাসিং সাইডিং সহ মডেল রেলওয়ে লেআউট (V2.0): 13 টি ধাপ (ছবি সহ)
অটোমেটেড পাসিং সাইডিং সহ মডেল রেলওয়ে লেআউট (V2.0): এই প্রকল্পটি পূর্ববর্তী মডেল রেলরোড অটোমেশন প্রকল্পগুলির একটি, অটোমেটেড সাইডিং সহ মডেল রেলওয়ে লেআউট এর একটি আপডেট। এই সংস্করণটি রোলিং স্টকের সাথে লোকোমোটিভের কাপলিং এবং ডিকুপলিংয়ের বৈশিষ্ট্য যুক্ত করে। এর অপারেশন
স্বয়ংক্রিয় মডেল রেলওয়ে লেআউট দুটি ট্রেন চলছে: 9 টি ধাপ
স্বয়ংক্রিয় মডেল রেলওয়ে লেআউট দুটি ট্রেন চালাচ্ছে: আমি কিছুক্ষণ আগে পাসিং সাইডিং সহ একটি স্বয়ংক্রিয় মডেল ট্রেন লেআউট তৈরি করেছি। একজন সহকর্মী সদস্যের অনুরোধে, আমি এই নির্দেশযোগ্য করেছি। এটি পূর্বে উল্লেখিত প্রকল্পের সাথে কিছুটা মিল। লেআউট দুটি ট্রেন থাকার ব্যবস্থা করে এবং তাদের বিকল্পভাবে চালায়