工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 産業技術

Arduino SD カード:概要と使用方法

多数の Arduino プロジェクトを実行していますか?また、膨大な量の重要な情報とログ データを保存する必要がありますか?解決策は、Arduino SD カードを使用することです。仕組みは?

この記事では、デバイスの概要、接続方法、使用方法など、デバイスについて知っておく必要があるすべてのことについて説明します。

あなたが知る必要があるすべてを発見するために読み続けてください.

Arduino の SD とは?

Arduino SD カード

画像ソース:Pixlr

SD カードまたはマイクロ SD カードは、2 つの主要なコンポーネントを持つデバイスです。これらのコンポーネントを使用すると、Arduino プロジェクトにデータ ロギングを簡単に含めることができます。さらに、ほとんどのマイクロ SD カードの動作電圧は 3.3V です。

そのため、デバイスを 5V ロジック回路に直接接続することはできません。つまり、3.6V を超える電圧で作業しようとすると、SD カードが破壊されます。

そのため、モジュールには現在の電圧を 3.3 ~ 6V から約 3.3V に変更するレギュレータ (オンボードの超低ドロップアウト) が搭載されています。

さらに、SD カードにはモジュール (74LVC125A) にチップがあり、接続ロジックを 3.3 – 5V から 3.3V に変更するのに役立ちます。したがって、このプロセスを「ロジック レベル シフティング」と呼ぶことができます。これは、ボードが Arduino のような 2 つのマイクロコントローラー (3.3V と 5V) とリンクできることを意味します。

マイクロコントローラのコンポーネント

標準SDカードをArduinoとどのように接続しますか?これには、SDIO モードと SPI モードの 2 つの方法があります。

ほとんどの SD カード モジュールは、SPI モードに基づいています (オーバーヘッドが少なく、速度が遅い)。そして、これはほとんどのマイクロコントローラにとって使いやすいモードです。

メモリーカードモジュール

一方、より高速なモードは SDIO で、携帯電話、カメラなどのさまざまなデバイスに適用されます。ただし、続行する前に機密文書に署名する必要があるため、このモードはより複雑になる傾向があります。

Arduino SD カード モジュールのピン配列

SD カード モジュールには、アダプターの 6 つのピンがあり、次のものが含まれます。

マイクロ SD カードの準備方法

まず、SD カード モジュールを入手し、マイクロ SD カードを挿入する必要があります。次に、モジュールを Arduino に配置して、カードを適切にフォーマットします。

その間、Arduino ライブラリに基づいてカードをフォーマットしてください。つまり、メモリ カードを FAT32 または FAT16 にフォーマットする必要があります。

また、新品の SD カードを使用している場合は、製造元が FAT ファイル システムで事前にフォーマットしている可能性があります。ただし、カードのフォーマットで問題が発生する場合があります。そのため、経験則として、SD カードが新しいか古いかにかかわらず、SD カードを再フォーマットすることです。

SD カードを Arduino に接続する方法

SDカードと接続するArduinoカード

画像ソース:ウィキメディア・コモンズ

SD カードを使用する準備が整ったので、SD ブレイクアウト ボードに接続できます。

そのため、マイクロ SD カード モジュールをブレッドボードに配置することから始めることができます。次に、モジュールの VCC ピンを Arduino の 5V に接続します。また、GND ピンをグランドに接続します。そして、SPI 通信用のピンが残ります。

通常、マイクロ SD カードは大量のデータ転送を必要とします。ただし、カードをマイクロコントローラーのハードウェア SPI ピンに接続すると、パフォーマンスが向上します。これは、ピン (SPI) が、異なるピンのセットを使用してインターフェイス コードを「ビットバンギング」するよりも高速だからです。

さらに、Arduino ボードにはさまざまな SPI ピンがあり、それに応じて接続する必要があることに注意することが重要です。たとえば、Arduino Nano には 11 (MOSI)、12 (MISO)、13 (SCK) などのピンがあります。さらに、4 つ目のピンが必要です。SS ラインの「チップ セレクト」です。

さらに、ピン 10 を SS ピンまたは任意の優先ピンに使用できます。ただし、Arduino メガを扱う場合は、ピンが異なります。したがって、53 (SS)、50 (MISO)、51 (MOSI)、および 52 (SCK) を使用する必要があります。また、他の Arduino ボードを使用している場合は、この公式ドキュメントを参照できます。これで、データを記録する準備が整いました。

Arduino コードを使用して CardInfo で SD カード モジュールをテストするにはどうすればよいですか?

SDカードと通信するのは面倒です。しかし、良い点は、Arduino IDE が優れたライブラリ「SD」を備えていることです。その結果、SD カードの読み取りと書き込みのプロセスが容易になります。

さらに、スケッチを実行し、[ファイル] → [例] → [SD] → [カード情報] をクリックします。その後、スケッチは、SD カードを認識するかどうかを通知し、データを表示します。次に、スケッチに戻って、「チップ セレクト」が正しいデジタル ピンを使用していることを確認します。そうでない場合は、ピンを 10 に変更してください。

すべてが良さそうに見えたら、SD カードをモジュールに挿入し、スケッチをアップロードします。さらに、シリアル モニターを開くとすぐにプロンプ​​トが表示されます。プロンプトには、ボリュームの種類、サイズ、およびカードの種類として SDHC (SD 高容量) として FAT32 が表示されます。

Arduino スケッチのスクリーンショット

しかし、それがクローンまたは不良の SD カードである場合、製品 ID と製造元 ID のないカード タイプとして SD1 が表示されることがあります。これで、カードの再フォーマットを試すことができます。同じ結果が出たら、そのカードをトスします。

Arduino スケッチのスクリーンショット

最後に、SD カードなしでスケッチを再実行します。また、スケッチは SD カードを初期化しません。興味深いことに、カードが損傷している場合や配線エラーがある場合にも、このプロンプトが表示されます。

Arduino スケッチのスクリーンショット

SD カードが正しい配線で適切にフォーマットされている場合はどうなりますか?プロンプトには、「wiring is correct, and a card is present.」と表示されます。

Arduino SD カードを使用したデータの読み取りと書き込み

SD カードが正常に初期化された場合は、次のステップに進むことができます。まず、スケッチにコードをアップロードすることから始めます。それで、すべてが良ければ、「初期化が完了しました」という表示が表示されます。

また、「テストへの書き込みが完了しました」と表示されます。したがって、Arduino をリセットしてスケッチを再度実行することを選択した場合、以前のデータは上書きされません。代わりに、新しいデータは以前のデータに添付されます。

コードの意味

パート 1

スケッチには、SPI ライブラリと組み込みの SD ライブラリがあります。その結果、SD カードを使用して SPI インターフェイスに簡単に接続できます。

次に、CS がモジュールのピンに接続する Arduino ピンを選択する必要があります。それは、CS ピンが固定されていないためです。また、ハードウェア SPI ライブラリを使用しているため、ピンは固定されているため、記載する必要はありません。

次に、SD カードに情報を保存するのに役立つオブジェクト myFile を作成する必要があります。

次に、setup() セクションに進み、シリアル モニターに結果を表示するためのシリアル通信を開始します。

その後、カードを初期化するために SD.begin() 関数が必要になります。したがって、カードの初期化が成功すると、「if」ステートメントが真になり、「initialization done」という文字列がシリアル モニターに表示されます。そうでない場合、「else String」:「initialization failed」が表示され、プログラムが終了します。

次に、SD.open() 関数がファイル「test.txt」を開きます。このファイルが表示されない場合は、作成する必要があります。その結果、FILE_WRITE 関数は読み書きモードで開きます。

ファイルが開くと、シリアル モニタに「Writing to test.txt..」というメッセージが表示されます。さらに、myFile.println() 関数で「testing 1, 2, 3」が表示されます。その後、close() 関数を適用して、ファイルに書き込まれたデータを保存する必要があります。

パート 2

ここで、ファイルをチェックして、書き込み操作が成功したことを確認する必要があります。これは、SD.open() 関数を「test.txt」として使用することで実行できます。後で、myFile.read() 関数を使用できます。この関数は、ファイルから読み取り、シリアル モニターに表示します。

その後、「while」ループと myFile.available() 関数を使用してファイルの文字を読み取ります。これは、read() 関数が 1 回に 1 文字を読み取るためです。次に、ファイルを閉じます。

これはデモ スケッチであるため、コードを複数回実行する必要はありません。すべてのコードは、一度実行される setup() 関数にあります。

注意すべき重要事項

1. ファイル名の大文字と小文字は区別されません。したがって、WriteLog.Txt は writelog.txt および WRITELOG.TXT と同じものです。

2. ディレクトリ内のファイルを開くことができます。

3. println() および print() 関数を使用して、変数、文字列などを書き込むことができます。

4. Read() 関数は、完全な数値または行を読み取りません。代わりに、一度に 1 文字ずつ返します。

5. SD カード ライブラリは「長いファイル名」をサポートしていないため、ファイル名を短くすることが重要です。

よくある質問

Arduino SD カードの最大サイズは?

最大 SD カードは 2GB です。

Arduino SD カードが破損している可能性はありますか?

はい、可能です。また、物理的な損傷、不適切な使用、製造上の欠陥、およびマルウェアが原因で発生する可能性があります.

結論

Arduino SD カードは、データのログに使用できる実用的なストレージ デバイスです。また、正確に配線する限り、セットアップは非常に簡単です。また、このデバイスで便利にデータを読み書きできます。

プロジェクトに最適な Arduino SD カードを入手するためのサポートが必要ですか?お気軽にお問い合わせください。


産業技術

  1. P-F曲線:それは何であり、メンテナンスでどのように使用するか
  2. 6Gとは何ですか、どのくらいの速さですか?
  3. ポンプキャビテーションとは何ですか?どうすれば回避できますか?
  4. プラズマ切断とは何ですか?プラズマ切断はどのように機能しますか?
  5. はんだ付けとは何ですか?-はんだ付けの種類と方法
  6. ろう付けとは何ですか?金属をろう付けする方法は?
  7. 銅ろう付けとは何ですか?
  8. MQTTとは何ですか?また、産業用自動化企業はMQTTをどのように使用できますか?
  9. リーンデジタルとは何ですか?それを統合する方法は?
  10. PIC18マイクロコントローラー:その概要と使用方法
  11. 参照指定子とは何ですか?アセンブリでどのように使用しますか?