プログラムarduinonanov3.0。 ブログ›Arduinoの学習経験。 別の投稿。 ハードウェア

一般情報

Arduino Nanoは、ブレッドボードでの使用に適合したATmega328(Arduino Nano 3.0)またはATmega168(Arduino Nano 2.x)マイクロコントローラーをベースにした完全に機能するミニチュアデバイスです。 機能面では、デバイスはArduino Duemilanoveに似ていますが、サイズ、電源コネクタがないこと、および異なるタイプ(Mini-B)のUSBケーブルが異なります。 Arduino Nanoは、Gravitechによって開発および製造されています。

スキームとオリジナルプロジェクト

繋がり

Arduino Nanoは、コンピューター、別のArduino、または他のマイクロコントローラーと通信するための多くのオプションを提供します。 ATmega168およびATmega328には、デジタルピン0(RX)および1(TX)を介したシリアル通信を可能にするUARTトランシーバーがあります。 FTDI FT232RLチップは、トランシーバーとコンピューターのUSBポート間の通信を提供し、PCに接続すると、Arduinoを次のように定義できます。 仮想COMポート(FTDIドライバーはArduinoソフトウェアパッケージに含まれています)。 Arduinoソフトウェアパッケージには、 特別プログラム、これにより、簡単なテキストデータを読み取ってArduinoに送信できます。 USB経由でコンピュータにデータを転送する場合、ボード上のRXおよびTXLEDが点滅します。 (ピン0および1を介したシリアル通信では、これらのLEDは点灯しません。)

Arduino NanoのATmega168とATmega328には、外部プログラマーを必要とせずに新しいプログラムをマイクロコントローラーにアップロードできるフラッシュブートローダーが付属しています。 それとの相互作用は、元のプロトコルSTK500(、)に従って実行されます。

自動(ソフトウェア)リセット

プログラムをダウンロードする前に毎回リセットボタンを押す必要がないように、Arduino Nanoは、接続されたコンピューターからプログラムでリセットできるように設計されています。 FT232RLのデータフロー制御(DTR)ピンの1つは、100nFのコンデンサを介してATmega168またはATmega328のRESETピンに接続されています。 DTRラインがゼロになると、RESETピンもマイクロコントローラをリセットするのに十分な時間ローになります。 この機能は、Arduinoプログラミング環境でワンクリックでマイクロコントローラーをフラッシュできるようにするために使用されます。 このアーキテクチャでは、フラッシュプロセスが常にDTRラインの信号減衰と同期されるため、ブートローダーのタイムアウトを減らすことができます。 このアーキテクチャでは、フラッシュプロセスが常にDTRラインの信号減衰と同期されるため、ブートローダーのタイムアウトを減らすことができます。

ただし、このシステムは他の結果につながる可能性があります。 で Arduinoを接続する NanoからMacOSXまたはLinuxを実行しているコンピューターでは、ソフトウェアがボードに接続されるたびにそのマイクロコントローラーがリセットされます。 リセット後、ArduinoNanoは約0.5秒間ブートローダーをアクティブにします。 ブートローダーは、無関係なデータ(つまり、新しいプログラムのフラッシュプロセスに関連しないすべてのデータ)を無視するようにプログラムされていますが、接続が確立された直後にボードに送信されたパケットから最初の数バイトのデータを傍受できます。 。 したがって、Arduinoで実行されているプログラムが、最初の起動時にコンピューターから設定やその他のデータを受信できるようになっている場合は、次のことを確認してください。 ソフトウェア、Arduinoが相互作用する、接続が確立された後、1秒を送信します。

ATmega328(Arduino Nano 3.0)またはATmega168(Arduino Nano 2.x)マイクロコントローラー上に構築されたNanoプラットフォームは、サイズが小さく、実験室での作業に使用できます。

ArduinoNanoボード

Arduino Nanoは、USB Mini-B接続を介して、または非安定化6-20V(ピン30)または安定化5V(ピン27)外部電源から電力を供給できます。 電圧が最も高いソースが自動的に選択されます。

特徴 arduinoボードナノ

マイクロコントローラー

ATmega168またはATmega328

動作電圧

5 V

7〜12 V

入力電圧(制限)

6〜20 V

デジタル入力/出力

14(そのうち6つはPWM出力として使用できます)

アナログ入力

入出力を流れるDC電流

40 mA

3.3V出力用のDC

50 mA

フラッシュメモリー

16 KB(ATmega168)または32 KB(ATmega328)、ブートローダーに2KBを使用

1 KB(ATmega168)または2 KB(ATmega328)

一般情報

Arduino Nanoは、ブレッドボードでの使用に適合したATmega328(Arduino Nano 3.0)またはATmega168(Arduino Nano 2.x)マイクロコントローラーをベースにした完全に機能するミニチュアデバイスです。 機能面では、デバイスはArduino Duemilanoveに似ていますが、サイズ、電源コネクタがないこと、および異なるタイプ(Mini-B)のUSBケーブルが異なります。 Arduino Nanoは、Gravitechによって開発および製造されています。

スキームとオリジナルプロジェクト

ボードに記載されているものに加えて、さらにいくつかの結論があります。

  • AREF。アナログ入力の基準電圧。 機能と併用できます。
  • リセットします。形成 低レベルこのピンを(LOW)にすると、マイクロコントローラがリセットされます。 通常、このピンは拡張ボードのリセットボタンを操作するために使用されます。

繋がり

Arduino Nanoは、コンピューター、別のArduino、または他のマイクロコントローラーと通信するための多くのオプションを提供します。 ATmega168およびATmega328には、デジタルピン0(RX)および1(TX)を介したシリアル通信を可能にするUARTトランシーバーがあります。 FTDI FT232RLチップを使用すると、トランシーバーはコンピューターのUSBポートと通信でき、PCに接続すると、Arduinoを仮想COMポートとして定義できます(FTDIドライバーはArduinoソフトウェアパッケージに含まれています)。 Arduinoソフトウェアパッケージには、簡単なテキストデータを読み取ってArduinoに送信できる特別なプログラムも含まれています。 USB経由でコンピュータにデータを転送する場合、ボード上のRXおよびTXLEDが点滅します。 (ピン0および1を介したシリアル通信では、これらのLEDは点灯しません。)

自動(ソフトウェア)リセット

プログラムをダウンロードする前に毎回リセットボタンを押す必要がないように、Arduino Nanoは、接続されたコンピューターからプログラムでリセットできるように設計されています。 FT232RLのデータフロー制御(DTR)ピンの1つは、100nFのコンデンサを介してATmega168またはATmega328のRESETピンに接続されています。 DTRラインがゼロになると、RESETピンもマイクロコントローラをリセットするのに十分な時間ローになります。 この機能は、Arduinoプログラミング環境でワンクリックでマイクロコントローラーをフラッシュできるようにするために使用されます。 このアーキテクチャでは、フラッシュプロセスが常にDTRラインの信号減衰と同期されるため、ブートローダーのタイムアウトを減らすことができます。 このアーキテクチャでは、フラッシュプロセスが常にDTRラインの信号減衰と同期されるため、ブートローダーのタイムアウトを減らすことができます。

ただし、このシステムは他の結果につながる可能性があります。 ArduinoNanoをMacOSXまたはLinuxを実行しているコンピューターに接続すると、ソフトウェアがボードに接続されるたびにマイクロコントローラーがリセットされます。 リセット後、ArduinoNanoは約0.5秒間ブートローダーをアクティブにします。 ブートローダーは、無関係なデータ(つまり、新しいプログラムのフラッシュプロセスに関連しないすべてのデータ)を無視するようにプログラムされていますが、接続が確立された直後にボードに送信されたパケットから最初の数バイトのデータを傍受する可能性があります。 したがって、Arduinoで実行されているプログラムが最初の起動時にコンピューターから設定やその他のデータを受信することを目的としている場合は、接続が確立された後、Arduinoが対話するソフトウェアが1秒後に送信することを確認してください。

Arduinoボードの主なバージョンは、次のモデルで表されます。

一般情報

ATmega328(Arduino Nano 3.0)またはATmega168(Arduino Nano 2.x)マイクロコントローラー上に構築されたNanoプラットフォームは、サイズが小さく、実験室での作業に使用できます。 Arduino Duemilanoveと同様の機能を備えていますが、アセンブリが異なります。 違いは、DC電源コネクタがなく、Mini-BUSBケーブルを介して機能することです。 Nanoは、Gravitechによって開発および販売されています。

概略図と初期データ

繋がり

Arduino Nanoプラットフォームには、コンピューター、他のArduinoデバイス、またはマイクロコントローラーと通信するためのいくつかのデバイスがインストールされています。 ATmega168およびATmega328は、ピン0(RX)および1(TX)を介してTTL(5V)UARTシリアルインターフェースをサポートします。 ボードにインストールされたFTDIFT232RLチップは、このインターフェイスをUSB経由でルーティングします。 FTDIドライバー(Arduinoプログラムに含まれています)コンピューター上のプログラムに仮想COMポートを提供します。 Arduinoシリアルモニターを使用すると、プラットフォームに接続したときにテキストデータを送受信できます。 データがFTDIチップを介して送信されているとき、またはプラットフォーム上のRXおよびTXLEDが点滅します。 USB接続(ただし、ピン0および1を介したシリアル通信を使用する場合は除きます)。

SoftwareSerialライブラリを使用すると、Nanoの任意のデジタルピンを介してシリアルデータ転送を作成できます。

ATmega168とATmega328は、I2C(TWI)とSPIインターフェースの両方をサポートします。 Arduinoには、I2Cバスを簡単に使用するためのWireライブラリが含まれています。 詳細については、ドキュメントを参照してください。 SPIインターフェースを使用するには、ATmega168およびATmega328マイクロコントローラーのデータシートを参照してください。

プログラミング

プラットフォームは、Arduinoソフトウェアを使用してプログラムされます。 [ツール]>[ボード]メニューから、[Arduino Diecimila、Duemilanove、またはNano w /ATmega168]または[ArduinoDuemilanoveまたはNanow/ ATmega328]を選択します(インストールされているマイクロコントローラーによる)。 詳細については、ハンドブックと手順を参照してください。

ATmega168およびATmega328マイクロコントローラーには、外部プログラマーを使用せずに新しいプログラムを簡単に作成できるようにするプリロードされたブートローダーが付属しています。 通信は、元のSTK500プロトコルによって実行されます。

ブートローダーを使用せず、ICSPブロックの出力を介してマイクロコントローラーをプログラムすることは可能です(インサーキットプログラミング)。 詳細については、このマニュアルを参照してください。

自動(ソフトウェア)再起動

Nanoは、新しいコードを作成する前に、プラットフォームのボタンを押すのではなく、プログラム自体が再起動するように設計されています。 FT232RLデータフロー制御(DTR)ラインの1つは、100nFコンデンサを介してATmega168またはATmega328マイクロコントローラのリセットピンに接続されています。 この行のアクティブ化、つまり 低レベルの信号は、マイクロコントローラをリセットします。 Arduinoプログラムは、この機能を使用して、プログラミング環境自体の[アップロード]ボタンを1回クリックするだけでコードをアップロードします。 DTR回線の低レベルのシグナリングは、コードの記述の開始と調整され、ブートローダーのタイムアウトを短縮します。

この関数には別のアプリケーションがあります。 Nanoは、Mac XまたはLinuxコンピューター(USB経由)でArduinoプログラムに接続されるたびに再起動します。 再起動後の次の0.5秒で、ブートローダーが機能します。 プログラミング中、プラットフォームが誤ったデータ(新しいプログラムのコード以外のすべて)を受信するのを防ぐために、コードの最初の数バイトが遅延されます。 プラットフォームに書き込まれたスケッチの1回限りのデバッグを実行する場合、または最初の実行で他のデータを入力する場合は、データを転送する前に、コンピューター上のプログラムが1秒間待機することを確認する必要があります。


ソース:

2013年半ばにボードを購入しました Arduino Nanoバージョン3.0。 ボードが本格的なarduinounoに似たプラットフォーム上に構築されていることは明らかですが、いくつかのニュアンスがあります。 この記事でそれらを理解してみましょう。

ArduinoNano3.0プラットフォーム ATmega328マイクロコントローラー上に構築されており、サイズが小さく、さまざまなプロジェクトで使用できます。 Nanoは、Gravitechによって開発および販売されています。 仕様は次のとおりです。

マイクロコントローラー-ATmega328
動作電圧-5V
入力電圧(推奨)-7〜12 V
入力電圧(制限)-6〜20 V
デジタルI/O-14(そのうち6つはPWM出力として使用できます)
アナログ入力-8
入力/出力を流れるDC電流-40mA
フラッシュメモリ-32KB(ブートローダーに2 KBを使用)
RAM-2 Kb
EEPROM-1 Kb
クロック周波数-16MHz
寸法-1.85cmx 4.3 cm

Arduino Nanoは、Mini-B USBコネクタと、調整されていない6-20V(ピン30)または調整された5V(ピン27)の外部電源から電力を供給されます。 電圧が最も高いソースが自動的に選択されます。

14個のデジタルピンすべて(pinMode()、digitalWrite()、およびdigitalRead()関数を使用)は、入力または出力として構成できます。 出力は5Vで動作します。各出力には20〜50kΩのプルアップ抵抗(デフォルトでは無効)があり、最大40mAを伝送できます。

コンピューターまたは他のデバイスやマイクロコントローラーと通信するには、いくつかの方法があります。 ATmega328は、ピン0(RX)および1(TX)を介してUART TTL(5V)シリアルインターフェースをサポートします。 FTDI FT232RLチップはこのインターフェイスをUSB経由でルーティングし、FTDIドライバーはコンピューター上のArduinoプログラムに仮想COMポートを提供します。 データがFTDIチップまたはUSB接続のみを介して送信されている場合、プラットフォームのRXおよびTXLEDが点滅します。


プラットフォームは Arduinoソフトウェア、最新バージョンは公式サイトからダウンロードできます。

ただし、その前に、デバイスがコンピューターで検出されている必要があります。 これが私が困ったところです。 ArduinoをUSBケーブルでコンピューターに接続する場合、システム(Windows 7)ではプラットフォームはUARTデバイスとして定義されていました。 同時に、ドライバーは自動的にインストールされませんでした(ドライバーはFTDIチップメーカーのWebサイトからダウンロードできます)。 私はそれを手動でしなければなりませんでした。 これを行うには、デバイスマネージャで識別されていないデバイスを選択します。 プロパティで、[ドライバーのインストールまたは更新]項目を選択し、FTDIメーカーの既にインストールされているドライバーのリストからUSBシリアルコンバーターモデルを選択します。 ドライバをインストールした後、コンポジットが表示されました USBデバイス、およびドライバをインストールするためだけに残ります COMポートおよびLTP。 まったく同じように、同じメーカーのドライバーを選びました。その後、Arduinoでスケッチをアップロードできるようになりました。

パフォーマンスを確認するには、Arduinoのアプリケーションを開きます。 タブサービス(ツール)のメニューボード(ボード)で、Arduino Nano w/ATmega328を選択します。 次に、このスケッチをプログラムにコピーして、アップロードボタンをクリックします。

/ *SOSLEDを点滅させます。 わずかに変更された標準のLED点滅スケッチ。 モールス信号のSOS信号をシミュレートし、3回の短い点滅、3回の長い点滅、さらに3回の短い点滅を交互に繰り返します。 詳細はこちらhttp://www.craft-tech.ru*/ //電源が投入されたとき、またはリセットボタンが押されたときにスケッチがオンになりますvoid setup()(//ピン13で動作します。pinMode(13 、OUTPUT);)//ループ関数はスケッチを円で実行しますvoid loop()(digitalWrite(13、HIGH); // LEDの13番目のピンに電圧を印加しますdelay(100);//10分の1待機します2番目のdigitalWrite(13、LOW); // 13フィートで電圧をオフにするdelay(100); digitalWrite(13、HIGH); delay(100); digitalWrite(13、LOW); delay(100); digitalWrite(13 、HIGH); delay(100); digitalWrite(13、LOW); delay(200); // 10分の2秒待つdigitalWrite(13、HIGH); //電圧をオンにするdelay(500);//待つ0.5秒digitalWrite(13、LOW); //電圧をオフにするdelay(100); digitalWrite(13、HIGH); delay(500); digitalWrite(13、LOW); delay(100); digitalWrite(13、HIGH ); delay(500); digitalWrite(13、LOW); delay(200); digitalWrite(13、HIGH); //そして再び短いフラッシュdelay(100); digitalWrite(13、LOW); delay(100); digitalWrite (13、 高い); delay(100); digitalWrite(13、LOW); delay(100); digitalWrite(13、HIGH); delay(100); digitalWrite(13、LOW); delay(6000); // 6秒間待つと、すべてが再び繰り返されます)

スケッチがコンパイルされてArduinoにアップロードされると、ボード上のLEDが点滅し始め、モールス信号のSOS信号が繰り返されます。 これは、セットアップが成功したことを意味します。

これはArduinonanoがどのように見えるかです:

ナノボードにはいくつかのバージョンがあります。 バージョン2.Xとバージョン3.0があります。 これらのバージョンは、マイクロコントローラー自体が異なります。 このarduinoの若いバージョンはATmega168チップを使用しています。 このチップは、フラッシュメモリ、不揮発性メモリが少なく、クロック速度も低くなっています。 Arduino nanoの異なるバージョンの価格は実質的に同じであるため、それらの中で最も若いものは考慮しません。

Arduino nano v 3.0

このバージョンには、ATmega328マイクロコントローラが搭載されています。 その若い対応物とは異なり、それは2倍の量の不揮発性およびフラッシュメモリを持っています。 そして、16MHzのクロック周波数を誇っています。

Arduino nanov3.0を購入する

  • 品質はイタリア製のオリジナルボードとほぼ同じです。
  • 価格ははるかに安いです。 イタリアの arduino nano費用は約10ドルで、中国ではこのマイクロコントローラーの費用は2〜2.5ドルです。
  • ロシアの店舗では、マークアップは100〜500%です。 同時に、非常に多くの場合、元のボードを装って、中国製のものを販売することができ、非常に低品質のものも販売できます。
  • aliexpressでは、良いレビューで信頼できる売り手を簡単に見つけることができます。
  • 割引クーポンやキャッシュバックサービスをご利用いただけます。

特徴

  • マイクロコントローラー:ATmega328
  • 制限電源電圧:5〜20 V
  • 推奨電源電圧:7-12V
  • デジタルI/O:14
  • PWM:6つのデジタルピンをPWMピンとして使用できます
  • アナログ出力:8
  • 最大電流:1つの出力から40 mAh、すべての出力から500mAh。
  • フラッシュメモリ:32 kb
  • SRAM:2 kb
  • EEPROM:1 kb
  • クロック周波数:16 MHz

Arduinonanoへの電源の接続

このマイクロコントローラーは、コンピューター、パワーバンク、または電源コンセントに接続されたアダプターからミニUSBポートを介して電力を供給できます。また、+ 5Vピンは出力であるだけでなく、入力でもあります。 あなたはそれに電流を流すことができます、そしてこれはすべて供給された電流の電圧が条件でのみ機能します 正確に5ボルトに等しい!
あなたはまだ適用することができます D.C. VINピンの電圧は6〜20ボルトです。 これらが限界です! 20ボルトの電圧が印加されると、電圧レギュレータはボード上で非常に高温になります。 VINピンを介した電源の推奨電圧は7〜12ボルトです。

ピン配置ArduinoNanov 3.0


すでに上で述べたように、ボードには14本のデジタルピンがあります。 ボード上で先頭に「D」(デジタル)のラベルが付いています。 それらは入力と出力の両方にすることができます。 これらのピンの動作電圧は5Vです。各ピンにはプルアップ抵抗があり、これらのピンの1つに5ボルト未満の電圧が印加されても、5ボルト(論理1)と見なされます。

ボード上のアナログピンには、先頭に「A」のマークが付いています。 これらのピンは入力であり、プルアップ抵抗はありません。 それらは、それらに印加された電圧を測定し、analogRead()関数を使用すると0から1024の間の値を返します。 これらのピンは、0.005Vの精度で電圧を測定します。

パルス幅変調(PWM)Arduino nano

ボードをよく見ると、いくつかのデジタルピンの横にチルダ(〜)アイコンが表示されています。 このアイコンは、このピンをPWM出力として使用できることを意味します。 一部のarduinoボードにはこのアイコンがありません。これは、メーカーがボード上でこのシンボルの場所を常に見つけるとは限らないためです。 Arduino nanoには6つのPWMピンがあり、これらはピンD3、D5、D6、D9、D10、およびD11です。 PWMを使用するために、Arduinoには特別なanalogWrite()関数があります。

その他のピン:

  • rx0とtx1は、シリアルインターフェイスを介してデータを転送するために使用されます。
  • ピンD10(SS)、D11(MOSI)、D12(MISO)、D13(SCK)は、SPI通信用に設計されています。
  • ボードのピンD13にはLEDも組み込まれています。
  • A4(SDA)およびA5(SCL)は、I2Cバスを介して他のデバイスと通信するために使用できます。 このインターフェースの詳細については、ウィキペディアを参照してください。 開発環境で Arduino IDE I2Cでの作業を容易にするための組み込みライブラリ「wire.h」があります。

体格的特徴

Arduino Nanoの長さは42mm、幅は19mmです。 ただし、USBコネクタが少しはみ出します。 プリント回路基板。 ArduinoNanoの重量はわずか約12グラムです。 ボードには、表面に固定できるように4つの穴があります。 リード間の距離は2.54mmです。

ArduinoNanoの概略図