- 必要なコンポーネント
- Atmega328のピンダイアグラム
- コンポーネントの説明
- パート1:ブレッドボード上にArduino回路を構築する
- パート2:ブートローダーをAtmega328ICに焼き付ける
- パート3:Arduinoブートローダーをプログラムする方法アップロードされたAtmega 328
- Arduinoボードを使用したAtmega328チップのプログラミング
- USBからシリアルへのコンバーターを使用したArduinoAtmega328チップのプログラミング
Atmega328ICがArduinoUNOボードで使用されていることは誰もが知っています。このICはArduinoボードの頭脳です。実際、Arduinoの設計者は、初心者向けの便利なプロトタイピングボードを作成したいと考えていたため、Atmega328 ICのすべてのピンに誰でもアクセスでき、コンピューターに接続するだけでプログラムできるように、すべてのコンポーネントを整理しました。Arduinoボードは趣味のプロジェクトを構築するために非常に人気があります。しかし、産業用または消費者向け製品では、完全なArduinoボードを使用することはお勧めできません。そのため、ArduinoIDEでプログラムできるスタンドアロンのAtmega328ICを使用できますが、Arduinoボードは使用しません。
このチュートリアルでは、ArduinoボードをAtmega328ICおよびその他のいくつかのコンポーネントに置き換える方法を説明します。arduinoの代わりにAtmega328ICを使用するには、最初にArduinoブートローダーを書き込む必要があり、次にFTDIまたはArduinoボードを使用してプログラムします。このチュートリアルは、Arduinoボードから損傷したAtmega328ICを交換するのにも役立ちます。また、以下に説明する回路を使用することにより、PCB上に複製することで独自のArduinoボードを構築できます。
必要なコンポーネント
- Atmega 328 IC
- ブレッドボード
- LM7805
- 16MHzクリスタル
- 22pFセラミックコンデンサ(2)
- 10uFコンデンサ(2)
- 10K抵抗
- 1k抵抗
- ジャンパー線
オプションで、3.3v電圧レギュレータLM1117-3.3vを使用して、回路に3.3vレールを含めることもできます。
Atmega328のピンダイアグラム
コンポーネントの説明
電源部-
- 5V電圧レギュレータ: Atmega 328ICは5V電源で動作します。したがって、ここでは、LM7805を使用して5V出力を取得しています。これは、最大30Vを入力として処理できます。別の5V電源がある場合は、このステップを終了できます。
- コンデンサ: 10uFコンデンサは、7805の入力および出力部分で使用され、ACコンポーネントをグランドにバイパスします。
- LED:これは5V出力が来ていることを示します。
マイクロコントローラー部分-
- Atmega 328:これはブレッドボードの主要コンポーネントです。そのピンダイアグラムは上に示されています。
- 水晶発振器: 16MHzの外部水晶がATmega328のピン9とピン10の間に接続されています。この水晶は、タスクをより速く実行するためにマイクロコントローラーにクロックを与えるために使用されます。
- 押しボタン:マイクロコントローラーをリセットするには、ピン1とGNDの間に押しボタンを接続します。通常、10kの抵抗を使用して5vで接続されます。
- LED:LEDはデジタルピン13に接続されています。
この完全なチュートリアルは、ブレッドボード上で独自のArduinoを実行するために、 3つの部分に分かれています。
- ブレッドボード上にArduino回路を構築する
- ブートローダーをAtmega328ICに焼き付ける
- Arduinoブートローダーをプログラムする方法は、ブレッドボードにAtmega 328ICをアップロードしました。
次に、各部分を1つずつ説明します。
パート1:ブレッドボード上にArduino回路を構築する
ステップ1:- 回路図に示すように電源部品を接続し、LM7805への外部電源を使用してテストします。こんな感じになります。
ステップ2:- 次に、回路図に示すようにマイクロコントローラーパーツを接続します。慎重に接続してください。
ステップ3:- 次に、ジャンパーを使用して電源とマイクロコントローラーの部品を接続します。最終的な回路は次のようになります。
だから、これはブレッドボード上の私たちのArduinoです。EasyEDAなどの簡単なツールを使用してPCBに同じ回路を実装できます。次に、ICのプログラミングを開始できるように、ブートローダーを新しいAtmega 328ICにアップロードする必要があります。
パート2:ブートローダーをAtmega328ICに焼き付ける
ブートローダーとは何ですか?なぜそれが必要なのですか?
ブートローダーは、マイクロコントローラーのメモリに永続的に保存される実行可能コードの小さな断片です。これは1Kb未満のメモリを占有します。ブートローダーを使用すると、ICはコンピューターからコードを受け取り、マイクロコントローラーのメモリに配置できます。
伝統的に、Atmelのすべてのマイクロコントローラーは、いくつかの凝った接続を持っているプログラマーの助けを借りてプログラムされています。ブートローダーは複雑さを軽減し、マイクロコントローラーをプログラミングする簡単で効率的な方法を可能にします。これは、USBケーブルを使用するだけでプログラムできることを意味します。
市場から新しいAtmega328を購入すると、ブートローダーは含まれていません。したがって、Arduino IDEを使用してAtmega328をプログラムするには、最初にブートローダーをアップロードする必要があります。
ブートローダーをアップロードするには、次の2つの方法があります。
- USBaspプログラマーの使用
- ArduinoUNOボードの使用
2番目の方法は最初の方法に比べて簡単です。必要な接続が少なく、最新バージョンのArduinoIDEは派手なUSBaspプログラマーをサポートしていないためです。
したがって、このチュートリアルでは、ArduinoUnoボードを使用してブートローダーをアップロードします。
Atmega328チップにArduinoブートローダーをアップロードする
ステップ1: -ArduinoIDEを開きます。移動し 、ファイル- >例- > ArduinoISP 。ArduinoISPを選択するより。以下に示すように。
ステップ2:-次に、このコードをArduinoボードにアップロードする必要があります。ツールメニューからCOMポートとボードを選択し、アップロードボタンを押します。
ステップ3:-「 アップロードが完了」 後、Arduinoボードをコンピューターから切断し、下の図に示すようにArduinoボードをAtmega328に接続します。
ステップ4:-次に、Arduinoボードをコンピューターに接続します。ArduinoIDEを開きます。
[ツール]に移動し、ボードをArduino / Genuine Unoとして選択し、ボードに適切なポートを選択します。「ArduinoasISP」としてProgrammerを選択します。ArduinoISPと混同しないでください。どちらも違います。
ステップ5:-ここで、もう一度[ツール] に移動し、[プログラマー]オプションのすぐ下にある[ブートローダーの書き込み]をクリックします。数秒後、ブートローダーが正常にアップロードされます。アップロード中にエラーが発生した場合は、接続を確認してください。
以下のビデオをチェックして、Atmega 328ICにブートローダーをアップロードするための上記の手順を理解してください。
あなたの ブレッドボードArduinoのは 本当のArduinoボードとしての仕事に準備ができています。さて、Atmega 328 ICをどのようにプログラムするかという疑問が生じますか?これについては、次のセクションで説明します。
パート3:Arduinoブートローダーをプログラムする方法アップロードされたAtmega 328
スタンドアロンのArduinoAtmega328チップは、さまざまな方法でプログラムできます。
- 空のArduinoボード、つまりAtmega 328ICを搭載していないArduinoボードを使用します。
- USBからシリアルTTLへのコンバーターモジュール(FTDIモジュール)の使用。
- USBaspプログラマーを使用する(多くの接続を含む)。
ここでは、USBからシリアルへのコンバーターとArduinoボードの2つの方法を使用してプログラムします。
Arduinoボードを使用したAtmega328チップのプログラミング
ステップ1: -Atmega328チップなしでArduinoボードを取ります。この図に示すように、Arduinoボードを ブレッドボードArduinoに 接続します。
ステップ2: -Arduinoボードをコンピューターに接続し、ArduinoIDEを開きます。 ツールの ボードメニューからArduinoUnoを選択し、プログラマーをUSBaspとして選択し、ボードの正しいCOMポートを選択します。
ステップ3:-まばたきプログラムをアップロードすることから始めます。したがって、例から点滅プログラムを選択し、アップロードボタンを押します。
これで、ブレッドボードのLEDが点滅し始めるのがわかります。
USBからシリアルへのコンバーターを使用したArduinoAtmega328チップのプログラミング
ステップ1: -Arduinoボードがない場合。これは、 ブレッドボードArduino をプログラムするための最良の方法です。
次のように接続します。
FTDIのRXDピン-> Atmega328のTxピン(ピン3)
FTDIのTXDピン-> Atmega328のRxピン(ピン2)
GND-> GND(ピン8)
5v-> Vcc(ピン7)
一部のFTDIモジュールには、DTRピンとも呼ばれるリセットピンがあり、Atmega328のリセットピン(ピン1)に接続する必要があります。モジュールにリセットピンがない場合でも、チップをプログラムするときに解決策を提供しますのでご安心ください。
ステップ2:-次に、FTDIをコンピューターに接続し、コントロールパネルでデバイスマネージャーを開きます。[ポート]セクションが表示されます。展開します。ドライバの前に黄色のマークがある場合は、モジュールドライバを更新する必要があります。
マークがない場合は、COMポート番号をメモしてArduinoIDEを開きます。行く ツール- >ポート- >を選択し 、あなたが指摘していることをCOMを。
ステップ3:-次に、まばたきプログラムを ブレッドボードArduinoに アップロードします。移動し 、ファイル- >例- >基本- >点滅 。ツールのボードメニューからArduinoUnoを選択し、プログラマーをUSBaspとして選択し、ボードの正しいCOMポートを選択します。
次に、アップロードボタンを押します。
注:FTDIモジュールにDTRピンがない場合は、ブレッドボードのリセットボタンを押して、アップロードボタンを押します。それは言うならば、押したままにスケッチのコンパイル...リリースボタンすぐにそれが言うようにとアップロードを...
これで、プログラムはArduinoブートローダーAtmega328チップに正常にアップロードされます。
以下は、Arduinoボードを使用せずにAtmega 328ICをプログラミングするためのビデオです。
私たちはして行っているDIYブレッドボードArduinoのサーキット。この回路をPCB上で設計して、よりコンパクトにすることができます。