{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "オリジナルの作成:2015/01/04" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "ここでは、以下のArduinoの作り方を紹介しています。\n", "\n", "- Arduino勉強会/05-声を出してみるで使った秋月のATMegaボードでArduinoを作ってみましょう。\n", "- Uncompatino 3.3V版" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 追加の部品\n", "追加で用意する部品は、以下の通りです。\n", "\n", "| No. | 品名| 秋月通販コード | 数量 | 価格 |\n", "|---|---|---|---|---|\n", "| 1 | ATmega328P | I-03142 | 1 | 250円 | \n", "| 2 | セラミック発振子 | P-00525 | 1 | 35円 | \n", "| 3 | 赤色 3mm LED | I-00562 | 1 | 100個入りで 350円 | \n", "| 3 | タクトスイッチ | P-03649 | 1 | 10円 | \n", "| 4 | ピンヘッダ 2x3 | C-00082 | 2 | 2x40で50円 | \n", "| 5 | 1KΩ抵抗 | R-25102 | 1 | 100個入りで100円 | \n", "| 6 | 10KΩ抵抗 | R-25103 | 1 | 100個入りで100円 | \n", "| 7 | 0.1μFセラミックコンデンサー | P-00090 | 3 | 10個入りで100円 | \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "部品を以下の様にハンダ付けして、セットしてください。\n", "(画像ではセラミック発信子の代わりに水晶発振子を使っています。)\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## マスターのArduinoにArduinoISPを書き込む\n", "買ってきたままのAtmega328PをArduinoとして使うには、Arduino用のブートローダ を書き込む必要があります。\n", "\n", "Arduinoにはブートローダを書き込むためのスケッチが最初から提供されているので、 これを使います。\n", "\n", "- ファイル→スケッチの例→ArduinoISPを選択し、ArduinoISPを書き込み用Arduino(親と記す)に書き込みます。\n", "\n", "スケッチの書込が終わったら、以下の様に書き込み用Arduino(子と記す)とマスターを以下のように接続します。\n", "\n", " | 親Arduino | 子Arduino | \n", " |--|--|\n", " | D10\t | RESET | \n", " | D11\t | D11 | \n", " | D12\t | D12 | \n", " | D13\t | D13 | \n", " | 5V\t | 5V | \n", " | GND\t | GND | \n", " \n", " \n", " \n", " ### 書き込み手順\n", "書き込みのターゲットボードと書込装置を選択します。\n", "\n", "- ツール→マイコンボード→ターゲットのMPUを持つマイコンボード(今回はArduino Uno)\n", "- ツール→書込装置→Arduino as ISP\n", "\n", "ブートローダを書き込みます。\n", "\n", "- ツール→ブートローダを書き込む" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 子Arduinoの動作確認\n", "ProtoSnap Pro MiniのUSBシリアルを使って、新しく作ったArduino(Arduino Pro Mini互換)にスケッチを書き込んで、 動作を確認してみます。 *2\n", "\n", "ArduinoとUSBシリアルの接続は以下の通りです。\n", "\n", " | Arduino\t | USBシリアル | \n", " |---|---|\n", " | 0: Rx\t | TXO | \n", " | 1: Tx\t | RXI | \n", " | RST\t | DTR + 0.1μFのコンデンサー | \n", " | 5V\t | VCC | \n", " | GND\t | GND | \n", " \n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### スケッチの書き込み\n", "Blinkスケッチを開きます。\n", "\n", "- ファイル→スケッチの例→01 Basic→Blinkを選択\n", "\n", "書込装置をAVR ISPにもどして、書き込みます。LEDが点滅すれば完成です。\n", "\n", "- ツール→書込装置→AVR ISP\n", "- ファイル→マイコンボードに書き込む" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Uncompatino 3.3V版\n", "mini SDカード等多くの部品が3.3Vで稼働するようになり、Arduinoの5Vで使用するには レベルコンバータが必要になり、ちょっと不便なので \n", "[作って遊べるArduino互換機 ](http://www.amazon.co.jp/dp/4883378802/)\n", "で紹介されているUncompatino 3.3V版を作ってみました。\n", "\n", "\n", "\n", "必要な部品は以下の通りです。\n", "\n", " | 品名\t | 秋月コード\t | 数量\t | 備考 | \n", " |---|---|---|---|\n", " | 『作って遊べるArduino互換機』パーツセット\t | K-06906\t | 1\t | | \n", " | UncomPatino基板 (基板単品販売)\t | P-07487\t | 1\t | | \n", " | NJM2845DL1-33\t | I-02247\t | 1\t | 4個入り\n", " | 電解コンデンサー100μF\t | P-03122\t | 1\t | | \n", " | セラミックコンデンサー0.33μF\t | P-04227\t | 1\t | 10個入り | \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 組み立て\n", "一番の難関がFT232RLのハンダ付けでしょう。\n", "\n", "以下の様にすると割と楽にできます。\n", "\n", "- メンディングテープ等でFT232RLを固定\n", "- フラックスをFT232RLのピンの周辺に塗る\n", "- ハンダで一カ所だけを固定してテープを外し、位置を確認\n", "- ブリッジができても構わず、おもいっきりピンにハンダを付ける\n", "- 吸い取り線に半田こてを当てたまま、FT232RLから離れるようにずらす\n", "\n", "\n", "\n", "他の部品のハンダ付けは、背の引く物から付けます。抵抗値や取り付け向きに気を付けましょう。\n", "\n", "\n", "- 抵抗\n", "- セラミックコンデンサー\n", "- ICソケット\n", "- 電解コンデンサー\n", "- LED, タクトスイッチ、ピンソケット\n", "- USBソケット" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### ブートローダの書き込み\n", "ブートローダの書き込みに使用するBitBangをまとめて以下のZIPファイルに入れました。\n", "\n", "- [fileBitBang.zip](data/fileBitBang.zip)\n", "\n", "最初にすべてのジャンパーを結線します。\n", "\n", "\n", "\n", "次にavrdude-GUI.exeを起動し、\n", "\n", " | 項目名\t | 設定方法 | \n", " |---|---|\n", " | avrdude exe File\t | avrdude.exeを入力 | \n", " | Programmer\t | FT232R Synchronous BitBang(diecimila)を選択 | \n", " | Port\t | Uncompatinoのシリアルポート | \n", " | Device\t | Atmega328P(m328p)を選択 | \n", " | Command line Option\t | -P ft0 -B 76800 | \n", "\n", "\n", "\n", "FuseのReadボタンを押すと現在の設定でます。以下の設定を入力し、Writeを実行します。\n", "\n", "\n", "\n", "ブートイメージの書き込みは、Flashに Arduinoのフォルダ/hardware/arduino/bootloaders/atmega/AtmegaBOOT_168_atmega328_pro_8MHz.hex を選択し、Erase-Write-Verifyを実行します。\n", "\n", "あるいは、先のように別のArduinoを使って書き込んでも構いません。\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.13" } }, "nbformat": 4, "nbformat_minor": 2 }