GR-SAKURA
GR-KURUMI
GR-COTTON
GR-CITRUS
GR-PEACH
GR-KAEDE
GR-ADZUKI
GR-LYCHEE
GR-ROSE
GR-MANGO(*)
SNShield
Web Compiler
IDE for GR
TOPPERS関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
LEDの点灯をSAKURAで行おうと思っています。Adafruit_Neo_Pixelmasterというライブラリですが,ライブラリのインストール時に,まず「ファイル名には半角英字と数字以外は使えません」というメッセージのウインドウが出てきます。仕方がないので,アンダーバーを削除したライブラリにしますと,上記のメッセージは出なくなりますが,コンパイルエラーとして「・・・・missing `core-dependencies` from library というエラーが出ます。おそらくアンダーバーを消すとライブラリの内部まで変更する必要が出てくると思いますが,良い対処方法はありませんでしょうか?IDEではなくウエブコンパイラーだとこのライブラリは使えるのでしょうか?よろしくお願いいたします。
> Adafruit_Neo_Pixelmasterというライブラリですが,
これですか?
https://github.com/adafruit/Adafruit_NeoPixel
ファイル名は割とどうでもいいと思いますが内部で AVR (か ARM)のインラインアセンブラを使ってる箇所があり移植にはそれなりの労力が要りそうですがその点は大丈夫ですか?
> ライブラリのインストール時に,まず「ファイル名には半角英字と数字以外は使えません」というメッセージのウインドウが出てきます。仕方がないので,アンダーバーを削除したライブラリにしますと,上記のメッセージは出なくなりますが,
いま web コンパイラで確認しましたが 'Adafruit_NeoPixel.cpp' や 'Adafruit_NeoPixel.h' の '_' が含まれるファイル名で問題は出ないようです。
ありがとうございます。当該infでデバイス名がヒラガナ記載からローマ字記載のものに変わったようです。
CardInfoサンプルは、プログラム動きはしてるんですけどinfo読めないみたいです。Arduino用シールドのSDcard。
UNOでは読めているのにSAKURAでは読めないみたい。オシロで波形見てもDigital4のCSとDigital13のSCKは
似た動きしてるみたいなんですけど、なんでだろ。(SAKURAがちょっとSCK早いくらい)
SAKURA裏面のCardでも読めないようです。
初歩的な質問ばかりしていて申し訳ないです。このへんのQ&Aとか、またはビギナーまずここ読んで来いみたいな
ページはあるのでしょうか…?
Arduino では SD カードの CS を標準的には D4 を使って操作しますが GR-SAKURA のオンボードの micro SD では CS は D22 に繋がっており、ライブラリの実装でもデフォルトではそれを使うようなっています。D4 を CS に使用したい場合にはスケッチ中で
SD.begin();
としている箇所を
SD.begin(4);
にしてみてください。
fujitaさん、ありがとうございます。すみません良く判ってないのでご教授ください。。
まずサンプルのCardInfoをそのまま使っていまして、SD.beginは使用されていないようです。
sd.cppのbeginから見るにcard.init()の第二引数で同様効果かなと思ってまして
であればCardInfoではchipSelect=4の数字を変えればD22になるのかな、と思ってます。合ってますかね…?
でchipSelect=22にすると、いきなりのエラーは出ませんが、以降出るはずのinfomationが全然出ず
シリアルモニタが無応答になります。(print使った進度DEBUGはまだ行っておりません)
試したカードは2GBと16GB、フォーマット済、どちらもUNOでは読めています。
また、Cardinfo使用時のSCKの実測は、
SAKURA+ide0.7が400kHz(20us/8clk)、Genuino101+IDE1.6.8が267kHz(30us/8clk)でした。
400kHzなら上限ギリMAXなのでSDの初期化は通ると思うのですが、、
また、ここはあえてSAKURAで速度を上げているのでしょうか?ご教授戴けると有難いです。。
「サンプルのCardInfo」とは
https://www.arduino.cc/en/Tutorial/CardInfo
でしょうか?
const int chipSelect = 4;
の値を 22 に変更した後、ウチの環境では現在 GR-SAKURA の USB の仮想シリアルが動作しないので
#define Serial Serial7
を付け加えてシリアル出力を Serial7 に変えて動作確認を行ったところ、Sandisk 製 2GB の microSD カードを GR-SAKURA の microSD ソケットに刺して動作させたところ
Initializing SD card...Wiring is correct and a card is present. Card type: SD2 Volume type is FAT16 Volume size (bytes): 1975255040 Volume size (Kbytes): 1928960 Volume size (Mbytes): 1883 Files found on the card (name, date and size in bytes):
が出力されるところまでは確認できました。その後の
root.ls(LS_R | LS_DATE | LS_SIZE);
は出力先が恐らくは Serial となっているため Serial7 を接続したターミナルでは確認できませんでした。
USB の仮想シリアルが動作する環境であれば、chipSelect の値の変更と、Cardinfo の 41行目、
while (!Serial) {
となっている行を
while (!Serial || Serial.available() <= 0) {
に変更し、ビルドして生成された sakura_sketch.bin を GR-SAKURA の赤スイッチを押して書き込みスケッチが動作した後、TeraTerm 等を起動し、GR-SAKURA の USB の仮想シリアルに接続した後、TeraTerm 等からエンターかスペースか何か 1文字入力してみてください。恐らくは動作するのではないかと思います。
「サンプルのCardInfo」とは、ide0.7に入っている「ファイル」→「スケッチの例」→「SD」→「CardInfo」です。
ここはide for GRフォーラムなので、それ前提で話していいと思ってました、すみません。
DLして標準で入ってる「スケッチの例」が動かないってのも辛いなぁと思っているところです。
> 「サンプルのCardInfo」とは、ide0.7に入っている「ファイル」→「スケッチの例」→「SD」→「CardInfo」です。
確認しましたが、https://www.arduino.cc/en/Tutorial/CardInfo とほゝ同じ内容なので、先に書いた内容で行番号は少々ずれますが動作確認できると思います。
取り急ぎご報告です、webコンパイラでもide0.7でも、SAKURAのuSD動作確認できました!すみませんでした。。
UNOで動いてたシールドは、いま電源見たら5Vが供給されてない(J2埋めてない)事に気付きました。。
SAKURAのuSDが動かなかったのは多分こちらの勘違いかSerialの変更箇所と思います。失礼しました。。
Arduino 用のSDカードシールドは 3.3V対応してるものでしょうか?
もし使用されているシールドが SD メモリの 3.3Vの信号出力を 5Vに変換する仕組み等があれば、GR-SAKURA にそのまゝ接続するとダメージを与える危険性があるのでよく確認されることをおスヽメします。
J2埋めでシールドのuSD動きました、お騒がせしました。
Cardinfoからの変更点はSPI.h追加とSerial.available条件追加だけでした。
infoが正しくprintされてこなかったのは、ideのシリアルモニタで!Serialの条件が
うまく動いてなかったんだろうと思いますが、ダメなエラーの時に限ってたまたま
ちゃんと吐いてくれたみたいで解釈間違えました、すみません。
SDカードシールドは3.3-5のレベルシフタ付のものです。(秋月のM-08398)
回路図見つけられずアレですがオシロでは3.3でI/Fしているように見えています。
pinは一部のみ5vトレラント…ですよね。写真ピン図の白字の。
GR-SAKURA で5Vトレラントのピンは↓のピンマップに赤の文字で書かれている一部のみであり、
gadget.renesas.com/.../sakura.html
SD メモリからのデータ受信に使う D12 はそれに該当しないので注意は必要ですね。
5V の Arduinoでも SD メモリの 3.3V を昇圧せずに平気で読めるのでレベル変換はされていない可能性は高いと思いますが
akizukidenshi.com/.../gM-08398
www.adafruit.com/.../802
の回路図を探してみたのですがちょっと見当たらないみたいですね。
確認してもらってしまい、申し訳ありません&ありがとうございます。
シールド左上にHC4050が乗ってて、パターンぱっと見でSCI系がそこに行ってる点と、
D12が実測で3.3vなので、きっとレベルシフトしてくれてる、、と信じています。
今しがた無事、TFTも動作しました。
ライブラリ登録ができない(マイナス名称が弾かれる&その他の要因?)ので、ide上タブで
複数のcやらhやらを並べた上、includeをフルパス指定など酷い有様ですが、
とりあえず動いているのでハッピーです。あとはideが更新されるのをじっくりお待ちします!
IDEの更新を検討中ですが、Arduinoのオリジナルが結構変更されていることが分かりました。
少なくともサンプル読み込みでエラーが出ず、パス名の制限が取れるように検討しますが、ちょっと時間がかかるかもしれません。
お疲れ様です!いつまででも待ちますので宜しくお願いします。
人柱必要なら言って下さい、全サンプルのチェックくらいならやれると思います。
手元にはSAKURAとKURUMIしか無いですけど。。
贅沢言えばLチカサンプルは、SAKURA用は別に用意するかコメントにヒントしてあげて欲しいです。
本家verupの為かどうか判りませんでしたが、軽く気付いた2点を書いときます。
・ide4GRの0.7ではSDのFile.openでファイル名をString記入できない?(IDE168では出来てた)
・(*(const unsigned char *)(addr))の結果が16bitで返ってくる場合がありそう。
(Adafruit_ST7735.cppという公開ソースでint変数に上記を入れたら16bitの返事が来た)
(250msくらいのウェイト想定のところで65.5秒待つ状態になってしまってた)
不勉強なんで頓珍漢な事いってたらすみません。よろしくおねがいします。
度々すみません、お聞きしたいです。
SPIを従来のものとは完全に非同期で別にもう1系統使用したいですが、可能でしょうか。
CSで分けるとかじゃなく。
狙っているのは、拡張コネクタCN10の3/4/5/6ピンで、SCK3/SMISO3/SMOSI3を
使いたいです。P14はCSで。
SPI命令の中で、どこかの引数を指定すると使えたりするのでしょうか?それとも
どっか中のファイルを別名コピー&リネーム&ちょい変更&再コンパイルなど必要か、または
完全に1から構築などが必要そうでしょうか。
自己レス。簡易SPIのもう1チャンネルが無事動きました。CN11のPEで。