فهرست مطالب:
![Garden Train - Arduino Wireless NMRA DCC: 4 مرحله (همراه با تصاویر) Garden Train - Arduino Wireless NMRA DCC: 4 مرحله (همراه با تصاویر)](https://i.howwhatproduce.com/images/004/image-12000-5-j.webp)
تصویری: Garden Train - Arduino Wireless NMRA DCC: 4 مرحله (همراه با تصاویر)
![تصویری: Garden Train - Arduino Wireless NMRA DCC: 4 مرحله (همراه با تصاویر) تصویری: Garden Train - Arduino Wireless NMRA DCC: 4 مرحله (همراه با تصاویر)](https://i.ytimg.com/vi/5WXPA0uVFXw/hqdefault.jpg)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
![Image Image](https://i.howwhatproduce.com/images/004/image-12000-7-j.webp)
![](https://i.ytimg.com/vi/biYFbV3OO3A/hqdefault.jpg)
![طراحی سیستم طراحی سیستم](https://i.howwhatproduce.com/images/004/image-12000-8-j.webp)
علاوه بر دستورالعمل قبلی با DCC در مورد سیستم راه آهن مرده ، من این ایده را با ایستگاه فرماندهی DCC دستی با صفحه کلید و صفحه نمایش LCD بیشتر توسعه دادم. ایستگاه فرماندهی شامل تمام برنامه نویسی مورد نیاز برای دستورالعمل های NMRA DCC است ، اما به جای اتصال به ریل ، داده ها توسط ماژول رادیویی RF24L01+ به گیرنده ای نصب می شود که در کامیون یا زیر لوکو نصب شده است - هر کجا که اتاق اجازه می دهد.
البته ، لوکوس های شما باید دارای رمزگشایی با قابلیت بار مناسب موتورهای موتور باشند.
مرحله 1: طراحی سیستم
![طراحی سیستم طراحی سیستم](https://i.howwhatproduce.com/images/004/image-12000-9-j.webp)
Arduino Pro Mini در قلب طراحی قرار دارد. استفاده از Fritzing برای توسعه مدار و تولید PCB.
من توانستم از یک PCB یکسان برای فرستنده و گیرنده استفاده کنم ، بنابراین در هزینه ها صرفه جویی می شود.
فرستنده دارای اتصالات صفحه کلید و LCD است در حالی که گیرنده به این موارد نیاز ندارد و از پل H برای تامین خروجی DCC برای لوکو استفاده می کند.
توسعه بیشتر شامل اتصالات برای پل H بزرگتر در صورت نیاز به لوکوس های قوی تر است.
PCF8574 را می توان حذف کرد اگر از یک صفحه نمایش LCD با کوله پشتی استفاده می کنید که به اتصالات SCA / SCL در آردوینو اجازه می دهد تا صفحه نمایش را فقط با 2 سیم تغذیه کند. لیست قطعات: مجموع = تقریباً 60 پوند برای ایستگاه فرماندهی DCC + 1 گیرنده هزینه گیرنده های اضافی = هر کدام 10.00 پوند + باتری
آردوینو پرو مینی x 2 = 4.00 پوند
صفحه کلید غشاء 4x3 = 3.00 پوند
نمایشگر LCD 20 * 4 = 7.00 پوند
PCF5874 = 1.80 پوند
NRF24L01+. ماژول های رادیویی x 2 = 5.80 £
تولید PCB برای 10 تخفیف (یا ممکن است از تخته Vero استفاده شود) = 24 پوند یا 4.80 پوند برای 2 بار
3.3 v تنظیم کننده = 0.17 پوند (بسته 25 عددی RS Comp)
5v تنظیم کننده LM7805 = 0.30 پوند
H-Bridge SN754410ne = 3.00 پوند
Lloytron قابل شارژ مجدد 2700 maH باتری AA x 12 = 22.00 پوند. (باتری های دارای درجه maH پایین تر ارزان تر هستند)
خازن ها ، گلدان ها ، پین ها ، اتصالات و غیره = تقریباً 2.00 پوند
محفظه 190x110x60 میلی متر = 8.00 £
فرستنده - شارژر تلفن / باتری = 2.00 پوند
مرحله 2: فرستنده
![فرستنده فرستنده](https://i.howwhatproduce.com/images/004/image-12000-10-j.webp)
نمودار مدار نشان داده می شود که پین های D2 تا D8 در Arduino Pro Mini به صفحه کلید متصل هستند. پتانسیومتر 100k اهم برای تنظیم سرعت به پین آنالوگ A0 متصل است. پین های SDA و SCL از تراشه PCF8574 به پین A4 وصل شده اند A5 در Arduino Pro Mini با استفاده از سیم های لحیم شده به پایه های لایه بالای Pro Mini.
طرح آردوینو برای بارگیری ضمیمه شده است.
من از صفحه نمایش LCD 20 * 4 استفاده کرده ام که 4 خط اطلاعات با 20 کاراکتر در هر خط را ارائه می دهد. صفحه کلید منوی زیر را ارائه می دهد:
1 تا 9 = آدرس محل سکونت * = جهت 0 = چراغها = = منوی عملکرد کلیدهای 1 تا 8
توضیحات اولیه طرح Arduino Pro Mini: این خط کد پیام DCC را در قالب HEX مرتب می کند. ساختار پیام پیام [MAXMSG] = {
{{0xFF، 0، 0xFF، 0، 0، 0، 0}، 3}، // پیام بیکار
{{locoAdr، 0، 0، 0، 0، 0، 0}، 3} // آدرس 3 بایت
};
برای ذخیره تنظیمات هر لوکو ، مجموعه ای از آرایه ها به شرح زیر تنظیم می شوند:
int la [20] ؛ // آرایه برای نگهداری اعداد لوکو
int sa [20] ؛ // آرایه برای نگه داشتن مقادیر سرعت
int fda [20] ؛ // آرایه برای نگه داشتن dir
int fla [20] ؛ // آرایه برای نگه داشتن چراغ ها
int f1a [20] ؛ // آرایه برای نگه داشتن سرگرمی 1…..
int f8a [20] ؛ // آرایه برای نگه داشتن سرگرمی 8
برای فعال کردن دستورالعمل های DCC در ادامه کار:
برای دستورالعمل های سرعت: void amend_speed (ساختار پیام و x) {
x.data [0] = locoAdr؛
x.data [1] = 0x40 ؛ // locoMsg با 28 مرحله سرعت}
برای دستورالعمل های عملکرد:
void amend_group1 (struct Message & x) {
x.data [0] = locoAdr؛
x.data [1] = 0x80 ؛ // locoMsg با دستورالعمل گروه یک 0x80}
حلقه اصلی طرح:
حلقه خالی (void) {if (read_locoSpeed ()) {assemble_dcc_msg_speed ()؛
send_data_1 ()؛ // ارسال داده از طریق بی سیم
تأخیر (10) ؛
send_data_3 ()؛ // نمایش داده ها بر روی صفحه نمایش LCD
send_data_4 ()؛ // نمایش داده ها در مانیتور سریال}
if (عملکرد خواندن ()) {
assemble_dcc_msg_group1 ()؛
send_data_1 ()؛
تأخیر (10) ؛
send_data_3 ()؛ }}
هنگام تغییر سرعت ، داده ها را به روز کنید:
boolean read_locoSpeed () این آدرس آدرس جدید ، تنظیم سرعت و جهت را تشخیص می دهد و بر این اساس داده های HEX را اصلاح می کند. در اینجا 28 مرحله سرعت را مشخص کرده ام و برای برآوردن استاندارد NMRA S 9.2 ، داده های سرعت را باید از یک جدول جستجو پیدا کنید در 'speed_step ()'
void speed_step () {switch (locoSpeed) {
مورد 1: داده ها | = 0x02؛ زنگ تفريح؛
مورد 2: داده ها | = 0x12؛ زنگ تفريح؛
مورد 3: داده ها | = 0x03؛ زنگ تفريح؛
………
مورد 28: داده ها | = 0x1F؛ زنگ تفريح؛ }}
هنگام تغییر عملکردها ، داده ها را به روز کنید:
عملکرد خواندن بولی ()
if (fla [locoAdr] == 0) {data = 0x80؛
} // چراغ سر خاموش است
if (fla [locoAdr] == 1) {
داده = 0x90 ؛
} // چراغ سر روشن است
برای هر تابع:
if (f2a [locoAdr] == 0) {data | = 0؛ }. // عملکرد 2 خاموش است
if (f2a [locoAdr] == 1) {
داده | = 0x02؛ // تابع 2 در} 'data' با ترکیب ['| =' ترکیب بیتی یا] کدهای HEX برای هر تابع ساخته می شود.
مرحله 3: گیرنده
![گیرنده گیرنده](https://i.howwhatproduce.com/images/004/image-12000-11-j.webp)
نمودار مدار نشان داده شده است که در آن پین 5 و 6 Arduino Pro Mini برای ارائه سیگنال DCC ارائه شده به پل H استفاده می شود. جفت های پل H به طور موازی برای افزایش ظرفیت فعلی متصل می شوند. بسته به جریانی که توسط لوکوس کشیده می شود ، ممکن است لازم باشد یک هیت سینک به دستگاه 16 پین DIP متصل شود ، یا یک پل H سنگین از خارج متصل شود.
طرح آردوینو برای بارگیری ضمیمه شده است. سیگنال DCC از یک ساعت با سرعت 2MHZ ساخته شده است
void SetupTimer2 () این کار را انجام می دهد.
این ساعت شامل "پالس های کوتاه" (58us) برای "1" در داده های DCC و "پالس های طولانی" (116us) برای "0" در داده های DCC است.
حلقه خالی است ، داده ها را از رادیو دریافت می کند و اگر یک رشته معتبر پیدا شود ، داده ها به داده های DCC تبدیل می شوند.
حلقه void (void) {if (radio.available ()) {bool done = false؛ done = radio.read (inmsg، 1)؛ // اطلاعات دریافتی را بخوانید
char rc = inmsg [0]؛ // کاراکتر read را در این آرایه قرار دهید
if (rc! = 0) {. // اگر کاراکتر برابر صفر نباشد
inString.concat (rc) ؛ // ایجاد پیام}
if (rc == '\ 0') {// if کاراکتر '/0' انتهای پیام است
Serial.println (inString) ؛ // پیام مونتاژ شده را چاپ کنید
رشته ()؛ // پیغام رشته را برای دریافت دستورالعمل های DCC جدا کنید
} } }
مرحله 4: Locos ها را اجرا کنید
![Locos ها را اجرا کنید Locos ها را اجرا کنید](https://i.howwhatproduce.com/images/004/image-12000-12-j.webp)
برای جلوگیری از قطع شدن داده ها از حرکت چندین قطار در یک مسیر ، باید تماس های بین چرخ ها و مسیر را برای هر لوک و کامیون مورد استفاده قطع کنید.
از قطارهای در حال اجرا رایگان بدون در نظر گرفتن شرایط مسیر لذت ببرید - چه تفاوت! بدون هیچ زحمتی ، بدون شروع به کار و بدون نیاز به نظافت.
باتری هایی که استفاده کردم LLoytron AA x 12. قابل شارژ مجدد هستند. مخصوص آنها شارژر ساخته ام که 6 عدد را در یک بار شارژ می کند. (نگاه کنید به دستورالعمل)
توصیه شده:
Switch-Adapt Toys: a Steam Train Toy Made Accessible!: 7 مرحله (همراه با تصاویر)
![Switch-Adapt Toys: a Steam Train Toy Made Accessible!: 7 مرحله (همراه با تصاویر) Switch-Adapt Toys: a Steam Train Toy Made Accessible!: 7 مرحله (همراه با تصاویر)](https://i.howwhatproduce.com/images/001/image-453-j.webp)
Switch-Adapt Toys: a Steam Train Toy made Accessible !: اقتباس از اسباب بازی راه های جدید و راه حل های سفارشی را باز می کند تا به کودکان با توانایی های حرکتی محدود یا ناتوانی های رشدی اجازه دهد به طور مستقل با اسباب بازی ها ارتباط برقرار کنند. در بسیاری از موارد ، کودکانی که به اسباب بازی های مناسب نیاز دارند ، نمی توانند از
ریموت بلوتوث چوبی برای Lego Duplo Train: 3 مرحله (همراه با تصاویر)
![ریموت بلوتوث چوبی برای Lego Duplo Train: 3 مرحله (همراه با تصاویر) ریموت بلوتوث چوبی برای Lego Duplo Train: 3 مرحله (همراه با تصاویر)](https://i.howwhatproduce.com/images/007/image-19606-j.webp)
کنترل از راه دور چوبی بلوتوث برای قطار لگو دوپلو: بچه های من عاشق این قطار کوچک لگو دوپلو بودند ، به ویژه جوانترین من که در برقراری ارتباط با کلمات مشکل دارد ، بنابراین من می خواستم چیزی برایش بسازم که به او کمک کند با قطار مستقل از بزرگسالان یا تلفن ها/تبلت ها بازی کند. چیزی است که
Raspberry Pi Powered IOT Garden: 18 مرحله (همراه با تصاویر)
![Raspberry Pi Powered IOT Garden: 18 مرحله (همراه با تصاویر) Raspberry Pi Powered IOT Garden: 18 مرحله (همراه با تصاویر)](https://i.howwhatproduce.com/images/003/image-8830-10-j.webp)
Raspberry Pi Powered IOT Garden: یکی از اهداف اولیه این پروژه این بود که بتوان با استفاده از قدرت اینترنت اشیاء (IoT) رفاه یک باغ را حفظ کرد. با تنوع ابزارها و نرم افزارهای موجود ، دستگاه کاشت ما با حسگرهایی یکپارچه شده است که
مدل کنترل شده با صفحه کلید Train V2.0 - PS/2 رابط: 13 مرحله (همراه با تصاویر)
![مدل کنترل شده با صفحه کلید Train V2.0 - PS/2 رابط: 13 مرحله (همراه با تصاویر) مدل کنترل شده با صفحه کلید Train V2.0 - PS/2 رابط: 13 مرحله (همراه با تصاویر)](https://i.howwhatproduce.com/images/005/image-13741-13-j.webp)
مدل کنترل شده با صفحه کلید Train V2.0 | PS/2 رابط: در یکی از دستورالعمل های قبلی من ، به شما نشان دادم که چگونه می توانید یک طرح راه آهن مدل را با استفاده از صفحه کلید کنترل کنید. این بسیار عالی بود اما یک ضرر برای کار با رایانه داشت. در این دستورالعمل ، بیایید ببینیم چگونه یک قطار مدل را با استفاده از صفحه کلید کنترل کنیم
DIY Rotary Garden (TfCD): 12 مرحله (همراه با تصاویر)
![DIY Rotary Garden (TfCD): 12 مرحله (همراه با تصاویر) DIY Rotary Garden (TfCD): 12 مرحله (همراه با تصاویر)](https://i.howwhatproduce.com/images/004/image-9222-51-j.webp)
DIY Rotary Garden (TfCD): سلام! ما یک آموزش کوچک در مورد چگونگی ساخت نسخه کوچک خود از یک باغ دوار ، که به نظر ما می تواند نمایانگر باغبانی آینده باشد ، گردآوری کرده ایم. این فناوری با استفاده از کاهش میزان برق و فضا ، برای سرعت