The Electronics Project
إعادة النظر في مفاهيم الإلكترونيات ومحاولة صنع معالج. مستودع دراسة. الهدف هو تعلم تصميم لوحات الدوائر المطبوعة والدوائر الرقمية. Verilog، Arduino، ESP32 و Raspberry PI.
مشروع الإلكترونيات
مستودع دراسي. الهدف هو تعلم تصميم لوحات الدوائر المطبوعة (PCB) والدوائر الرقمية. فيريلوج، أردوينو، ESP32 و Raspberry PI. سأنشر تقدمي هنا أثناء المتابعة.
الهدف النهائي هو طباعة دائرة أو لوحة PCB حقيقية.
للوصول إلى ذلك، أعمل أولاً على الأساسيات. رسومات الأردوينو مخصصة للتعود على المكونات المادية: الأزرار، مصابيح LED، قراءة الإشارات، وما شابه ذلك. جانب فيريلوج مخصص لفهم المنطق الرقمي بشكل أعمق — كيف تعمل اللبنات الأساسية مثل المسجلات، العدادات، والذاكرة معًا بالفعل.
المعالج يُصنع حتى أتعلم بأكثر طريقة مؤلمة ممكنة كيف تعمل الإلكترونيات على أدنى مستوى.
لأن المعاناة جيدة على ما يبدو.
SAP-1 — حاسب بسيط قدر الإمكان (مرجع): https://karenok.github.io/SAP-1-Computer/
الهيكل
arduino/ تجارب الأجهزة المادية على الأردوينو
processor/ وحدات فيريلوج — تجارب المنطق الرقمي
المعالج (فيريلوج)
تم بناؤه ومحاكاته باستخدام Digital. المخطط الكامل موجود في main.dig.
| الوحدة | الملف | الوصف |
|---|---|---|
| جامع 8 بت | adder_8bit.v |
يجمع قيمتين 8 بت مع إدخال/إخراج الحمل |
| مسجل 8 بت | register_8bit.v |
مسجل موقوت مع تمكين الكتابة وإعادة تعيين متزامن |
| عداد البرنامج | program_counter.v |
يزداد مع كل نبضة ساعة، يدعم الإيقاف وإعادة التعيين |
| الذاكرة | memory_256x8.v |
ذاكرة وصول عشوائي متزامنة 256 بايت |
| مبدل 8 إلى 1 | mux_8_to_1.v |
يختار واحدًا من 8 خطوط بيانات |
| عداد 8 بت | counter_8bit.v |
يعد تصاعديًا مع كل نبضة ساعة، مع تحميل وإعادة تعيين |
| نفذ مرة واحدة | do_once.v |
مزلاج أحادي الطلقة — يمرر إشارة مرة واحدة فقط |
رسومات الأردوينو
1. جهاز التشغيل والإيقاف (عديم الفائدة تمامًا)
الوصف:
جهاز تبديل أساسي بزر مادي ومصباحي LED (أحمر وأزرق).
السلوك:
- عند التشغيل، يضيء المصباح الأحمر LED.
- الضغط على الزر يطفئ المصباح الأحمر ويشعل المصباح الأزرق.
- ترك الزر يعيد الحالة إلى ما كانت عليه.
الدائرة: زر على الطرف 9 (INPUT_PULLUP)، مصباح أزرق على الطرف 2، مصباح أحمر على الطرف 7.
أجدادي انتظروا لحظة اختراع هذا الجهاز. وها نحن أخيرًا.
2. اختبار الزر
يضبط طرفًا على HIGH. هذا كل شيء.
3. اختبار القراءة
يقرأ طرفًا ويطبع القيمة على المنفذ التسلسلي. أساسيات تمهيدية.
4. التحكم في المرور
الوصف:
إشارة مرور أوتوماتيكية بثلاث حالات. تدور أخضر → أصفر → أحمر بمؤقت. الزر يقاطع ويجبر الإشارة على الأحمر فورًا (عبور المشاة).
السلوك:
- أخضر (الحالة 0): المصباح الأخضر مضاء لمدة 5 ثوانٍ، يعمل دورتين (10 ثوانٍ إجمالاً)، ثم يتقدم إلى الأصفر.
- أصفر (الحالة 1): المصباحان الأحمر والأخضر مضاءان (مختلطان لتكوين الأصفر)، يصدر الجرس صوتًا لمدة 2 ثانية، ثم يتقدم إلى الأحمر.
- أحمر (الحالة 2): المصباح الأحمر مضاء لمدة 5 ثوانٍ، يعمل دورتين (10 ثوانٍ إجمالاً)، ثم يعود إلى الأخضر.
- الضغط على الزر في أي وقت: يقفز مباشرة إلى الأحمر مع إلغاء الارتداد لمدة 500 مللي ثانية.
- يتم فحص ضغطات الزر أثناء التأخير (
responsiveDelay) بحيث تكون الإشارة قابلة للمقاطعة دائمًا.
الدائرة: زر على الطرف 9 (INPUT_PULLUP)، مصباح أحمر على الطرف 2، مصباح أخضر على الطرف 3، مصباح أزرق على الطرف 4، جرس على الطرف 7.
