الوصف
وحدة LED RGB بقطر 10mm
تجمع هذه الوحدة عناصر LED حمراء وخضراء وزرقاء في حزمة RGB بقطر 10 mm. وتصف القائمة الأصلية ترتيب أنود مشترك، حيث يتصل الطرف المشترك بموجب التغذية وتُتحكم قنوات R وG وB كلٌّ على حدة.
🔧 المواصفات المذكورة في القائمة
- جهد التغذية: 5 V DC (وفق القائمة)
- التيار الأقصى: 0.6 A (وفق القائمة—تحقّق من الملاحظة أدناه)
- القدرة القصوى: 0.3 W (وفق القائمة)
- درجة حرارة التشغيل: من −25 °C إلى +65 °C
- خطوة الموصل: 2.54 mm
- قطر ثقب التثبيت: 3 mm
- أبعاد اللوحة: 30 × 20 mm
- التوافق البيئي: RoHS (وفق القائمة)
⚠️ تحقّق من اللوحة قبل التوصيل
تذكر القائمة الأصلية تيارًا أقصى 0.6 A وقدرة قصوى 0.3 W، وهما رقمان لا يتوافقان كنقطة تشغيل عامة عند 5 V. كما تصف موصلًا بأربعة أطراف بينما تسرد VCC وR وG وB وGND (خمسة أسماء). تحقّق من الوحدة المرفقة وعلامات الأطراف المطبوعة وما إذا كانت مقاومات تحديد التيار مركّبة عليها وتصنيف التيار لكل قناة. لا تفترض أن 0.6 A آمن لطرف Arduino أو للـLED.
⚙️ التشغيل بأنود مشترك
في LED ذي الأنود المشترك، يتصل الأنود المشترك بموجب التغذية وتتحكم القنوات اللونية بسحب التيار. عند استخدام Arduino، استخدم مقاومة تحديد تيار مناسبة لكل قناة ما لم تكن مركّبة بالفعل على الوحدة، والتزم بحد التيار لكل GPIO. تنعكس مستويات PWM عند التحكم بأنود مشترك؛ إذ تعني قيمة الخرج الأقل عمومًا إضاءة القناة أكثر. أبقينا الشيفرات الأصلية أدناه كما وردت؛ تحقّق من القطبية وتوزيع الأطراف ليتوافقا مع العتاد الفعلي.
💡 الاستخدامات
- مشاريع الإلكترونيات DIY
- مؤثرات الإضاءة الزخرفية
- مؤشرات الحالة
- شاشات الألوان المخصصة والنماذج الأولية
📌 أسماء الأطراف المذكورة
- VCC: التغذية الموجبة المشتركة (تذكر القائمة +5 V)
- R: التحكم بقناة الأحمر
- G: التحكم بقناة الأخضر
- B: التحكم بقناة الأزرق
- GND: تذكره القائمة أيضًا؛ تحقّق مما إذا كان أرضيًا منفصلًا للوحة أو تسمية بديلة للطرف المشترك
🔌 مثال Arduino Uno أساسي
نُبقي الشيفرة الأصلية أدناه. تحدد تعليقاتها الألوان؛ ويجب التحقق من قطبية الأنود المشترك والتوصيلات وفق اللوحة الفعلية.
int redPin = 11; // broche pour la LED rouge
int greenPin = 9; // broche pour la LED verte
int bluePin = 10; // broche pour la LED bleue
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void loop() {
setColor(0, 255, 255); // rouge
delay(1000);
setColor(255, 0, 255); // vert
delay(1000);
setColor(255, 255, 0); // bleu
delay(1000);
setColor(120, 10, 10); // blanc
delay(1000);
}
void setColor(int redValue, int greenValue, int blueValue) {
analogWrite(redPin, redValue);
analogWrite(greenPin, greenValue);
analogWrite(bluePin, blueValue);
}
🌈 مثال متقدم: التنقل بين ألوان RGB
نُبقي مثال دورة الألوان ذي 24 بت الأصلي أدناه. عند 100 ms لكل خطوة، يستغرق التأخير النظري وحده نحو 19.4 يومًا لعرض 16,777,216 تركيبة؛ وسيزيد زمن التنفيذ الفعلي بسبب وقت الحلقة.
const int RED_PIN = 11; // Broche pour la LED rouge
const int GREEN_PIN = 9; // Broche pour la LED verte
const int BLUE_PIN = 10; // Broche pour la LED bleue
void setup() {
// Configurer les broches comme sorties
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
}
void loop() {
// Parcourir toutes les combinaisons de couleurs possibles
for (int i = 0; i < 16777216; i++) { // 2^24 combinaisons de couleurs possibles
int r = (i >> 16) & 0xFF; // Extraire la valeur rouge
int g = (i >> 8) & 0xFF; // Extraire la valeur verte
int b = i & 0xFF; // Extraire la valeur bleue
setColor(r, g, b); // Définir la couleur
delay(100); // Attendre 0,1 seconde
}
}
// Fonction pour définir la couleur
void setColor(int redValue, int greenValue, int blueValue) {
analogWrite(RED_PIN, redValue); // Ajuster l'intensité de la LED rouge
analogWrite(GREEN_PIN, greenValue); // Ajuster l'intensité de la LED verte
analogWrite(BLUE_PIN, blueValue); // Ajuster l'intensité de la LED bleue
}
🧪 مثال ألوان مختصر: 4 بت لكل قناة
نُبقي الشيفرة الأصلية المختصرة أدناه. تستخدم 16 مستوى لكل قناة (إجمالي 4,096 تركيبة) وهي أسرع بكثير للعرض التوضيحي.
const int RED_PIN = 11; // Broche pour la LED rouge
const int GREEN_PIN = 9; // Broche pour la LED verte
const int BLUE_PIN = 10; // Broche pour la LED bleue
void setup() {
// Configurer les broches comme sorties
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
}
void loop() {
// Parcourir toutes les combinaisons de couleurs possibles avec 4 bits par couleur
for (int r = 0; r < 16; r++) { // 2^4 valeurs possibles pour le rouge
for (int g = 0; g < 16; g++) { // 2^4 valeurs possibles pour le vert
for (int b = 0; b < 16; b++) { // 2^4 valeurs possibles pour le bleu
setColor(r * 17, g * 17, b * 17); // Multiplier par 17 pour étendre les valeurs de 0 à 255
delay(100); // Attendre 0,1 seconde
}
}
}
}
// Fonction pour définir la couleur
void setColor(int redValue, int greenValue, int blueValue) {
analogWrite(RED_PIN, redValue); // Ajuster l'intensité de la LED rouge
analogWrite(GREEN_PIN, greenValue); // Ajuster l'intensité de la LED verte
analogWrite(BLUE_PIN, blueValue); // Ajuster l'intensité de la LED bleue
}
المكونات والتوصيل
- Arduino Uno
- وحدة LED RGB بقطر 10 mm
- مقاومات تحديد تيار لقنوات R وG وB إذا لم تكن مدمجة في الوحدة
- أسلاك توصيل
- صِل الأنود المشترك وأطراف القنوات وفق مخطط أطراف الوحدة الذي تم التحقق منه
تحقّق من كون LED بأنود مشترك أو كاثود مشترك قبل اختيار منطق الخرج. لا توصل قنوات RGB مباشرة بأطراف GPIO قبل التحقق من دارة تحديد التيار. يصف تعليق المثال الأول إحدى القيم بأنها «أبيض»؛ تحقّق من اللون الناتج مع قطبية القنوات والقيم الفعلية قبل الاعتماد على هذا التعليق.









