جدول المحتويات:
- الخطوة 1: كود اردوينو - محطة القيادة مع لوحة المفاتيح
- الخطوة 2: كود اردوينو - شاشة TFT
- الخطوة 3: وحدة التحكم بالإغلاق
فيديو: نموذج للسكك الحديدية - محطة قيادة DCC باستخدام Arduino :: 3 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
تم التحديث في أغسطس 2018 - راجع التعليمات الجديدة:
تحديث 28 أبريل 2016: الآن 16 قدرة على التحكم في الإقبال / نقطة إلى مركز القيادة. الإقبال من T1 - T8 متاح عبر مفتاح 'B' الإقبال T9 - T16 متاح عبر مفتاح 'C'
تحديث 10 مارس 2016:
تمت إضافة 8 إمكانية التحكم في الإقبال / نقاط إلى محطة القيادة. تم تحديث كود Arduino وفقًا لذلك باستخدام الحزمة القياسية NMRA للإقبال (استنادًا أيضًا إلى دراسة حزم بيانات Lenz / Atlas Compact للتحكم في الإقبال).
تتوفر الإقبال من T1 - T8 عبر المفتاح "B"
انظر التعليمات على دائرة استقبال حزم البيانات المستخدمة وكود Arduino مطلوب.
تحديث 18 يناير 2016:
لقد أضفت مقاومًا للمعنى الحالي (1k5 أوم) ومكثف (10 uf) إلى الدائرة وقمت بتعديل كود Arduino لقطع الطاقة عند اكتشاف تيار ذروة يبلغ> 3200 مللي أمبير في الثانية. تنص مواصفات جسر H على تيار إحساس ناتج يبلغ 377 uA لكل 1 أمبير في الحمل.
سيوفر المقاوم 1.5 كيلو أوم 0.565 فولت لكل أمبير على الدبوس التناظري 6. مع 1023 خطوة على الإدخال التناظري ، هذا يعطي 0.565 * 1023/5 = 116 لكل حمل أمبير.
A = 100 * (analogRead (AN_CURRENT)) / 116 ؛ A = A * 10 ؛ (لإعطاء النتيجة بالمللي أمبير)
يتم عرض تيار الحمل بالملي أمبير على شاشة TFT
تتضمن لوحة المفاتيح الكاملة 4x4 وظائف F1 إلى F8 و 10 مواضع أخرى (1-19) من خلال المفتاح "#" (لإضافة 10 إلى المفاتيح الرقمية بدءًا من loco 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
يساوي loco 3 ، 128 خطوة للسرعة ، اتجاه أمامي وخطوة سرعة 3 (نهاية البايت هي التحقق من الخطأ XOR)
على سبيل المثال عنوان 3 بايت 0 00000011 0 10010000 0 10110011
يساوي loco 3 ، مجموعة الوظائف 1 ، أضواء FL مضاءة بالإضافة إلى XOR بايت (يفصل بت '0' كل بايت)
شاهد الفيديو التوضيحي المرفق لـ loco 12.
تتوفر الوظائف F1 - F8 عبر المفتاح "A" ، و DIR (المفتاح "*" = الاتجاه) FL (المفتاح "0" = الأضواء) والمفتاح "#" يعطي المواقع من 10 إلى 19 على لوحة المفاتيح الرقمية. يُستخدم المفتاح "D" الآن في "إيقاف الطوارئ".
بفضل العديد من مقدمي الخدمات على الويب لمصادر معلومات DCC ورمز Arduino.
على وجه الخصوص ، استوحى هذا المشروع من مايكل بلانك و "Simple DCC - a command station"
www.oscale.net/en/simpledcc
4x4 Matrix Array 16 Key Membrane Switch Keypad (ebay) 1.75 جنيه إسترليني
2.2 بوصة 240x320 Serial SPI TFT LCD Display Module (ebay) 7.19 جنيه إسترليني
UNIVERSAL 12V 5A 60W POWER SUPPLY AC ADAPTER (ebay) 6.49 جنيه إسترليني
Nano V3.0 لـ Arduino مع CH340G 5V 16M متوافق ATmega328P (ebay) 2 × 3.30 جنيه إسترليني = 6.60 جنيه إسترليني
وحدة تشغيل المحرك LMD18200T لـ Arduino R3 (ebay) 6.99 جنيهًا إسترلينيًا
الموصلات ، الأسلاك ، لوحة vero ، مقياس الجهد حوالي 3.50 جنيه إسترليني
إجمالي 32.52 جنيه إسترليني
ستكون محطة القيادة الأساسية بدون شاشة TFT و 1 x nano 22.03 جنيهًا إسترلينيًا
[ملاحظة: من الممكن إضافة بطاقة ذاكرة إلى شاشة TFT وتعديل الكود لعرض صور المحركات المختارة ، على الرغم من أنه يجب تعديل رموز المكتبة لإنشاء ذاكرة أكبر للرسم. حجم الرسم الحالي هو الحد الأقصى لـ TFT Arduino Nano]
كان كود Arduino الأصلي بواسطة Michael Blank لمحرك واحد ، للأمام / للخلف فقط بدون تحكم في الوظيفة ، ولا لوحة مفاتيح ولا شاشة عرض.
لقد قمت بتعديل الكود ليشمل 1-19 محركًا ، وشاشة عرض ، واتجاه ، وأضواء ، و 8 وظائف ، وإيقاف طارئ ، وحد تيار تلقائي.
يمكن أن يحمل جسر LMD18200T ما يصل إلى 3 أمبير مما يجعله مناسبًا لجميع المقاييس بما في ذلك مقياس G (قطارات الحدائق). يعد مصدر الطاقة والإلكترونيات مناسبين للاستخدام الداخلي فقط ما لم تتمكن من جعله مقاومًا للطقس. لدي محطة القيادة في المنزل الصيفي مع سكة تربط الأسلاك التي تنفد عبر الحائط إلى المسار.
الخطوة 1: كود اردوينو - محطة القيادة مع لوحة المفاتيح
شكري لـ tvantenna2759 للإشارة إلى خطأين في مخطط الدائرة حيث لا يتطابق كود Arduino مع الأسلاك ، تم تحديثه الآن (21 أكتوبر 2017).
أضيف الآن 16 إقبالًا إلى مركز القيادة. انظر التعليمات على مخطط دائرة الإقبال / النقاط باستخدام وحدة Arduino Mini Pro.
تم إرفاق الكود المعدل بما في ذلك التحكم في الإقبال أدناه.
حزمة وحدة فك ترميز الملحقات الأساسية هي: 0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1 من تحليل الحزمة المستخدمة بواسطة Lenz (Compact / Atlas) للتحكم في النقاط ، استخدمت تنسيق الحزمة الثنائية التالي للبايتَين 1 و 2: tunAddr = 1 Turnout 1a: 1000 0001 1111 1000 / نسبة الإقبال 1 ب: 1000 0001 11111001 الإقبال 2 أ: 1000 0001 1111 1010 / الإقبال 2 ب: 1000 0001 1111 1011 الإقبال 3 أ: 1000 0001 1111 1100 / الإقبال 3 ب: 1000 0001 1111 1101 الإقبال 4 أ: 1000 0001 1111 1110 / الإقبال 4 ب: 1000 0001 1111 1111 tunAddr = 2 ----------------------------------------- -------------------------------------------------- ----------------- الإقبال 5 أ: 1000 0010 1111 1000 / الإقبال 5 ب: 1000 0010 11111001 الإقبال 6 أ: 1000 0010 1111 1010 / الإقبال 6 ب: 1000 0010 1111 1011 الإقبال 7 أ: 1000 0010 1111 1100 / نسبة الإقبال 7 ب: 1000 0010 1111 1101 الإقبال 8 أ: 1000 0010 1111 1110 / الإقبال 8 ب: 1000 0010 1111 1111 ----------------------- -------------------------------------------------- ---------------------------------- نسبة المشاركة 9 أ: 1000 0011 1111 1000 / نسبة الإقبال 9 ب: 1000 0011 1111 1001 إلخ ………
مقتطف من التعليمات البرمجية المعدلة: أضف تحديثين أخريين للرسالة "الهيكلية" // وحدة فك ترميز الملحقات 0x80 & العنوان 1 x.data [1] = 0 ؛ }
تعديل باطل. // وحدة فك ترميز الملحقات 0x80 والعنوان 2 x.data [1] = 0 ؛ }
إضافة فراغ جديد للإقبال: boolean read_turnout () {delay (20)؛
تغيرت قيمة منطقية_ = خطأ ؛ احصل على مفتاح()؛
إذا (key_val> = 101 && key_val <= 404 && turn == 1) {
البيانات = 0xf8 ؛ // = ثنائي 1111 1000
تعديل_tun1 (msg [1]) ؛
}
إذا (key_val> = 505 && key_val <= 808 && turn == 1) {
البيانات = 0xf8 ؛ // = ثنائي 1111 1000
تعديل_tun2 (msg [1]) ؛
}
إذا (key_val == 101 && turn == 1) {
إذا (tun1 == 1) {
البيانات | = 0 ؛ // t1a
تغيير_ = صحيح ؛}
إذا (tun1 == 0) {
البيانات | = 0x01 ؛ // t1b
تغيير_ = صحيح ؛}
}
إذا (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 ؛ // t3b
تغيير_ = صحيح ؛}
}
إذا (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: كود اردوينو - شاشة TFT
تظل دائرة العرض كما هي مع رمز معدل لإظهار حالة الحضور البالغ عددهم 16. ملاحظة: يستهلك رمز المكتبة تقريبًا كل ذاكرة رمز الرسم مما يترك مجالًا صغيرًا للميزات الجديدة. إذا كان لدى أي شخص ملف مكتبة أكثر كفاءة لشاشة TFT المستخدمة هنا ، فيرجى إبلاغي بذلك.
الخطوة 3: وحدة التحكم بالإغلاق
انظر التعليمات حول كيفية جعل وحدة تحكم Turnout / Points.
تتحكم الدائرة الكاملة في 16 نقطة و 15 ملحقًا مثل الأضواء والأصوات والصينية الدوارة وما إلى ذلك.
موصى به:
نموذج آلي للسكك الحديدية يعمل بقطارين (V2.0) - اردوينو: 15 خطوة (بالصور)
نموذج آلي للسكك الحديدية يعمل بقطارين (V2.0) | تعتمد على Arduino: تعد أتمتة تخطيطات السكك الحديدية النموذجية باستخدام متحكمات Arduino طريقة رائعة لدمج وحدات التحكم الدقيقة والبرمجة ونماذج السكك الحديدية في هواية واحدة. هناك مجموعة من المشاريع المتاحة لتشغيل قطار بشكل مستقل على نموذج للسكك الحديدية
تخطيط نموذج آلي بسيط للسكك الحديدية - التحكم في Arduino: 11 خطوة (بالصور)
تخطيط نموذج آلي بسيط للسكك الحديدية | التحكم في Arduino: تعد وحدات التحكم الدقيقة من Arduino إضافة رائعة لنموذج السكك الحديدية ، خاصة عند التعامل مع الأتمتة. إليك طريقة بسيطة وسهلة للبدء في أتمتة نموذج السكك الحديدية باستخدام Arduino. لذلك ، دون أي مزيد من اللغط ، فلنبدأ
تخطيط نموذج آلي للسكك الحديدية مع حلقات عكسية: 14 خطوة
تخطيط نموذج آلي للسكك الحديدية مع حلقات عكسية: في إحدى مواد التعليمات السابقة الخاصة بي ، أوضحت كيفية إنشاء نموذج بسيط للسكك الحديدية من نقطة إلى نقطة. كان أحد العيوب الرئيسية لهذا المشروع هو أن القطار كان يجب أن يتحرك في الاتجاه المعاكس للعودة إلى نقطة البداية. ص
تخطيط نموذج آلي للسكك الحديدية يعمل بقطارين: 9 خطوات
تخطيط نموذج آلي للسكك الحديدية يعمل بقطارين: لقد قمت بعمل تخطيط نموذج آلي للسكك الحديدية مع تمرير انحياز لبعض الوقت. بناء على طلب من زميل عضو ، لقد جعلت هذا Instructable. هذا يشبه إلى حد ما المشروع المذكور سابقًا. يستوعب التصميم قطارين ويديرهما بالتناوب
بايك - قيادة أكثر أمانًا ، قيادة أذكى ، قيادة بايك: 5 خطوات
بايك - قيادة أكثر أمانًا ، قيادة أذكى ، قيادة بايك! مرحبًا بك في مشروعي المسمى بايك ، هذا مشروع كجزء من تعليمي. أنا طالب NMCT في Howest في بلجيكا. كان الهدف هو صنع شيء ذكي باستخدام Raspberry Pi. كانت لدينا الحرية الكاملة التي أردنا أن نجعلها أذكياء. بالنسبة لي كان