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

خلاط ألوان مع اردوينو: 9 خطوات (بالصور)
خلاط ألوان مع اردوينو: 9 خطوات (بالصور)

فيديو: خلاط ألوان مع اردوينو: 9 خطوات (بالصور)

فيديو: خلاط ألوان مع اردوينو: 9 خطوات (بالصور)
فيديو: الجهاز دا هيخليك تعمل فلوس 💵 #اختراعات_سمان 2024, شهر نوفمبر
Anonim
Image
Image

تابع المزيد بالمؤلف:

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

حول: أتعلم دائمًا….. المزيد عن tliguori330 »

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

الخطوة 1: الأجزاء والمكونات

الأجزاء والمكونات
الأجزاء والمكونات
الأجزاء والمكونات
الأجزاء والمكونات
الأجزاء والمكونات
الأجزاء والمكونات
الأجزاء والمكونات
الأجزاء والمكونات

اردوينو اونو

مقياس الجهد (x3)

RGB LED

مقاوم 220 أوم (x3)

أسلاك العبور (x12)

لوح الخبز

الخطوة الثانية: خطط لتقدمك

خطط لتقدمك
خطط لتقدمك

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

1) اقرأ 3 مقاييس جهد مختلفة واحفظ قيمها في المتغيرات.

2) سنقوم بتحويل هذه القيم لتتناسب مع نطاق RGB LED.

3) ثم أخيرًا سنكتب تلك القيم المحولة لكل لون من ألوان RGB.

الخطوة 3: كيفية استخدام مقاييس الجهد

كيفية استخدام مقاييس الجهد
كيفية استخدام مقاييس الجهد
كيفية استخدام مقاييس الجهد
كيفية استخدام مقاييس الجهد

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

الخطوة 4: مخطط الأسلاك لمقياس الجهد (3x)

مخطط الأسلاك لـ (3x) الجهد
مخطط الأسلاك لـ (3x) الجهد
مخطط الأسلاك لـ (3x) الجهد
مخطط الأسلاك لـ (3x) الجهد
مخطط الأسلاك لـ (3x) الجهد
مخطط الأسلاك لـ (3x) الجهد

سيتم توصيل معظم الساق اليسرى بـ 5 فولت وسيتم توصيل معظم الساق اليمنى بـ GND. يمكنك في الواقع عكس هاتين الخطوتين ولن يضر المشروع كثيرًا. كل ما قد يتغير هو أن إدارة المقبض على طول الطريق إلى اليسار سيكون سطوعًا كاملًا بدلاً من إيقاف تشغيله تمامًا. سيتم توصيل الساق الوسطى بأحد المسامير التناظرية على Arduino. نظرًا لأنه سيكون لدينا ثلاثة مقابض ، فسنرغب في مضاعفة العمل الذي قمنا به للتو ثلاث مرات. يحتاج كل مقبض إلى 5 فولت و GND بحيث يمكن مشاركتها باستخدام لوح الخبز. الشريط الأحمر على لوح الخبز متصل بـ 5 فولت والشريط الأزرق متصل بالأرض. يحتاج كل مقبض إلى دبوس تناظري خاص به بحيث يتم توصيله بـ A0 و A1 و A2.

الخطوة 5: استخدام AnalogRead () والمتغيرات

مع إعداد مقياس الجهد بشكل صحيح ، نحن على استعداد لقراءة هذه القيم. عندما نرغب في القيام بذلك نستخدم الدالة analogRead (). الصيغة الصحيحة هي analogRead (pin #) ؛ حتى نقرأ مقياس الجهد المتوسط الخاص بنا ، سنقوم بقراءة analogRead (A1) ؛ من أجل التعامل مع الأرقام التي يتم إرسالها من المقبض إلى Arduino ، نريد أيضًا حفظ هذه الأرقام في متغير. سينجز سطر الكود هذه المهمة عندما نقرأ مقياس الجهد ونحفظ رقمه الحالي في المتغير الصحيح "val"

int val = analogRead (A0) ؛

الخطوة 6: استخدام جهاز العرض التسلسلي بمقبض واحد

Image
Image

يمكننا حاليًا الحصول على القيم من المقابض وتخزينها في متغير ، ولكن سيكون من المفيد أن نرى هذه القيم. للقيام بذلك ، نحتاج إلى الاستفادة من الشاشة التسلسلية المضمنة. الكود أدناه هو الرسم الأول الذي سنقوم بتشغيله بالفعل في Arduino IDE والذي يمكن تنزيله من موقعهم. في إعداد الفراغ () سنقوم بتنشيط المسامير التناظرية المتصلة بكل ساق وسطى كمدخل ونقوم بتنشيط الشاشة التسلسلية باستخدام Serial.begin (9600) ؛ بعد ذلك نقرأ واحدة فقط من المقابض ونخزنها في متغير مثل السابق. التغيير الآن هو أننا أضفنا سطرًا يطبع الرقم المخزن في المتغير. إذا قمت بتجميع الرسم وتشغيله ، يمكنك بعد ذلك فتح جهاز العرض التسلسلي الخاص بك ومشاهدة الأرقام التي يتم تمريرها على الشاشة. في كل مرة يتم فيها تكرار الكود ، نقرأ ونطبع رقمًا آخر. إذا أدرت المقبض الموصل بـ A0 ، فسترى قيمًا تتراوح من 0 إلى 1023. في وقت لاحق سيكون الهدف هو قراءة جميع مقاييس الجهد الثلاثة التي تتطلب 2 المزيد من القراءة التناظرية ومتغيرين مختلفين للحفظ والطباعة.

الإعداد باطل(){

pinMode (A0، INPUT) ؛ pinMode (A1 ، INPUT) ؛ pinMode (A2 ، الإدخال) ؛ Serial.begin (9600) ؛ } حلقة فارغة () {int val = analogRead (A0) ؛ Serial.println (فال) ؛ }

الخطوة 7: استخدام RGB LED

استخدام RGB LED
استخدام RGB LED
استخدام RGB LED
استخدام RGB LED
استخدام RGB LED
استخدام RGB LED

4 Legged RGB LED i أحد المكونات المفضلة لدي في Arduino. أجد الطريقة التي يمكن بها إنشاء ألوان لا نهاية لها من مزيج من 3 ألوان أساسية رائعة. الإعداد مشابه لأي LED عادي ولكن لدينا هنا بشكل أساسي مصابيح LED حمراء وزرقاء وخضراء مجتمعة معًا. سيتم التحكم في كل من الأرجل القصيرة بواسطة أحد دبابيس PWM الموجودة على اردوينو. سيتم توصيل أطول ساق بـ 5 فولت أو أرضي ، اعتمادًا على ما إذا كان لديك في أنود مشترك أو مصباح كاثود مشترك. ستحتاج إلى تجربة كلا الطريقتين لحل المشكلة. سيكون لدينا بالفعل 5 فولت و GND متصل بلوح التجارب ، حيث سيكون من السهل تغييره. يوضح الرسم البياني أعلاه استخدام 3 مقاومات أيضًا. لقد تخطيت هذه الخطوة في كثير من الأحيان لأنني لم أحصل عليها واندفع مؤشر LED لي.

لإنشاء ألوان ، سنستخدم الدالة analogWrite () للتحكم في مقدار اللون الأحمر أو الأزرق أو الأخضر المراد إضافته. لاستخدام هذه الوظيفة ، تحتاج إلى تحديد رقم التعريف الشخصي الذي سنتحدث إليه ورقم بين 0-255. 0 متوقف تمامًا و 255 هو أكبر كمية للون واحد. دعنا نربط الساق الحمراء بالرقم 9 ، والأخضر بالدبوس 10 والأزرق بالدبوس 11. قد يتطلب ذلك بعض التجربة والخطأ لمعرفة أي الساق هو أي لون. إذا أردت أن أصنع لونًا أرجوانيًا ، فيمكنني عمل الكثير من اللون الأحمر ، وليس الأخضر ، وربما نصف قوة اللون الأزرق. أنا أشجعك على العبث بهذه الأرقام ، إنه أمر مثير حقًا. توجد بعض الأمثلة الشائعة في الصور أعلاه

الإعداد باطل(){

pinMode (9 ، الإخراج) ؛ pinMode (10 ، الإخراج) ؛ pinMode (11 ، الإخراج) ؛ } حلقة فارغة () {analogWrite (9، 255)؛ analogWrite (10 ، 0) ؛ analogWrite (11 ، 125)}

الخطوة 8: استخدام مقاييس الجهد للتحكم في RGB LED (مع خطأ واحد)

استخدام مقاييس الجهد للتحكم في RGB LED (مع خطأ واحد)
استخدام مقاييس الجهد للتحكم في RGB LED (مع خطأ واحد)
استخدام مقاييس الجهد للتحكم في RGB LED (مع خطأ واحد)
استخدام مقاييس الجهد للتحكم في RGB LED (مع خطأ واحد)
استخدام مقاييس الجهد للتحكم في RGB LED (مع خطأ واحد)
استخدام مقاييس الجهد للتحكم في RGB LED (مع خطأ واحد)

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

الإعداد باطل(){

pinMode (A0، INPUT) ؛ pinMode (A1 ، INPUT) ؛ pinMode (A2 ، الإدخال) ؛ pinMode (9 ، الإخراج) ؛ pinMode (10 ، الإخراج) ؛ pinMode (11 ، الإخراج) ؛ } إعداد باطل () {int redVal = analogRead (A0) ؛ int greenVal = analogRead (A1) ؛ int blueVal = analogRead (A2) ، analogWrite (9 ، redVal) ؛ analogWrite (10 ، greenVal) ؛ analogWrite (11 ، blueVal) ؛ }

الخطوة 9: المكافأة: الخريطة () الوظيفة والرمز الأنظف

قد تلاحظ أنه عندما تبدأ في تدوير المقبض لأعلى بلون واحد ، فإنه سينمو ثم ينخفض فجأة إلى أسفل. يتكرر هذا النمط من النمو ثم الإغلاق بسرعة 4 مرات بينما تدير المقبض بالكامل لأعلى. إذا كنت تتذكر ، قلنا أن مقاييس الجهد يمكنها قراءة القيم بين 0 و 1023. تقبل الدالة analogWrite () القيم بين 0 و 255 فقط. بمجرد أن يتجاوز مقياس الجهد 255 ، يبدأ بشكل أساسي من الصفر. هناك وظيفة لطيفة للمساعدة في خطأ يسمى الخريطة (). يمكنك تحويل نطاق واحد من الأرقام إلى نطاق آخر من الأرقام في خطوة واحدة. سنقوم بتحويل الأرقام من 0-1023 إلى أرقام من 0-255. على سبيل المثال ، إذا تم ضبط المقبض على منتصف الطريق ، فيجب أن يقرأ حوالي 512. سيتم تغيير هذا الرقم إلى 126 وهو نصف قوة مؤشر LED. في هذا المخطط النهائي ، قمت بتسمية المسامير بأسماء متغيرة من أجل راحتي. لديك الآن خلاط ألوان مكتمل لتجربته !!!

// أسماء متغيرة لدبابيس مقياس الجهد

int redPot = A0 ؛ int greenPot = A1 ؛ int bluePot = A2 // أسماء متغيرة لدبابيس RGB int redLED = 9 ؛ int greenLED = 10 ؛ int blueLED = 11 ؛ إعداد باطل () {pinMode (redPot ، INPUT) ؛ pinMode (greenPOT ، INPUT) ؛ pinMode (bluePot ، INPUT) ؛ pinMode (redLED ، الإخراج) ؛ pinMode (greenLED ، الإخراج) ؛ pinMode (blueLED ، الإخراج) ؛ المسلسل يبدأ (9600) ؛ } حلقة فارغة () {// قراءة وحفظ القيم من مقاييس الجهد int redVal = analogRead (redPot)؛ int greenVal = analogRead (greenPot) ؛ int blueVal - analogRead (bluePot) ؛ // قم بتحويل القيم من 0-1023 إلى 0-255 لـ RGB LED redVal = خريطة (redVal ، 0 ، 1023 ، 0 ، 255) ؛ greenVal = خريطة (greenVal ، 0 ، 1023 ، 0 ، 255) ؛ blueVal = خريطة (blueVal، 0، 1023، 0، 255) ؛ // اكتب هذه القيم المحولة إلى كل لون من ألوان RGB LED analogWrite (redLED ، redVal) ؛ anaogWrite (greenLED ، greenVal) ؛ analogWrite (blueLED ، blueVal) ؛ // إظهار القيم على Serial monitor Serial.print ("red:") ؛ Serial.print (redVal) ؛ Serial.print ("أخضر:") ؛ Serial.print (greenVal) ؛ Serial.print ("blue:") ؛ Serial.println (blueVal) ؛ }

موصى به: