جدول المحتويات:

TfCD - زائد: 7 خطوات
TfCD - زائد: 7 خطوات

فيديو: TfCD - زائد: 7 خطوات

فيديو: TfCD - زائد: 7 خطوات
فيديو: سنة رابعة متوسط 🔥🔥 تمارين للمراجعة للفرض والاختبار ...الجزء الأول ❤️ 2024, يوليو
Anonim
Image
Image
مكونات
مكونات

Plus عبارة عن ضوء ذكي بسيط ، لا يقوم فقط بإعلام الناس بحالة الطقس ، ولكن أيضًا يخلق تجربة ممتعة للمستخدمين من خلال التغييرات التي تم إجراؤها في لون الضوء عن طريق تدوير علامة الجمع. يمنح الشكل المستخدم الفرصة للجمع بين العديد من الوحدات الإضافية أو إنشاء مصباح ضخم به الكثير من القطع الإضافية التي وضعها الأصدقاء. يعد مشروع الإضاءة هذا جزءًا من دورة تصميم المفاهيم المتقدمة (ACD) في جامعة TU Delft ، والتكنولوجيا المنفذة باستخدام TfCD العملي كمصدر للإلهام.

الخطوة 1: المكونات

مكونات
مكونات
مكونات
مكونات

1 توت العليق بي زيرو دبليو

1 مقياس التسارع Groove Adxl345

4 Ws2812b LED

1 لوحة النماذج الأولية

عبوات مطبوعة ثلاثية الأبعاد ومقطوعة بالليزر

الخطوة 2: الأجهزة

المعدات
المعدات
المعدات
المعدات
المعدات
المعدات
المعدات
المعدات

المصابيح

تحتوي مصابيح Neopixel LEDs على 4 دبابيس مسماة: + 5V و GND و Data In و Data out.

  1. يتم توصيل دبوس 4 من raspberry pi بـ + 5V لجميع مصابيح LED
  2. يتم توصيل دبوس 6 من raspberry pi بـ GND لجميع المصابيح
  3. البيانات في دبوس أول LED متصل بالدبوس 12 على raspberry pi.
  4. يتم توصيل دبوس إخراج البيانات الخاص بمصباح LED الأول بالبيانات الموجودة في الثانية وما إلى ذلك.

يرجى إلقاء نظرة على مخطط الأسلاك لفهم أفضل.

مقياس التسارع

يحتوي مقياس التسارع على 4 دبابيس مسماة: VCC و GND و SDA و SCL.

  1. دبوس 1 من raspberry pi متصل بـ VCC.
  2. الدبوس 3 من التوت باي متصل بـ SCL.
  3. دبوس 5 من التوت باي متصل SDA.
  4. دبوس 9 من التوت باي متصل بـ GND.

يبني

  1. للراحة ، يمكن لحام مصابيح LED على لوحة النماذج الأولية. لقد قررنا قطع السبورة إلى شكل علامة الجمع بحيث تتناسب جيدًا مع الهيكل المصمم ثلاثي الأبعاد.
  2. بمجرد أن نقوم بلحام مصابيح LED على اللوحة ، نقوم بتوصيل أسلاك التوصيل لإجراء التوصيلات بين رأس توصيل 0.1 بوصة ومصابيح LED. يتم استخدام موصل الرأس للسماح بفصل raspberry pi وإعادة استخدامها لمشروع مستقبلي.

الخطوة 3: البرمجيات

برمجة
برمجة

صورة نظام التشغيل Raspberry Pi

نحتاج أولاً إلى تشغيل Raspberry Pi وتشغيله. للقيام بذلك نتبع الخطوات التالية:

  1. قم بتنزيل أحدث إصدار من Raspbian من هنا. يمكنك تنزيله مباشرة أو عبر السيول. ستحتاج إلى كاتب صور لكتابة نظام التشغيل الذي تم تنزيله في بطاقة SD (بطاقة micro SD في حالة طراز Raspberry Pi B + و Raspberry Pi Zero).
  2. لذا قم بتنزيل "win32 disk imager" من هنا. أدخل بطاقة SD في الكمبيوتر المحمول / الكمبيوتر الشخصي وقم بتشغيل كاتب الصور. بمجرد الفتح ، تصفح وحدد ملف صورة Raspbian الذي تم تنزيله. حدد الجهاز الصحيح ، أي محرك الأقراص الذي يمثل بطاقة SD. إذا كان محرك الأقراص (أو الجهاز) المحدد مختلفًا عن بطاقة SD ، فسيصبح محرك الأقراص الآخر المحدد تالفًا. لذا كن حذرا.
  3. بعد ذلك ، انقر فوق الزر "كتابة" في الأسفل. على سبيل المثال ، انظر إلى الصورة أدناه ، حيث يتم تمثيل محرك بطاقة SD (أو بطاقة micro SD) بالحرف "G: \" نظام التشغيل جاهز الآن للاستخدام العادي. ولكن في هذا البرنامج التعليمي سنستخدم Raspberry Pi في وضع مقطوعة الرأس. هذا يعني بدون شاشة فعلية ولوحة مفاتيح ملحقة بها!
  4. بعد حرق بطاقة SD ، لا تقم بإخراجها من جهاز الكمبيوتر الخاص بك! استخدم محرر نصوص لفتح ملف config.txt الموجود في بطاقة SD. انتقل إلى الأسفل وأضف dtoverlay = dwc2 كسطر أخير:
  5. احفظ ملف config.txt كنص عادي ثم افتح cmdline.txt بعد rootwait (الكلمة الأخيرة في السطر الأول) أضف مسافة ثم modules-load = dwc2، g_ether.
  6. الآن قم بإزالة بطاقة SD من جهاز الكمبيوتر الخاص بك وأدخلها في Raspberry Pi وقم بتوصيلها بجهاز الكمبيوتر الخاص بك باستخدام كابل USB. بمجرد بدء تشغيل نظام التشغيل ، يجب أن ترى جهاز Ethernet Gadget جديدًا يتم اكتشافه.
  7. يمكنك استخدام ssh [email protected] للاتصال باللوحة والتحكم بها عن بُعد.

مكتبة rpi_ws281x هي المفتاح الذي يجعل استخدام NeoPixels مع Raspberry Pi ممكنًا.

نحتاج أولاً إلى تثبيت الأدوات اللازمة لتجميع المكتبة. في تشغيل Raspberry Pi الخاص بك: sudo apt-get update && sudo apt-get install build-basic python-dev git scons swig قم الآن بتشغيل هذه الأوامر لتنزيل المكتبة وتجميعها:

git clone https://github.com/jgarff/rpi_ws281x.git && cd rpi_ws281x && scons أخيرًا ، بعد تجميع المكتبة بنجاح ، يمكننا تثبيتها لـ python باستخدام:

cd python && sudo python setup.py install يأتي الآن رمز python الذي يقود مصابيح LED. الكود بسيط إلى حد ما مع بعض التعليقات لمساعدتك. من استيراد neopixel * # تكوينات NeoPixel LED_PIN = 18 # دبوس GPIO الخاص بـ Raspberry Pi متصل بالبكسل LED_BRIGHTNESS = 255 # اضبط على 0 للأغمق و 255 لألمع LED_COUNT = 4 # عدد وحدات البكسل LED = Adafruit_NeoPixel (LED_COUNT ، LED_PIN ، 800000 ، 5، False، LED_BRIGHTNESS، 0، ws. WS2811_STRIP_GRB) # تهيئة شريط المكتبة.

سائق ADXL345

يحتوي مستشعر مقياس التسارع الذي اخترناه على واجهة I2C للتواصل مع العالم الخارجي. لحسن الحظ بالنسبة لنا ، يحتوي Raspberry Pi أيضًا على واجهة I2C. نحتاج فقط إلى تمكينه لاستخدامه في التعليمات البرمجية الخاصة بنا.

اتصل بأداة تكوين Raspbian باستخدام sudo raspi-config. بمجرد التشغيل ، انتقل إلى Interfacing Options و Advanced Options ثم قم بتمكين I2C ثم قم بتثبيت وحدات python ذات الصلة حتى نتمكن من استخدام واجهة I2C في python:

sudo apt-get install python-smbus i2c-tools يسمح لنا كود الثعبان التالي بالتواصل مع مستشعر مقياس التسارع وقراءة قيم التسجيل الخاصة به لأغراضنا الخاصة. استيراد smbus import Struct # Accelerometer configurations bus = smbus. SMBus (1) address = 0x53 كسب = 3.9e-3 bus.write_byte_data (address، 45، 0x00) # انتقل إلى وضع الاستعداد bus.write_byte_data (العنوان ، 44 ، 0x06) # عرض النطاق الترددي 6.5 هرتز bus.write_byte_data (العنوان ، 45 ، 0x08) # انتقل إلى وضع القياس # قراءة البيانات من المستشعر buf = bus.read_i2c_block_data (العنوان ، 50 ، 6) # فك ضغط البيانات من int16_t إلى بيانات Python الصحيحة = Struct.unpack_from ("> hhh"، المخزن المؤقت (bytearray (buf))، 0)

x = float (data [0]) * كسب

y = float (data [1]) * كسب

z = float (data [2]) * كسب

كاشف الحركة

تتمثل إحدى ميزات الضوء الذي نصنعه ، في أنه يمكنه اكتشاف الحركة (أو عدم وجودها) للدخول إلى الوضع التفاعلي (حيث يتغير الضوء بناءً على الدوران) ووضع التنبؤ بالطقس (حيث يتغير الضوء اعتمادًا على توقعات الطقس لليوم). يستخدم الكود التالي الوظيفة السابقة لقراءة قيم التسارع للمحاور الثلاثة وتنبيهنا عند وجود حركة.

تسريع = getAcceleration ()

dx = abs (prevAccel [0] - تسريع [0])

dy = abs (prevAccel [1] - تسريع [1])

dz = القيمة المطلقة (prevAccel [2] - تسريع [2])

إذا كان dx> moveThreshold أو dy إلى> moveThreshold أو dz> moveThreshold:

طباعة "انتقل"

انتقل = صحيح

آخر:

انتقل = خطأ

API الطقس

لتلقي توقعات الطقس يمكننا استخدام Yahoo Weather. يتضمن ذلك التحدث إلى Yahoo Weather Rest API والتي يمكن أن تكون معقدة نوعًا ما. لحسن الحظ بالنسبة لنا ، تم بالفعل الاهتمام بالجزء الصعب في شكل وحدة weather-api للبيثون.

  1. نحتاج أولاً إلى تثبيت هذه الوحدة باستخدام: sudo apt install python-pip && sudo pip install weather-api
  2. يرجى زيارة موقع المؤلف للحصول على مزيد من المعلومات حول هذه الوحدة.

بمجرد تثبيت الكود التالي يحصل على حالة الطقس لهذه اللحظة

من استيراد الطقس Weatherweather = طقس ()

location = weather.lookup_by_location ('دبلن')

الشرط = location.condition ()

طباعة (condition.text ())

ضع كل شيء معا

يمكن العثور على الكود الكامل للمشروع الذي يربط جميع القطع المذكورة أعلاه هنا.

بدء تشغيل البرنامج النصي بيثون تلقائيًا في وقت التمهيد

لتكون قادرًا على وضع raspberry pi في صندوق وتشغيله في كل مرة نقوم فيها بتوصيله بالطاقة ، يجب أن نتأكد من بدء تشغيل الرمز تلقائيًا أثناء التمهيد. للقيام بذلك ، نستخدم أداة تسمى cron.

  1. استدعِ أولاً أداة cron باستخدام: sudo crontab -e
  2. ستفتح الخطوات السابقة ملف تكوين نضيف فيه السطر التالي:

    reboot python /home/pi/light.py &

الخطوة 4: النمذجة والطباعة ثلاثية الأبعاد

النمذجة والطباعة ثلاثية الأبعاد
النمذجة والطباعة ثلاثية الأبعاد
النمذجة والطباعة ثلاثية الأبعاد
النمذجة والطباعة ثلاثية الأبعاد

تم تصنيع النموذج ثلاثي الأبعاد لـ Plus في Solidworks ، وتم حفظه بتنسيق. Stl. ثم للطباعة ثلاثية الأبعاد للنموذج ، تم استيراد ملف. Stl في برنامج Cura. استغرق كل جانب من العرض 2:30 ساعة للإنتاج ؛ لذلك استغرقت كل طابعة Plus كاملة حوالي 5 ساعات للطباعة. وبالنسبة للجوانب الشفافة ، تم قطع زجاج شبكي بالليزر.

الخطوة 5: التجميع

المجسم
المجسم
المجسم
المجسم
المجسم
المجسم
المجسم
المجسم

مع الجزء المطبوع ثلاثي الأبعاد والإلكترونيات والبرامج في متناول اليد ، يمكننا أخيرًا تجميع المنتج النهائي.

  1. اللوحات العلوية والسفلية المطبوعة ثلاثية الأبعاد ، وجدنا أنها أكثر شفافية مما كان متوقعًا. حلت طبقة من رقائق الألومنيوم مشكلة تسرب الضوء.
  2. ومع ذلك ، فإن هذه الأوراق موصلة ويمكن أن تسبب قصورًا داخل دائرتنا غير المحمية. لذلك يتم لصق طبقة أخرى من لوحة البطاقة البيضاء في الأعلى.
  3. يتم لصق شرائح زجاجي زجاجي منتشر بإحدى الصفائح الجانبية.
  4. يتم حفر ثقب في أحد الألواح الجانبية المطبوعة ثلاثية الأبعاد. هذا حتى نتمكن من المرور عبر سلك الطاقة.
  5. بمجرد تركيب سلك الطاقة من خلال الفتحة ، نقوم بلحامه في لوحة النماذج الأولية الخاصة بنا.
  6. نعلق المستشعر على raspberry pi ثم نقوم بتوصيله بالموصل.
  7. نعلق القطعتين معًا للحصول على منتجنا النهائي.
  8. اختياريًا ، يمكنك لصق القطعتين لإجراء اتصال دائم. ومع ذلك ، يجب أن تدرك أنه قد يكون من الصعب الدخول إلى الصندوق بعد إغلاقه إذا كنت تريد تغيير الرمز لاحقًا.

موصى به: