0

私たちはドアベル認識システムをプログラミングしており、ほとんどの回路を処理するために Arduino を使用することにしました。私が確信していないことの1つは、Arduino UnoArduino Megaのプログラム容量です。Uno のフラッシュ メモリは約 32 KB しかないことはわかっていますが、私たちのプログラムは 1,000 行のコード (32 KB のしきい値を超えると思います) 以内に収まると予測されています。

プロジェクトを完了するのにあまり時間がないので、すぐに必要なものを処理できない場合に、Uno にメモリを多重化または追加する方法を考え出すのに多くの時間を費やしたくありません。 .

UnoにEEPROMを追加するのはどれほど難しい (そして時間がかかる) でしょうか? メガに固執したほうがいいでしょうか?

また、そもそもArduinoではなく、PC(DAQボードなどを使用)またはRaspberry Piを使用する方が簡単ですか?

私たちが設計しているシステムは、指紋スキャナーからの入力を読み取り、固有のリングをスピーカーに出力するために使用されています。私たちが必要としているのは、システムが物理的にコンパクトであり、家庭内の実際のドアベル システムを置き換えることができるようにすることです (Arduino がそれを達成するのに役立つことを願っています)。

コードが約 1000 行で投影される理由は、ドアのロック/ロック解除などのモバイル アプリケーション通信を実装する可能性があるためです。私のCプログラムのいくつかのサイズ(千行の範囲にあります)は、通常約100 KBです。

基本的に、プログラムが予測サイズよりも大きくなるか、それよりも小さくなる可能性があるポイントまで、それをスケーラブルにする必要があります。1 つで十分な場合でも、複数のボードを購入しなければならなくなりたくありません。

4

3 に答える 3

3

マイクロコントローラの 32 KB は大量のプログラム メモリです。1,000 行のコードをアセンブルすると数キロバイトになる可能性が高く、すべての Arduino ライブラリは、それでもプログラムよりも大きくなる可能性があります。

思い出すと、ATMegas が外部プログラム メモリをサポートしているとは思いません。大きなルックアップ テーブルのようなものがあれば、I²C EEPROM を入手してそこにロードできます。

PC/Raspberry Pi に関して言えば、特にアナログ入力やPWMが必要な場合、コンピューター用のある種のI/Oボードは、Uno や Mega よりもはるかに高価になる可能性が高く、Raspberry Pi と同じです。

今のところ、Uno に固執しますが、使用するピンはそのままにしておきます#defines。そうすれば、プログラム ROM が不足した場合でも、Mega に簡単に移植できます。

于 2013-06-10T03:18:52.510 に答える
0

Atmel マイクロコントローラーは、ROM の追加やコード量の拡張を可能にする外部プログラム バスをサポートしていません。一部のデバイスは、RAM を追加できるデータ バスの拡張をサポートしています。これは、マイクロコントローラーとマイクロプロセッサーの重要な違いの 1 つだと思いますが、分離には多少のあいまいさがあるかもしれません。そのため、コードやメモリが不足すると、効率を見つけたり、機能を削減したりすることに行き詰まります。マイクロコントローラーを選ぶときの私のアドバイスは、最初に決めることです。

コストや時間の制約はありますか?

コストに制約がある場合は、余裕のあるデバイスを選択して、アプリケーションを適合させます。時間に制約がある場合は、できるだけ大きなデバイスを選択してください。

あなたは、時間に制約があり、コードの規模が不確かだと言います。1000 ドルの PC+IO ボードを正当化できる方法がある場合は、そのルートに進みます。呼び鈴にしてはちょっと高いかな…

于 2013-06-10T06:55:20.307 に答える