الأب / ابنة مشروع ملصق الدولة توت العليق - 💡 Fix My Ideas

الأب / ابنة مشروع ملصق الدولة توت العليق

الأب / ابنة مشروع ملصق الدولة توت العليق


مؤلف: Ethan Holmes, 2019

في مدرسة ابنتنا ، وضع جميع طلاب الصف الثاني مشروع "مجلس الدولة". يتم تعيين حالة لهم بشكل عشوائي (في حالة ابنتنا ، فيرمونت) ويعمل الطلاب على وضع ملصق على قطعة من الورق المقوى ثلاثي الطي. من ما سمعت ، غالبًا ما تحتوي المشاريع على جوانب ثلاثية الأبعاد مثل الحيوانات والمنتجات المرفقة ، وكان لدى العديد منها على مر السنين أزرار لتشغيل أشياء مثل أغنية الولاية. لقد ناقشنا العناصر المحتملة التي قد ندرجها على السبورة وفكرنا في الصوت والضوء وحتى أنهار EL-wire المتحركة. أردت التأكد من أننا إذا اخترنا تصميمًا أكثر تفصيلًا فإن ابنتنا ستنفذ فعليًا معظم العمل وأننا نوثق ذلك - لذلك استخدمت مسجل فيديو فليب لتصوير معظم العملية. فيما يتعلق بالإلكترونيات ، قفزت ابنتنا بسرعة بعد أن تعلمت اللحام في Maker Faire الحديثة في نيويورك. لقد بنيت عدة مجموعات منذ ذلك الحين. كان هناك قدر لا بأس به من لحام المطلوبة على بيرما بروتو. يظهر مقطع الفيديو أدناه ابنتنا تعمل على لوحة Perma-Proto ولوحات الأزرار.

من أجل الحصول على عناصر الصوت والضوء المطلوبة ، نحتاج إلى اختيار وحدة تحكم مناسبة. ناقشت ما إذا كان من الأفضل التوصية بتصميم يستند إلى Arduino أو استخدام Raspberry Pi. قد يستخدم نهج Arduino مجموعة Arduino و Wave Shield. سيكون له ميزة البدء السريع والإغلاق وسيكون صوت واضح دون انقطاع.من المحتمل أن يكون Raspberry Pi أقل تكلفة لأنه يمكن تشغيل الصوت من نظام الملفات الخاص به ، ولديه شبكة مدمجة في (النموذج B) ، ويمكنه استخدام Web Adafruit الذي يبسط مهام البرمجة التي تستند إلى Python لابنتنا (لن يقوم Arduino كانت بيثون). يمكن لـ Pi القيام بمهام متعددة مما سيجعل بعض الأمور أسهل ، ولكنه سيجعل تشغيل الصوت السلس أكثر صعوبة. نظرًا لأن المشروع سيتم تنفيذه في المدرسة لبقية العام ، فقد كانت إدارة الطاقة مهمة أيضًا - لذلك سيكون الإغلاق التلقائي الجميل أمرًا ضروريًا. لقد أنجزت العديد من المشاريع السابقة باستخدام مجموعة Arduino / Wave Shield ، لذلك أردت حقًا أن أرى مدى نجاح ذلك باستخدام Raspberry Pi. ساعد WebIDE في إقناعي أنه سيكون من الأسهل على ابنتنا العمل مع (وقد بدأت للتو العمل من خلال Python for Kids).

لقد بدأنا بفكرة تقريبية حول كيفية اعتقادنا أن الأشياء ستجتمع. أولاً ، نحتاج أن يكون لدينا الخطوط العريضة للدولة. كان أحد الأهداف تجنب وجود الكثير من الأسلاك والتوصيلات في الجزء الخلفي للثلاثي أضعاف. لإنجاز ذلك ، يجب أن يكون مخطط حدود الدولة قطعة منفصلة. أن راضيا أيضا خلق نظرة 3D للدولة. كان بإمكاننا استخدام لوح الرغوة ولكني اعتقدت أن الخشب الرقائقي ربع بوصة سيصمد بشكل أفضل ويسمح بإجراء تخفيضات أكثر دقة. كانت الخطة تتمثل في استخدام بيانات حدود الحالة الفعلية لإنشاء رمز g-CNC الخاص بنا. نخطط أيضًا للموقع الدقيق لمصابيح LED وثقب الحفر في تلك المواقع على الحطب. سيكون الأسطورة أيضًا خشبًا وسيكون به ثقوب لمصابيح LED والأزرار. كان الأمل في أن يتم توجيه حيلة واحدة من RGB LEDs حول الجانب الخلفي للدولة ولوحات الأسطورة وضرب جميع الثقوب. لقد خططنا لاستخدام 50 مصباح LED في المجموع ، و 15 على الأسطورة و 35 على الخريطة. كما اتضح فيما بعد ، كان علينا ضبط الثقوب إلى حد ما ولكننا أهدرنا بشكل جيد فقط 2 على الشريط الذي لم يصل إلى ثقب واضطرار إلى إضافة 2 آخرين لتعويض التي تم توصيلها في نهاية حبلا (كنا نريد للحفاظ على اثنين من فروع الصمام 25 استخدمنا سليمة).

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

  • توت العليق بي نموذج ب (القس 1)
  • Adafruit كاملة الحجم بيرما بروتو التوت بي اللوح الكلور
  • توت العليق بي GPIO الشريط الكابل
  • 2 خيوط من 25 بكسل مملة RGB LED رقمية منتشرة مقاس 12 مم (و 2 LEDs مقطوعة من سلسلة LED RGB 20 المستندة إلى WS2801 من Sparkfun كما كنت بحاجة إلى إجمالي 52)
  • طقم توصيل JST SM مكون من 4 أسنان (للاتصال / قطع الاتصال من شريط LED وفي حالتنا لربط عدد إضافي من LEDs بنهاية السلسلة)
  • أزرار اللمس المستديرة
  • ستيريو 3.7W فئة د مكبر الصوت
  • محول مستوى المنطق ثنائي الاتجاه من 4 قنوات (للترددات اللاسلكية الاختيارية)
  • مستقبل RF M4 بسيط - 315 MHz لحظية نوع (RF اختياري)
  • Keyfob RF التحكم عن بعد - ميغاهيرتز 315 (RF اختياري)
  • حامل بطارية D-Cell 4 (مرفق مع حامل خلية D-1 أدناه)
  • 1 حامل خلية البطارية
  • حامل بطارية AA-Cell 4 (تم تحويله إلى حامل ثلاثي الخلايا عن طريق التوصيل عبر أحد أوضاع الخلية)
  • لوحان صغيران (لتغطية مساحة 4 أزرار)
  • محول الصوت بالزاوية اليمنى (ليناسب مخرج الصوت الخاص بـ Pi)
  • ستيريو البسيطة التوصيل
  • 5MM زاوية واسعة الأحمر الصمام
  • Size M Coaxial DC Power Plug (للمتعة ، أرفقت علامة Remove Before Flight بمقبس out drilled لتوضيح سحب القابس عندما تريد تشغيله)
  • لوحة جبل الحجم M محوري جاك السلطة
  • 2 2 ″ ورقة مخروط الورق متوسطة المدى (4 أوم)
  • Pololu تنحى الجهد المنظم (لمدة 5 فولت ، 3.5 أمبير)
  • Pololu Pushbutton مفتاح الطاقة SV
  • 5VDC SPDT Micro Relay
  • 9 2 - موقف محطات ثنائي الفينيل متعدد الكلور
  • مجموعة تركيب حافة اللوحة (لـ Pi Model B Rev 1 نظرًا لعدم وجود ثقوب في التركيب)
  • # 8 5/8 ″ مسامير خشبية ذات رأس دائري (مع غسالات الحاجز أدناه للتثبيت من خلال الورق المقوى إلى الخشب)
  • 1/8 ″ × 1 ″ غسالات الحاجز
  • # 4 براغي الماكينة ، الغسالات ، المكسرات (لتوصيل حاملات Perma-Proto وحاملات البطارية)
  • # 8 × 1/2 Screw براغي معدنية صفائح (العمل بدلاً من البراغي الموجودة في مجموعة تركيب حافة الحافة أعلاه للحصول على خشب رقائقي 1/4 - - ربما مع غسالة أو اثنين لتقليل طولهما)

استخدمنا مقابس وموصلات الهواتف المعيارية المكونة من 6 وحدات للتوصيل مع لوحات الأزرار. استخدمت اللوحة الأسطورية جميع الموصلات الستة للأزرار الخمسة وتمكنا من العثور على كبل هاتف معياري مكون من 6 الموصلات في راديو شاك محلي (يصعب الحصول على أكثر من 4 موصلات). من أجل الطاقة والأزرار الأخرى ، استخدمنا للتو كبلين من وحدات الموصلات الأربعة. كانت أقل الرافعات في 10 عبوات في Home Depot ، لكن الكابل المعياري الذي كنا قد تقطعت به السبل لذلك لم يكن الأمر بهذه السهولة تمامًا مثل استخدام أداة مثقوبة - اضطررنا إلى العمل للتأكد من أنها اتصلت - وأحيانًا كانت تدرس بعضًا من السلك حيث جاء من خلال القناة. قد يكون الأمر أسهل على الرغم من أن استخدام RJ45s و CAT5 أغلى قليلاً من أجل تبديل الأسلاك.

يظهر أدناه مربع التحكم النهائي ، المثبت على الجزء الخلفي السفلي من القسم الأوسط للثلاثي أضعاف.

الآن وبعد أن غطينا نظرة عامة على الإنشاءات ونظرًا إلى المواد المعنية ، دعونا نناقش بعض الخطوات الرئيسية بالتفصيل.

تخطيط التنسيب LED

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

الاستغناء عن حالتك مع التصنيع باستخدام الحاسب الآلي

في حالتنا ، كان لدينا آلة CNC صغيرة يمكننا استخدامها لقطع الخطوط العريضة للدولة (الليزر قطع الخشب كان من الأسهل). نظرًا لأن الحجم المطلوب للحالة كان أكبر من CNC ، فقد كانت الخطة تقطيعه إلى 4 أجزاء وضمها معًا. في نهاية المطاف ، كان الأمر كله يتعلق بكيفية إنشاء رمز g لـ CNC. تم تحقيق ذلك بمزيج من بعض رموز Python و Java ويمكن تكييفها لحدود الولاية الأخرى. يمكن تنزيل حدود الولايات المتحدة البالغ عددها مليون نطاق هنا. لقد قمت أيضًا بإنشاء نسخة محلية من ملف حدود statep010_nt00798.tar.gz 2012 هنا. يحتوي ملف الأرشيف على ملف تنسيق الشكل بداخله مع بيانات حدود لجميع الحالات. يمكن استخدام برنامج Python البسيط لنسخ قيم خطوط الطول والعرض لحد حالة معينة كما يلي:

قم باستيراد sys r = shapefile.Reader ("statep010.shp") sr = r.shapeRecords () for s in sr: if s.record [3] == 'Vermont': shape = sf = open ("vermont. txt "، 'w') لـ pt في الشكل. shape.points: f.write (str (pt [0])) f.write ("، ") f.write (str (pt [1])) f. اكتب ("n") f.close ()

سيحتاج برنامج Python أعلاه إلى تثبيت ملحق Python shapefile. يبحث عن السجل المرتبط بالحالة المرغوبة ، في هذه الحالة فيرمونت ، ويكتب قيم خطوط الطول والعرض للولاية التي تحدد حدود ملف ASCII تسمى vermont.txt والتي سيتم استخدامها بواسطة برنامجنا التالي. تقوم المجموعة التالية من البرامج (المكتوبة بلغة Java والمتاحة في vermont.jar) بإنشاء رمز g لأجزاء مختلفة من المشروع. هذه كلها تعطي معاينات رسومية للأجزاء التي سيقطعونها. يرسم البرنامج الأول (يسمى Plot.java) حدود الولاية من ملف vermont.txt ولكنه يستخدم أيضًا ملفات الموارد التي تحتوي على مواقع الأنوار (كما هي موضحة في خريطة منتج Vermont) وبعض مواقع المدينة (من خط الطول / العرض) ) للمساعدة في فهم مكان وضع علامات المدينة. يتم تقريب الثقوب مما أعطانا فكرة عما إذا كانت قريبة جدًا من الحافة أو إلى حدود أرباع الولاية. تم استخدام بعض التقاطعات المضلعة في Java لإنتاج المضلعات الأربعة الأصغر لأجزاء الحالة التي نحتاج إلى قطعها بشكل منفصل. قمنا بلف الحدود المقطوعة إلى أن لا تعبر أي من مواضع الفتحات الخفيفة ولكننا أبقينا أرباع الولاية صغيرة بدرجة كافية لقص CNC. في النهاية ، ينتج البرنامج 4 ملفات ذات كود g ، واحد لكل من أرباع الحالة (vermont1.nc و vermont2.nc و vermont3.nc و vermont4.nc).

يُظهر مقطع الفيديو أدناه بعضًا من الثقوب التجريبية التي يتم قطعها لمصابيح LED والحدود التي يتم قصها:

قطع خطابات العنوان

استخدمنا أيضا CNC لخفض الحروف الفردية لفيرمونت. جربت NCPlot التي عملت بشكل جيد لتوليد رمز g للرسائل. اضطررت إلى إعادة ترتيب القطع على رسائل مثل "R" و "O" لأنني اكتشفت بعد فوات الأوان أنها لم تقطع الثقوب قبل أن تقطع حدود الحروف نفسها. إليك مقطع فيديو لأحرف العناوين التي يتم قصها ورملها:

التخطيط / قطع الأسطورة

لقد قمنا بتغيير حجم لوحة الأسطورة بحيث يمكنها استيعاب إدخالات المنتج الـ 15 مع فتحات LED متباعدة بما فيه الكفاية. كان عليها أيضًا أن تلائم لوحة الورق المقوى المركزية في أسفل يمين الولاية. توجد أزرار التحكم الأساسية أيضًا على لوحة وسيلة الإيضاح في الأسفل. لذلك تم استخدام CNC في الغالب لحفر الثقوب التجريبية الأسطورية لجميع مصابيح LED بالإضافة إلى 5 أزرار ولقطع الحدود المستطيلة للوحة.

وهنا يتم قطع لوحة الأسطورة:

الإلتصاق / الرملي / طلاء الأجزاء الخشبية

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

أيضًا ، قبل رسم ميزات المياه ، كما هو موضح في الفيديو أعلاه ، تم تتبعها باستخدام تراكب مسقط كما هو موضح أدناه:

إرفاق المصابيح

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

وصفت

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

تركيب الألواح على ثلاثي أضعاف الورق المقوى

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

تصميم العلبة مربع التحكم

صندوق التحكم الإلكتروني مرتبط بأسفل لوحة الورق المقوى المركزية في الخلف. يبلغ طول الصندوق 24 بوصة (لمطابقة اللوحة المركزية ثلاثية الطي). وضعت الالكترونيات والبطاريات ومكبرات الصوت خطيا على طول 24 full كامل. لتسهيل الوصول ، يتم استخدام سطح منزلق من الأكريليك يمكن فتحه بالكامل لمنح الإلكترونيات والبطاريات. يتم تثبيت المكونات نفسها أيضًا على قاعدة من الخشب الرقائقي 1/4 id قابلة للانزلاق والتي يتم تثبيتها قليلاً أعلى أسفل الصندوق. وبالتالي يمكن أن يكون الجزء السفلي من الصندوق مسطحًا بدون مسامير التثبيت المختلفة للوحة والبطاريات. إنه مناسب أيضًا لتكون قادرًا على إخراج الأجهزة الإلكترونية. تحتوي إحدى طرفي الصندوق على مقبس شبكة ومقبس طاقة خارجي. في الأصل ، استخدمنا الطاقة الخارجية ولكن بمجرد أن أصبحت دائرة البطارية في مكانها بالكامل وأصبحت أكثر ملاءمة ولم نستخدم الطاقة الخارجية مرة أخرى أثناء التطوير. مقبس الطاقة سلكي بحيث يتم إيقاف تشغيل طاقة البطارية عند استخدام طاقة خارجية (ولكن يجب إزالة وصلة المرور إذا كنت ترغب في توفير طاقة منظمة بقدرة 5 فولت من خلال المقبس الخارجي - وإلا فإن الجهد العالي أعلى يحتاج إلى توفير يحتاج منظم الجهد بجهد 5 فولت إلى جهد أعلى قليلاً - حيث توفر الخلايا "5" عند وجودها في البطارية). تعمل قابس دمية تم إدخاله في مقبس الطاقة الخارجي باعتباره "أمانًا" فعالًا حتى لا يتم تشغيل النظام عن طريق الخطأ أثناء النقل. في إشارة إلى مجتمع الطيران ، بدا من المعقول إرفاق لافتة "Remove Before Flight" بالمقبس الدمية لإظهار الغرض منها بوضوح (وقد شاهدت مؤخرًا الآباء في مدرسة ابنتنا يقومون بإزالة القابس دون الحاجة إلى توضيح لتجربته ).

تُظهر الصورة أدناه نهاية العلبة مع إزالة نهاية اتصال الشبكة / الطاقة. هذا يدل على الجزء السفلي الذي تتصل به المكونات. يمكنك رؤية لوحة Pi مع مشابك لوحة الدائرة التي تمسكها بالقاعدة. تم استخدام مسامير الصفائح المعدنية ذات العمق المناسب مع المشابك للسماح بالتركيب على الخشب الرقائقي 1/4.. يشغل السماعة عادة المساحة الموجودة في وسط الصورة. تم إنشاء كبل RJ45 قصير جدًا من الذكور إلى الذكور لسد الفجوة بين Pi و RJ45 للإناث التي تم استخدامها كموصل شبكة على اللوحة الطرفية.

يتم تثبيت صندوق التحكم على الورق المقوى باستخدام نفس الغسالة والبراغي الخشبية الموجودة في الدولة والأسطورة باستثناء أنها تأتي من الجانب الأمامي للوحة وهي مغطاة بالملصقات وأوراق القيقب. هناك ثلاثة مسامير ، واحدة على اليسار ، واحدة في الوسط وواحدة على اليمين. يشتمل الصندوق على فتحة سلكية تخرج خلف الجانب السفلي من الأسطورة. سلك الوحدة المكون من 6 الموصلات و JST المكون من 4 أسنان يمر عبر تلك الفتحة. إليكم مقطع من ابنتنا ترميل قطع صندوق التحكم قبل التجميع:

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

إليك مقطع فيديو حول كيفية قص فتحات الصوت / التهوية في الأكريليك:

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

البرمجيات

The Pi تدير توزيع Occidentalis من Adafruit (0.2 حتى كتابة هذه السطور). يتم تشغيل المشروع من روتين بيثون واحد تم تطويره باستخدام Web Ad Adruit. بصرف النظر عن روتين Python وملفات البيانات ، يجب إجراء بعض التغييرات الأخرى لتشغيل الرمز كخدمة ولتنفيذ الإغلاق التلقائي. في استخدام WebIDE ، توجد ملفات لتشغيل Vermont / usr / share / adafruit / webide / repositories / my-pi-projects / Vermont on the Pi. Vermont.py هو البرنامج الرئيسي. لتشغيل هذا كخدمة عند بدء تشغيل Pi ، تمت إضافة ملف / etc / init.d / vermont على النحو التالي:

#! / bin / sh # /etc/init.d/vermont case "$ 1" في البداية) صدى "بدء فيرمونت" sudo /usr/share/adafruit/webide/repositories/my-pi-projects/Vermont/Vermont.py 2> & 1 & ؛؛ توقف) echo "Stopping vermont" # kill application الذي تريد إيقافه LP_PID = `ps auxwww | grep Vermont.py | head -2 | awk '{print $ 2}'` kill -9 $ LP_PID ؛؛ *) صدى "Usage: /etc/init.d/vermont {start | stop}" exit 1 ؛؛ esac خروج 0

تذكر استخدام "update-rc.d vermont defences" لتسجيل الخدمة لتشغيلها على التمهيد.

أيضًا ، إذا كنت تستخدم IDE ، فقد ترغب في القيام بـ "/etc/init.d/vermont stop" في shell لضمان عدم تشغيل الخدمة أيضًا أثناء تشغيل خدمة أخرى من IDE. نظرًا لأن توقيت الكود الخاص بنا قد تم إيقافه مؤقتًا ، فقد كان علينا توخي الحذر لتعيين المهلة أعلى أو عدم تشغيل الكود لفترة طويلة جدًا أثناء التطوير أو قد يتم إيقافه إذا لم نتعرض لأي أزرار. لاستخدام الإغلاق التلقائي ، نضع برنامج نصي shutdown.py على Pi كما يلي:

#! / usr / bin / python قم باستيراد RPi.GPIO كـ GPIO GPIO.setmode (GPIO.BCM) GPIO.setup (4 ، GPIO.OUT) GPIO.output (4 ، صواب)

نظرًا لأن مجلسنا يستخدم خط GPIO # 4 لإخبار مفتاح Pololu بقطع الطاقة ، فإن هذا البرنامج النصي سوف يغلق الطاقة على الفور. لكننا نريد إغلاقًا رشيقًا أولاً ، لذا عدّلنا هالتروتين لاستدعائه عند طلب إيقاف التشغيل. يتم تعديل البرنامج النصي للإيقاف ليشمل مكالمة shutdown.py بين سطر "هل ستوقف الآن" ونداء التوقف الفعلي:

... log_action_msg "سوف تتوقف الآن" / usr / bin / python / home /pi/shutdown.py توقف -d -f $ netdown $ poweroff $ hddown ...

إن الدعوة إلى إغلاق فوري رشيق مع إيقاف التشغيل هي "إيقاف التشغيل الآن". هذا هو ما يفعله تطبيقنا عندما يضرب المستخدم زر "إيقاف".

يتم تضمين القائمة الكاملة للتطبيق Vermont.py هنا. بالإضافة إلى ذلك ، تم تسجيل العديد من ملفات wav للاستخدام وهي موجودة في دليل فرعي يسمى "صوت" تحت الدليل "vermont" الرئيسي. تم تسجيل / تحرير / دمج الملفات باستخدام أداة Audacity الممتازة. كانت بعض الأغاني والأصوات الأصلية بتنسيق MP3. في حين أن Pi يمكن أن يلعب تلك الأشياء الجيدة باستخدام MPG321 ، فقد اكتشف أن الأداء كان أفضل قليلاً إذا تم تحويلها إلى تنسيق WAV. يمكن بالفعل استخدام أداة MPG321 لإجراء التحويل على Pi نفسه. ثم استخدمنا بشكل موحد أداة "aplay" لتشغيل ملفات WAV. بالنسبة للجزء الأكبر ، يتم تشغيل الصوت بشكل غير متزامن وتوقف عن قصد إذا احتاج صوت آخر إلى التشغيل. يتم ذلك من خلال مكالمة مثل:

os.system ("killall aplay؛ aplay mysound.wav &")

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

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

يحتوي التطبيق على 4 أوضاع تشغيل يتحكم فيها زر "الوضع": اليدوي ، التلقائي ، مسابقة ، والإعدادات. في الوضع اليدوي ، يمكن استخدام السهمين لأعلى ولأسفل وحدد لتحديد العناصر الموجودة على وسيلة الإيضاح ولإظهار أماكن وجودها على الخريطة. يؤدي الضغط على تحديد إلى تشغيل الصوت المرتبط بالعنصر. سوف الوضع التلقائي دورة تلقائيا من خلال وسيلة إيضاح. حدد ستظل تعمل ، ولكن الضغط لأعلى أو لأسفل سيعود إلى الوضع اليدوي. سيختبر وضع الاختبار المستخدمين على حقائق فيرمونت ويحتاجون إلى استخدام صعودا وهبوطا وتحديد لاختيار أحد العناصر الإيضاحية للإجابة على كل سؤال. يسمح وضع الإعدادات بتغيير وقت الإغلاق التلقائي من 5 دقائق إلى 60 دقيقة. الافتراضي هو 5 دقائق للحفاظ على الطاقة. يمكن اختيار أزرار الدولة أغنية وأغنية الطيور في الوضع اليدوي أو التلقائي. يقوم الزر "Off" بإيقاف تشغيل المشروع (مما يتيح لك فرصتين للإنقاذ قبل بدء الإغلاق الحقيقي). يتم استخدام زر "On" لتشغيله (لكنه سيؤدي في الواقع إلى إيقاف تشغيل الطوارئ في حالة الضغط عليه مرة أخرى - وهو أثر من الطريقة التي تعمل بها وحدة التبديل Pololu).

التطبيق يعتمد على بيانات عالية مع قائمة "أبرز" يعطي الأصوات والألوان والأضواء المرتبطة للعب معا. قائمة "مسابقة" تعطي قائمة من أسئلة المسابقة والأجوبة.

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

عمل الملصقات التقليدية للعناصر التوضيحية واللصق على المجلس

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

النظر في الالكترونيات في مزيد من التفاصيل

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

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

على الجانب الأيمن لدينا حزم البطارية اثنين. تعمل الخلايا 5 "D" على تشغيل شريط الطاقة ودعامة LED. تعمل الخلايا 3 "AA" على تشغيل مضخم الصوت (بحيث يتم عزله عن مصدر الإمداد الرئيسي). على أقصى اليمين هو المتكلم الأيسر. إنها مناسبة تمامًا لكنها تحافظ على استقرار الملصق بشكل جيد - كوزن موازن للخشب ومصابيح LED في المقدمة - وتبقي مركز الثقل منخفضًا.

تُظهر الصورة أدناه عرضًا موسعًا للوحة Perma-Proto. فقط على يمين موصل الشريط هو محول المستوى. تعمل لوحة استقبال الترددات اللاسلكية (RF) ، التي تتوضع عموديًا فوقها مباشرةً ، بخمسة فولتات ، ويقوم محول المستوى بتحويل المخرجات الرقمية الأربعة للوحة استقبال الترددات اللاسلكية إلى مستوى 3.3 فولت للـ Pi. تتطابق وحدات pinouts بشكل جيد بحيث يمكن لمقبس ذو 7 أسنان مشاركة نفس المسامير مع محول المستوى (انظر الصورة الثانية لجهاز Perma-Proto مع إزالة جهاز استقبال RF ومكبر للصوت ومنظم الجهد).

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

في الصورة ، يتم لف هوائي RF. تم تحسين الاستقبال من خلال مد الهوائي إلى أقصى طول المربع - لكن النطاق كان لا يزال ضعيفًا إلى حد ما. لست متأكدًا من أننا سنقوم بتضمين مستقبل الترددات اللاسلكية إذا كان علينا القيام بذلك مرة أخرى. قد يكون من المفيد تصميم لوحة لبي مع هذه المجموعة من الميزات (الطاقة ، خيوط LED ، مكبر للصوت ، وربما RF).

نظرًا لأن المشروع معروض بالفعل في المدرسة ، فأنا لست جاهزًا لأنني أكتب هذا. لقد وضعت معًا مخططًا رفيع المستوى للوحة Fritzing أدناه لتوضيح بعض التصميم. لقد استبدلت لوحة "Pi Cobbler" لما هو حقًا لوحة بي بيرما-بروتو الموحدة (لكن ليس في مكتبة فريتزينج بعد). لا يشمل جميع أسلاك التبديل المعيارية للأزرار. الطرفان اللولبيان ثنائي الفينيل متعدد الكلور في الجانب العلوي الأيسر هما لقنوات الصوت من Pi. الاثنان الآخران في الأعلى مخصصان لتنظيم 5 فولت خارجي. الاثنان الموجودان في أسفل اليسار مخصصان لشريط LED (على الرغم من أن الشريط الذي قمنا باستخدامه يحتوي على 5 فولت بجانب خط GND ومن ثم تخطيطنا للطرف اللولبي). المحطة التالية هي المكان الذي تتصل به حزمة الخلية "5". الأسلاك الثلاثة التالية هي المكان الذي تتصل فيه الطاقة الخارجية - عندما لا يتم توصيل أي شيء ، يتم توصيل السلك الأخضر بالأرض وتمكين البطارية 7.5 فولت. السلكان الأخيران هما المكان الذي تتصل به قوة المضخم. لا يُظهر الرسم التخطيطي أيضًا أسلاك التبديل Pololu # 750 التي تأتي من منتصف الوحدة (حيث قد يتم تركيب مفتاح التبديل عادةً). إن pinout مرحل SPDT هو أنه عندما تأتي الطاقة الرئيسية 5 فولت في رحلات الترحيل ويتم توصيل مصدر 4.5V بقوة مكبر للصوت. يتم رفع مكبر الصوت من اللوحة على رأسين للإناث حتى يمكن إزالته بسهولة. ترسو وحدة استقبال الترددات اللاسلكية في الشريط الطرفي الموضح أعلى محول المستوى. لا يتم استخدام آخر دبوس من الوحدة النمطية ويتم ثنيه بعيدًا حتى لا تتصل باللوحة.

حسنًا ، ينتهي أحد أطول عمليات الكتابة. آمل أن أكون قد قدمت تفاصيل كافية لأولئك الذين قد يرغبون في معالجة شيء مماثل. لقد كان العمل مع ابنتنا في مشروع معقد مثل هذه تجربة مدهشة إلى حد كبير - ما زلت أتعجب من العمل المتنوع الذي قامت به عند الرجوع إلى مقاطع الفيديو التي التقطناها - لكن من الممكن حقًا أن يتم نشر العمل على مدى عدة أسابيع .

المشاركة الأصلية في مختبرات SWB


سكوت بينيت هو مدير تنفيذي للتكنولوجيا والبرمجيات نهارًا وصانع متعطش ليلا. مع شهادات في الهندسة الكهربائية ، أعاد إنتاج مشاريعه إلهام حبه للإلكترونيات. ألهمت بيئة صانع الأزياء في المنزل ابنته أيضًا حيث تتطلع إلى مزيد من المشاريع المشتركة. يعيش سكوت مع أسرته في ولاية فرجينيا الشمالية. يمكنك العثور على مدونته على swblabs.com.

أدخل مشروعك في مسابقة تصميم Raspberry Pi

  • أكثر من 3500 دولار من جوائز MCM Electronics
  • الأفضل في المعرض تفوز بـ Printrbot Jr.
  • أربع فئات: الفنية ، والمرافق ، والتعليم ومرفقاته
  • التقديمات المستحقة بحلول 11 أبريل 2013
ادخل اليوم!


قد تكون مهتمة

التماثيل الأدبية الغامضة في أدنبرة

التماثيل الأدبية الغامضة في أدنبرة


توروس السرة المصنوعة يدويا من الصلب

توروس السرة المصنوعة يدويا من الصلب


اليدوية الخشبية الحركية ساعة الحائط النحت

اليدوية الخشبية الحركية ساعة الحائط النحت


الرجل الذي ينمو الكراسي - الأثاث

الرجل الذي ينمو الكراسي - الأثاث