温湿度データのような長期間の測定値など、さらに広範囲のデータを保存したい場合は、SDカードを使用します。PCでよくデータ移動に使われるSDカードは、通常数ギガバイトのさまざまなストレージボリュームがあります。この巨大な保存領域は、Arduinoを使用する上で十分な容量です。 接続には、専用アダプタモジュールとシールド(プラグインボード)の両方を用意しています。 別々のモジュールやシールドを使用するかどうかにかかわらず、接続は通常SPIを介して行われます。シールドの場合、自由に選択できるチップセレクトラインは通常4ピンに接続されています。 … [もっと読む...] about Arduino初心者編:SDカードに温湿度データと時間を保存する
Arduino初心者編
Arduino初心者編:外部EEPROMにデータを保存する
内部メモリが十分でない場合は、外部EEPROMモジュールを使用することも可能です。例えば、RTCモジュールDS3231はタイマに加えて、4096バイトのEEPROMメモリを搭載したAT24C32チップを搭載しています。タイマとEEPROMは電源とI²Cバスを共有していますが、それ以外は完全に独立しています。このモジュールは、もともとデータロガーとして使用するために開発されたものなので、このような構成になっています。 タイマとEEPROMのI²Cアドレスは異なるため、両方のチップを別々に制御することができます。さらに、AT24C32のEEPROMチップは、はんだパッドをブリッジすることでI²Cバスアドレスを変更できます。手順は液晶バックパック(HD44780)の場合と全く同じです。このように、1つのI²Cバスで最大8個のメモリを動作させることが … [もっと読む...] about Arduino初心者編:外部EEPROMにデータを保存する
Arduino初心者編:Arduino内部EEPROMにデータを保存する
これまでの例では、常に記録されたデータを処理し、必要に応じてすぐに再出力することを目的としていましたが、今回の例では、記録されたデータを処理して、必要に応じてすぐに再出力することを目的としています。しかし場合によっては、情報を永久に保存することが必要な場合もあります。例えば、ユーザー設定が関与している場合や、センサの読み取り値をより長い期間にわたって記録する必要がある場合などです。また記録されたデータは、Arduinoの速度やメモリ容量に制限があるため、より処理能力の高いデバイス(例えばPC)で評価してもらう必要があるかもしれません。 不揮発性メモリ コンピュータ技術の黎明期には、データの永久保存が課題となっていました。バイナリデータの中間記憶用の回路はすでに開発されていましたが、一定の電圧供給に依存し、電源に接続し続けないとデータが失われ … [もっと読む...] about Arduino初心者編:Arduino内部EEPROMにデータを保存する
Arduino初心者編:SPI通信によるArduino間のデータ送受信
今回は2つのArduino間でSPIによるデータ送受信プログラムを紹介します。前回紹介したI2Cと同様に、クロック信号を持ち、シリアル通信と比べてノイズに強い通信方式です。ArduinoでSPI通信をするためのポートやライブラリの使用方法などについて説明します。 SPI通信の概要 マイコンレベルのデータ通信インタフェースとして、SPI(Serial Peripherial Interface)は1987年に開発されました。I2Cと同様に、コンポーネントはマスターかスレーブの役割を持ちます。マスターはクロック信号(シリアルクロック-SCL)を生成します。このクロックのタイミングに合わせてデータ通信を行います。ただし、I2Cバスとは異なり、データの送受信それぞれを専用の通信線で行います。マスターからスレーブの方向の通信線MOSI(Master … [もっと読む...] about Arduino初心者編:SPI通信によるArduino間のデータ送受信
Arduino初心者編:I2C通信によるArduino間のデータ送受信
前回紹介したシリアル通信はクロック信号がないため、ノイズによる干渉の影響を受けやすいという欠点があります。これを改善するため、フィリップスという会社がI2Cインタフェース(「アイスクエアドシー」または「アイツーシー」と読みます)を開発しました。今回は2つのArduino間でI2Cによるデータ送受信プログラムを紹介します。 I2Cの概要 I2Cは「Inter-Integrated … [もっと読む...] about Arduino初心者編:I2C通信によるArduino間のデータ送受信