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

الهندباء التفاعلية: 11 خطوة (مع صور)
الهندباء التفاعلية: 11 خطوة (مع صور)

فيديو: الهندباء التفاعلية: 11 خطوة (مع صور)

فيديو: الهندباء التفاعلية: 11 خطوة (مع صور)
فيديو: اخراج التيوب وعملية التسكير عند افاقة المريض من التخدير extubation #تخدير #عمليات_التجميل 2024, يوليو
Anonim
Image
Image
قم بإعداد حلقة NeoPixel
قم بإعداد حلقة NeoPixel

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

إنه مبني على عمل فني جميل من تصميم Qi Jie ، الذي استلهمت صورته من تصميم زهرة واحدة من تصميم Jessie Thompson و Zachory Berta. لقد صنعت منجم على قماش وقمت بتأطيره في طوق من نسيج لأذهب إلى جدار مساحة صانعي التكنولوجيا والمنسوجات في ديفون ، إنجلترا ، كمثال لمشروع مبتدئين يجمع بين الخياطة والأردوينو.

فيديو للرسم بالضوء بواسطة تشي جي

فيديو لتصميم زهرة واحدة من تصميم جيسي طومسون وزاكوري بيرتا

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

تفاصيل ما لم ينجح بالنسبة لي هي في النهاية لأي شخص مهتم لماذا اخترت بهذه الطريقة.

رمز للرسم بالضوء بواسطة تشي جي

رمز لصورة زهرة صغيرة بواسطة جيسي طومسون وزاكوري بيرتا

المواد

  • اردوينو UNO
  • حلقة Adafruit من 12 نيوبكسلز
  • 5V قطاع 11 RGB LEDs
  • مستشعر ميكروفون الصوت
  • أسلاك العبور
  • بطارية قابلة للشحن 5 فولت مع وصلة USB A.
  • كبل الطابعة (كابل USB A إلى B)
  • نقاط الغراء أو الغراء الساخن
  • بطاقة A4
  • نسيج قطني كريمي 30 سم × 30 سم ، مثل وسادة قديمة
  • طلاء قماش أخضر
  • خيط قطن بني
  • كرتون مموج 70 سم × 50 سم ، مثل علب البيتزا
  • شريط الإخفاء
  • حلقة تطريز 9 بوصة لتأطير الصورة
  • 9 أشرطة فيلكرو ذاتية اللصق

أدوات

  • تم تنزيل جهاز كمبيوتر مثبت عليه Arduino IDE
  • لحام الحديد وخالي من الرصاص لحام
  • اللوح لاختبار الدائرة
  • قشارة / قواطع أسلاك
  • ابرة خياطة
  • قلم
  • مقص

الخطوة 1: قم بإعداد حلقة NeoPixel

قم بتلحيم الأسلاك الملونة المختلفة لكل من لوحات الطاقة والأرض والبيانات الموجودة على الجزء الخلفي من حلقة NeoPixel.

إذا كان لديك إصدار مختلف من الحلقة ، فقد لا تكون الأسلاك الخاصة بك في نفس وضع صورة لي.

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

الخطوة 2: قص شرائط المصابيح

قطع شرائط المصابيح
قطع شرائط المصابيح
قطع شرائط المصابيح
قطع شرائط المصابيح

قم بقص 11 مصباح LED فردي من شريط RGB LED ، مع الحرص على القطع على طول الخط المركزي لترك وسادات اللحام على جانبي القطع. ضع قطعة من اللحام على الجانب العلوي من كل وسادة.

الخطوة 3: جندى المصابيح

جندى المصابيح
جندى المصابيح
جندى المصابيح
جندى المصابيح
جندى المصابيح
جندى المصابيح

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

قم بتلحيم أسلاك الإخراج من الحلقة إلى أول مؤشر LED فردي ، ومطابقة الأسلاك الموجبة والأرضية والبيانات مع نفس الوسادات على كلا مصابيح LED.

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

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

نصيحة: لمنع تلامس الأسلاك عند الدوران في الزوايا ، قم بربط كل منها في شريط صغير من العزل البلاستيكي تم إزالته مسبقًا.

الخطوة 4: تحضير الظهر

تحضير الظهر
تحضير الظهر
تحضير الظهر
تحضير الظهر

قم بعمل فتحة أخرى في البطاقة البيضاء لأسلاك الإدخال وادفعها من خلالها.

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

الخطوة 5: توصيل الميكروفون واردوينو

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

قم بتوصيل Arduino بمستشعر الميكروفون وحلقة LED كما هو موضح. لقد استخدمت TinkerCad لإنشاء مخطط الدائرة ، والذي لا يحتوي على صورة ميكروفون ، لذا فقد استبدلت مستشعرًا آخر يستخدم نفس المسامير ويعمل بنفس الطريقة في المحاكاة.

لعرض المحاكاة ، انتقل إلى https://www.tinkercad.com/things/5cgI2wluA0c. اسحب الدائرة المتصلة بالمستشعر إلى المنطقة النشطة لمحاكاة النفخ في الميكروفون. توجد مصابيح LED في شرائط على 6 ، لذا فإن آخر مؤشر LED في المحاكاة ليس جزءًا من التصميم ولا يضيء.

الخطوة 6: برمجة Arduino

برمجة الاردوينو
برمجة الاردوينو

افتح Arduino IDE على جهاز الكمبيوتر الخاص بك وابدأ رسمًا جديدًا احذف كل شيء داخل الرسم وانسخ والصق هذا الرمز فيه بدلاً من ذلك

// مقتبس باستخدام مخطط NeoPixel Ring البسيط (c) 2013 Shae Erisson // وكود المستشعر من https://www.hackster.io/ingo-lohs/first-test-37-s… # تضمين // أي دبوس على Arduino متصل بـ NeoPixels؟ #define PIN 6 // كم عدد NeoPixels المتصلة بـ Arduino؟ #define NUMPIXELS 23 // عندما نقوم بإعداد مكتبة NeoPixel ، نخبرها بعدد البكسل والدبوس الذي يجب استخدامه لإرسال الإشارات. // لاحظ أنه بالنسبة لشرائط NeoPixel الأقدم ، قد تحتاج إلى تغيير المعلمة الثالثة - راجع مثال strandtest // لمزيد من المعلومات حول القيم الممكنة. Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NUMPIXELS، PIN، NEO_GRB + NEO_KHZ800) ؛ int delayval = 500 ؛ // تأخير لمدة نصف ثانية int sensorPin = A0 ؛ // حدد دبوس الإدخال لمستشعر int sensorValue = 0 ؛ // متغير لتخزين القيمة القادمة من عتبة المستشعر const int = 200 ؛ // مستوى عتبة تعسفي يقع في نطاق إعداد فراغ الإدخال التناظري () {pixels.begin () ؛ // يؤدي هذا إلى تهيئة مكتبة NeoPixel. pixels.setBrightness (20) ، // ضبط السطوع Serial.begin (9600) ؛ } void loop () {// بالنسبة لمجموعة من NeoPixels ، يكون NeoPixel الأول 0 ، والثاني هو 1 ، وصولًا إلى عدد البكسل مطروحًا منه واحدًا. // Dandelion LEDs // pixels. يأخذ اللون قيم RGB ، من 0 ، 0 ، 0 حتى 255 ، 255 ، 255 بكسل. setPixelColor (0 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (1 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (2 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (3 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (4 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (5 ، بكسل ، لون (255 ، 165 ، 0)) ؛ // البرتقالي. pixels.setPixelColor (6 ، بكسل ، لون (255 ، 165 ، 0)) ؛ // البرتقالي. pixels.setPixelColor (7 ، بكسل ، لون (255 ، 165 ، 0)) ؛ // البرتقالي. pixels.setPixelColor (8 ، بكسل ، لون (255 ، 165 ، 0)) ؛ // البرتقالي. pixels.setPixelColor (9 ، بكسل ، لون (255 ، 165 ، 0)) ؛ // البرتقالي. pixels.setPixelColor (10 ، بكسل ، لون (255 ، 165 ، 0)) ؛ // البرتقالي. pixels.setPixelColor (11 ، بكسل ، لون (255 ، 165 ، 0)) ؛ // البرتقالي. pixels.setPixelColor (12 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (13 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (14 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (16 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (17 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (18 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (19 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (20 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (21 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (22 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.show () ، // هذا يرسل لون البكسل المحدث إلى الجهاز. تأخير (0 ، 0)) ؛ // اطفء. pixels.setPixelColor (1 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (2 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (3 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (4 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (5 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // bluishwhite pixels.setPixelColor (6 ، بكسل ، لون (255 ، 165 ، 0)) ؛ // البرتقالي. pixels.setPixelColor (7 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // bluishwhite pixels.setPixelColor (8 ، بكسل ، لون (255 ، 165 ، 0)) ؛ // البرتقالي. pixels.setPixelColor (9 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // bluishwhite pixels.setPixelColor (10 ، بكسل ، لون (255 ، 165 ، 0)) ؛ // البرتقالي. pixels.setPixelColor (11 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // bluishwhite. pixels.setPixelColor (12 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (13 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (14 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (16 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (17 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (18 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (19 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (20 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (21 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (22 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.show () ، // هذا يرسل لون البكسل المحدث إلى الجهاز. تأخير (delayval * 6) ؛ // مصابيح رأس البذرة pixels.setPixelColor (0 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (1 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // إيقاف البكسل. setPixelColor (2 ، بكسل ، اللون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (3 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // إيقاف البكسل. setPixelColor (4 ، بكسل ، اللون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (5 ، بكسل ، لون (255 ، 165 ، 0)) ؛ // البرتقالي. pixels.setPixelColor (6 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (7 ، بكسل ، لون (255 ، 165 ، 0)) ؛ // البرتقالي. pixels.setPixelColor (8 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (9 ، بكسل ، لون (255 ، 165 ، 0)) ؛ // البرتقالي. pixels.setPixelColor (10 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (11 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // إيقاف البكسل. setPixelColor (12 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (13 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (14 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (16 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (17 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (18 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (19 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (20 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (21 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (22 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.show () ، // هذا يرسل لون البكسل المحدث إلى الجهاز. تأخير (delayval * 3) ؛ // تأخير لفترة زمنية (بالمللي ثانية). pixels.setPixelColor (0 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (1 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // إيقاف البكسل. setPixelColor (2 ، بكسل ، اللون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (3 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (4 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (5 ، بكسل ، لون (255 ، 165 ، 0)) ؛ // البرتقالي. pixels.setPixelColor (6 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (7 ، بكسل ، لون (255 ، 165 ، 0)) ؛ // البرتقالي. pixels.setPixelColor (8 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (9 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (10 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (11 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (12 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (13 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (14 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (16 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (17 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (18 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (19 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (20 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (21 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (22 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.show () ، // هذا يرسل لون البكسل المحدث إلى الجهاز. تأخير (delayval * 3) ؛ // تأخير لفترة زمنية (بالمللي ثانية). pixels.setPixelColor (0 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (1 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (2 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (3 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (4 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (5 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (6 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (7 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (8 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (9 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (10 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (11 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (12 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (13 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (14 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (16 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (17 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (18 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (19 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (20 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (21 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (22 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.show () ، // هذا يرسل لون البكسل المحدث إلى الجهاز. تأخير (تأخير) ؛ // تأخير لفترة زمنية (بالمللي ثانية). // اقرأ قيمة المستشعر واعرضها في مستشعر الشاشة التسلسليValue = analogRead (sensorPin) ؛ Serial.println (sensorValue) ؛ تأخير (250) ؛ // بينما تكون قيمة المستشعر أقل من الحد الأدنى ، تحقق من قيمة المستشعر واطبعها في الشاشة التسلسلية. عندما تكون القيمة أعلى من العتبة ، يمكن أن يستمر الرسم بينما (sensorValue <threshold) {sensorValue = analogRead (sensorPin) ؛ Serial.println (sensorValue) ؛ تأخير (250) ؛ } // مصابيح LED للرياح الأولى pixels.setPixelColor (0 ، بكسل. اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (1 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (2 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (3 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (4 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (5 ، بكسل ، لون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (6 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (7 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (8 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (9 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (10 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (11 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (12 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (13 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (14 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (15 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (16 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (17 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (18 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (19 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (20 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (21 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (22 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.show () ، // هذا يرسل لون البكسل المحدث إلى الجهاز. تأخير (تأخير) ؛ // تأخير لفترة زمنية (بالمللي ثانية). // مصابيح LED للرياح الثانية بكسل. setPixelColor (0 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (1 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (2 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (3 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (4 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (5 ، بكسل ، لون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (6 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (7 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (8 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (9 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (10 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (11 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (12 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (13 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (14 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (15 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (16 ، بكسل ، اللون (0 ، 0 ، 0)) ؛ // اطفء. pixels.setPixelColor (17 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (18 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (19 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (20 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (21 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق. pixels.setPixelColor (22 ، بكسل ، لون (226 ، 246 ، 255)) ؛ // أبيض مزرق.pixels.show () ، // هذا يرسل لون البكسل المحدث إلى الجهاز. تأخير (2000) ؛ // تأخير لفترة زمنية (بالمللي ثانية). }

قم بتوصيل Arduino بالكمبيوتر باستخدام كابل طابعة USB

انتقل إلى Tools> Board وحدد لوحة Arduino / Genuino UNO

انتقل إلى المنفذ وتأكد من توصيل اللوحة بمنفذ USB الصحيح. إذا لم تكن متأكدًا ، فيمكنك فصل Arduino ومعرفة أي منفذ يختفي من القائمة. قم بتوصيله مرة أخرى وسيتم إدراج المنفذ مرة أخرى.

قم بتحميل الرسم التخطيطي بالنقر فوق أيقونة التحميل الموضحة في الصورة المشروحة. يجب أن تومض الأضواء على Arduino أثناء التحميل. عند الانتهاء من تحميل نصف مصابيح LED على حلقة البكسل الجديد ، ستضيء باللون الأصفر ثم تتحول إلى حلقة كاملة من الأضواء البيضاء. انفخ في الميكروفون لاختبار الدائرة. يجب أن تضيء مصابيح LED في الطبقات الخارجية بدورها. تحقق من اللحام على أي مصابيح LED لا تعمل.

الخطوة 7: تغيير الألوان والسطوع وعتبة الاستشعار

تغيير الألوان والسطوع وعتبة الاستشعار
تغيير الألوان والسطوع وعتبة الاستشعار
تغيير الألوان والسطوع وعتبة الاستشعار
تغيير الألوان والسطوع وعتبة الاستشعار

الألوان

يتم ضبط ألوان المصابيح باستخدام قيم ألوان RGB (أحمر أخضر أزرق). إذا كنت تفضل استخدام ألوان مختلفة عن التي استخدمتها ، فيمكنك العثور على قيم الألوان التي تريدها باستخدام حاسبة ألوان RGB عبر الإنترنت مثل www.w3schools.com/colors/colors_rgb.asp

لإيقاف تشغيل مؤشر LED ، استخدم القيم 0 ، 0 ، 0.

لضبط مؤشر LED على الأبيض ، استخدم القيم 255 ، 255 ، 255. يستخدم الكود في الخطوة السابقة لونًا أبيض مزرقًا بالقيم 226 ، 246 ، 255 وبرتقالي بقيم 255 ، 165 ، 0.

سطوع

لتغيير سطوع مصابيح LED ، انتقل إلى قسم الإعداد الفارغ من التعليمات البرمجية وابحث عن السطر التالي من التعليمات البرمجية:

pixels.setBrightness (20) ، // ضبط السطوع

قم بتحرير الرقم الموجود بين قوسين لتغيير سطوع المصابيح.

عتبة الاستشعار

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

عتبة int = 200 ؛

الخطوة 8: جعل الدائرة أكثر ديمومة

جعل الدائرة أكثر ديمومة
جعل الدائرة أكثر ديمومة

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

الخطوة 9: قم بإنشاء صورة

قم بإنشاء صورة
قم بإنشاء صورة

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

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

ضع القماش والحلقة مرة أخرى أعلى البطاقة كما كان من قبل وثبته في مكانه عن طريق لصق القماش الإضافي على ظهر البطاقة.

الخطوة 10: ضعها معًا

نضعها معًا
نضعها معًا

قم بلصق البطاقة البيضاء على دائرة الكرتون المموج ، مع إرفاق الميكروفون ، ولكن ليس حزمة Arduino والبطارية ، والتي تحتاج إلى الدوران حول حافة الورق المقوى مع مرور الأسلاك عبر الفتحات.

قم بتوصيل آخر دائرة من الورق المقوى باستخدام شريط فيلكرو حتى تتمكن من الوصول إلى البطارية. اصنع ثقبًا في الورق المقوى حيث تريد تعليقه على خطاف على الحائط.

الخطوة 11: التعلم من الأخطاء

التعلم من الأخطاء
التعلم من الأخطاء
التعلم من الأخطاء
التعلم من الأخطاء
التعلم من الأخطاء
التعلم من الأخطاء

كانت محاولتي الأولى باستخدام ملصقات الدوائر والشريط النحاسي. ملصقات الدوائر عبارة عن سطح LED صغير مثبت على ملصقات مع وسادات نحاسية. لقد أتوا من شركة Chibitroniks التابعة لـ Qi Jie ، واعتقدت أنهم سيكونون مثاليين.

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

ثم جربت المصابيح القابلة للخياطة. اعتقدت أن امتلاك الطاقة والأرض فقط سيكون أسهل في التوصيل من مصابيح LED القابلة للبرمجة التي تحتوي على خطوط طاقة وأرضية وخطوط بيانات. ولكن تبين أنها دائرة أكثر تعقيدًا تحتاج إلى مصدر طاقة إضافي و MOSFET ، وهو ما لم يكن لدي. كان بإمكاني استخدام NeoPixels القابلة للخياطة ، لكنها أغلى ثمناً.

لذلك بعد بضع بدايات خاطئة ، انتهى بي الأمر بسلسلة من مصابيح LED القابلة للبرمجة وهي رخيصة وسهلة الاستخدام.

موصى به: