قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

db2006
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2013
المشاركات: 71
نشاط [ db2006 ]
قوة السمعة:0
قديم 01-05-2016, 11:59 PM المشاركة 1   
افتراضي سؤال بخصوص المتغيرات لغة الاردوينو Twitter FaceBook Google+



الى الاخوة المهندسين و اهل الخبرة
اذا كان هناك متغير بحالة نقصان او ازدياد كيف لي ان اعرف قيمة المتغير بلحظة ما

i--;
(when analogred)==200
i=????

هنا كلما تناقص i تزداد قيمة الدخل على الانالوغ ولكن اريد ان احدد ماهي قيمة i عند عدة قيم للانالوغ

اي مساعدة و شكرا

اعلانات

abu-thabit
:: مهندس متميز ::
تاريخ التسجيل: Oct 2010
المشاركات: 339
نشاط [ abu-thabit ]
قوة السمعة:0
قديم 02-05-2016, 12:31 AM المشاركة 2   
افتراضي


لم افهم المطلوب بالضبط ولكن هذه مشاركة حسب مافهمت



int i=1000;

void setup() {
// put your setup code here, to run once:

Serial.begin(9600);
Serial.println("testing....");
}

void loop() {
// put your main code here, to run repeatedly:
int val= analogRead(0);
Serial.println(val);

while( val==200){

Serial.println(i);
val= analogRead(0);
}
delay(20);
--i;


}

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

db2006
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2013
المشاركات: 71
نشاط [ db2006 ]
قوة السمعة:0
قديم 02-05-2016, 02:28 AM المشاركة 3   
افتراضي


كود:
#define triacPulse 9
volatile int i=1000;
void setup()  {
  pinMode(2, INPUT);
  pinMode(triacPulse, OUTPUT);
  }
void loop() {
attachInterrupt(0, zero, RISING);
}
void zero(){
i--:
delayMicroseconds((i * 6) + 1000); 1 
  digitalWrite(triacPulse, HIGH);
  delayMicroseconds(200);  
   digitalWrite(triacPulse, LOW); 
}
عندما تتناقص قيمة i
تزداد قيمة الدخل التماثلي
كيف يمكن ان احدد قيمة i
عند اي قيمة اختارها للدخل التماثلي


الصورة الرمزية Rwad_Abujazia
Rwad_Abujazia
:: مهندس متواجد ::
تاريخ التسجيل: Apr 2016
الدولة: Libya
المشاركات: 62
نشاط [ Rwad_Abujazia ]
قوة السمعة:0
قديم 02-05-2016, 09:24 AM المشاركة 4   
افتراضي


كود:
#define triacPulse 9
volatile int i=1000;
void setup()  {
  pinMode(2, INPUT);
  pinMode(triacPulse, OUTPUT);
  }
void loop() {
attachInterrupt(0, zero, RISING);
}
void zero(){
i--:
delayMicroseconds((i * 6) + 1000); 1 
  digitalWrite(triacPulse, HIGH);
  delayMicroseconds(200);  
   digitalWrite(triacPulse, LOW); 
}
عندما تتناقص قيمة i
تزداد قيمة الدخل التماثلي
كيف يمكن ان احدد قيمة i
عند اي قيمة اختارها للدخل التماثلي
باستخدام جملة if
مثلا
if((x=analogRead(A1)==700)
{
i=20;
}


abu-thabit
:: مهندس متميز ::
تاريخ التسجيل: Oct 2010
المشاركات: 339
نشاط [ abu-thabit ]
قوة السمعة:0
قديم 02-05-2016, 11:14 AM المشاركة 5   
افتراضي


اخي الكريم

ماذا تقصد بالدخل التماثلي ( ماهو العنصر المربوط بالدخل التماثلي )
وماهو دوره ؟

في الكود المرفق لايوجد مايدل على استخدامك للدخل التماثلي


db2006
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2013
المشاركات: 71
نشاط [ db2006 ]
قوة السمعة:0
قديم 02-05-2016, 02:48 PM المشاركة 6   
افتراضي


باستخدام جملة if
مثلا
if((x=analogRead(A1)==700)
{
i=20;
}
شكرا اخي الكريم
انا اريد معرفة قيمة i
عندما يكون analogRead(pin)==700


db2006
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2013
المشاركات: 71
نشاط [ db2006 ]
قوة السمعة:0
قديم 02-05-2016, 02:50 PM المشاركة 7   
افتراضي


اخي الكريم

ماذا تقصد بالدخل التماثلي ( ماهو العنصر المربوط بالدخل التماثلي )
وماهو دوره ؟

في الكود المرفق لايوجد مايدل على استخدامك للدخل التماثلي
مشكور و بارك لله فيك
انا احاول ان اعرف قيمة i و استخدم هذه القيمة عندما يكون analogread ==700


الصورة الرمزية Rwad_Abujazia
Rwad_Abujazia
:: مهندس متواجد ::
تاريخ التسجيل: Apr 2016
الدولة: Libya
المشاركات: 62
نشاط [ Rwad_Abujazia ]
قوة السمعة:0
قديم 04-05-2016, 04:07 PM المشاركة 8   
افتراضي


مشكور و بارك لله فيك
انا احاول ان اعرف قيمة i و استخدم هذه القيمة عندما يكون analogread ==700

يمكن معرفة قيمة المتغير i عن طريق اخراج قيمته الى السيريال بورت او طباعته على شاشة اذا كنت قد استخدامها

لاخراج او معرفة قيمة i عن طريق السيريال يمكن اضافة الكود التالي

;Serial.println(i)

ولاتنسي اخي تعريف السيريال في الدالة setup() كما يلي

;Serial.begin(9600)

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 10:05 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025