في ARDUINO لدينا 20 دبوسًا للإدخال / الإخراج ، لذا يمكننا برمجة 20 دبوسًا من UNO لاستخدامها كمدخلات أو مخرجات. على الرغم من وجود عدد أكبر من المسامير على وحدة التحكم ATMEGA328P مقارنةً بـ UNO ، فإن هذا يرجع إلى أنه أثناء تصميم اللوحة ، يتم تعطيل بعض المسامير بشكل افتراضي.
الآن بالنسبة لبعض التطبيقات ، نحتاج إلى أكثر من 30 دبوسًا ، قل ما إذا كنا نريد تصميم مكعب LED 5 × 5 × 5 ، لذلك نحتاج إلى 5 × 5 + 5 = 30 دبابيس. في مثل هذه الحالات ، نستخدم رقائق المحول التسلسلي إلى المتوازي أو سجل التحويل. تأخذ شريحة سجل التحول البيانات من لوحة UNO بشكل تسلسلي وتعطي مخرجات بتكوين متوازي 8 بت.
المكونات مطلوبة
الأجهزة: Arduino uno board ، دبابيس توصيل ، مقاوم 220Ω ، LED (ثماني قطع) ، 74HC595 IC ، لوح الخبز.
سوفواري: اردوينو ليلا
مخطط الدائرة وشرح العمل
سنقوم هنا بإرسال بيانات بحجم ثمانية بتات من خلال قناة واحدة لتحويل التسجيل. يأخذ سجل الإزاحة البيانات بشكل تسلسلي ويخزن تلك البيانات في ذاكرتها. بمجرد إرسال البيانات بواسطة وحدة التحكم ، سنرسل أمرًا لتحويل السجل لإظهار البيانات عند الإخراج ، باستخدام هذا الأمر ، يقوم سجل الإزاحة بإخراج البيانات بشكل متوازي.
يتم عرض هذا الإخراج بواسطة ثمانية مصابيح LED متصلة عند الإخراج.
ل ربط السجل التحول إلى اردوينو UNO نحتاج إلى أمرين:
|
نحتاج أولاً إلى تعيين أي ثلاثة دبابيس من UNO كإخراج. ثم نحتاج إلى توصيل دبوس رقمي ودبوس ساعة ودبوس مزلاج بمسامير الإخراج الثلاثة هذه. بعد ذلك ، نحتاج إلى إخبار UNO عن دبوس الرقاقة المتصل بدبابيس لوحة UNO. يتم ذلك عن طريق الكتابة البسيطة في الأمر "
shiftOut(dataPin, clockPin, data);
". يمكن أن تكون البيانات هنا بنظام ثنائي أو عشري أو سداسي عشري. تتم كتابة المعلومات الثمانية بتات التي يجب إرسالها بدلاً من "البيانات".
يتم إرسال البيانات على النحو التالي:
تعطيل المزلاج ، هذا يخبر الشريحة بعدم إظهار الإخراج في الوقت الحالي.
لثماني مرات سوف نرسل البيانات بساعة بشكل تسلسلي ، لذا فإن ساعة منخفضة البيانات عالية منخفضة وهكذا.
تمكين المزلاج ، هذا يخبر الشريحة لإظهار بيانات ثمانية بت
يتم شرح عمل ARDUINO مع SHIFT REGISTER خطوة بخطوة في رمز C الوارد أدناه: