これは、AVR 8ビットアーキテクチャを実装するJavaScriptライブラリです。
それは心臓ですが、https://wokwi.comのArduinoシミュレーターの全身ではありません。
AVR8js
使用したアプリケーションの例このライブラリは、AVR CPUコアのみを実装しています。実行するために事前にコンパイルされたマシンコードを提供し、外部ハードウェアの機能的なシミュレーションを実装する必要があります。また、シミュレートされている外部ハードウェアのオーディオ/視覚表現を追加することもおそらく必要でしょう。
大まかな概念図:
Pre-Compiled machine code --> AVR8js <--> Glue code <--> external hardware functional simulation <--> simulation state display for the user
多くの一般的なハードウェアコンポーネントの視覚的表現のために、Wokwi-ElementsコレクションのWebコンポーネントのコレクションを探索することに興味があるかもしれません。 (注:これらは視覚的な要素です。適切な機能シミュレーションと接着コードを追加する必要があります。)
AVR8JSを使用してシンプルなArduinoシミュレーターを構築する方法を示す段階的なビデオチュートリアル:
関連するブログ投稿。
これらの例は、アプリケーションでavr8js
使用する作業例を示しています。それらの多くはまた、 wokwi-elements
の使用方法を示し、コンポーネントの機能的なシミュレーションの実用的な例と、それらをavr8js
に接続する方法を示しています。
注:これらはすべてこのレポの外でホストされています。
デモプロジェクトを使用すると、Arduinoコードを編集し、コンパイルし、シミュレータで実行できます。また、ピン12および13(PB4およびPB5)に接続された2つのLEDをシミュレートします。
デモプロジェクトを実行するには、このリポジトリをチェックして、 npm install
実行してからnpm start
。
ライブラリは、Arduino UNOが使用するMCUであるAtmega328pのシミュレーションに焦点を当てています。
ただし、コードはモジュール式の方法で構築されており、高度に構成可能であるため、Atmega2560やAttinyシリーズなど、AVR8ファミリーの多くのチップをシミュレートできます。
詳細については、第67号と第73号をご覧ください。
テストを一度実行します:
npm test
前回のコミット以降に変更したファイルのテストを実行します(ウォッチモード):
npm run test:watch
詳細については、寄稿ガイドをご覧ください。
Copyright(c)2019-2023 URI Shaked。コードは、MITライセンスの条件に基づいてリリースされます。