الله يعطيك العافية .. المعلومات التي تقدّمها عميقة، ولا تكتفي بأن يكون المرء ناجحًا، بل أن يفهم سرّ النّجاح لينتج مثله نجاحات أخرى .. أسأل الله لك التوفيق وكامل الصحة والعافية .. بالنسبة لهذه المحاضرة الحقيقة تعبت حتى فهمت هذا البروتوكول وطريقة عمله .. والموضوع ليس بذاك التعقيد بل هل جدا ، ولكن الكود الّذي وضعه موقع الأردوينو جعل الموضوع معقّدًا نوعًا ما .. هذا كود Master كمستقبل بكل بساطة وأصغر حجم ممكن: void loop () { byte a; digitalWrite(SS, LOW); // enable Slave Select a = DataMasterSlave (17); Serial.print("a= "); Serial.println(a); digitalWrite(SS, HIGH); // disable Slave Select delay (1000); } byte DataMasterSlave (const byte what) { byte a = SPI.transfer (what);//يرسل قيمة الوات إلى السليف وينتظر رجوع قيمة يضعها في المتغير delayMicroseconds (20); return a;// } وهذا كود Slave كمرسل كأبسط ما يكون : volatile byte c=0 , a=0; void loop () { Serial.print("a=");Serial.println(a); //عداد للمقاطعات Serial.print("c=");Serial.println(c);// القيمة القادمة من الماستر } ISR (SPI_STC_vect) //مقاطعة تحصل عندما تصل قيمة من الماستر { c = SPDR;// تستقبل قيمة من الماستر يضعها في متغير SPDR = 10; // ترسل قيمة إلى السليف a++; }
لأ انا صراحة شايف ان كفاية كده شرح في السلسلة، لازم اسيب للمتابع مساحة انه يبدأ يعكس متطلباته علي الكود بما اتعلمه من الكورس، والكورس ده كان سبب من اسباب عمله هو ابقي أسست المتابع ونقلتله طريقة تفكيري في مواجهة التطبيقات المختلفة وتنفيذها وجه عليه الدور انه يبدأ يعتمد علي نفسه، لكن ان شاء الله مكمل في حلقات اخري
لو سمحت يا هندسة انا حاولت كتير ابعت array باستخدام ال 3 طرق Uart I2c Spi ومقدرتش ابعت واستقبل array ممكن لو تعرف طريقة تقلها او ممكن تعمل فيديو ليها وجزاك الله خير
ابعتها كـ JSON Object ابحث في الموضوع واعرف ازاي تبعتها لاني معنديش وقت اعمل حلقة بتتكلم عن حاجه Specific أوي لان حضرتك شايف اصلا الحاجات العامة علي القناة محدش مهتم بيها فما بال الحاجات المخصصة اووي زي دي
عليكم السلام ورحمة اللهه وبركاته - هى الحلقه مش رخمه ولا حاجه واصلا اى حلقه لحضرتك بتبقى ممتعه ووالله مابمل منها -- هو فعلا اصعب ف التعامل لكن كنت مركز عشان افهمه بردوا -- واعتقد ان حضرتك تقريبا كده مسبتش حاجه ف التعامل بالاكواد والدوال ---- ---اكن انا حاسس انى مستوعب اكتر لل i2c وان شاء الله هتعامل بيه ---- وان شاء الله انا منتظر حلقة الايبروم بفارغ الصبر لان قيم الحراره عندى عشان اسجلها فوق الصفر فقط لكن تحت الصفر بتنكتب لكن بخرج وارجع الاقيها متسجلتش وان شاء الله واثق ان حضرتك هتحلهالى ف الحلقه باذن الله
من اول ٥ دقايق كمية المعلومات جدا كثيفة ورائعة. ومبسطه تابع 🌹🌹
عاشت ايدك، وجعله الله في ميزان حسناتك ان شاء الله
الفيديو الوحيد الجاوب على تساؤلاتي حول الSPI
بالتوفيق 💚
حلقة جميلة و مفيدة جدا، وفرت علينا وقت طويل جدا من التعلم و التخبط و المحاولات الفاشلة و الزهق ... جزاك الله خيرا
الله يعطيك العافية ..
المعلومات التي تقدّمها عميقة، ولا تكتفي بأن يكون المرء ناجحًا، بل أن يفهم سرّ النّجاح لينتج مثله نجاحات أخرى ..
أسأل الله لك التوفيق وكامل الصحة والعافية ..
بالنسبة لهذه المحاضرة الحقيقة تعبت حتى فهمت هذا البروتوكول وطريقة عمله ..
والموضوع ليس بذاك التعقيد بل هل جدا ، ولكن الكود الّذي وضعه موقع الأردوينو جعل الموضوع معقّدًا نوعًا ما ..
هذا كود Master كمستقبل بكل بساطة وأصغر حجم ممكن:
void loop ()
{
byte a;
digitalWrite(SS, LOW); // enable Slave Select
a = DataMasterSlave (17);
Serial.print("a= "); Serial.println(a);
digitalWrite(SS, HIGH); // disable Slave Select
delay (1000);
}
byte DataMasterSlave (const byte what)
{
byte a = SPI.transfer (what);//يرسل قيمة الوات إلى السليف وينتظر رجوع قيمة يضعها في المتغير
delayMicroseconds (20);
return a;//
}
وهذا كود Slave كمرسل كأبسط ما يكون :
volatile byte c=0 , a=0;
void loop ()
{
Serial.print("a=");Serial.println(a); //عداد للمقاطعات
Serial.print("c=");Serial.println(c);// القيمة القادمة من الماستر
}
ISR (SPI_STC_vect) //مقاطعة تحصل عندما تصل قيمة من الماستر
{
c = SPDR;// تستقبل قيمة من الماستر يضعها في متغير
SPDR = 10; // ترسل قيمة إلى السليف
a++;
}
الف الف شكر ياهندسة .... ربنا يجعلة فى ميزان حسناتك
شرح ولا اروع .. جزاك الله خيراً
شرح رائع جداً --- جزاك الله خيراً وزادك علماً ونفعاً
عاشت ايدك تحية من العراق لحضرتك
تحية لكل أهلي في العراق
ربنا يوفقك على الشرح الجميل ... بس ياريت ولو بدقيقتين نعرف غرض استخدام الدالة usingInterrupt()
مشكووووور يا هندسة وربنا يوفقك
الله يجزاك كل خير و شكرا على الموضوع الرائع
الله يفتح عليك
تمام الله ينور عليك
لو ممكن شرح الربط اكتر من اردوينو مع التحكم بريموت XY ,
شكرا لك
جزاك الله خير يا هندسة
ياريت لو فيه حلقة عن SD Card Module
كمثال على بروتوكول الـ SPI
للاسف يا هندسة السلسلة خلاص وقفت
وال 3 حلقات المتبقية القادمة
مفيهومش
SD Card
@@arafamicrosystems وقفت ولا خلصت ؟
لأن هناك فرق
الاول يزعل
والتاني يفرح 😊
جزاك الله خير عن كل معلومة اتعلمناها منك
لأ انا صراحة شايف ان كفاية كده شرح في السلسلة، لازم اسيب للمتابع مساحة انه يبدأ يعكس متطلباته علي الكود بما اتعلمه من الكورس، والكورس ده كان سبب من اسباب عمله هو ابقي أسست المتابع ونقلتله طريقة تفكيري في مواجهة التطبيقات المختلفة وتنفيذها وجه عليه الدور انه يبدأ يعتمد علي نفسه، لكن ان شاء الله مكمل في حلقات اخري
ربنا يوفقك يا هندسة في اللي جاي ويجازيك كل خير
هل يمكن برمجة متحكم الغسالة atmega32 من خلال spi هذه
thanks
👍👏
الشرح جميل جدا ...
ولا يوصف ...
ولكن لدي مشكلة،كيف استطيع التواصل معك ..
لو سمحت يا هندسة
انا حاولت كتير ابعت array باستخدام ال 3 طرق
Uart
I2c
Spi
ومقدرتش ابعت واستقبل array
ممكن لو تعرف طريقة تقلها او ممكن تعمل فيديو ليها وجزاك الله خير
ابعتها كـ
JSON Object
ابحث في الموضوع واعرف ازاي تبعتها
لاني معنديش وقت اعمل حلقة بتتكلم عن حاجه
Specific
أوي لان حضرتك شايف اصلا الحاجات العامة علي القناة محدش مهتم بيها
فما بال الحاجات المخصصة اووي زي دي
عليكم السلام ورحمة اللهه وبركاته - هى الحلقه مش رخمه ولا حاجه واصلا اى حلقه لحضرتك بتبقى ممتعه ووالله مابمل منها -- هو فعلا اصعب ف التعامل لكن كنت مركز عشان افهمه بردوا -- واعتقد ان حضرتك تقريبا كده مسبتش حاجه ف التعامل بالاكواد والدوال ---- ---اكن انا حاسس انى مستوعب اكتر لل
i2c
وان شاء الله هتعامل بيه ----
وان شاء الله انا منتظر حلقة الايبروم بفارغ الصبر لان قيم الحراره عندى
عشان اسجلها فوق الصفر فقط لكن تحت الصفر بتنكتب لكن بخرج وارجع الاقيها
متسجلتش وان شاء الله واثق ان حضرتك هتحلهالى ف الحلقه باذن الله
صعبة و الله ما استوعبتها i2c اسهل بكثير 😣
سلام عليك م