スタンドアロンのArduinoチップを使用するのはかなり簡単です。公式ボードに使用されているチップの注意点の1つは、ボードに搭載されているより高速な(より正確な)外部オシレーターを使用するために融合されていることです。これはルーズチップを購入した場合でも適用されます。これは、Digikey製のものを除き、ほとんどが焼けたものを交換するためにArduinoボードにインストールする意図で再販されるためです。
警告:Arduinoはプロトタイピングボードとして設計されており、このタスクよりも優れた機能はほとんどありません。回路の設計とテストが完了するまで、チップをArduinoボードに残しておくことができます。その後、直接接続します。クロック回路が所定の場所にある場合、インプレースで使用できます。または、ヒューズを変更し(後述)、ISPアダプターと8mhzのクロック速度でArduinoを再プログラムできます(PlatformIOを使用すると、 Arduinoスケッチのインポート)-Atmel AVRプラグインのドキュメントページを確認しますが、ベアチップに8mhzオプションを使用するようにボードファイルをArduinoに追加する方法に関する多くのガイドを参照することもできます)
別の回路で使用するためにチップを取り外す場合、そのクロック回路を再度追加するか、ヒューズを変更する必要があります(すぐに説明します)。また、いくつかの理由でプログラミングが難しいため、かなり安価なハードウェアを少し購入することをお勧めします。
スタンドアロンチップのプログラミング:ArduinoのCPUは、コンピューターと通信するようにネイティブに設計されていません。仲介者が必要です。Unoでは、これはUSB機能を備えた2つ目のAtmelチップと、メインチップ上のブートローダーを介して行われます。それは、USBチップがPCのメッセージをUART信号に変換する一方で、プログラムのアップロードにUARTを使用するということです。チップが単独である場合はブートローダーが多少苦痛になるため(UARTがうるさく、インストールするとチップが外部クロックを使用するように設定するため)、Arduino用のISPプログラマーを購入する必要があります(またはArduino-as-ISPのスケッチと指示に従って独自に作成します。これには、チップが搭載されたArduinoが必要であるため、プログラムするのに2秒必要です。
これらは、ブートローダーなしで、SPIを介してATMega 328を直接プログラムできます(インターネット上には多くの指示があります。たとえば、「裸のATMega 328PをUSBAspでプログラムする」を検索してください)。これにより、チップを取り出して元のArduinoボードに戻す以外に、プログラムの変更とデバッグが非常に簡単になります。また、外部クリスタルを使用したくない場合は、クロック設定を変更するために必要です。
チップをデバッグする場合は、FTDIアダプターまたはその他のUSB-UARTコンバーターも購入すると便利です。ただし、ボードのリセット回路部分がない場合(または、独自の回路を追加する場合)、ブートローダーを使用してもATMegaをプログラムすることはできません。そのためには、グランド、RX、およびTXピンをアダプターに接続します。VCCラインを接続する場合としない場合がありますが、チップに多くのものが接続されている場合や、独自の電源がある場合は接続しないことをお勧めします。RXとTXは、接続するときに交換する必要があることに注意してください。つまり、RXをTXに、TXをRXに-アダプタでTX(送信)しているものをRXに受信(受信)し、逆も同様です。
クロック回路を構築するのは難しくありませんが、必要ないコンポーネントがいくつか必要です。したがって、クロックソースを変更するには、http: //www.engbedded.com/fusecalc/ にアクセスして、ATMega 328Pを選択します。デフォルトは良好ですが、EEPROMのキープオン消去を有効にし、8分周クロックを無効にするか、ブラウンアウト設定を調整することができます。他に手を触れないでください(リセットまたはSPIを無効にするか、DebugWireを有効にすると、HVプログラマが修正する必要がある「楽しい」結果になります)。完了したら、提供するコマンドをAVRDudeコマンドに貼り付けます。-cオプションを変更する必要があります(-pはすでにATMega 328Pに設定されていますが、非P 328では失敗します-それらを購入しないでください)。おそらく-Pオプション(ポート用)を追加します。小文字の-uオプションを省略しないでください。省略しないと、ヒューズの更新が拒否されます。
avrdude -p m328p -v -c usbasp -B 100 -u [add extras here: (-P <PORT>) <fuse set command here>]
注あなたがUSBASPを購入した場合(必ずそれがジャンパの3セットを持って作る!)ことを、すべての彼らは私の好きなプログラマであることを、彼らは-Bオプション(これはあなたがよおそらく必要性)をサポートする更新されたファームウェアをしていない可能性のために。つまり、Arduinoのブートローダーをプログラムするのとまったく同じ方法で、6ピンプログラミングポートを介してArduinoに接続する必要がありますが、Arduino-as-ISPスケッチを使用して新しいプログラマへのファームウェア(「arduino-as-ispを介してusbaspファームウェアを更新する」を検索)!参考までに、これは通常、ケーブルがボードの本体と反対側を向いていることを意味します。おそらく、スケッチを事前にプログラムする必要があります。ケーブルを接続します。また、USBASP(5V)のプログラマーからの電源ジャンパーと「自己プログラム」ジャンパーを有効にします。(電源およびプログラムジャンパー(JP2)の場所については、https://forum.arduino.cc/index.php?topic = 560719.0を参照してください)。