• 締切済み

arduino SDカードスロット

arduinoを使って、GPSや温度などをSDカードに記録しようとしています。 秋月電子でSDカードdip化モジュール(製品番号K-05818)を購入したのですが、いかんせん初心者な者で、仕組みが全く分かりません。 インターネットをさまよって、回路を作ることだけならできるようになったのですが、この仕組みが知りたいです。 SDIとかCLSなどの名前のピンがありますが、これは何のことなのでしょうか。 (ちなみにピンは上から、5.0V、3.3V、GND、SDI、SDO、CLK、CS、CDとなっています。) インターネットだと専門用語が多くて、何から手を付けていいのかが分かりません。 これを勉強すれば分かるよ、というアドバイスでもかまいません。 よろしくお願いします。

みんなの回答

  • umamimi
  • ベストアンサー率39% (144/362)
回答No.1

回答付きませんね。 >SDカードに記録しようとしています。 ・SDカードにどういう電源を与え、どういう信号を与えると書いたり読んだりできるのか。 ・ファイルとして書き込むには、データをどのように組み立てるのか。  オリジナルでなく、PC等で読み書きする必要あるので、既存の「ファイルシステム」に  沿ったファイル構造にする必要があります。  SDカードに書き込むファイルシステムは「FAT」という形式が多いので、これを理解しましょう。  とはいえ、ファイルシステムをゼロから作るまでもなくライブラリ等を利用する事に なるでしょうから、現実には詳細まで理解せずブラックボックスのままでも作れてしまったりしますが。 >インターネットだと専門用語が多くて、何から手を付けていいのかが分かりません。 人から直接教われず専門用語でつまづく環境だと厳しいですね。趣味ならそれも楽しみでしょうけど。 さしあたって前出の2点について勉強してみたらいいでしょう。 今時、自作記事も多く出てるので勉強の材料は山ほど得られます。

関連するQ&A

  • Arduinoのピン被り

    Arduino LeonardoにEthernetシールドを挿しています。 そこで、取説を見ると、SDカードの通信で10~13ピンを使うとのことですが、シールドには10~13ピンにもさらに入力できる形状になっていますが、SDカードとの通信を使用しつつ、10~13ピンも入力に使うことはできるのでしょうか?

  • arduinoでファンを回したい

    先日arduino UNO R3 というマイコンを入手しました。 これを使ってファンを回そうと思ったのですが上手く行きません。 1.5vの単三電池を3つ直列にして電気を流したらファンは勢いよく回りました。 ファンはDC ブラシレスモータと言うもので、DC 5V、0.45wと書かれています。 マイコンの出力電圧は5Vなので出力ピンとGNDにつないだら動くと思うのですが電圧をかけた瞬間に少し動こうとして止まります。 10ミリ秒感覚でHIGHとLOWを繰り返したら、ゆっくりですか回りました。 上手にモータを回すにはどうすればいいのでしょうか? 完全な初心者なので、根本的な勘違いをしていたらすみません。 よろしくお願いします。

  • Arduino の不可解なリセットの回避について

    Arduinoの互換機(ArduinoUNOと同じようなもの)を使って電子工作の練習をしている初学者なのですが、不可解なリセットに悩まされています。リセットが起きてしまう状況を自分なりに調べてみたのですが、よくわかりませんでした。以下に状況を示しますのでリセットの原因や回避方法を教えてください。 ・モータードライバでモーターを動かしたときにリセットする(モーターは別電源で動かしている) ・かなりの確率でリセットするが、モーターを動かしてもリセットしないこともある。 ・テスターで測ったところ異常に大きな電流は流れていなかったし、逆電流もなかった。 ・正転、逆転のどちらでもリセットが起きていた。モーターの両極にコンデンサーをつないでみてもリセットした。 ・Arduino のGPIOピンを2か所のGNDだけ刺さっている状況にして、別電源だけでモータードライバとモータを動作させてもリセットが起こった。 ・GNDのピンを1か所減らした回路にしてみたら、リセットが起こりづらくなった。 ・5Vの電源ピンを別のセンサーにつなぐとリセットが再発した。よってこれを外したところ、リセットは殆ど無くなったように見えた。(Vccは別電源と定電圧レギュレータを用いることにした) ・モータードライバとモーターを2つずつにしてみたところ、リセットが起こった。モータードライバを新品のスペアに替えてみると、リセット確率は低下したが稀にリセットした。 以上です。モータードライバはTA7291P、モーターはFA130を使っています。ぼくはもうお手上げなのでどうかよろしくお願いします。

  • Arduino PWMパワーパックについて

    初めて投稿させていただきます http://www.diotown.com/creative/2011/05/arduino-de-pwm-controller.html こちらのサイトのパワーパックをArduino部分の自作はせずに、回路図右下のMOSFET部分(リセッタブルヒューズがないので保護回路は省略)だけ自作し、ArduinoのピンからPWM波を取り出し増幅する回路を作りました。 ところがレールから出てくるPWMは12VのものではなくArduinoから出ているPWMであろう、1Vくらいの信号がそのまま出てきてしまいます。 MOSFETの故障を疑い替えてみましたが改善されません、回路を見直してみましたが、簡単な駆動回路故間違っているところはないと思います。 この場合考えられる原因は何があるでしょうか。 プログラミングは https://blog-imgs-53-origin.fc2.com/j/i/k/jikomanzokunokosak/keikyu2180ver4_1blog.txt こちらをそのまま使用しております。 また、電源は安定化電源を使用し、三端子レギュレータは秋月電子のキットを使用しております。またショットキーバリアダイオードはSiCのものを使用しております。 保護回路を入れればきちんと走るのでしょうか… よろしくお願いいたします。

  • 機器のI/OをArduinoでSDに記録したい

    皆様、お世話になります。 Arduinoでデーターロガーのスケッチを作成しています。 スケッチしてみましたが動くかどうか確認とこう直した方が良いなど改善点が有れば、お願い致します。 2番ピンに変化が有った時(ONかOFF)に時間と2番ピンの状態をSDカードに記録したいのです。 これが、うまくいけば系統を増やしていきたいです。 書いたスケッチ #include <SD.h> // この値は使用しているシールドや基板に合わせて変更すること。たとえば、 // イーサーネットシールドは 4 // Adafruit のSDシールドは 10 // Sparkfun のSDシールドは 8 const int chipSelect = 4; void setup() { // シリアルポート初期化 Serial.begin(9600); while (!Serial) { ; // USBケーブルが接続されるのを待つ。この待ちループは Leonardo のみ必要。 pinMode(2,INPUT) ; //スイッチに接続ピンをデジタル入力に設定A } Serial.print(F("Initializing SD card...")); // SSピン(Unoは10番、Megaは53番)は使わない場合でも出力にする必要があります。 // そうしないと、SPIがスレーブモードに移行し、SDライブラリが動作しなくなります。 pinMode(SS, OUTPUT); // SDライブラリを初期化 if (!SD.begin(chipSelect)) { Serial.println(F("Card failed, or not present")); // 失敗、何もしない while(1); } Serial.println(F("ok.")); // 日付と時刻を返す関数を登録 SdFile::dateTimeCallback( &dateTime ); } void loop() { // ファイルを開く File dataFile = SD.open("datalog.txt", FILE_WRITE); // もし2番ピンに変化が有れば書き込む if (digitalRead(2)==HIGH) { int value = digitalRead(2); dataFile.println(value); dataFile.close(); // シリアルポートにも出力 Serial.println(value); } if (digitalRead(2)==LOW) { int value = digitalRead(2); dataFile.println(value); dataFile.close(); // シリアルポートにも出力 Serial.println(value); } // ファイルが開けなかったらエラーを出力 else { Serial.println(F("error opening datalog.txt")); } } void dateTime(uint16_t* date, uint16_t* time) { uint16_t year = 2014; uint8_t month = 7, day = 22, hour = 14, minute = 0, second = 0; // GPSやRTCから日付と時間を取得 // FAT_DATEマクロでフィールドを埋めて日付を返す *date = FAT_DATE(year, month, day); // FAT_TIMEマクロでフィールドを埋めて時間を返す *time = FAT_TIME(hour, minute, second); } よろしくお願い致します。

  • Arduinoでリポのセル電圧を測定する方法

    飛行中のリポの各セル電圧のログをとりたいと思っています。 ArduinoでSDカードにログをとろうと思っているのですがどの様に各セル電圧を所得すればよいのか悩んでいます。 各電圧はバランス端子から所得するのですが1つ目のセルの電圧はとれるのですが2つ目の電圧は1つ目の電圧との合計(4.2V+4.2V)になってしまします。3セル目以降も電圧が合計され続けていきます。 6セル目は最高で25.2Vになります。Arduinoは5Vを超えた入力はできないので2セル目以降を分圧で所得してスケッチで割り戻し、1セル目からの引き算で各セル電圧を求める程度しか思いつきません。精度も落ちそうな気がします。 何かよい方法がありましたら教えて下さい。宜しくお願いします。

  • AE-ATMEGA328 MINI外部電源について

    秋月で購入したAE-ATMEGA328 MINI(Arduino pro mini互換)です LED(抵抗入り)が交互に点滅するスケッチを書き込み無事点滅しました。 USBシリアル変換モジュールを抜いてVINに9Vを挿してみましたが点滅しません VINから電源が供給されてない様に思います。 何か使い方間違えているのでしょうか? Arduino pro miniはVCCではなく "RAW"ピンに接続してくださいという記事は見ましたが "RAW"ピンと云うのは見当たらないです。 どなたかよろしくお願いします。

  • 著作権保護対応のSDカードリーダ

    あのぉhttp://www.amazon.co.jp/gp/product/B0001W1HKE/250-2533033-1602614?v=glance&n=3210981 ↑より安いインターネットショップありますか? というかここより安い著作権保護対応のSDカードリーダあるところ 誰かご存知ないでしょうか?宜しくお願いします!

  • PIC18FのUART通信について

    こんにちは ただいまGPSとSDカードを使ったロガーをPIC18F2550で作成しております。 GPSとSDを使うため、UARTのピンが2つ必要ですがPIC18F2550にはTX/RXは一つずつしかありません。 そこで,ソフトUARTで解決したいのですが, CCS Cコンパイラではソフトウェアシリアル通信の機能があるみたいのですが 現在自分が使っているC18だといくら探しても見つかりませんでした。 C18もソフトUART機能はあるのでしょうか?

  • S/PDIFの接続方法

    ビデオカードを購入したのですが、付属のS/PDIF接続ケーブルをマザーボードのどのピン(3つある)に挿すのかわかりません。 S/PDIF接続ケーブル:オレンジと黒のケーブル マザーボードのピン:GND、S/PDIF OUT、+5V の3つ オレンジと黒のケーブルを上記のどのピンに挿せばいいのか教えてください。よろしくお願いします。