اصنع إضاءة للقراءة بدرجات سطوع مختلفة

مبتدئ

image_pdf

البرمجة

ارفع الكود البرمجي الذي يساعدك في صنع إضاءة تتحكم بسطوعها

#define touch 4
int p=0;
void setup() 
{
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(9, OUTPUT);
}
void loop()
{
int Value = digitalRead(touch);

if (Value == HIGH)

{
p++;
delay(200);
} 
if(p==1){
analogWrite(3,255);
analogWrite(5,255);
analogWrite(6,255);
analogWrite(9,255);
if(p==2){
analogWrite(3,100);
analogWrite(5,100);
analogWrite(6,100);
analogWrite(9,100);
}
if(p==3){
analogWrite(3,0);
analogWrite(5,0);
analogWrite(6,0);
analogWrite(9,0);}
p=0;
}
}

شرح الكود البرمجي

نعرف حساس اللمس باسم (touch )الموصل مع المنفذ الرقمي 4

#define touch 4

نعرف متغير بقيمة ابتدائية =0 يمثل عدد المرات التي يتم النقر على الحساس فيها

 
int p=0;

في دالة (void setup) نعرف المنافذ الرقمية المتصلة مع الليدات (3و5و6و9) على أنها مخارج

 
void setup() 
{
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(9, OUTPUT);
}

في دالة (void loop) بدأ بتعريف متغير ()و الذي يمثل قراءة المنفذ رقم 4

void loop()
{
int Value = digitalRead(touch);

جملة شرطية في كل مرة يتم النقر على الحساس تزداد قيمة p بواحد يعني يحسب نقرة واحدة

 
if (Value == HIGH)

{
p++;
delay(200);
}

استخدمنا منافذ تعديل عرض النبضة الرقمية (PWM) للحصول على نتائج تناظرية ستتحكم في سطوع الإضاءة. تكون النتيجة كما لو كانت الإشارة عبارة عن جهد ثابت بين 0 و5 فولت يتحكم في سطوع الليدات، نمثل ذلك بالقيم من 0 – 255
النقرة الأولى تشغل الليدات على أعلى سطوع (255)

 
if(p==1){
analogWrite(3,255);
analogWrite(5,255);
analogWrite(6,255);
analogWrite(9,255);}

النقرة الثانية يقل السطوع

 
if(p==2){
analogWrite(3,100);
analogWrite(5,100);
analogWrite(6,100);
analogWrite(9,100);
}

النقرة الثالثة يتم ايقاف تشغيل الليدات

 
if(p==3){
analogWrite(3,0);
analogWrite(5,0);
analogWrite(6,0);
analogWrite(9,0);

و نعيد قيمة المتغير p إلى 0

 
p=0;
}
}

X
Product added to the cart