جدول المحتويات:
فيديو: جهاز العميل / الجهاز التابع (المستشعر) من Arduino أحادي الأسلاك: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
يرجى قراءة المقدمة والخطوة 2 من التعليمات الخاصة بي حول كيفية إنشاء عرض Arduino أحادي الأسلاك (144 حرفًا) من أجل الحصول على مزيد من المعلومات حول الموقف والمكتبات المتاحة. كما هو موضح هناك ، سنستخدم مكتبة OneWire-Hub (محاكي جهاز OneWire التابع) بواسطة orgua (انتبه إلى وجود شوكات أخرى حولها) من أجل بناء أجهزة عامة أحادية الأسلاك (مثل أجهزة الاستشعار) باستخدام Arduino.
الخطوة 1: البرمجيات
الشيء الأكثر أهمية هو إنشاء جهاز يمكنه إرجاع أي نوع من القيمة بطريقة بسيطة. بمعنى أنه يمكن استخدام البرنامج القياسي لقراءة جميع القيم مباشرة (لا حاجة إلى محادثة أو معالجة ثنائية). لذلك ، نحتاج إلى جهاز افتراضي بسيط للغاية بسلك واحد يمكنه إرجاع العوامات وهو مدعوم على نطاق واسع. الخيار الوحيد الذي أعرفه هو مقياس الحرارة DS18B20 (جهاز مراقبة البطارية DS2438 مثير للاهتمام ومفيد للغاية ولكنه معقد للغاية وبالتالي بطيء من بين العيوب الأخرى). تحتوي مكتبة OneWire-Hub على مثال يسمى DS18B20_asInterface يقوم بما نحتاج إليه بالضبط. إنه ينشئ مجموعة من DS18B20 يمثل كل منها قيمة تعويم واحدة نريد إرجاعها من أجهزة الاستشعار (المستشعرات) الخاصة بنا. القيود هنا هي الدقة ويجب أن تكون القيم في النطاق -55 ، 0 … 125 ، 0. يمكن تحقيق ذلك بسهولة - في أسوأ الحالات ، إعادة القياس - وهو في الواقع أفضل من القيم التي يمكن تمثيلها على سبيل المثال. قيم DS2438 (1.5 إلى 10 فولت). بدلاً من ذلك ، يمكن تعيين نطاق أكبر من القيم باستخدام:
setTemperatureRaw (static_cast (القيمة * 16.0f)) ؛
لكن قراءة هذه القيم ومعالجتها قد لا تدعمها جميع البرامج لأنها خارج المواصفات.
ما يجب أن تكون على دراية به هو أن الحد الأقصى لعدد العبيد في البداية يقتصر على 8 ولكن يمكن تغييره في "OneWireHub_config.h" عن طريق زيادة HUB_SLAVE_LIMIT حتى 32. كما يجب عليك التأكد من اعتماد ONEWIRE_TIME_MSG_HIGH_TIMEOUT إذا لزم الأمر شبكة بسلك واحد (على سبيل المثال x10) ، كما هو موضح في الخطوة 2 من Arduino 1-wire Display (144 حرفًا). ولاستخدام إصدار IDE> = 1.8.3 لتجميع وتحميل الكود إلى Arduino الخاص بك.
هنا كمثال على رمز الجهاز الذي قمت بإنشائه مؤخرًا. نظرًا لأنني أفترض أنك لا تستخدم نفس مجموعة المستشعرات التي أفعلها ، فلن أخوض في التفاصيل هنا ، وتحقق من الرمز وطرح الأسئلة إذا كنت بحاجة إلى مساعدة.
الخطوة 2: الأجهزة
في الأساس ، يمكن استخدام أي شيء يمكنك توصيله بـ Arduino باعتباره المستشعر الذي تختاره. القيد الوحيد هو أن قراءة المستشعر يجب أن تكون بأسرع ما يمكن من أجل توفير متسع من الوقت لإجراء الاتصال أحادي السلك (منح الخطوة 2 من التعليمات الخاصة بي حول Arduino 1-wire Display (144 حرفًا) بالترتيب للحصول على مثال).
مثال على الأجهزة المحتملة يمكن أن يكون محطة طقس مثل:
https://shop.boxtec.ch/wetter-messer-p-41289.html
بالإضافة إلى ذلك ، أو بدلاً من ذلك ، قد ترغب فقط في استخدام Arduino نفسه كمستشعر خاص بك. يمكنك قراءة المزيد عن ذلك في التعليمات الخاصة بي حول ميزات Arduino Lesser Known - القيم المحتملة هي جهد المصدر ودرجة الحرارة الداخلية.
هنا كمثال ، صورة للجهاز الذي صنعته مؤخرًا. نظرًا لأنني أفترض أنك لا تستخدم نفس مجموعة المستشعرات التي أفعلها ، فلن أخوض في التفاصيل هنا ، وتحقق من الرمز وطرح الأسئلة إذا كنت بحاجة إلى مساعدة.
الخطوة الثالثة: اختبر الجهاز
قم بتوصيله بشبكتك وتحقق من البرنامج الخاص بك للتأكد من وجود جميع معرّفات ROM والقيم التي ترجعها كدرجة حرارة.
الخطوة 4: الملحق: ATtiny85
يمكن أيضًا إجراء الأجهزة الفردية (تقييد الذاكرة) على ATtiny85. هذا يحتاج إلى بضع خطوات حيث نقوم ببرمجة ATtiny85 باستخدام Arduino Uno كمزود خدمة إنترنت بمساعدة Arduino IDE:
-
الروابط
- https://playground.boxtec.ch/doku.php/arduino/att …
- https://sebastian.expert/could-not-find-usbtiny-d…
- https://learn.sparkfun.com/tutorials/tiny-avr-pro…
- https://forum.arduino.cc/index.php؟topic=425532.0
- https://forum.arduino.cc/index.php؟topic=128963.0
- استخدم Arduino IDE> = 1.8.3
-
تثبيت خيار ATtiny إلى IDE
- ملف> التفضيلات> عناوين URL الإضافية لمدير اللوحات:
- أدوات> مجلس: ؟؟؟ > مدير المجالس …
- البحث عن: "صغيرة" وتثبيتها
-
تحميل رسم ISP إلى Uno
ملف> أمثلة> ArduinoISP> ArduinoISP
-
أدخل ATtiny85 في مقبس البرمجة (بدون قوة) وقم بتوصيله:
- Arduino Pin MOSI D11 إلى ATtiny Pin 5
- Arduino Pin MISO D12 إلى ATtiny Pin 6
- Arduino Pin SCK D13 إلى ATtiny Pin 7
- إعادة تعيين دبوس Arduino D10 إلى ATtiny Pin 1
- Arduino Pin GND إلى ATtiny Pin 4
- Arduino Pin VCC إلى ATtiny Pin 8
- (> = قد تكون هناك حاجة إلى غطاء 10 فائق التوهج على دبوس إعادة تعيين Arduino Uno)
-
حدد ATtiny85 (انظر الصورة):
- اللوحة: "ATtiny25 / 45/85"
- ساعة المؤقت 1: "CPU"
- تاريخ الميلاد: "B. O. D. معطل"
- LTO (1.6.11 + فقط): "معطل"
- رقاقة: "ATtiny85"
- الساعة: "8 ميجا هرتز (داخلية)" (متوافقة مع ATtiny85 و ATtiny84)
- الساعة: "16 ميجا هرتز (PLL)" (الإعداد البديل لـ ATtiny85 فقط)
- ميناء: ؟؟؟
-
حدد مبرمج:
أدوات> مبرمج: "Arduino as ISP" (وليس "ArduinoISP"!)
-
ضبط إعدادات المصهر (ساعة ، إلخ):
أدوات> حرق محمل الإقلاع
- قم بتحميل هذا الرمز (يجب إيقاف تشغيل مؤشر LED لخطأ المبرمج ، وإلا قم بإعادة تعيينه)
-
تخطيط دبوس ATtinyX5 (ATtiny85):
- دبوس 1: PB5 (RST)
- السن 2: PB3 (A3) - متصل اختياريًا عبر 220 أوم إلى 1 <-TX
- السن 3: PB4 (A2) - متصل ببيانات من سلك واحد
- دبوس 4: GND - متصل بـ GND
- دبوس 5: PB0 (PWM) - متصل بمستشعر I2C SDA
- دبوس 6: PB1 (PWM) - متصل بـ LED بـ 4.7k إلى GND
- السن 7: PB2 (A1) - متصل بمستشعر I2C SCL
- السن 8: VCC - متصل بـ 5V
يحتاج العمل مع ATTiny85 إلى مزيد من العمل حيث تحتاج إلى الحصول على مكتبات إضافية لـ I2C comm (adafruit / TinyWireM) والإخراج التسلسلي (TinyDebugSerial). بالإضافة إلى ذلك ، نظرًا لأن الذاكرة محدودة جدًا ، فقد ترغب في العمل كثيرًا مع #define على سبيل المثال لإزالة التصحيح التسلسلي. في المثال يمكنك أن ترى كل هذا مرميًا معًا.
للاختبار ، فإن الخطوة الأولى هي التحقق مما إذا كان مصباح LED يومض بالتردد الصحيح ، 0.5 هرتز. ثم قم بتوصيله بحافلة 1wire وتحقق من الجهاز الجديد.
موصى به:
كلا الوضعين ESP8266 (نقطة الوصول ووضع العميل): 3 خطوات
كلا الوضعين ESP8266 (نقطة الوصول ووضع العميل): في المقالة السابقة ، قمت بعمل برنامج تعليمي حول كيفية تعيين الوضع على ESP8266 ، وهو كنقطة وصول أو محطة wifi وكعميل wifi. في هذه المقالة سأوضح لك كيف لتعيين وضع ESP8266 ليكون كلا الوضعين. وهذا يعني أنه في هذا الوضع ، يمكن لـ ESP8266
عيد ميلاد العميل المينيون: 5 خطوات
عيد ميلاد المينيون بوت: لقد صنعت روبوت المينيون في عيد الميلاد هذا من القمامة. يعمل روبوت المينيون لعيد الميلاد هذا مع ضوء الفلاش في عينيه من خلال الغناء بأغنية عيد الميلاد التي صنعتها لعيد ميلاد صديقي
كيفية تجريد الأسلاك (بدون أداة تعرية الأسلاك): 6 خطوات
كيفية تجريد الأسلاك (بدون متجرد الأسلاك): هذه طريقة لتجريد الأسلاك التي أظهرها لي أحد أصدقائي. لقد لاحظت أنني أستخدم الأسلاك في الكثير من المشاريع وليس لديّ أداة تعرية الأسلاك. هذه الطريقة مفيدة إذا لم يكن لديك أداة تعرية الأسلاك وإما أنك كسول أو كسول جدًا للحصول على واحدة
جهاز IPod فائق النعومة أو جهاز عرض فيديو جهاز آخر: 6 خطوات
جهاز IPod فائق النعومة أو جهاز عرض فيديو جهاز آخر: في هذا Instructable ، سأوضح لك خطوة لتخطي كيفية صنع جهاز عرض فيديو فائق النعومة لجهاز iPod أو Zen أو Zune أو DS أو الوسائط الأخرى أو جهاز الألعاب. لا يتطلب أي قوة للعمل ولا يتعين عليك تفكيك جهازك ؛ سوف يجلس س
العميل الرقيق في المنزل: 5 خطوات
عميل رفيع في المنزل: هل سبق لك أن أردت الحصول على عدد قليل من أجهزة الكمبيوتر الإضافية في منزلك لضيوف المنزل ، أو أنك لا تريد استخدام جهاز كمبيوتر يزيد عن 2000 دولار ، أو هل لديك أطفال يريدون جهاز كمبيوتر ولا تريد التخلص من 400+ ، ولكن لا يزالون يريدون أن يكون لديهم جهاز كمبيوتر و