في هذا الدرس، سنستكشف كيفية استخدام المصفوفات في برمجة ESP32 باستخدام أردوينو. تتيح لك المصفوفات تخزين قيم متعددة في متغير واحد، مما يسهل إدارة البيانات، خاصة عند التعامل مع مجموعات من العناصر المماثلة. سيوجهك هذا الدرس خلال عملية تعريف المصفوفات والوصول إليها وتعديلها، بالإضافة إلى استخدام الحلقات للتفاعل معها بفعالية. إن فهم هذه المفاهيم سيعزز بشكل كبير قدرتك على البرمجة باستخدام ESP32.
سنتناول بشكل خاص استخدام أنواع مختلفة من الحلقات، مثلfor,while, وdo while، من أجل التكرار عبر عناصر المصفوفة. سيساعدك هذا على أتمتة المهام وجعل برامجك أكثر كفاءة. لرؤية هذه المفاهيم في العمل، تأكد من مشاهدة الفيديو في 2:30 لعرض عملي.
شرح الأجهزة
المكون الرئيسي للأجهزة الذي سنستخدمه في هذا الدرس هو المتحكم الدقيق ESP32. الـ ESP32 هو متحكم دقيق قوي ومنخفض التكلفة يتميز بقدرته على الاتصال بشبكات Wi-Fi وBluetooth، مما يجعله مناسبًا لمجموعة واسعة من تطبيقات إنترنت الأشياء. يمكن للوحة تنفيذ مهام مشابهة لمهمة لوحة Arduino Uno مع تقديم وظائف إضافية، مثل الاتصال بالسحابة.
في هذا الدرس المحدد، سنستخدم مصفوفة للتحكم في المخرجات من خلال الدبابيس الرقمية. يمكن ضبط كل دبوس على مستوى عالي أو منخفض، مما يتيح لنا إنشاء أنماط أو سلوكيات متنوعة بناءً على البيانات المخزنة في المصفوفة. ستتم تهيئة دبابيس GPIO الخاصة بـ ESP32 للإخراج، مما يمكّننا من التحكم في الأجهزة أو المكونات المتصلة.
تعليمات التوصيل
ESP32-07_74HC595_walking_light_wiring
لربط ESP32 الخاص بك لهذه الدروس، ابدأ بتوصيل الدبابيس الرقمية. قم بتوصيل الـSTcpاربط الدبوس (27) بدبوس ST_CP في مسجل الإزاحة الخاص بك.SHcpيجب توصيل الدبوس (26) بدبوس SH_CP لسجل الإزاحة. أخيرًا، قم بتوصيل الـDSقم بتوصيل دبوس (25) بدبوس DS من سجل الإزاحة. تأكد من أن الأرضي الخاص بـ ESP32 متصل بالأرضي الخاص بسجل الإزاحة لتوفير مرجع مشترك.
تأكد من تشغيل ESP32 باستخدام مصدر طاقة ثابت بجهد 3.3 فولت. إذا كنت تستخدم مكونات إضافية، فتأكد من توافقها أيضًا مع مستويات جهد ESP32. من المهم التحقق من اتصالاتك قبل تشغيل النظام لتجنب أي ضرر محتمل (في الفيديو عند 4:10).
أمثلة الشيفرة ودليل الاستخدام
في مقتطف الشيفرة المقدم، نقوم بتعريف مصفوفة تسمىdatArrayالذي يحمل قيم ثنائية. كل قيمة في المصفوفة تتوافق مع نمط مختلف يمكن إخراجه من خلال دبابيس GPIO. يتم تعريف المصفوفة كما يلي:
تحتوي هذه المصفوفة على تمثيلات ثنائية، حيث أن كل بت يتوافق مع حالة دبوس (تشغيل أو إيقاف). في الـloop()نقوم بتكرار المصفوفة لإخراج هذه الأنماط باستخدام aforحلقة:
for(int num = 0; num < 10; num++) {
digitalWrite(STcp, LOW);
shiftOut(DS, SHcp, MSBFIRST, datArray[num]);
digitalWrite(STcp, HIGH);
delay(1000);
}
في هذه الحلقة، نقوم باستمرار بإرسال البيانات من الdatArrayإلى سجل الإزاحة، مما يخلق تأثير الضوء المتحرك. الdelay(1000)يقدم وقفة بين كل نمط، مما يسمح برؤية التغييرات. يرجى الرجوع أدناه للحصول على الكود الكامل حيث سيتم تحميله ديناميكيًا.
عرض / ما يمكن توقعه
بعد الانتهاء من التوصيل ورفع الكود، يجب أن ترى تأثير ضوء متحرك على الأجهزة المتصلة. ستضيء كل وحدة في المصفوفة بالتتابع، مما يخلق نمطًا بصريًا جذابًا. كن حذرًا من التوصيلات المعكوسة لأنها قد تؤدي إلى سلوك غير متوقع (في الفيديو عند :15).