هذه هي مكتبة JavaScript التي تنفذ بنية AVR 8 بت.
إنه القلب- ولكن ليس الجسم كله لمحاكاة Arduino على https://wokwi.com.
AVR8js
هذه المكتبة تنفذ فقط CPU AVR. يجب عليك توفير رمز الجهاز المسبق مسبقًا لتشغيله ، وتنفيذ عمليات المحاكاة الوظيفية لأي أجهزة خارجية. ربما ترغب أيضًا في إضافة تمثيلات صوتية/مرئية للأجهزة الخارجية التي يتم محاكاةها.
مخطط مفاهيمي تقريبي:
Pre-Compiled machine code --> AVR8js <--> Glue code <--> external hardware functional simulation <--> simulation state display for the user
قد تكون مهتمًا باستكشاف مجموعة Wokwi-Elements من المكونات على شبكة الإنترنت للتمثيلات المرئية للعديد من مكونات الأجهزة الشائعة. (ملاحظة: هذه عناصر بصرية فقط- ستحتاج إلى إضافة محاكاة وظيفية ورمز الغراء المناسب.)
برنامج تعليمي لفيديو خطوة بخطوة يوضح كيفية إنشاء محاكاة Arduino بسيطة باستخدام AVR8JS و React:
ونشر المدونة ذات الصلة.
تُظهر هذه الأمثلة أمثلة على استخدام avr8js
في التطبيق. يوضح العديد منهم أيضًا كيفية استخدام wokwi-elements
وتتضمن أمثلة عمل على عمليات المحاكاة الوظيفية للمكونات ، وكيفية ربطها بـ avr8js
.
ملاحظة: يتم استضافتها جميعها خارج هذا الريبو.
يتيح لك المشروع التجريبي تحرير رمز Arduino ، وتجميعه ، وتشغيله في المحاكاة. كما أنه يحاكي 2 مصابيح LED متصلة بدبابيس 12 و 13 (PB4 و PB5).
لتشغيل المشروع التجريبي ، تحقق من هذا المستودع ، وقم بتشغيل npm install
ثم npm start
.
تركز المكتبة على محاكاة ATMEGA328P ، وهو MCU المستخدمة من قبل Arduino UNO.
ومع ذلك ، تم تصميم الرمز بطريقة معيارية ، وهو قابل للتكوين بشكل كبير ، مما يجعل من الممكن محاكاة العديد من الرقائق من عائلة AVR8 ، مثل Atmega2560 وسلسلة Attiny:
تحقق من العدد 67 والعروض 73 لمزيد من المعلومات.
قم بإجراء الاختبارات مرة واحدة:
npm test
قم بتشغيل اختبارات الملفات التي قمت بتعديلها منذ آخر الالتزام (وضع الساعة):
npm run test:watch
لمزيد من المعلومات ، يرجى التحقق من دليل المساهمة.
حقوق الطبع والنشر (C) 2019-2023 URI Shaked. يتم إصدار الرمز بموجب شروط ترخيص معهد ماساتشوستس للتكنولوجيا.