جدول المحتويات:
فيديو: تغيير ألوان LED باستخدام POT و ATTINY 85: 3 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
في هذا المشروع ، نستخدم مقياس الجهد (POT) لتغيير الألوان في LED باستخدام ATTINY85.
بعض التعاريف -
مقياس الجهد هو جهاز مزود بآلية لولبية / دوران صغيرة والتي عند تدويرها تنتج مقاومات كهربائية مختلفة. يمكنك أن ترى من الصورة المشروحة أعلاه أن POT بها 3 دبابيس ، وهي + ، - ، والإخراج. يتم تشغيل POT عن طريق توصيل المسامير + و - بـ vcc والأرضي على التوالي على مصدر طاقة. عندما يتم تشغيل برغي POT ، تتغير مقاومة الخرج وتتسبب في انخفاض أو زيادة شدة LED.. بمعنى آخر ، إنه مقاوم متغير. يتم استخدامها في أشياء مثل مخفتات الإضاءة المنزلية.
LED - هذا ضوء صغير يضيء عندما يمر التيار الكهربائي عبره. في هذه الحالة ، سوف نستخدم مصباح LED متعدد الألوان يحتوي على 3 دبابيس ، وأرضية واحدة (وسط) واثنين من المسامير التي تظهر باللونين الأخضر والأحمر على التوالي عند تشغيلها.
ATTINY85 - هذه شريحة صغيرة منخفضة التكلفة يمكنك برمجتها مثل Arduino.
نظرة عامة - الإخراج من POT متصل بـ ATTINY85. عندما يتم تشغيل برغي POT ، يتم إخراج مقاومة الاختلاف كرقم بين 0 و 255. يمكن أن يقيس ATTINY هذا ويتخذ إجراءات مختلفة اعتمادًا على قيمة مقاومة POT. في هذه الحالة ، قمنا ببرمجتها للاتصال بمصباح LED على النحو التالي.
إذا كان الرقم أكبر من 170 ، فقم بتحويل مؤشر LED إلى اللون الأخضر.
إذا كان الرقم أقل من 170 ولكن أكبر من 85 ، فقم بتبديل مؤشر LED إلى الأحمر.
إذا كان الرقم أقل من 85 ، فقم بتشغيل LED GREEN AND RED مما ينتج عنه ORANGE.
BOM
1 × 3 دبوس LED1 × ATTINY 85
1 × وعاء (B100K)
1 × لوح توصيل وكابلات
1 مصدر طاقة.
الخطوة الأولى: برمجة ATTINY85
فيما يتعلق ببرمجة ATTINY85 ، يرجى الرجوع إلى التعليمات السابقة الخاصة بي -
يظهر رمز أدناه. بعض النقاط التي يجب ملاحظتها هي أن دبابيس ATTINY ، PB3 ، دبوس مادي 2 ، PB2 ، دبوس مادي 7 متصل ، في الوضع الرقمي ، بمصباح LED لإحداث تغيير في اللون. ATTINY pin PB4 ، الدبوس المادي 3 ، متصل بـ POT في الوضع التناظري ، مما يعني أنه يمكنه قراءة القيم بين 0 و 254. لقد قمت بتخصيص الكود الذي وجدته على الإنترنت لذلك أقر بهذا العمل. -
initADC () باطلة {// *** // *** Pinout ATtiny25 / 45/85: // *** PDIP / SOIC / TSSOP // *** ============= ==================================================== =============================== // *** // *** (PCINT5 / RESET / ADC0 / dW) PB5 [1] * [8] VCC // *** (PCINT3 / XTAL1 / CLKI / OC1B / ADC3) PB3 [2] [7] PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) // * ** (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) PB4 [3] [6] PB1 (MISO / DO / AIN1 / OC0B / OC1A / PCINT1) // *** GND [4] [5] PB0 (MOSI / DI / SDA / AIN0 / OC0A / OC1A / AREF / PCINT0) // *** // pb4 - دخل POT // pb3 led pin 1 // pb2 led pin 3 // ATTINY 85 تم ضبط التردد عند 8 ميجا هرتز / * تعمل هذه الوظيفة على تهيئة ADC
ملاحظات ADC Prescaler:
يجب ضبط ADC Prescaler بحيث يكون تردد إدخال ADC بين 50-200 كيلو هرتز.
لمزيد من المعلومات ، راجع الجدول 17.5 "تحديدات ADC Prescaler" في الفصل 17.13.2 "ADCSRA - سجل التحكم والحالة ADC ADC" (الصفحات 140 و 141 على ورقة بيانات ATtiny25 / 45/85 الكاملة ، Rev. 2586M-AVR-07 / 10)
قيم المقياس المسبق الصالحة لسرعات مختلفة على مدار الساعة
قيم المقياس المسبق المتوفرة على مدار الساعة --------------------------------------- 1 ميجا هرتز 8 (125 كيلو هرتز) ، 16 (62.5 كيلو هرتز) 4 ميجا هرتز 32 (125 كيلو هرتز) 64 (62.5 كيلو هرتز) 8 ميجا هرتز 64 (125 كيلو هرتز) 128 (62.5 كيلو هرتز) 16 ميجا هرتز 128 (125 كيلو هرتز)
المثال أدناه قم بتعيين prescaler على 128 لتشغيل mcu بسرعة 8 ميجا هرتز
(تحقق من ورقة البيانات لقيم البت المناسبة لتعيين مقياس مسبق) * /
// دقة 8 بت
// اضبط ADLAR على 1 لتمكين نتيجة Left-shift (فقط بت ADC9.. ADC2 متوفرة) // إذن ، قراءة ADCH فقط كافية لنتائج 8 بت (256 قيمة) DDRB | = (1 << PB3) ؛ // تم تعيين الدبوس كإخراج. DDRB | = (1 << PB2) ؛ // تم تعيين الدبوس كإخراج. ADMUX = (1 << ADLAR) | // نتيجة التحول الأيسر (0 << REFS1) | // مجموعات المرجع. الجهد إلى VCC ، بت 1 (0 << REFS0) | // مجموعات المرجع. الجهد إلى VCC ، بت 0 (0 << MUX3) | // استخدم ADC2 للإدخال (PB4) ، MUX بت 3 (0 << MUX2) | // استخدم ADC2 للإدخال (PB4) ، MUX بت 2 (1 << MUX1) | // استخدم ADC2 للإدخال (PB4) ، بت MUX 1 (0 << MUX0) ؛ // استخدم ADC2 للإدخال (PB4) ، MUX بت 0
ADCSRA =
(1 << عدن) | // تمكين ADC (1 << ADPS2) | // تعيين prescaler إلى 64 ، بت 2 (1 << ADPS1) | // ضبط prescaler على 64 ، بت 1 (0 << ADPS0) ؛ // تعيين مقياس مسبق إلى 64 ، بت 0}
int main (باطل)
{initADC () ،
بينما (1)
{
ADCSRA | = (1 << ADSC) ، // بدء قياس ADC أثناء (ADCSRA & (1 << ADSC)) ؛ // انتظر حتى اكتمال التحويل
إذا (ADCH> 170)
{PORTB | = (1 << PB3) ، // تعيين الدبوس على HIGH. بورتب | = (1 << PB2) ، // تعيين الدبوس على HIGH. } else if (ADCH 85) {PORTB | = (1 << PB3) ؛ // تعيين الدبوس على HIGH. PORTB & = ~ (1 << PB2) ؛ // تعيين الدبوس على LOW
} آخر {
بورتب | = (1 << PB2) ، // تعيين الدبوس على HIGH. PORTB & = ~ (1 << PB3) ؛ // تعيين الدبوس على LOW
}
}
العودة 0 ؛
}
الخطوة 2: الدائرة
دبابيس ATTINY
PB3 ، دبوس مادي 2 - دبوس LED متصل 1
PB4 ، الدبوس المادي 3 ، متصل بـ POT الدبوس الأوسط
GND ، الدبوس المادي 4 ، متصل بالسكك الحديدية السلبية - مزود الطاقة
PB2 ، دبوس مادي 7 - دبوس LED متصل 3
VCC ، الدبوس المادي 8 ، متصل بالسكة الموجبة - مزود الطاقة
وعاء
نقاط البيع و Neg pin متصلان بالقضبان ذات الصلة - مزود الطاقة.
قاد
الدبوس الأوسط متصل بالسكك الحديدية السلبية - مزود الطاقة
لقد جربت استخدام مصدر طاقة 3 و 3.3 فولت وعمل كلاهما.
الخطوة الثالثة: الخاتمة
تعد قدرة ATTINY85 على التنقل بين الوضعين التناظري والرقمي قوية جدًا ويمكن استخدامها في عدد من التطبيقات المختلفة ، على سبيل المثال قيادة المحركات متغيرة السرعة وإنشاء النوتات الموسيقية. سأستكشف هذا في التعليمات المستقبلية. أتمنى أن تكون قد وجدت هذا مفيدًا.
موصى به:
مستشعر ألوان بسيط DIY من Magicbit: 5 خطوات
مستشعر ألوان بسيط DIY من Magicbit: في هذا البرنامج التعليمي سوف نتعلم كيفية إنشاء مستشعر ألوان بسيط باستخدام Magicbit مع Arduino
معالجة الصور باستخدام Raspberry Pi: تثبيت OpenCV وفصل ألوان الصورة: 4 خطوات
معالجة الصور باستخدام Raspberry Pi: تثبيت OpenCV وفصل ألوان الصورة: هذا المنشور هو الأول من بين العديد من البرامج التعليمية التي يجب اتباعها لمعالجة الصور. نلقي نظرة فاحصة على وحدات البكسل التي تشكل الصورة ، ونتعلم كيفية تثبيت OpenCV على Raspberry Pi ونكتب أيضًا نصوص اختبار لالتقاط صورة وأيضًا ج
كيفية تغيير اسم وحدة Bluetooth بسهولة باستخدام Arduino: 4 خطوات
كيفية تغيير اسم وحدة Bluetooth بسهولة باستخدام Arduino: في هذا المشروع ستتعلم كيفية تسمية وحدة Bluetooth الخاصة بك واكتشاف الأعطال في عمل البلوتوث الخاص بك. بالنسبة لهذا المشروع ، ستستخدم المكونات التالية الموضحة أدناه
خلط ألوان RGB LED مع Arduino في Tinkercad: 5 خطوات (بالصور)
خلط ألوان RGB LED مع Arduino في Tinkercad: لنتعلم كيفية التحكم في مصابيح LED متعددة الألوان باستخدام مخرجات Arduino التناظرية. سنقوم بتوصيل RGB LED بـ Arduino Uno ونؤلف برنامجًا بسيطًا لتغيير لونه. يمكنك المتابعة بشكل افتراضي باستخدام Tinkercad Circuits. يمكنك حتى مشاهدة هذا
جهاز تسلسل ألوان RGB LED - بدون معالج دقيق: 3 خطوات
مُسلسِل ألوان RGB LED - بدون معالج دقيق: "اعرض مجموعات الألوان لمصابيح LED الملونة بدون استخدام معالج دقيق. باستخدام شريحة منطقية واحدة تكلف أقل من 50 سنتًا ، يمكنك عمل عرض دورة ألوان بسيط لمصابيح RGB LED. تُستخدم الصنابير المتعددة على طول الجزء العلوي "لبرمجة" القرص