Arduino初心者熱烈大歓迎質問スレ part11
前スレ
>>995です
私が立てちゃってよかったのか判んないですが、とりあえず立てました。
テンプレ足りないところは補充ください
>>2 新スレ立て乙。
テンプレは前スレそのままのそれでいいと思います。
ところで、Arduinoの地位って何?
ですね
初心者であるという事は、無知やバカであることの免罪符でも何でもないし
甘やかす事も初心者のためにもなりませんしね
ggrksで済ますならこのスレがいらない
あくまでも、”Arduino"に関しての初心者の質問に特化すればいいのではないか
プログラムの書き方とかなんてプログラム初心者スレでいいでしょうし
小学校が学校の授業受けてんじゃないんだから、人に質問する前に極めて基本的なことは自習して理解しておくっていうのは礼儀じゃないかなあ
まあそんなとこでしょうね。
でも時々流れ弾みたいな人が来ることもあるから、その時は
適度に厳しく・優しくするのがいいと思います。
Arduinoで組み込みだのマイコンプログラムを始める人が
いるんだから、質問も相当斜め下になることが多いよ。
他のマイコンでバリバリやってたけどArduinoは初めてなんで、
ここで質問するなんて人はめったにいないからね。
前スレの最後の人は 初めてのC言語 のような本を読んだ方が、まともに上達すると思う。
でないとコピペで満足するダメな奴になる
IDにMSXが入ってうれしい....
12 :
774ワット発電中さん:2014/03/05(水) 23:51:16.87 ID:MSXJj8NG
コピペであれ、とりあえず他人と同じハードウェアがコピペでできる
ところがarduinoの良いところだとおもふ。PICもピン配列とideを誰かが
整備してれば(例えばpiccuino uno のように) シールドみたいなボードが
でてきて、発展したんだろうけど残念ながらPICにはそういう流れが
なかった。。。
13 :
774ワット発電中さん:2014/03/06(木) 10:07:53.05 ID:CkFF8bdO
>>13 上から3冊持ってる
一番上:見やすい、わかりやすい、簡単なことしかやらない。
リファレンスが良いのでいつも読めるところにおいてる。
2冊め、秋月電子好きなら買っておくとイイカモ。わりと秋月で購入できるパーツで話が進む、
ハンダ付け作業でLCDシールドを始めとしたアイテムを作る
3冊目、主に市販のシールドを用いてモノを作る、その分ソースコード多め。
こんなかんじ
個人的にはオライリーのやつのリファレンス部分の秀逸さ、と
たのしい電子工作〜で作成例が出ているLAN接続の自動時刻取得時計が面白かった
つか今も改造しつつ使ってるわこれ。
イーサネットカードの記述が詳しく出てるのはこの3冊目が一番かな。
UNO本体より高いしUNOにつないでも大したことできないしなんだこれ?と思っていたけどいろいろと便利なことがわかった。
本か…、ネットの情報で充分すぎると思うけどなぁ
自分は一切、本は買わなかったよ
ひたすらコード書き込んで試しては、オフィシャルのリファレンスみたりしてるだけで
しらずしらずにプログラミングも覚えたし
個人的には、Arduinoで何ができるかじゃなくて、まずやりたいことを見つけて
Arduinoだとどうやればいいかを学ぶ方がいいと思うけどね
所持されている方如何?と書かれているのに
いきなり自分の主観のみを押し付けるように書き込むのってのはどんなもんかと
いや実際に体感してきてるから一意見としてそう言ってあげてるだけだよ
単なる読み物としてそういう本を買うのは別にいいと思うけど、まともに勉強したいのなら
その金でセンサーや電子部品を買っていろいろ試して壊したりしながら覚えた方が見に付くよ
勉強する時に参考書読むより、実際に問題集を解く方が覚えるようにね
本だと出版された時点で乗ってる情報の鮮度もストップなんだし
結局は読んだだけで満足して後は本棚の肥やしになるのが関の山
目の前のパソコンでArduinoのプログラム書くんだから、Arduinoの勉強もパソコンでやればいいじゃないですか
本からはコピペもできないでしょ
超上から目線な意見、全く参考になりません、ありがとうございました。
言ってあげてるだけ?いえ結構ですので。
Arduinoに限っていえば
本家のリファレンスやライブラリの動作ををひとつずつコピペしながら試すだけでも
かなり理解できるようになるよ
本なんて入り込む余地あるかな?
「Arduino入門書を買わずにArduinoを使いこなす」って本を書けば?
22 :
774ワット発電中さん:2014/03/06(木) 16:14:38.10 ID:3zBkpm8L
みなさんレビューありがとうございます。
>>14さんのサイトはすごく良いのですが自分に合わなくて・・・
サイトの情報見ながら実機を触るにしても
例えば算術演算子とか書かれていて具体的に何を動かすとかに
なかなか結びつかないのです。
書籍の場合は1章LEDを点滅させようとか
順にレベルアップして行けるように書かれているので
リファレンス的なものよりも真似をして動いたというものが良い感じです。
>>15なんとなくみんなのArduino入門で基礎力付けステップアップして
たのしい電子工作 Arduinoで電子工作をはじめよう!に手を出すのが良さげですね。
自分にはまだイーサネットカードは敷居が高そうです。
電子データーで縮尺が合ってないとかあり得ないレベルw
25 :
774ワット発電中さん:2014/03/06(木) 17:09:29.72 ID:3zBkpm8L
その本の姉妹編 ボクの電子工作ノートもやっぱりちょっと小さかった。
しかし他の人のパソコンとプリンタで同じことになるかはわからん。
Arduino入門の心得 1.0.10p1
・質問は霞ヶ関でも通用するような完璧な形式に。
・過去ログは紀元前までさかのぼって完全に調べる事。
・新機能ができても細部にこだわってできるだけリリースしない。
・「正しい」か「誤っている」かを結論づけないと気が済まない性格になる事。
・質問自体は無視して語句の間違いの指摘に熱中する事。
・初心者を見たらできる限り冷酷に排除。
・回答は1行以内で簡潔に。 例:RTFM
・古いバージョンを使っていることがわかると最新にしろという。
・一日三回食後必ずGalileoをあざ笑う事。
・自分の状態に「自覚症状」を持たないこと。
・ウインドウズはエロゲに限ってやむを得ず。
・Yunは邪悪なArduino。
・板違いの質問をしたAndorioderを徹底的に叩く事。
・forkする時はアニメ絡みの名前をつける事。
・気に入らない投稿が流れてきたらメールアドレスも含めて全文コピペ
・意味もなく全角英数字を使うやつは小一時間問い詰める事。
・実際より大きく万能である事を見せるために*duinoと表記する事。
・Diecimila, Duemilanoveと正しく表記しない奴はこの世から抹殺する事。
・探してるソフトがオープンソースでなかった場合、素直に入れるのを諦める。
・PIC版しかないソフトは公開者に抗議し、決してPICエミュなど使わない。
・*duinoが常に陰の存在であり続けるように努力する。
・オープンソースとかいう新参のあいまいな概念は利用しない
・公開者とかいう意味不明な概念も無視する
『BSD入門の心得 1.0.10p1』の改変
作りたい物ありきではじめるか なんか面白そうだからで始めるかで合う本もかわるよね
俺は前者だったんでどっちかというと辞書的な内容の本のほうが役に立った
本は一冊でも持っておくといいんじゃない派
全く読まないとしても半田付けする時の敷物にはなるしな。
そんなん金出さなくても手に入るやん
Teensy Ver2とダ ヴィンチはともにATmega32u4使っているようですが同等品と考えていい?
今日初めてarduino触ったばかりの超初心者です
一度USB抜き差ししたらarduino.exeがシリアルポート認識してくれないんですけどこれどうしたら?
デバイスマネージャでもエラーが出てドライバの更新や再起動試したりしたけど上手くいかないですし・・・
PCとArduinoとUSBケーブルを交換してみ
36 :
774ワット発電中さん:2014/03/09(日) 18:53:32.24 ID:TJsPNvk/
別のUSBポート
usb引っこ抜く
arduino.exeを一旦終了
arduino.exeをもっぺん起動
usbを差す
でどう?
別のUSBポートもダメっす
windows8だとなんかまずい?最初は全く問題なく使えたのだけど。
arduino.exe起動し直してもだめか
ちなみにarduino unoになんか配線繋いでる?
間違った配線してショートしてるとICが立ち上がらなくて認識しないってことがある
さっきからは何も繋いでないです。
電源は入るし、Blinkのスケッチを再生しているから問題ないと思ったんだけどどうなんでしょ。
シリアルポートの番号が変わってるだけじゃね?
放置してからUSB挿したら治った何これ怖い
デバイスマネージャ見たらエラー出てたCOM3の次に正常なCOM4出来てた
なんか良くわからないけどありがとうございました
Win8のセキュリティがイタズラしてんじゃね?
まったくセキュリティーだのサポートの期限だのめんどくせえ事になったな
作者が素人だし仕方ない
48 :
774ワット発電中さん:2014/03/11(火) 11:53:40.94 ID:7Yv78RCF
ネーミングがなんとも><
値段があきずっきーのの2倍するのも残念
パーツ代(基板+部品)だと1300円で安い感じがするけど
これMOSI/MISOとかのピン位置が標準と違うから
シールドによっちゃ乗らないね、なんでこんな位置にしちまったんだよと思った。
50 :
774ワット発電中さん:2014/03/11(火) 17:38:34.38 ID:uUF9cM4w
面実装のFT232、ハンダ付け出来るのか?w
SOPになれててもSSOPは結構ハードだよ。
食んだブリッジして泣きながらここに来るやつがいそうな予感w
>>50 ブリッジしてもなにしてもハンダのせて、あとから吸うんだよ。
http://docid81hrs3j1.cloudfront.net/contents/large/1139_1.jpg 上の画像のようにWAVEシールドにスピーカー直結しても音が小さい場合はどうすればいいでしょうか?
プログラムは下記です。スイッチを押すと1.wavがなるという仕組みです
#include<WaveHC.h>
int sw =7;//スイッチを7番に接続
SdReader cardReader;//SDカードのリーダー
FatVolume volume;//ボリューム
FatReader root;//ディレクトリ(ルート)
WaveHC waveFile;//ファイルのプレーヤー
int lb=LOW;//ボタンの状態を保存
void setup(){
pinMode(sw,INPUT);//ボタンのセット
if(!cardReader.init()){//カードリーダー初期化
}
int part=0;//パーティション検索
for(part=0;part<5;part++){
if(volume.init(cardReader,part)){
break;
}
}
if(!root.openRoot(volume)){//ボリュームのルートディレクトリをオープン
}
}
void loop(){
int st=digitalRead(sw);//現在のスイッチ情報読み取り
if(lb==LOW&&st==HIGH){//スイッチが押されたら「onPress」を実行
onPress();
}
lb=st;
delay(10);
}
void onPress(){//スイッチが押された時の処理
FatReader file;//再生するファイル
if(!file.open(root,"1.wav")){//ファイル開く
}
if(!waveFile.create(file)){//ファイルセット
}
waveFile.play();//再生開始
while(waveFile.isplaying){//再生中の場合10ms待って状態チェック
delay(10);
}
file.close();//ファイル閉じる
}
>>54 ボリューム前回でも小さいんです
ゲームボーイに使用されているような小型スピーカーを使っているんですけど、それが原因ですかね
・WAVEファイルを編集して音量を上げる
・スピーカー変更
・外部アンプ接続
どう見てもスピーカードライブさせる回路に見えないので
これをなんかのライン入力にぶちこむのがよろしいのでは?
スピーカーの裏面からは逆位相の音が出てるので遮ってください
圧電スピーカーにするとか
突然失礼します。
先日、ArduinoUnoR3を購入したのですが、UnoをPCに刺してもPCにドライバがインストールされません。
PC自体もUnoを認識していないようです。
他のPCなら問題なく動くのですが、そのPCのみ反応しないのです。
どうすればよいでしょうか。
環境はwindows8.1 32BitのASUS T100TAです。
よろしくお願いします。
そのPCを買い換える。もしくは使わない。
Arduinoは素人お断り
自分で解決できなければあきらめろ
何のためのこのスレやねん
>>62 1mなんて余裕だろ。誤差の範囲にもならない。
I2Cは機器内通信規格
伸ばすことは想定していない
>>60 ASUS T100TAってUSB 3.0のようですね、最近USB 3.0のPCが外付け機器を
上手く認識できないトラブルをいくつか掲示板などで見かけました。
USB 2.0のポートがあればいいのですがなければUSB Hubを間に接続すれば
上手くいくかもしれません。
Arduino UNOなどをUSB 3.0で使えている方はいますか?
68 :
774ワット発電中さん:2014/03/13(木) 18:53:07.02 ID:XcTdrSz0
宇野でだめなら高松に渡ろう
70 :
62:2014/03/13(木) 19:22:30.43 ID:gGKC+7Vb
I2Cは条件によって最適なプルアップ抵抗の値は変わるが、Arduinoのライブラリでは内蔵プルアップを
有効にしてるだけなので条件としては最適とはいえない。
実験するならライブラリに手を加えて内蔵プルアップを禁止した上で外部プルアップ抵抗の値をいくつか
用意して試してみるとかやってみるべき。まあ、1m程度ならそのままで余裕で大丈夫だとは思うが。
72 :
yugo:2014/03/13(木) 19:40:02.37 ID:S3mTcagq
ありがとうございます。
直りました。
・・・・・・てか時間かかりすぎました
誰だお前
74 :
62:2014/03/13(木) 20:01:32.34 ID:gGKC+7Vb
>>71 ありがとうございます。
1mくらいなら大丈夫な気はしてますが、いずれにせよ、部品を入手して試してみます。
気休めかもしれませんが、I2cの配線を2芯シールド線にするとノイズに強くなりますか?。
>>74 I2Cは、企画上線路容量400pFまで。同軸は、容量注意。
どっかのスレで、ここ1か月くらいて話題になった。
今更ですが
>>43です。
arduino側のUSB端子が奥まで刺さっていなかったせいで認識されなかったようです
その状態でも電源は入っていたので、結果的には単純で恥ずかしいミスでした
アドバイス下さった方々失礼しました
79 :
774ワット発電中さん:2014/03/13(木) 23:39:03.89 ID:2rVBcmUr
arduinoってスイッチつけてキーボードにしたり、
アナログスティックつけてマウスやジョイスティックにしたりするのに
なんでLCDつけてUSBモニターになるようにはしないのだろう?
USBモニターはUSB標準クラスじゃないからかな
それとLCDつってもarduinoで満足に処理できそうな範囲が
低解像度のGLCDかCLCDぐらいだからな
81 :
774ワット発電中さん:2014/03/13(木) 23:58:38.05 ID:XcTdrSz0
それは1990年ごろのi386マシーンで2014年のPCアプリを動かせ
USB2.0のHiSpeedでベタ転送できずに圧縮展開負荷が高すぎてダメ出しされ
3.0のSuperSpeedようやく実用ぐらいの話なのでFullSpeedではお察し
つーか用途がサブモニタならタブに無線で飛ばした方がいいし
何でいきなりサブなのかわかんないけど
SPIでメインモニターにするの流行ってるんじゃねの?
85 :
774ワット発電中さん:2014/03/16(日) 12:29:15.39 ID:YjFoL9cw
これから始めようかと思っている者です。半田付けや工作はできます。
Arduino UnoとAfdafruit Mentaってコンパチなんでしょうか。
Unoの解説をみながらMentaで始めても問題ないでしょうか。
87 :
774ワット発電中さん:2014/03/16(日) 19:44:12.04 ID:RHMk5MV9
昨日Uno届きまして、昨日までは問題無かったと思うのですが、
なぜか今日はPCに繋いでUSB給電している時に不定期でリセットがかかります
※ディスプレイのハブ経由でも×
ちなみに充電器から直接給電だと大丈夫でした
あとはなぜかシリアルモニタを表示している間も大丈夫なようです
これは仕様でしょうか?
ケーブルがイった♂とか
89 :
774ワット発電中さん:2014/03/16(日) 23:42:42.11 ID:7XpzGh5H
MIDI信号を入力してその中から指定した8ch分をそれぞれ別のスピーカーから鳴らしたいのですがarduino Unoでは無理でしょうか?
容易く可能
>>87 あんたのPC内の誰かがシリアルポートにチョッカイ出してるんだよ。
とりあえずウイルスチェックしてみることさね。
92 :
87:2014/03/18(火) 22:38:43.30 ID:STfUIzlg
ケーブル交換しましたがダメでした
>>91 どうやらPCのせいっぽいです
他のPCだとOK
USBHUBへ差しただけだとOK、これを問題のPCへ接続した途端発症する
って感じでした
1日目は大丈夫だったのに・・・謎です
デバイスマネージャで電源管理あたりの設定変えてみたらどうよ?
94 :
87:2014/03/19(水) 17:28:12.87 ID:ZQmkVLXw
ありがとうございます
英単語でググったらsonyericsson〜とあったので、スマホ用にインスコしていた
SonyPCCompanionのプロセスを落としたらあっさりと直りました・・・
どうやら1日目はたまたまそのプロセスが落ちていたみたいです
お騒がせしました・・・orz
良かったねε-(´∀`*)ホッ
96 :
774ワット発電中さん:2014/03/21(金) 15:50:41.94 ID:TZ9J7oF/
人に依る
スイッチ1を押したらバックカメラON-OFF
スイッチ2を押す度にバックカメラ-サイドカメラが切り替わる
みたいな車載カメラの制御をしたいです。
車のACC電源から直で電源取って直でカメラに12v 250mA渡す(リレーなしで)。みたいな使い方はできるのでしょうか?
できません
>>98 その程度ならArduino使わずに普通のプッシュロックスイッチだけで済むんじゃね?
つか、ビデオモニターのリモコンにそんな機能普通にあるっしょ
>>99 んー。出来ないですかね?
>>100 ハンドルについてるスイッチで操作したいのとカメラは長時間付けっ放しにしたくない(かなり熱くなる)ので必要な時だけ給電したいのです
102 :
98:2014/03/22(土) 01:41:09.73 ID:dWiKT/9U
ナビにはカメラ画面呼び出しスイッチ(モーメンタリー)があります。
フリップフロップリレーを使って回路を試作してみて、スイッチ押すとナビのカメラ画面呼び出し&カメラに給電、もう一度押すと元の画面に復帰&給電終了。っていう所まで出来たのはいいけどいつの間にかON-OFFがズレてきて
103 :
98:2014/03/22(土) 01:41:45.98 ID:dWiKT/9U
(続き)
案内画面でカメラON <-> カメラ画面でカメラOFFみたいになってしまいます。
そこでスイッチ押してから30秒だけ給電とか、ダブルクリックで強制OFFとかプログラム次第で柔軟にやれそうなarduinoに目を付けた訳なのです。
USBHostShieldで複合デバイスとして認識されるキーボードを
利用したいんだけどどこかに情報ある?
105 :
774ワット発電中さん:2014/03/24(月) 08:45:05.86 ID:l4fqP4XP
106 :
774ワット発電中さん:2014/03/27(木) 14:00:50.20 ID:rICF1ok/
Galileo用のIDE(v1.5.3)でArduinoで使ってたスケッチコピペしてコンパイル検証するとエラーでまくり。。。
Arduino互換じゃないのか...Waveシールドのスケッチコピペで以下のエラー。
原因のわかるかたいますでしょうか。
Arduino: 1.5.3 (Windows NT (unknown)), Board: "Intel&#174; Galileo"
In file included from C:\arduino-1.5.3\libraries\AF_Wave/sd_raw.h:15:0,
from C:\arduino-1.5.3\libraries\AF_Wave/AF_Wave.h:5,
from PlayAllLoop.pde:1:
C:\arduino-1.5.3\libraries\AF_Wave/sd_raw_config.h:88:6: error: #error "no sd/mmc pin mapping available!"
PlayAllLoop.pde:2:26: fatal error: avr/pgmspace.h: No such file or directory
compilation terminated.
This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
エラーメッセージくらい読めよ
はぁ?客をなんだと思ってんの?
王様になってからおこしください
110 :
774ワット発電中さん:2014/03/27(木) 17:23:34.82 ID:rICF1ok/
お気を悪くされたようで申し訳ありません。
当方プログラムに疎くlibraryフォルダのファイルがなぜ認識されないのかどうしても解決ならず投稿しました。
失礼しました。
>>110 > 当方プログラムに疎くlibraryフォルダのファイルがなぜ認識されないのかどうしても解決ならず投稿しました。
そもそも Galileo の Arduino IDE 1.5.3 に
> In file included from C:\arduino-1.5.3\libraries\AF_Wave/sd_raw.h:15:0,
> from C:\arduino-1.5.3\libraries\AF_Wave/AF_Wave.h:5,
こんなファイルないだろ。
112 :
774ワット発電中さん:2014/03/27(木) 21:38:54.28 ID:FMQwSsPt
PL2303HXのUSBTTLコンバータモジュールとarduino mini proで
RX−TX TX-RX Vcc GND 接続してもarduino IDE書き込み時
よくあるnot syncエラーになってしまう。コンバータのLEDの
RX TXいずれも点灯しないから通信できてないっぽい。
秋月のFT232RLモジュールでは書き込めるんだよね。
何でじゃろ?何か足らんのかな?
arduino IDEはポート6か7で認識してるようだ。
>>112 DTR 信号ないところでリセットどうやってる?
114 :
774ワット発電中さん:2014/03/27(木) 21:59:37.17 ID:FMQwSsPt
最初PL2303HXの2番ピンから引き出して0.1マイクロのコンデンサ介してDTRにつないで
arduino pro miniのDTRにつないでたんだけどやはりnot in syncが出るんでこれは
関係ないかと思ったんだけど必須?
なぜコンデンサを介す?
つか実際の信号見ないとDTR信号が機能してるかも分からんけど、敢えて動くかどうかも分からん
アダプタ試す意図も分からん。個人的チャレンジならこんなとこに投稿する意味はないのでは?
DTRなくても、転送までは動くわな。自動リセットがきかないだけで。
117 :
774ワット発電中さん:2014/03/28(金) 09:23:09.94 ID:IwIXhOIg
>>113 すみません説明不足でした
> In file included from C:\arduino-1.5.3\libraries\AF_Wave/sd_raw.h:15:0,
> from C:\arduino-1.5.3\libraries\AF_Wave/AF_Wave.h:5,
このファイルはネットから拾ってきたものをGalileoのlibraryに入れてあります。
ファイルはあるのに認識してくれないという状態です。Arduino IDE v1.0.5では同じ手順で問題なく動作しています。
118 :
112:2014/03/28(金) 13:14:16.84 ID:QcvhoY1e
解決した。ネット上ではコンデンサかましてたんだけど
直結したら難なく出来たよ。うれちー さんくす
>>117 AF_Waveは一部コードがArduinoに載ってるマイコンAVRに依存した内容になってるから
Galileoで動かすには持ってくるだけじゃ無理。移植作業が必要。
ACアダプタから電力供給する場合、
DCジャックは7V以上で、5Vピンは安定化5Vで大丈夫でしょうか?
あと5Vピンから直接供給した場合、USBは繋ぎっぱなしでも大丈夫ですか?
121 :
774ワット発電中さん:2014/03/28(金) 17:44:33.71 ID:IwIXhOIg
>>119 なるほど理解しました。ありがとうございます。
依存しているコードを自分で書き換えなければならないわけですね。。。
現時点でキャラクターLCDとArduinoで、車のOBD信号をモニター(バッテリー電圧)していますが
LCDではなくカーナビの画面に表示させるには何が必要でしょうか?
ビデオ信号かHDMIかでも違うとは思いますが。。
arduino dayとかいう地球規模のイベントが行われたみたいだけど
日本は完全に無視されたようだなorz
125 :
774ワット発電中さん:2014/03/31(月) 23:24:01.14 ID:FkzwlHUC
うーん・・・不思議な現象がありました。
SDカードを使用しようと思ってSDカードのGNDを繋ぐときのことです。
デジタルピンが並んでる側のGNDピンに繋ぐ→正常に動く。
アナログピンが並んでる側のGNDピンに繋ぐ→正常動作しない。
デジタルピン側のGNDとアナログピン側のGNDは性質が違うのでしょうか?
両者をテスタでチェックしたら通電したので、違いはないと思うのですが・・・。
何度やっても上記現象は再現します。
このような違いが出る原因はなにかあるのでしょうか。
126 :
774ワット発電中さん:2014/03/31(月) 23:55:18.90 ID:NSTUSo3L
お祓いしなさい
接触不良なのでは
一回コネクタをもぎ取って新しいのを付けてみるとか。
arduino yun買ってネットの世界と繋がろうず
技適認証なしで両手が繋がります
>>122 OSD ICのMAX7456を中継すれば良いと思うよ
wifi殺したyunなら日本のディストリビューターから買えるよw
yunの送信する電波の電界強度ってどのくらいなんだろう?
125です。
GNDとかそういうことではなく、USB接続しているとSDカードの読み書きが不安定になるようです。
(ちなみに0番や1番ピンは未使用にしてます。)
試しに5Vや9VのACアダプタだけでarduinoを動かすとSDカードへの読み書きは安定動作しました。
ACアダプタだけ、というのがポイントで、ACアダプタ+USB接続にするとSDカードへの書き込みが不安定になるようです。
なぜこんなことになるのでしょうか?
125です。
相変わらず原因がわかりません。
SDカードの消費電力が関係してるのかと思って電流調査を試みました。
ACアダプタとarduinoとSDカードを繋いでACアダプタの電流をテスタで調べる→SDカードは正常動作せず
ACアダプタとarduinoとSDカードを繋いで動作確認する→SDカードは正常動作する
なんと、テスタを直列に入れて電流測定をしようとしただけでSDカードへの読み書きができなくなりました。
USBとかテスタとか、余計なものを使用するとSDカードへ読み書きができなくなります。
誰か、原因を教えてくれーーーー!
テスターの内部抵抗は考慮してます?
>>134 arduinoとシールドの種類を書いた方がレス付きやすいんじゃない?
もっとも、GNDの位置が〜とか言ってるあたり、シールドじゃなくて自作っぽいけど
解を導き出すための情報が少なすぎと言うか〜無いに等しいので答えようがない・・・
125です。
すいません。
情報整理してブログかなんかに写真も貼り付けて、改めて質問します。
とにかく変なんすよ。
人類が未だ発見していない物理法則があるのかもしれません。
139 :
774ワット発電中さん:2014/04/03(木) 23:14:37.96 ID:Fnfz7ran
通電中にGND抜くとは度胸あるなあ〜
141 :
774ワット発電中さん:2014/04/04(金) 16:58:52.69 ID:/3W53EEK
昨日arduinoを購入した者です。
arduinoをはじめよう第2版、P.58、図5-7の
スケッチを教えてください。本に書かれていなくて困っています。
そんなことここに書かれても困るよ
出版社か著者に困っていますてメールだしなよ
>>141 モーターの奴?
たとえばこんな感じで使いますって例を示してるようにしか見えないんだが…
webで似たような作例を探したほうがいいんじゃない?
145 :
774ワット発電中さん:2014/04/04(金) 22:05:42.13 ID:jekEDz1e
デブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ね
デブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ね
デブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ね
デブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ね
デブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ね
デブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ねデブ豚死ね
125です。
結局、誰からも有力なアドバイスをもらえませんでした。
にちゃんねるの技術班も大したことないですね…。
>>152 SDカード基板の型番すら教えてくれないんじゃ手元で再現すら出来ないよ。
他に同様の現象が出てないんだからまず手元で再現が出来ないとそれ以上調べようも無い。
ところで本家本元には質問投げてみたのかい? にちゃんねるの技術班と違って
arduinoを開発した連中が居るんだから有用な回答も得られるんじゃないかい。
回答がきたらここで共有してくれや。
>>152 別にもう片方のGNDで問題なければいいんじゃないの?
つうかarduinoの3.3vをsdに渡しちゃってるから電流が足りてないんだろうね。
せっかくレギュレータが乗ってるのにw
スケッチ丸パクリだと応用利かなくてかなしいね(´・ω・`)
SDメモリってものによっては200mAくらい流れるから
SDの給電線なんでしょ
パスコンとかビーズとか入れてみたらどうよ?
Amazon で Galileo が \4980 + 送料 (パソコン工房販売発送
在庫処分かなぁ
なんでガリレオなんか作ったんや
159 :
774ワット発電中さん:2014/04/10(木) 01:34:30.65 ID:BEqANX00
・Arduino Uno
・USB ホストシールド 2.0
・PLANEX Bluetooth Ver.4.0 ×2
(一つはPCに、もう一つはホストシールドに接続)
を使ってPCからBluetooth経由でArduinoを遠隔操作しようと思うのですが、
これでできますか?ちなみにPCはwindows7です。
ぐぐれば似たようなことやってる人はすぐ見つかると思うし、こんなとこで聞くよりかそれ参考にしたほう早いと思うぞ。
>>49 1000円の互換機キットが ちっちゃいものくらぶ にあるよ。 表面実装済みだし、1602液晶も付けられる
163 :
159:2014/04/10(木) 17:50:31.06 ID:BEqANX00
お二人返信ありがとうございます。
それで昨日書いた機器を使ってpcとarduino間の
bluetooth経由での接続を試みているのですが、
一応arduinoはpcに認識はされているみたいなんですが、接続ができません。
原因分かる方いますか?質問ばかりですいません。
ペアリングが出来ないって事?
165 :
774ワット発電中さん:2014/04/10(木) 21:59:45.90 ID:BEqANX00
>>164 ペアリングはできているし、ステータスも検出済みとなっているのですが、
なぜか"サービスの検出に失敗しました"と出て接続できないんです。
166 :
774ワット発電中さん:2014/04/11(金) 12:03:44.81 ID:EE1V9zjK
既存のRS-232C機器をBT化したいのですけど、市販のシリアルBT変換アダプタだと2万前後ぐらいするのですが
Arduinoで実現しようとした場合のコストもこれぐらいかかったりするのでしょうか?
>>165 セキュリティの問題か?
それとも外部ノイズの問題か?
OSを変えてLiveUSBなLinuxを使ってテストしてみてはどうだろう
169 :
774ワット発電中さん:2014/04/12(土) 13:42:46.81 ID:0SN7zisr
学校で半年間Arduinoについて学習することになったのですが
「金曜までに何を作るか決めてこい」と言われました
まだ始めたばかりで右も左も分からないのですが
イーサネットシールドを使って何かしようと考えています
センサなどで得た値をホームページに表示するなど、ごくごく簡単なものは思いつくのですが
何か面白い案はないでしょうか
ホームページに表示するのをツイッターにつぶやくよう変えるだけでナウい感じになるよ。
確かにナウいな
>>170 イーサネットシールドなら
タイムサーバーから時刻を取得する時計とかが簡単
個人的なおすすめはGPS作成だな。
何年か前に作ったけど
仕様書、要件まとめ
部品、Aduino GPS 液晶 SDカードスロット 電源
各パーツの使用確認
ブロック構成図
各パーツの動作検証
ハード設計(最小構成での起動)
ソフト作成(最小構成での起動)
動作確認と問題点の洗い出し
(試作型)組み合わせ方法検討
ハード設計(試作型)
ソフト設計(試作型)
動作確認と問題点の洗い出し
完成形の検討
以下サイクルで。
資料こんなに作れるよ!俺H大学ノート3冊使った。
つか、きちんと書いたらバカ売れの入門書になりそうだなこれ。
持ち運べて、移動速度進行方向と座標と、開始地点からの移動距離と
SDカードに日時でファイル名で、簡単なコンバータプログラム流せば
GoogleMapで移動履歴がわかるような仕掛けが
5000円以内で作れる。
俺H大学ノートってなんだよ!エロい妄想でも書くのかよ!
ということで俺は大学ノート、いわゆる東大ノート3冊使った
に脳内変更してください。
まぁ、勉強だからそれでもいいのかもしれないけど、それGPSロガーまんまやんか。
一緒に温度センサー付けて24H体温測りながらログを取るとか面白そうだけど?
うん、GPSロガー作りたかったのよ。
表示された座標を見て、緯度経度を引いた地図(これは紙のね)に
その座標を合わせて現在位置を確認できるような何かって感じのを。
ブツは今家のヨットにつけちゃった。
ブートローダとか作るのスキップできるから楽だよね。
自転車乗る人なら自転車のマルチメーターとか作ると楽しいよ。
タイヤの直径(周長)と一回転のセンシングができればあとは簡単。
初め普通のArduinoで作って行って、最後に本体チップ+最小の構成で本体を作るようにする、とか。
マグネットはCATEYEの市販のセンサーマグネットそのまま使って、あとはリードスイッチで検出させればおk。
俺はPIC流行ってた時にPICで作っちゃったけどね。
>>179 小さくっていうと、こういうのとか
www.kickstarter.com/projects/1516846343/microview-chip-sized-arduino-with-built-in-oled-di/
>>170 便所に付けるウンコのニオイセンサーとか(その代わりウンコは家でする)。
臭いの強さで何かがわかるかわからんが、
自動送信でウェブサイトにアップ。
食ったものと一緒に半年記録つけて関係性を探ったり。
応用としては独居老人の体調管理に使えそうだが。
写真も上げてもいいが、本人を含めて誰も見たくないだろうから。
ドクター中松がやりそう。
小型VideoカメラとOn Screen Display、Head Up Displayを使ってスカウター作れ
一瞬ショートさせたら、
スケッチはそのままはしってるんだけど、パソコンからスケッチ書き込めなくなったorz
これってマイコンじゃなくて周りが焼けたのかな?
>>184 usbポートが過電流で停止したのでなくて?
>>184 基板面を良く見てみよう
リセット回路のコンデンサがはじけてないか?
虫眼鏡持ってきて半田付け格闘だな
>>185 抜いたり電源落としたりしてなんどか送ろうとしてるのだけど、
スケッチを送ると一応rxtxはちょいちょい光るんだよね
でも、肝心のスケッチはショートさせる前のが走り続けるだけ
>>187 プログラム書き込む時にエラーメッセージでてない?
例えば↓みたいの
??avrdude: stk500_getsync(): not in??sync: resp=0x00
パソコンは再起動してみた?
PCのUSBが焼けきれた悪寒
まぢすか?orz>PC側が焼け切れた
焦げたにおいがしたのはArduino側だったんですが…
仕事から帰ったらも一回PC起動して試してみます。
USBメモリとかちゃんと認識してくれたらPC側はセーフということでおk?
パソコンによってはPCが焼き切れて壊れるのはよくある
なにそれこわい。
そんなのよくあったら困るので、ミス防止する方法教えてください。
セルフパワーのハブにでも繋げばいいんじゃね
>>193 俺はアイソレートして使ってる。
GNDがPCと別になるのでアナログIFなんかにも効果絶大。
196 :
774ワット発電中さん:2014/04/18(金) 22:45:02.02 ID:4U2i0SDb
Galileoでパソコンにマウスとして接続して操作するのがしたいのですが、
ぜんぜんうまくいきません。
sketch_apr18a.ino:2:3: error: 'Mouse' was not declared in this scope
というエラーが出ます。
どう解決すればよいのでしょうか?
エラーメッセージに理由が書いてあるよー
このscopeの中で「Mouse」は宣言されてません。
199 :
774ワット発電中さん:2014/04/19(土) 00:27:49.03 ID:CzMdtGfL
[ ]{ } ;() を再チェック
>>184です
焼けたと思われるarduinoのAtmega328を
スイッチサイエンスで売ってるブートローダー書き込み済みのものと交換したら
問題なく書き込めるようになりました。
PCのどのusbに刺しても問題なく書き込めたことから
単にマイコンが焼けてただけだと思われます。
お騒がせしましたm(_ _)m
201 :
774ワット発電中さん:2014/04/19(土) 12:00:23.18 ID:CzMdtGfL
パソコンのボードにダメージあたえてしまうとショックでかいよな。
光カプラのICでアイソレートできんのかね?スピード足らんかな
USBアイソレータが4000円くらいで売ってるからそれを使うといいよ
400円か、まあこの位ならしょうが・・・・え?!
どーせ別電源にするならシリアル通信のところで絶縁すれば500円くらいですむよ
別途usb-rs232変換が必要だけど
一回壊してみるのもいい経験だ。
できればノートPCでな。
もうラズベリーパイでいいや
209 :
774ワット発電中さん:2014/04/19(土) 17:00:56.73 ID:CzMdtGfL
>>206 よくねえよww
携帯の充電やディスクの読み込みや扇風機などかつてないほどUSBへの
依存度は高い。1.0の頃はIEEE1394が出るから将来はなくなるのでは?
といわれたこともあったんだがな。CPUやメモリへの負荷が高かったし。
結局ハードウエア性能向上という力技で忍いだ感じだな
パワードハブかませるのは
電子工作の常識みたいなもんだろ。
USB腐っても電源なんだから
>>208 raspberry pi なら尚のこと。
パワードスーツ
>>210 俺は電源じゃねぇ(゚Д゚)
とUSBが申しております。
Universal Supply of Battery
Universal Speed Battery
Uragaesuto Sasaru Bakanakikaku
Ultra Serial Bus
うちのUSBハブはバッファロー製だから裏返しでも刺さるや
今、両面刺しできるのとか
マイクロusbっぽくみえて実はMHL1.0 (11ピン) とか
イカレ始めてきてるusb型コネクタ
急いで刺そうとすると、逆で入らないマーフィーの法則。
両面さしはUSBと言っていいのかな?
USBのコネクタって今から見ると欠陥設計だよなぁ。
外周に金属エッジが剥き出しなので相手を傷つけ易いし裏表も
判りづらい、もうちょっと考えて設計出来なかったものかな。
>>221 1回目差してダメで、2回目裏返してダメで、3回目で刺さるって言うのは
1回目にこっちかなと思いながら軽く差すからダメなのであって
はじめからぐっと力を入れて差せば刺さるよ
うん、一回コネクタ折れたことあるよ
金属むき出しなのは避雷針の役目だし
USBのロゴみれば上下左右は間違えないのだが
人間は勝手だな、とUSBが申しております。
あれはGNDだって聞いたことがある
>>224 残念ながら、方向があるのにロゴが両面に刻印されてるコネクタもあるし
差込口が裏表逆の製品も存在する。
いつでも♀ってのはフリーダムで
それに併せるのが♂の運命なのかな・・・
USBを逆刺しする可能性は
周辺機器の値段に比例する
>>216 差し込む時に全ピンがショートするらしいApple Lightningコネクタの悪口はやめてください
コネクタのロック機構はオプションであってもよかったよな。
DCモーターをpwmで制御してて、
一瞬だけ出力切ってanalogReadで逆起電力測ってるんだけど
測れるときと0が返ってくるときがある。
なんでだ??
analogReadで見れるような変動速度なんかな
>>234 鶏が先か卵が先かのような問題になりそうだな
オシロってどれぐらいの周波数帯域あれば役に立つの?
Arduinoオシロで十分なの?
その前に計りたい用途を考えるべき、それにあわせてオシロを選ばないと
238 :
774ワット発電中さん:2014/04/25(金) 22:49:57.49 ID:qA12QmBc
DCモーターの起電力?(電流?)測れる?
テスターだと無理だった。
そのテスターが入ってきた波形をどういう処理や計算をしてるかが問題かと
どの程度知りたいのかにもよるけど
直流発電機の電圧が測れないテスターってどんなんだ
241 :
774ワット発電中さん:2014/04/26(土) 07:07:10.74 ID:lqCB35zc
Arduinoオシロってサンプリング50kくらいが最大だっけ?
それじゃ全然使い物にならないから最低でも秋月や共立の3〜5万のオシロがいいよ。
プロじゃないので最高でも5000円ぐらいでなんとかお願いします。
無理、学校かどこかからオシロ借りましょう
産廃扱いのアナログオシロならけっこうその辺に落ちてるから拾ってくればよいだろう。
>>242 九工大Arduinoオシロは、等価時間サンプリングで、最大1MSPS
>>246 いまどきの安オシロの1000分の1か。
使えねーな
九工大Arduinoオシロ性能だとどんな用途で使えますか?
>>247 5000円で買える1ギガの「安オシロ」を教えてくれ
おもちゃと思って DSO ナノ
ソーナノ?
パソコン代は含まれない謎
PCのサウンド機能でなんとかするだァーッ!
>>250 それ使うとモータードライバが作るパルスとか測定できるの?
arduinoでコンデンサの容量を測るのってどうやればいいですか
arduino pro miniの在庫が少ないのはなぜ?
そのうち新しいのでる?
1000円台は魅力的なんだよなぁ
A:売れないから
ちびでぃ〜のなら500円送料込み
中華pro miniは完成品が送料込み280円()
proって素のAVR使うのと何が違うの
どの辺がproなの
>>262 尼は中華詐欺師が多く出品してるからな
買うヤツはいないと思うけど届いたら中華コピーとかって感じなんだろうね
264 :
774ワット発電中さん:2014/04/29(火) 15:28:06.08 ID:B5LYymSZ
中国のコンパチduinoなpro MINI 16M 5V使うちょるが別段
本家と比べて問題のう使えちょるよ。
USBはついてないけどこの小ささで機能は宇野と同等って
いうのがすごい。
265 :
774ワット発電中さん:2014/04/29(火) 15:29:48.87 ID:B5LYymSZ
>>264 Unoの価値ってatmega8u2がついてるってことだと思ってる
それがないなら単品chip買った方が小さいし便利
ふとっちょ宇野
268 :
774ワット発電中さん:2014/04/30(水) 18:51:16.91 ID:er8U1Pyj
初歩的な質問ですみません、
Arduino UNO R3をDCジャックからの電源駆動をしたいと思い、
GFP151U-0916(9V 1.2AのスイッチングACアダプタ)を購入し
さしてみたのですが、起動しません。
DCジャックからブートする用の設定などあるのでしょうか?
Arduino本体はUSB電源供給の起動はできていて、
9Vアダプタも他電源機器の接続より不良品でないことを確認しています。
>>268 2.1mmの規格でもプラグ側の穴が大きいやつとかあるから
一見ちゃんとささっていても内側が通電していないことがあるかも
極性があってないとかとかないよねぇ・・・
271 :
268:2014/04/30(水) 19:16:10.76 ID:er8U1Pyj
>>269 >>270 極性、そのとおりでした…。
アダプタのオス部分が口径にあわせて選択、取り外しできるようになってて、
それを±逆にしたところ、起動しました、ありがとうございます。
272 :
774ワット発電中さん:2014/04/30(水) 20:19:41.40 ID:M7QWxK2g
なにそれ怖い。一時的にプラスマイナス逆で接続したの?
保護ダイオード入れない限り極性逆にすると5Vレギュレーターが
一発昇天するんだが宇野はお利口さん??
て今見てみたらなんか面実装のダイオードがケミコンの外側に
付いてるね。これだと極性反対の場合はうんともすんともいわん
わけだ。
秋月のアキズキーノは交流整流用のブリッジかましてるから
極性逆であろうが交流突っ込もうが起動するようになってるんだよな。
今回は宇野のフールプルーフ(=馬鹿耐性)に助けられたんだな。
一般にはダイオードついてない回路多いからそんなのに突っ込んだら
即お陀仏だったよ。
新しい電源使うときは極性と電圧をテスターで確認する習慣をつけようよ。
という意味であえて友情を込めて言わしてもらおう
このバカチンがっ!
とりあえず動いてよかったね
何本かスケッチ書き換えて328の生存確認しておくと安心かも
初心者です。
数十行程度のプログラムのコンパイルに3分以上かかるのって異常ですよね・・・・
同じPC環境で、win7でコンパイルするとそうなるのですが、ubuntuでコンパイルしたところ正常に動作しました。
普段はwin7をメインで使っているので、win7でも正常にコンパイルしたいのですが、何か解決策はないでしょうか・・・。
VmwareとかVirtulaPCとかVirtualBoxとかで仮想環境つくっといてそっち側でUbunutuを並行して走らせておけば?
タスクマネージャー開いて何がそんな重いんだか見てみれば?
>>274 タスクマネージャ出してどんな感じにCPUっ使てるのか確認してみるとイイカモ。
参考に全然ならないうちの環境だけど
最初までWindows7で2コアのCore2Duoを使ってて、
そのあとタダでもらったCore2QuadにOSそのままで載せ替えたのね
(再認証はギリギリかからなかった)、で、2Duoの時からArduinoIDE入れっぱなしで、
そのままCPU差し替えたあとも使ってたんだけど、なんか遅い、
コンパイルすると3分ぐらいかかる、変だ。
ってことでArduinoIDEだけ再インストールしたら
通常(なのかな?)の速度に戻ったなんてことがありました。
278 :
774ワット発電中さん:2014/05/01(木) 00:59:15.15 ID:7+B6/R3u
>>256にもコメント頂けませんか…m(_ _)m
>>278 このセンサって秋月のページ見ると
>■ヒーター電圧:DC1.6V 138mA
>8msON/242msOFFの繰り返し
>1.6Vを連続で与えるとヒーターが簡単に壊れます、指定デューティを守ってください。
ってあるから、直結すると焼けちゃうんじゃない?
低電圧パルス印加させるのに直接駆動ができないんでトランジスたかましてスイッチングしてるぽい。
増幅つーか、スイッチング用。
ナスボマー
>>274 初心者ですというのをやめる。
ビルドのログを表示して遅そうな箇所を絞り込む。
282 :
774ワット発電中さん:2014/05/02(金) 16:37:47.06 ID:iXmEL03n
Yahooショッピングで arduinoを検索して、
売れている順に並べると、
pro mini+USBシリアルが1200円だと
284 :
774ワット発電中さん:2014/05/02(金) 17:52:29.54 ID:iXmEL03n
ジャンパーがあるから安いんじゃないかな
ちゃんと動作すれば、私は気にならないけど
なんか、新しいのが増えてる
1500円で互換機付の迷路抜けロボットカー !?
>>283 Nokiaの携帯電話PC接続ケーブルからバラしたやつじゃなかったっけか?
あくまでもオマケだと思ったほうが良いかも。
3、4年かけてArduinoの勉強したいのですが
Arduinoってどのくらいのスケールのものまで作れますか
> Arduinoってどのくらいのスケールのものまで作れますか
心配しなくとも、学んでいるうちはおまいさんのウデが律速段階だよ。
ピン変化割り込みをArduinoで使う方法はありますか?
INT0,1だけじゃなく
3、4年もかけるほどではない気が…
>>288 Arduino Mega を使えば INT2,3,4,5 まで標準装備だよ
>>286 人工衛星でも行けると思うが。
打ち上げる手段は別として。
宇宙線対策は要ると思う。
セラミックパッケージ?
外部割込みT0,1ほど複雑なことはできないけど
ピン変化割込みPCINTならほとんど全部のピンが対応ピンが対応してる
>>283 このシリアル見てふと思ったんだけど
Raspberry PiのGPIOとピンの並びが似ているけど
シリアルのピンって基本並び同じなの?
297 :
>>274です:2014/05/03(土) 18:29:23.04 ID:XUwmoKVZ
タスクマネージャで色々調べたりしたのですが、結局コンパイルの問題は解決しませんでしたm(_ _)m
ちなみにコードを一切書かなくてもコンパイルが遅い状態です。
その代わりWeb上でArduinoIDEと同じ事が出来るサイトを見つけたのでそちらで開発しようかなと思います。
https://codebender.cc/
質問です。よろしくです。
スケッチのアップロード時にD13が点滅するのをやめさせる方法はあるかな?
そのほか、何かあるときに、勝手にD13が点滅しているみたいだが、
勝手に点滅するのをやめさせたい。。。
互換機を自作すればいいんだろうが、ソフト的な方法で。。。
もいじゃえ
>>299 ソフト的な方法って言ってるのに
それじゃらんぼうだろ(´・ω・`)
っと・・・そっともいじゃえ?
うーん
ブートローダーの書き換えとかかな?
ソフトなタッチで黒く塗っちゃえ
>>294 キタコレw ありがとうございます。
ライブラリーが公開されているようで早速試してみます。
>>298 ダウンロード時に点滅しないよう
Arduino側のファーム書き換え。
305 :
298:2014/05/03(土) 23:30:41.44 ID:KvXKoIq8
ブートローダーがD13LED点滅させてるんだよね?
海外FORUMなどに何かヒント情報があれば教えて下さいです。
もしかして手順を手取り足とりじゃないとダメなレベル?
そうじゃないなら、自分のPCのIDEを解凍した場所にある
ブートローダーのソースを見るのが一番の早道だと思う。
コンソールな人には ino が便利。
ubuntuでは一発で動いたが
Windowsでも動くのかしらアレ。
UNO等に使われているATmega用のブートローダーなら
ブートローダー投入時に3回LED点滅させるために
わざわざflash_ledという関数が呼び出されてるみたいなので
そこを削ってATmegaBOOT_168.cコンパイルしなおすといいかと。
Makefileもあるので、コンパイルにはArduinoIDEで使ってるavr-gccを使うのが一番簡単かな。
SPI通信時にLEDが付いちゃうのが嫌とかいう別の理由なら
もうそれはLEDもいじゃうしかないけど。
(13番ピンはSPIのクロック出力端子になってる)
>>306,308
すごいヒントになった!ありがとう!
俺、スキル低いけど夜にでも試行錯誤してみる。
>>309 作業前に元のブートローダを焼き込んだ予備328を準備することを忘れずに。
そもそも何で止めたいのじゃろ
あとから調べてみれば、本当に問題を解いてほしかった人は、そんなにいないのだ。
ところで
>>278あれで良かったか?
なーんも反応が無い。
まるで しかばねのようだ
315 :
774ワット発電中さん:2014/05/05(月) 11:59:30.35 ID:TfUx7yGi
AnalogReadSerialのサンプルスケッチを使ってロータリースイッチの状態を読ませているんだけど
ロータリースイッチを一周させたときに落ちてしまう、というかArduinoにリセットが掛かってしまう。
どうして、こうなるか判る人が居たら教えエロください。できれば落ちなくする方法も知りたいのですが、、、
>>315 おそらくスケッチか回路を間違っているのでうpしてくれないと分からん
317 :
774ワット発電中さん:2014/05/05(月) 12:33:41.54 ID:TfUx7yGi
>>315 反応サンクス。
スケッチはサンプルそのままで、12接点1回路ロータリースイッチにそれぞれ1kΩ抵抗をそれぞれ半田づけしている。
電圧はArduino Dumelinoveの5Vから引いて、ロータリースイッチのGNDをAruduinoに戻して、A0ピンでロータリースイッチの真ん中の端子を読ませている。
一応、ロータリースイッチを回していくと、シリアル表示で0から順に1023まで表示されるんだけど、
0から1023方向へ回したときと、1234→0へロータリースイッチを回したときに落ちゃうようなんです。
318 :
774ワット発電中さん:2014/05/05(月) 12:35:08.67 ID:TfUx7yGi
↑参照先間違ってますね。
>>316 でした。スマソ
5VがGNDに直結して落ちるんかな
5VとGNDが短絡するんじゃないの
321 :
774ワット発電中さん:2014/05/05(月) 12:46:31.76 ID:TfUx7yGi
>>317 もうひとつ記述が間違ってしまいました。スマソ。
誤)1234→0
正)1023→0
ロータリースイッチを回しすぎなければ落ちないので、
経験者の方には「あっ、それね」ってことなのかと思って恥かしながら尋ねてみました。
それとロータリースイッチはショーティング型の台湾製の安物です。
322 :
774ワット発電中さん:2014/05/05(月) 12:57:34.17 ID:TfUx7yGi
>>319 >>320 サンクス。
確かにロータリースイッチ自体の機械的な問題かもしれませんね。
ずっとググッて調べているんですけど、ロータリーエンコーダーならともかくArudinoとロータリースイッチを繋げているケースって見当たらなくて。
analogRead()する場合において、ロータリースイッチを一周させることが、そもそも問題なんじゃないのかと思って尋ねてみた次第なんです。
部品のせいちゃうやろ・・・
324 :
774ワット発電中さん:2014/05/05(月) 13:19:25.96 ID:TfUx7yGi
>>323 そうですか。単純にanalogRead(A0)するだけでは駄目なんでしょうかね。…でも私の技術力では解決できそうもない。
現象的は確かに
>>319 >>320 さんのおっしゃるような感じなんですよね。
とりあえず 0←→1023の間でロータリースイッチを動かしていれば使えるので
先のコーディングに進みたいと思います。色々とアドバイスありがとうございました。
>>317 12接点すべて1kΩでプルアップしてあるのに
ロータリースイッチのコモンピンで異なる電圧が読めるってこと?
0 か 1023 かの二択にならないって
一体どんな回路なのか想像がつかない
326 :
774ワット発電中さん:2014/05/05(月) 13:22:46.62 ID:TfUx7yGi
>>325 言葉が足りないので誤解を与えてしまいましたが、ロータリースイッチを回すと
0→91→184→277→・・・→1023というように読めています。
ただ、どっち回してもロータリースイッチを一周させると駄目なのです。範囲の中でスイッチをいったりきたりする分には問題ないんです。
327 :
774ワット発電中さん:2014/05/05(月) 13:31:00.04 ID:TfUx7yGi
>>325 一言で説明するなら、ショーティング型のロータリースイッチを使って段階的に抵抗値を切り替えるケースなんですけど。
>>326 5V -+- 1kΩ -+- 1kΩ -+- 1kΩ -+- ... -+- 1kΩ -+- GND
| | | | | |
端子A 端子B 端子C 端子D 端子K 端子L
ってことか
ショートタイプのロータリースイッチってのに一票だな
329 :
774ワット発電中さん:2014/05/05(月) 13:34:00.64 ID:TfUx7yGi
って先にそう書いてあったかw
電源側かGND側かにもう一本抵抗を足してショートしても1kΩが挟まるようにすればおk
331 :
774ワット発電中さん:2014/05/05(月) 13:37:22.37 ID:TfUx7yGi
>>330 わかりました。やってみます。
皆さん、どうもありがとうございました。 m(_._)m
可変抵抗買ってきて分圧電圧測るようにしたほうがはやいだろ
333 :
774ワット発電中さん:2014/05/05(月) 13:41:45.24 ID:TfUx7yGi
>>332 それは、その通りですw
消費増税前に買い置きしてあったロータリーSWと抵抗で済まそうして苦労しているだけだったりして…
334 :
774ワット発電中さん:2014/05/05(月) 14:39:05.00 ID:TfUx7yGi
>>330 先ほど抵抗を半田付けして試したら、うまくいました。
ID:eruFaewjさん、誠に有難うございました。
久々にスレがちゃんと動いてるのを見た気がする
みんなGJ
>>313 コメントありがとうございます!
スケッチ側でwait()しながらHIGH,LOWすればいいだけでトランジスタ噛ませる意味が分からなかったんですが,arduinoは1ピンあたり40 mAしか流せないことに気付いておりませんでした!!
いや〜初心者って怖いですね〜!この5Vピンからは200 mAまでとのことで,トランジスタでスイッチングしてやればいいわけですね!理解しました!
2台のArduinoを使ってXBeeでの通信を考えているのですが
XBeeを購入する場合アンテナ付のものを2つ購入すればよいのですか?
あとバニラシールドなども購入したほうがよいのでしょうか
ブレッドボードで試してからでも良いのでは
339 :
298:2014/05/12(月) 15:56:25.81 ID:/pkDPbIT
>>308 返事遅れたけど3回のピカピカ点滅はなくなった ( ^_^)/
ただ、起動直後からD13がつきっぱなしになる。
勝手に点灯をやめさせたい。
通常、D13を起動後にスケッチで消さない限り、点灯するの?
やってみた事としては、
ブートローダーのソースにD13をOUTPUTに定義するところがあったから、
INPUTに変更してみたが、やっぱり点灯する。(点滅じゃなくて点灯。)
だから、ブートローダーの次のステップで、わざわざD13をOUTPUTにしたうえで、
点灯させているプログラムがあるように見えるんだけど。。。
どうかアドバイスよろしく m(_ _)m
全ピン電圧かかってるので
Highを出力しとく?
/|
|/__
ヽ| l l│<ハーイ
┷┷┷
. /|
|/__ __ __ __
ハーイ>ヽ| l l│ │l l│ | l l│ | l l│
.┷┷┷ ┷┷┷ ┷┷┷ ┷┷┷
1号機 2号機 3号機 4号機
arduinoのスケッチって、CとC++の命令はどこまで使えるの?
Cのstrcmpとかはそのまま使えたりするのは確認したけど。
開発環境のヘッダファイルあさるのが早いかも
すみませんがよろしくお願いします
void led1(){
digitalWrite(pin1, HIGH);
delay(2000);
digitalWrite(pin1, LOW);
}
void led2(){
digitalWrite(pin2, HIGH);
delay(1000);
digitalWrite(pin2, LOW);
}
void loop() {
led1();
led2();
delay(5000);
}
こんな感じでLED1とLED2が同時に光ってLED2が先に消えるようにしたいです
今のままではLED1が消えてからLED2が光るようにしかなりません
関数?の終わりを待たずに次の処理を行うことは出来ないでしょうか?
なんでこうしないの??
void loop() {
digitalWrite(pin1, HIGH);
digitalWrite(pin2, HIGH);
delay(1000);
digitalWrite(pin2, LOW);
delay(1000);
digitalWrite(pin1, LOW);
delay(5000);
}
>>347 説明不足ですみません
loop()内の5秒は変えたくないという前提でお願いしたいのですが
led1()の2秒やled2()の1秒を変更しようとすると手計算でそれら3つの数値を変更しないといけなくなります
その辺りがなんとかならないかと質問したしだいです
あと説明で申し訳ありません
5秒中1秒or2秒間点けたいの?
いずれにせよ処理の流れは並列化できないので、delay入りの複数関数に分けて処理することはできないよ
点滅周期が違うLEDを沢山扱うときは、システムが起動してからの経過時間をベースに管理するとやりやすい
Arduinoではmillis()という関数が使える
void loop() {
digitalWrite(pin1, millis() % 5000 < 2000);
digitalWrite(pin2, millis() % 5000 < 1000);
}
#これだと除算が絡んでかなり遅いけど
#millis以外の方法で似たような処理をすれば回避できる
なんでこうしないの???
void loop() {
unsigned long start = millis();
unsigned long elapsed;
digitalWrite(pin1, HIGH);
digitalWrite(pin2, HIGH);
do {
elapsed = millis() - start;
if (elapsed >= 2000) {
digitalWrite(pin1, LOW);
}
if (elapsed >= 1000) {
digitalWrite(pin2, LOW);
}
} while (elapsed < 5000);
}
>>349 >void loop() {
>digitalWrite(pin1, millis() % 5000 < 2000);
>digitalWrite(pin2, millis() % 5000 < 1000);
>}
millis() が返す値が unsigned long をオーバーフローしたタイミングでおかしくなる
>>352 そうだね約50日後にね。
それが問題ならTimer0を潰して自作msカウンタでも作ればいいでしょう
オーバフロー検知はもう1個別の変数を用意して
>>352 >それが問題ならTimer0を潰して自作msカウンタでも作ればいいでしょう
>オーバフロー検知はもう1個別の変数を用意して
loop() の頭で unsigned long start = millis() とでもやって millis() - start するだけで良
354 :
346:2014/05/19(月) 23:57:21.85 ID:GwEroPDP
ありがとうございます!
お二方がすごく大事な事を書かれているのは分かるのですが咀嚼するのに時間がかかりそうです…
まずはお礼だけさせていただきますです
355 :
774ワット発電中さん:2014/05/21(水) 00:04:37.65 ID:w9I1xhx+
質問させてください。
サーボのライブラリについてです。
myservo.attach(変数)を使用するとpin9.10のPWM出力機能が停止する様なのですが
myservo.detach()でサーボを解放すると、pin9,10をPWM出力として機能が復活するとのことですがpin9,10のPWM出力機能は停止したままです。
このような症状で悩まれた方はいませんか?
私の環境はarduino IDE0022を使用しております。
お手数ですが、解決方法をご存じの方がいらっしゃれば
ご教授お願い致します。
>>355 常識的に実装してあればdetach()の後でピンがバタバタパルスを出すようにはしない
読み違いじゃないかな
Servo.cppが目の前の箱の中にあるはずだから目を通すよろし
開発用のPCって別じゃ無いのけ
358 :
774ワット発電中さん:2014/05/21(水) 01:48:14.24 ID:w9I1xhx+
>>355 >私の環境はarduino IDE0022を使用しております。
他人に聞くなら最新版使ってからにするべき。
すべてのサーボを解放すると
361 :
355:2014/05/22(木) 00:22:49.08 ID:xSuDv1mt
最新の環境にてスケッチを動作させてみました。
結果はやはり、ピン9,10は解放されず、PWM機能は停止したままでした・・・
使用したスケッチは以下のようになっております
#include <Servo.h>
Servo myservo;
void setup(){
myservo.attach(3); //サーボピン
Serial.begin(9600);
}
void loop(){
myservo.write(90);
delay(1500);
myservo.write(0);
delay(1500);
myservo.write(160);
delay(1500);
Serial.println("servo-OFF");
myservo.detach(); //サーボ解放
delay(1500);
Serial.println("pwm-start");
for(int i = 0 ; i <= 255 ; i ++ ){
Serial.println("pwm-running");
analogWrite( 9, i ); //ピン 9に接続したLEDを徐々に明るくさせる
analogWrite(10, i ); //ピン10に接続したLEDを徐々に明るくさせる
delay(50);
}
Serial.println("servo-ON");
myservo.attach(3); //サーボ再使用
delay(100);
}
本スケッチに問題がございましたら、ご指摘をお願い致します。
362 :
355:2014/05/22(木) 00:24:16.76 ID:xSuDv1mt
#include <Servo.h>
Servo myservo;
void setup(){
myservo.attach(3); //サーボピン
Serial.begin(9600);
}
void loop(){
myservo.write(90);
delay(1500);
myservo.write(0);
delay(1500);
myservo.write(160);
delay(1500);
Serial.println("servo-OFF");
myservo.detach(); //サーボ解放
delay(1500);
Serial.println("pwm-start");
for(int i = 0 ; i <= 255 ; i ++ ){
Serial.println("pwm-running");
analogWrite( 9, i ); //ピン 9に接続したLEDを徐々に明るくさせる
analogWrite(10, i ); //ピン10に接続したLEDを徐々に明るくさせる
delay(50);
}
Serial.println("servo-ON");
myservo.attach(3); //サーボ再使用
delay(100);
}
363 :
355:2014/05/22(木) 01:36:18.34 ID:xSuDv1mt
>>362の書き込みは失礼しました。
インデントを修正しようしていたら間違えて送信してしまいました。
私の実行環境なのですが、以下のとおりです
IDE:arduino-1.0.5
本体:UNO
ヒント
つ Timer1
俺もサーボライブラリは使わずに、割り込みで制御してるかな。
俺もスケッチは使わずにオールアセンブラで制御してるかな。
367 :
774ワット発電中さん:2014/05/28(水) 21:28:11.84 ID:i2XhLotU
Arduino初心者です。質問させてください。
digitalWrite(13, HIGH);
とすると基盤に取り付けられたLEDは光るのですが13ピンとつないだ外部LEDが光らなくなってしまいました。(外部のLEDはブレッドボードへジャンパワイヤでつなぎ抵抗もはさんでいます)
0~12ピンも試してみましたがテスターではかってみたところ出力は同じように0でした
同じような症状を探してみたところ
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13112793103 が見つかったのですがVinやLEDを複数使うようなことはしていません
CdSなどのセンサーで試してみたところアナログ入力は受け付けているようです。
この場合、やはりATMega328Pが壊れてるのでしょうか?
他に考えられることはあるでしょうか?よろしくお願いします
IDE: arduino-1.0.5
本体: Arduino UNO
>>367 基板のLEDのvfが低いからだと思う
別のピンを使えばおk
>>368 は間違い
外付けのLEDが壊れてるか、逆接続か、GNDを繋げてないか
だろう
370 :
774ワット発電中さん:2014/05/28(水) 21:55:26.75 ID:i2XhLotU
本当すいません。解決しました。
ブレッドボードの差す位置を変更したところ点灯しました。
原因を突き止められてはいませんが抵抗等がきちんと差しこめていなかったか、もしくは回路自体繋がっていなかったかもしれません。なのでarduino以前の問題だったのだと思います。
なにがともわれ壊れていなくて良かったです。
今後こういうことがあれば
>>368さんと
>>369さんのレスを参考にします。
お二方ありがとうございました。
あ、お二方というかお一人でした
すいません
なにがともわれ
373 :
774ワット発電中さん:2014/06/05(木) 17:26:01.42 ID:D5BO0TLx
CdSとアルディーノ使ってLEDが連動して明るさ調整できるようにしたいんですが
どのようにプログラムを書けば良いのでしょうか?
初歩的な事でスイマセン
376 :
774ワット発電中さん:2014/06/05(木) 18:09:12.74 ID:D5BO0TLx
ありがとうございます
analogReadeは0〜1023までですがanalogWriteを使うと言う事は
0〜255までに変換しないといけないのでしょうか?
378 :
774ワット発電中さん:2014/06/05(木) 18:48:02.54 ID:D5BO0TLx
>>377 今アルディーノが手持ちに無くて確かめられないのですが使い方あってますか?
const int LED=9;
int val =0;
void setup(){
Serial.begin(9600);}
pinMode(LED,OUTPUT);
void loop(){
int i;
i=analogRead(0);
Serial.print(i,DEC);
Serial.print("\n");
map(i,0,1023,0,255);
analogWrite(9, i);
delay(1000);}
自分で試せ。
>>378 実機なくても、コンパイルできるだろ。ますは、構文チェック。
381 :
774ワット発電中さん:2014/06/05(木) 21:52:58.85 ID:D5BO0TLx
自宅PCに入れてないんだ
タダで導入できるフリーソフトを拒む理由はないだろ
>>381 つまり、
・こんなクソレベルの仕事をしている
・課題を押しつけようとしている
のいずれか、ということだな?
だよなぁ・・・
学校の課題だったりしてな
なんだ。
劣化小保方か。
>>378 このままではコンパイル時にエラーが出る。
{の前に、ほにゃらら
388 :
774ワット発電中さん:2014/06/08(日) 04:00:17.97 ID:LFsXMBra
390 :
774ワット発電中さん:2014/06/08(日) 04:50:46.35 ID:LFsXMBra
>>389 回答ありがとうございます.
AVRマイコンを大量に買って選別をする意味がよくわからなかったです.
Arduinoの正規品のボードをうまく流用することはできないでしょうか?
用途の関係上+10gでも少し痛いのです.
宜しくお願い致しますm_ _m
うまい方法がない場合,素直にflytronから購入します...
チップの個体差があるみたいだから、
3.3Vで16Mhzで駆動出来る物を探せってことでは?
>>388 AVRマイコンATmega328Pのデータシート
http://www.atmel.com/Images/doc8161.pdf p.316に電源電圧と動作周波数に関する記述があるけど、それによると
電源3.3Vの条件で保証されているのは約13.3MHz
つまり、3.3V/16MHzでの動作はオーバークロックになるわけ
Flytronとやらが何者かは知らんけど、定格外の動作なので
Atmel的には無保証だということを頭に置いておくべき。
どうしても自己責任でやりたいというなら、
完成品で売られている5V版ProMiniの電源レギュレータを3.3V出力のものに交換するか、
3.3V版の水晶振動子を16MHzに交換するか(要ブートローダー修正)してもいけるはず。
>>390 >>391 が書いてくれた通り
マイコンのデータシートに書かれてるのはここまでは動作保証するという最低条件であって
実際にはもう少し厳しい条件でも動作する
けどどのくらいまでいけるかは石によって違うので運次第
たくさん買って当たりが出るまで探す
「宝くじは連番派」なら秋月でいくつも買う。
「バラ派」なら千石・マルツ・共立・mouser・digikey・RS-onlineでも買うんだ!
クロック限界は周囲温度に依存してるようだよ
電源と重さに拘ってるって事は、クワッドコプターにでも組み込みたいのかな?
ヘリコプターのパーツ屋にリンクしてるからそんな感じだろう
ほんとだw
全然見てなかったわw
こだわりたいならArduinoの限界と割り切って他のマイコンを使ったほうがいいと思う
3.3Vで40MHzや70MHzのマイコンもあるし
そこでGR-SAKURAですよ
どうしても性能が足りないなら、苺で売ってるSTBeeMiniとか。
プログラミングもArduino以上に難しくはなるし、重量も若干増えるけど性能は桁違い。
マルチコプターならバッテリもかなり厳しい制約があるだろうから、消費電力の問題も出てくると思うけどね
インドアプレーン界隈よりは幾分ましだけど。
Enhancement V2 Pro Miniってのあるな
ちゃんと動くか知らんが
パチArduinoが届いたからLチカやろうとしたら電源さした途端Lチカしやがった
俺の青春をかえしやがれ
素直に正規品かえばよかったわ
正規品もそうだったような。
405 :
774ワット発電中さん:2014/06/08(日) 23:28:41.73 ID:i91jC7PO
最近始めたばかりの初心者です。とても初歩的な質問で申し訳ありません。
arduinoを使って、圧力センサの圧力を3段階に分けて、
その入力によってランプの光り方を調節する機構を作っています。
ここまではものすごく簡単だと思うんですが、
この圧力センサの入力をワイヤレスで独立させたいのです。
そうなると、信号が少なくとも3段階必要になるので、
XBeeやbluetoothを用いなければならないのかな、と自分で調べたところ行き着きました。
しかし、この導入にはお金も知識もかかるみたいで、自分の手には負えません。
それで、いっそのこと圧力センサを辞めて、1/0のスイッチにすれば、
既存のリモコンスイッチなどを分解して使用できるのではないかと考えています。
探したところ、ワイヤレスの照明とスイッチの電池式セットがありました。
この照明側の、電気をつける回路をarduinoに持っていって、
リモコンスイッチを押せば、arduino側に用意したランプを点けることは可能だと思いますか?
宜しくお願いします。
407 :
774ワット発電中さん:2014/06/09(月) 00:32:29.33 ID:NHOpDfPQ
ありがとうございます!
アナログ入力がワイヤレスモジュールだけで出来るんですね。
少しチャレンジしてみます。
受信側に付けたTWE-liteのワイヤレスモジュールの信号処理は、
何か特別な処理が必要ですか?たとえばX-CTUのようなものを使う必要がありますか?
408 :
774ワット発電中さん:2014/06/09(月) 00:39:32.10 ID:DYFKtJOG
オーバークロックといったらむかしむかーし MMX pentium 166MHzでSL27Hというロットが普通に233MHz
で動いちゃうことがあってね、知ってる人はおっさんだなw そのあとセレロン300を466で動かすとかあったような。
arduinoでオーバークロックしてPWMで大電流スイッチするFETがONのままハングアップしたら怖くない?
>>407 詳細な設定は、TWE-liteモジュールにシリアルでコマンドを送って設定モードに入るだけ。
子機同士の識別に使うIDの振り分け設定なんかはここでやる。
秋月で売ってるUSBシリアル変換モジュール+TeraTermがお勧め
(別のファームウェアに書き換えるのにも使える)
ひと通りの解説は一番下の「使用方法」に書いてあるよ
http://tocos-wireless.com/jp/products/TWE-Lite-DIP/index.html Arduinoで使うには電源電圧5V⇔3.3Vの変換をしたり
PC⇔Arduino⇔無線みたいなことをやるにはシリアル・インターフェースが足りないので
後者をSoftwareSerialにするなどの応用が必要。
これはXBeeにも言えることだけど。
>>405 国内で大きい声で言えるかはわからんが、無線の送信、受信モジュールがそれぞれ500円で共立で売ってたぞ。
Strawberry Linuxでも売ってたと思う。
受信側、送信側に贅沢にそれぞれArduino使うか、クローンを作ればいいんじゃね?
411 :
774ワット発電中さん:2014/06/09(月) 09:10:55.92 ID:YVlWdUZl
>>409 TWE-liteモジュールを2台使用して、可変抵抗器を調節して、
もう一方のLEDの明るさを調節する機構をそのまま使い、
そのLEDに流れる電流をarduinoのインプットにすれば実現できる気がします!
(可変抵抗器は圧電センサーに置き換え)
ありがとうございました。
>>410 ありがとうございます。
ちょっと探してみたんですが、微弱無線モジュールのことですか?
とりあえず、なんとかがんばってみます!
412 :
774ワット発電中さん:2014/06/09(月) 10:57:29.55 ID:VBi9Fq/D
>>390です沢山のアドバイスありがとうございます.
>>391 >>392 >>393 >>394 RasPiでGentoo走らせて遊んだりもしていたので,
オーバークロックについてはもちろん知っていましたが,
個体差がそこまで如実にあるとは知りませんでした.
>>396 >>401 はい,自作のUAVのためです.
30cmクラスのクアドロコプタを作ってArduPilotのソースを弄っていたら,
屋内用手のりサイズも作りたくなったのです.
構成についてはほぼこの方(
https://www.youtube.com/watch?v=i73dTUIq3d4)のを
流用し,フレームは3Dプリンタで作成予定です.
>>399 >>400 >>401 そのようなものもあるんですね, STBeeMiniのスペックすごいですね.
今回はMutiWii(
https://code.google.com/p/multiwii/)のソースを書き換えて使おうと思っているので,
なるべくArduinoベースがよかったのです(高級言語しかまともに書いたことがない).
今考えている選択肢としては,
1. くじ引きよりFlytronの方が結果安上がりな気がするのでそちらを買う.
(ただし,引越しのため6月中は閉店とか書いてある--;)
2. Arduino系で別のものを探す.(3.3V+16Mhz+出来れば256KB以上)
3. 全く別のもの(STBeeMini等)を買い頑張る.
自分としては, 3が一番安定な気がしています.
STM32のソースもCライクな感じで書けるっぽいので,
MutiWiiを流用しやすいと思ったのですがどうでしょうか・・・?
ebayで売ってるArduinoって使いものになる?
>>412 STBeeMiniとか言い出した392=401だけどちょっと補足
現状STM32マイコンにはArduinoみたいなお手軽ライブラリに相当するものはなくて
ほとんど普通の「マイコン用プログラム開発」そのものをしていくことになるけど、
サイズが小さくて軽い出来合いのボードがすぐ手に入って、日本語の参考書籍があるっていうのがSTM32を薦めてみた理由。
(ちなみにσ(゚∀゚ )が一番最初に呼んだ手引書は「STM32マイコン徹底入門」)
マイコンとしての機能が(比較的)高いぶん開発も複雑化するし、ちょっとハードルが高いかもしれないが
Arduinoで不足を感じた時のステップアップぐらいに思っておくといいかも。
# あ、一応mbedでNucleo STM32F103ボードが使えるから
# そこで作ったバイナリをSTBeeMiniに流用できないこともないか
415 :
774ワット発電中さん:2014/06/09(月) 23:46:35.10 ID:eA9XUo6U
>>414 詳しい説明ありがとうございました.
>>412です.
やはり, Arduino向けに書かれたMutiWiiをSTM32マイコン用に書き換えるのは
そう簡単にはいかなそうですね...
Arduino自体は室温度計の情報を表示する程度のことしかやっていないので,
少し心配です.
しかし,他に良い案がなければ紹介していただいた書籍を見ながら頑張って見ようと思います.
>>413 互換やパクリならebayは高いのも多い
ヤフオクで送料込み900円くらいで買ったuno互換は問題なく動いてる
>>415 Arduino Dueに搭載されているAT91SAM3X8EはARM Cortex-M3
ARMなのにanalogReadなどのArduinoのコマンドが使える
個人でAT91SAM3シリーズ買って、Due用のブートローダー書き込めば
好きな回路でArduinoのコマンドつかってプログラムが書ける
>>418 質問者はUAVへの搭載をしたいから小型で軽量のがいいって言ってたけど
>>419 48ピンのもあるよ
Key parameters for ATSAM3N0A
Flash (Kbytes):32 Kbytes
Pin Count:48
Max. Operating Freq. (MHz):48 MHz
CPU:Cortex-M3
Max I/O Pins:34
Ext Interrupts:34
USB Transceiver:0
SPI:2
TWI (I2C):2
UART:3
ADC channels:8
ADC Resolution (bits):10
ADC Speed (ksps):384
Analog Comparators:0
DAC Channels:0
SRAM (Kbytes):8
EEPROM (Bytes):0
Self Program Memory:YES
パッケージはQFP
>>417 普通に動くんですか
ebayでarduino miniが250円くらいで売ってるから気になってたんですよ
秋月のマイコン単体と同じくらいと言う謎の安さ…
ebayの中華pro mini普通に使えてるよ
ヘビーな使い方はしてないけど
423 :
774ワット発電中さん:2014/06/11(水) 00:16:34.16 ID:DLKPDQ8U
>>423 420は適当なこと言い過ぎ
Arduino IDE1.5.x以降はDue対応のコンパイラとブートローダはあるけど、
各種ライブラリはSAM3N0A用では動かないし、そういう既存ボードもないので
自分でライブラリの一部を移植し、基板は表面実装パッケージ (0.5mmピッチQFP) のICを実装しないといけない
正直言ってお勧めできない
arduino dueってUNOと同じスケッチが使えないんですか?
>>425 一言でいえば、スケッチによる
UNOは8ビットのAVRマイコン
Dueは32ビットARMコアのSAMシリーズ
CPUがそもそも違うのでコンパイラも各種機能へのアクセス方法も違う
digitalWrite, analogRead, SPI, Serial等のArduino標準ライブラリは
同じ振る舞いをするように両方用意されているから
それらだけを使って書かれたスケッチは問題なく使える
高速化などの理由で、直接のレジスタ操作やインラインアセンブラの使用など
CPU依存の書き方をしたスケッチやライブラリは、当然互換性がない
Arduinoの開発ソフトのシリアルモニターを起動した直後にSerial.print() を
実行する方法はありますか?
428 :
774ワット発電中さん:2014/06/12(木) 16:32:18.63 ID:hFN8iunZ
>>424 >>423です.
そうなのですか...
うーんSMT32マイコンの勉強をせっせとするべきですね@@;
429 :
427:2014/06/12(木) 20:57:13.33 ID:KQyh/+Pu
>>427 すみません。補足します。
Arduino IDEのシリアルモニターを起動した直後に、自動的に
"Hello World!!"(例)
t表示させてやりたいのです。
Unoだとシリアルモニタ起動と同時にリセットされるから、
setup()に書いておけば勝手に表示されますが・・・なんか勘違いしてる?
>>426 公式スケッチは使えても誰かのオリジナルは使えないってことですね?
解説ありです
>>430 setup()に
Serial.begin(9600);
Serial.println("Hello World!!");
書いてみたけど、シリアルモニター起動時には表示されないみたい。。。
>>433 シリアルモニタ起動中にボード上のRESETボタン押したらどうなる?
>>434 はい!もちろん"Hello World!!"表示されます。
でも、Arduinoリセット後ではなく、IDEからシリアルモニターを起動したときに、
勝手にある文字列を表示させたいのです!
それで表示されるなら起動時にも表示されるんだが…
多分だけど描画が追いついてないだけかな
ちなみに別のターミナルソフトからシリアル接続/切断はやってみた?
>>435 どうしてそれが出来ると思うの?
起動したら特定の文字列を送る専用のシリアルモニター作ったほうがいいんじゃない?VB.NETか何かで。
setupから数行のUsageを表示させたりしてた記憶あるけどな
UNOだったけど他のではloopに入るまでSerial.printが無効になるとか制限あったっけ?
UNOでなくて、Leonardoでしたというオチを予想
440 :
774ワット発電中さん:2014/06/14(土) 00:51:50.37 ID:HC9534jL
>>432 条件としては, 3.3V駆動でArduino Pro Mini以上のスペックがあればよいです.(重量やサイズもそれくらいのもの)
そこでおすすめしていただいたSMT32を使おうかなと思っています.
他にArduinoでそういった商品があれば助かるのですが...
>>440 Maple Mini 辺りでいいんじゃね?
442 :
774ワット発電中さん:2014/06/14(土) 02:45:40.31 ID:HC9534jL
>>442 Arduino風のMaple IDEに対応してるので、ワンクリックで書き込みできるし
ライブラリはひと通り揃ってる
勿論別物のマイコンだから
>>426 >>432のような問題はある
444 :
774ワット発電中さん:2014/06/14(土) 11:41:40.47 ID:HC9534jL
>>443 ArduinoIDEとは別にMapleIDEなんてのもあるんですね...
SMT32を1からやるよりは手早く目標を達成できそうなので
今のところMapleMiniにしようかなと思っています.(もう少し情報収集)
貴重な情報ありがとうございます><
>>444 MapleIDEをダウンロードして、必要としている機能(サーボ辺り?)を
盛ったスケッチを書いて、コンパイルが通るか検証する。
ここまでタダで出来るんだから、試せばいい話。
目的と条件で言えば、STBee Mini 辺りがベストだと思うが、
スキルを勘案すると、libmaple 経由での開発も怪しい所だし、
ならMaple純正品でお茶を濁すのもアリ。
2.3年待てば、Arduino Zero のPro Mini 版が出てくるだろうし(希望)
それまでの繋ぎって事で、まぁガンバレ。
446 :
774ワット発電中さん:2014/06/15(日) 00:07:22.02 ID:GiZdYDmo
ArduinoでPS3コントローラの受信はできますが、送信もできるのでしょうか?
ちなみに、PS2コントローラのデータをPS3コントローラのデータに変換して送信しようと考えています。
447 :
774ワット発電中さん:2014/06/15(日) 01:10:42.33 ID:BblETfA3
>>445 詳細までご説明いただきありがとうございますm(_ _)m
とりあえず,出来る部分を試してみます!
arduinoからprocessingへバイナリで送信するとき、
負の数を送るのは、いくらかを足して正の数にしてから
processingで元に戻すのでしょうか?
負の値がマイコン側でどのように表現されているのかはわかってる?
電圧がマイナスになってんじゃないかな。
>>449 逆質問はバカでもできる
簡素に説明できて一人前
ここは学校じゃないので、説明すする義理なんて全く無い。
質問者の質問の仕方で得られる回答が変わるのは致しかた無い。
説明すすってるくせに偉そうなこと言うなよ…
456 :
774ワット発電中さん:2014/06/19(木) 08:15:27.77 ID:dosGRUVD
「すする義理なんて全く無い」と言ってる相手に対して「すすってるくせに〜」って意味わからんのだが
よし、じゃあこの話はこれで終わり!
どんどん初心者さんの質問に答えて行こう!
458 :
774ワット発電中さん:2014/06/21(土) 00:08:13.76 ID:35a8vWVy
やだよ、気持ち悪いし
SDカードライブラリで質問です。
SDカードライブラリのサンプルDataLoggerを試しているのですが
数回に一回しかSD.begin(10)が成功しません。
3/4位の確立で失敗します。
chipSelect=4になっていたものを10に変更しています。
配線もchipSelectをArduinoの10番につなげています。
Arduino 1.0.5-r2
Arduino Pro mini(3.3v)
DataLogger.ino
> chipSelect = 10;
> pinMode(10, OUTPUT);
> if (!SD.begin(chipSelect)) {
> Serial.println("Card failed, or not present");
> // don't do anything more:
> return;
> }
>}
チェックすべき点がありましたらお願いします。
違うSDカードも試してみれ
464 :
461:2014/06/24(火) 00:56:56.04 ID:yglbhA5o
SDカードの電源は別口で確保されてる?
SDは電力食いまくるヤツがあるから
3.3vを分圧で作ったりしてると、よくこけたりしたけど。
467 :
461:2014/06/24(火) 07:31:49.87 ID:yglbhA5o
皆さんありがとうございます。
別のカードで試してみました。
書き忘れましたが、秋月のマイクロSDカードスロットDIP化キットを使っています。
http://akizukidenshi.com/catalog/g/gK-05488 謎ブランドマイクロSD2GB->NG(数回に一回だけ成功)
Transcend製 マイクロSD16GB->数十回試して毎回成功
SDの電源を別口で用意しても結果は変わりませんでした。
マイクロSDの問題なのでしょうか?
いやいやArduinoのソフトかハードの
問題でしょう。
追記で回路図はどうなってるの?
謎ブランドのSDのSPIモードのタイミングにシビアだっただけでは?
Pro MiniってXTALじゃないんじゃなかったっけ?
こういう時はおまじないだな
パスコン入れてみたら何か変化するかも?
まさかと思うが、コイツもSDに5V食わしてるクチじゃあるまいな…?
データラインの3.3V←→5Vコンバートしてないとか
474 :
461:2014/06/24(火) 23:59:01.56 ID:yglbhA5o
Pro Mini (8Mhz,3.3v)を使っています。
VCCからは3.3V出ているのを確認しているので5Vということはありません。
3.3V<->5Vのコンバートも不要だと認識しています。
パスコン入れてみましたが、結果は変わりませんでした。
新たに8GBのマイクロSDでも試してみましたが、結果は良好でした。
SDカードは相性問題大きいぞ。特にMMCモードで動かすときは。
SDカード標準装備のRspberry Piでも相性問題頻発してる。
使えるSDカードを選んでそれで納得するしかないよ。
ライブラリが糞なの?
SDカードはプルアップがないと動作しないものがあるけどプルアップつけてる?
もしくはプルアップが強すぎるってことも
>>466 そもそも分圧回路でSDカードって動かせるものなのか?
>>479 動くよ。あとはLEDで電圧降下させてやってた。
後者はよくやったよ。
そりゃLEDはダイオードだもの
抵抗で分圧しようとしたら
SDカードの負荷 50mA 程度に耐えられるようにすると
17Ω + 33Ω の分圧で常時 100mA くらい捨てるはめになる
SDメモリの消費電流はモノによっては200mA消費するのもある
なぜ通信に50mAが出てきたの?
200mA って wifi内蔵カードかよ
普通に3端子レギュレータ(50円)かDCDCコンバータ(200円)使えばいいと思うんだけど
えっ、SPI通信の分圧の話じゃなかったっけ
信号ピンについては入出力ピンが決まってるから
入力ピンは分圧でいけるし
出力ピンは 5V 駆動の AVR なら 3V 以上あれば High として扱われるから問題なし
> 出力ピンは 5V 駆動の AVR なら 3V 以上あれば High として扱われるから問題なし
3V以上出してくれる保障なんてあんの?
ロジックICで変換しないと気持ち悪いよね
適当に分圧してごまかすと相性の悪いSDカードが出てくる
すみません、電子工作&Arduino初心者なんですが、
今、Ardinoつかって孵化機を作ろうとしています。
ブレッドボードをつかって基本回路をつくり、
スケッチを書いて、起動するところまでは漕ぎつけたのですが、
Arduinoが10分ぐらいたつとハングアップしたようで止まってしまいます。
自分自身でもバグ取りを行っているのですが、どうもうまくいきません。
どなたか、スケッチを添削してもらうことはできるでしょうか?
とりあえず回路図とスケッチをどこかに上げてみ?
>>491 ここに貼り付けたら親切な暇人があれこれケチつけてくれるかもね
>>494 止まるとすれば↓のどれかだろ。
while( digitalRead(DHTport) ); // LOW待ち
while( !digitalRead(DHTport) ); // High待ち
while( digitalRead(DHTport) ); // wait '1' finish
while( digitalRead(DHTport) );
Servo クラスはタイマー割り込みを使ってる筈だが、
byte read_dht11_dat(){
byte i = 0;
byte result=0;
for(i=0; i< 8; i++){
while( !digitalRead(DHTport) ); // High待ち
delayMicroseconds(49); // 28us or 70us
if( digitalRead(DHTport) ){
result |=(1<<(7-i));
while( digitalRead(DHTport) ); // wait '1' finish
}
}
return result;
}
そんな処理やりながらこの関数が安全に動作するとは思えん。
折角 Arduino 使ってるんだから DHT11lib を使ってみては?
×ハングアップした
○プログラム通りに動いているが、期待している動作をしいていない
そりゃ上手く行く事を前提にwhile文を使っているんだから、
条件が成立しない限りループしているでしょ(止まって見える)
ttp://playground.arduino.cc/main/DHT11Lib は初見だけど、while文にちゃんとタイムアウトエラーを入れてるよね。
シリアルコンソールも空いているから、デバッグに活用しようよ…
watchdog使って強引に解決するのも一つの手(w
家の番犬は家に入れてくれません
500 :
494:2014/06/30(月) 08:03:06.85 ID:YuKs/Xs0
返信が遅くなりました。すみません。
メインループ中にLCDの表示切替を行い、ループが回っているかどうかは
分かるようにしてチェックしたところ、やはり途中で止まっていました。
ご指摘通り、DHT11lib使ってタイムアウトエラーを処理してみようと思います。
シリアルコンソールは最初、ちゃんと動かなかった時にググって
スタンドアローンで動作させた時にシリアルのデータが詰まってバグを
起こすというような、情報があったのですべて削除したんですよ
whileぬけるまでled13番付けっぱなしにする
を各whileで試すとか
四回書きかけて放置してればどこで止まったかわかる…気がする
そういえばウォッチドッグス?が大人気らしいねぇ
先週からarduinoを始めてみました。
現在赤外線受信モジュールと、赤外線LEDを使い
照明のリモコンから<消灯>赤外線を受信し
赤外線LEDから<消灯>の赤外線を放射しようと奮闘しています。
使用しているモジュールは下記の通りです。
Arduino :mono
赤外線LED:OS15LA5113A
赤外線受信:OSRB38C9AA
下記サイトのソースをコピーしてArduinoに転送したところ
信号を受信することができており、受信信号の先頭数値(待機時間)を削除した後
先頭に半角スペース 末尾に0を付け送信しても照明が消えません。
使用している照明はNECで、リモコンもNECです。
何か足りない点があればご教示ください。
参考サイト:
ttp://eikatou.net/blog/2012/07/1796/
申し訳ありません。
ArduinoはUNOです。
足りない点があればアドバイスをお願いいたします。
506 :
774ワット発電中さん:2014/07/04(金) 15:21:38.17 ID:MEVA8hD6
>>504 >受信信号の先頭数値(待機時間)を削除
>先頭に半角スペース 末尾に0を付け送信
照明の制御はこれが必要なの?
リモコンの仕様や送信データ内容が分からないと答えられないと思います。
>>504 リモコン → Arduino
と
Arduino → 照明
は別々に検証しないと問題の原因の絞り込みなんてできないぞ。
>>506 プログラミングの問題で 末尾に0があると信号末尾と判断して
赤外線を送信するようにコーディングされています
>>507 リモコン⇒Arduinoで受信した内容をプロンプトに表示しているため、
受信はできていると思います。
送信も同じように送信数値配列をプロンプトに表示しているのですが、、
>>508 赤外線LEDをデジタル13pinとGNDに直繋ぎしているのですが、これでも足りないのでしょうか。。。
<<下記に赤外線の内容を記載いたします。原因究明の手助けになるかわかりませんが、わかることがありましたらアドバイス願います>>
2472136 911 440 66 47 59 166 66 47 58 54 65 47 58 54 58 54 66 159 65 160 58 54 65 160 65 160 58 54 65 159 66 160 58
54 58 167 58 167 66 159 58 167 58 167 58 54 59 53 65 47 58 54 66 46 65 47 66 47 58 54 65 160 58 166 65 160 65 4184 898
222 65 9619 904 217 66 9617
※本来は改行はありません。
>>509の赤外線内容は受信した内容で
この内容を
>>504の方法で赤外線送信しています
(赤外線LEDをチカチカさせています)
>>504 うちでもやってみた。
条件 : 発光素子は同じ、受信素子はPL-IRM2161-XD1、抵抗は100Ω、対象は扇風機、Arduino UNOはパチモン
出力をオシロで見た限り問題なさそうだったけど反応しなかった。
データの先頭に0を追加してデータを1つずらしたら反応した。
HIGHとLOWが逆だったのが原因みたい。
オシロ見てたのに気づかなんだわw
>>511 検証ありがとうございます
>>509の例でいくと下記の通りすればよいということでしょうか?
0 911 440 66 47 59 166 66 47 58 54 65 47 58 54 58 54 66 159 65 160 58 54 65 160 65 160 58 54 65 159 66 160 58
54 58 167 58 167 66 159 58 167 58 167 58 54 59 53 65 47 58 54 66 46 65 47 66 47 58 54 65 160 58 166 65 160 65 4184 898
222 65 9619 904 217 66 9617
※先頭の2472136は待機時間とのことでしたので、除外しました。
質問ばかりとなり申しわけありません。
FAセンサーと組み合わせた使い方について質問です。
現在24Vレーザー測距センサ(Panasonic HG-C 1030)を使用して距離を測定するシステムを作成しております。
ここで HG-C 1030 の出力(0〜5.2V)を抵抗とキャパシタで耐ノイズ設計して
analogReadに入力しPCに送信する次のプログラムを作成しました。
void setup(){
Serial.begin(9600);
}
int analog_read=A0;
void loop(){
int laser_val =0;
laser_val=analogRead(analog_read);
Serial.println(laser_val);
delay(10);
}
センサ出力をA0_Pinに接続しないときは動く(シリアル通信をPCで確認できる)のですが、
接続させると動かなくなります。(たまに動く!?)
センサ出力はテスタで0~5.2Vの範囲に収まっていると確認済みです。
どなたかご教授お願いします。
>>513 > センサ出力をA0_Pinに接続しないときは動く(シリアル通信をPCで確認できる)のですが、
> 接続させると動かなくなります。(たまに動く!?)
接続してるA0のピン間違ってないよな?
C言語もろくにできない超超初心者で恐縮ですが、
Arduinoを使って1msec幅、数十msec間隔の入力信号(パルス)のタイミングを
(例えば)16等分に分割して指定した幅の信号を出力するような
プログラムを作りたいのですが、どの本やホームページを見れば
勉強できますか?
C言語もろくにできない超超初心者で恐縮ですが、
Arduinoを使って1msec幅、数十msec間隔の入力信号(パルス)のタイミングを
(例えば)16等分に分割して指定した幅の信号を出力するような
プログラムを作りたいのですが、どの本やホームページを見れば
勉強できますか?
C言語もろくにできない超超初心者で恐縮ですが、
Arduinoを使って1msec幅、数十msec間隔の入力信号(パルス)のタイミングを
(例えば)16等分に分割して指定した幅の信号を出力するような
プログラムを作りたいのですが、どの本やホームページを見れば
勉強できますか?
C言語もろくにできない超超初心者で恐縮ですが、
Arduinoを使って1msec幅、数十msec間隔の入力信号(パルス)のタイミングを
(例えば)16等分に分割して指定した幅の信号を出力するような
プログラムを作りたいのですが、どの本やホームページを見れば
勉強できますか?
エラーで書き込めてないと思って超連続投稿ごめんなさい。
教えていただいた本なども見て勉強しているのですが、
搭載されている水晶振動子のクロックをつかって、
タイミング制御して信号を作ろうと思っているのですが、
クロックの話が全然出てなくて・・・
何か一つでもプログラム言語ができるのなら、ネットでサンプルあさって勉強するのが一番いいと思うけど。
>>523 パルス幅変調
ttp://ja.wikipedia.org/wiki/%E3%83%91%E3%83%AB%3%82%B9%E5%B9%85%E5%A4%89%E8%AA%BF とarduinoでググれば、いくらでもサンプルコードが出てくる。
>>513 【質問者心得】
・回答者はエスパーではありません。状況が分かるように詳しく書きましょう。
詳しく書いてくれないと、答える方も困ってしまいます。答えようがないのです。
> センサ出力をA0_Pinに接続しないときは動く(シリアル通信をPCで確認できる)のですが、
> 接続させると動かなくなります。(たまに動く!?)
動く動かない(主観)が、何を指しているのか具体的に書いてくれ、
シリアル出力が止まるの?出力は出るけど値が変動しないの?
> センサ出力はテスタで0~5.2Vの範囲に収まっていると確認済みです。
どういう接続状況で確認したかを具体的に書いてくれ、
arduinoと接続した状態での話し?センサ本体の出力?それとも対ノイズ処理後の出力端?
>>516 回答ありがとう御座います。
さすがにそこは間違っておりませんでした。
C言語もろくにできない超超初心者で恐縮ですが、
Arduinoを使って1msec幅、数十msec間隔の入力信号(パルス)のタイミングを
(例えば)16等分に分割して指定した幅の信号を出力するような
プログラムを作りたいのですが、どの本やホームページを見れば
勉強できますか?
>>525 ご返信ありがとう御座います。
言葉足らずな説明で申し訳御座いません。
>動く動かない(主観)が、何を指しているのか具体的に書いてくれ、
>シリアル出力が止まるの?出力は出るけど値が変動しないの?
動く動かないはセンサ出力に従って変動する値をシリアル通信で不断に送信するか否かです。
現在の動かない状態はArduino1.05のPC上アプリケーション上でシリアル通信を確認できない状態です。
因みにbaudrateは書き込み・読み込みの値が同じになっていることも確認しております。
(さらにA0ピンを接続していない状態にすると動くことも確認済み)
>arduinoと接続した状態での話し?センサ本体の出力?それとも対ノイズ処理後の出力端?
耐ノイズ処理した出力端をArduinoのA0Pinに接続した状態で出力端にテスタを当てて測定しております。
なおGNDはセンサと共用でArduinoのGNDPinにセンサのGNDがつながっています。
このGNDとセンサ用電源のGNDが等電位になっていることも確認しました。
> さすがにそこは間違っておりませんでした。
これは間違ってるパターン
動いたり動かなかったりは、慌ててコード書いてPINモードの宣言忘れの時があったな。
>>528 int analog_read=A0;
をコメントアウト
analogRead(analog_read);
を
analogRead(0);
でやってみてくれ
あとdelayも500か1000辺りで
ボーレート9600だと10msおきに可変長テキストを送信するの厳しくないか。
9600bit/秒→960字/秒→9.6字/10ms、送ろうとしてるのは可変長数字(1〜4)+CR+LF=最大6文字
3.6字分の余裕はあるけど、ブートローダー内で何らかのオーバーヘッドがあれば簡単にアウト
もっと早いボーレート(38400とか)で試したらどうだろう
>>533 色々分かってないみたいだからお前はこのスレ書き込みしない方いいぞ
>>529 HG-C1030のデータシートを読みラインを確認し、更にテスタで動作確認をしましたので
そうは言うもののやはり正しいラインを入力しています。
>>530 ありがとう御座います、試してみます。
以前OUTPUT設定していてそれが記録されているのかも。
(ただ2台のArduinoで別のセンサ入力を入れたときは動作していましたが)
>>531 ありがとうございます、やってみます。
>>532 delayを変えて試したことはありませんでした。
試してみます。
>>533 ありがとう御座います。
オーバーヘッドの可能性が抜けてました。
ボーレートも高めに設定して試してみます。
arduinoクローンを作ったのですが、公式ソフト(1.0.5-r2)を使うとエラーが出て書き込めません。
公式ソフトでコンパイル→Avrdude-GUIでは書き込めるのですが、毎回やるのが面倒です。
使っている機材は、
・arduinoクローン=ATmega328P、16Mhzクリスタル、シリアル変換なし
・書き込み装置=USBasp ver2.0
エラーは「avrdude: stk500_getsync(): not in sync: resp=0x00」です。
どなたか解決法に心当たりはありませんでしょうか?
513です、いろいろと試してみました。
>>530 setupでpinModeをインプットで宣言してみましたけど駄目でした。
>>531 試してみたけどうまくいきませんでした。
>>532 delay(100)でしてみましたが動きませんでした。
>>533 ボーレートを高く設定しましたがシリアル通信を開始しませんでした。
本日確認し直したところ、
TXのLEDが常にONでそのときはシリアル通信をしないことを確認しました。
そこで、センサの出力シールドGNDをArduinoのGNDから分離しましたら
シリアル通信を開始しました。
ただ、シリアル出力はセンサpinが2.4Vでも異常値(0や1023,235などばらばら)でした。
(これはGNDを取っていないから基準電位が無茶苦茶なので当たり前か)
TXが常にONなことに着目し調べたところ
GNDの取り方のせいでGNDがループしている可能性があるので筐体接地せよというforumがあたりました。
http://forum.arduino.cc/index.php?topic=170803.0 ここでセンサシールドGND→ArdinoGND間の電流を調べたところ、5uAほど定常的に流れていることを確認。
時間の関係で確認はここまで問題は未解決のままです。
何かアドバイスなど頂けましたら幸いです。
>>539 ボードはUNO(純正)なのか?
純正なら先ず余計な接続を一切はずして、電源ピンの5V〜GND間の電圧が
正常かを確認。
次に電源ピンの5Vor3.3Vとアナログ入力ピンのA0間をジャンパーワイヤで
抜き差ししてみて、シリアル出力が定期的かつ妥当な値に変化するかを確認する事。
確認出来ない場合:arduinoボードの不良、窓から投げ捨てる。
確認出来る場合 :ソフト・ボード共に正常、貴方が自作した耐ノイズ回路が不良、
スレ違いなので電子工作スレへどうぞ。
センサーとArduinoのGNDに電位差があるのまで確認しててそれに対策しない神経がわからん
>>542 多分できましたぁ!
すごく参考になりました、ありがとう
USB HID 経由で相対位置マウスなら無理だ
>>545 レスありがとうございます.
USB HID 経由以外で方法はございますでしょうか?
タッチパッドから得たい情報は,
・触れている座標
・触れているか否かの状態
の2つです.
HID標準リクエストにその手のやつはないから
デバイスが固有のリクエストコマンドに応答してそういう情報を送ってくれない限りUSB接続ではあかん
絶対座標位置マウスでも無理か
>>547 もしかしてデバイスが,
接触判定に使える信号を送っていないということですか?
それだったらソフトで判定するのは不可能ですね(泣)
絶対座標位置マウスは試していないです.
試せるサンプルコードを何かご存知ないでしょうか?
そういうこと
絶対座標はデバイスが対応してないと無理
A/Dの値を角度に変換しようず
expr
554 :
774ワット発電中さん:2014/07/10(木) 20:53:59.97 ID:qoFYPwQB
ご教授お願いします。
サーボを2つ駆動するコードはググりまして動作確認ができています。
それを改良して3つ駆動するコードを作りたいのですが、setup以降のloop内の条件分岐で困っております。
二つサーボ用のコードを載せさせて下さい。ご教授お願いします。(抜本的にもっとシンプルなコードなどがあれば教えて頂ければと思います。)
int out1 = 1; //サーボ1=1PIN
int out2 = 2; //サーボ2=2PIN
int in1 = 8; //ポイント1スイッチ=8PIN
int in2 = 9; //ポイント2スイッチ=9PIN
void setup(){
//パルス出力ピンの設定
pinMode(out1,OUTPUT);
pinMode(out2,OUTPUT);
// デジタル入力のプルアップ抵抗を有効にする
pinMode(in1, INPUT_PULLUP);
pinMode(in2, INPUT_PULLUP);
}
void loop(){
int val1;
int val2;
if (digitalRead(in1) == HIGH) {
val1 = 1750; //サーボ1のON位置設定
}
else {
val1 = 250; //サーボ1のOFF位置設定
}
if (digitalRead(in2) == HIGH) {
val2 = 1750; //サーボ2のON位置設定
}
else {
val2 = 250; //サーボ2のON位置設定
}
//パルス:HIGHを出力
digitalWrite(out1,HIGH);
digitalWrite(out2,HIGH);
if (val2 < val1) { //サーボ2の方が早い
delayMicroseconds(val2+500);
digitalWrite(out2,LOW); //サーボ2を先に出力
delayMicroseconds(val1-val2);
digitalWrite(out1,LOW); //サーボ1を後に出力
val2 = val1; //遅い方をセット
}
else {
delayMicroseconds(val1+500);
digitalWrite(out1,LOW); //サーボ1を先に出力
if (val1 < val2) { //サーボ1の方が早い(同時の場合は飛ばす)
delayMicroseconds(val2-val1);
}
digitalWrite(out2,LOW); //サーボ2を後に出力
}
//HIGHの継続時間を差引いて周期を20000usに調整
delayMicroseconds(10000-(val2+500));
delayMicroseconds(10000);
}
556 :
774ワット発電中さん:2014/07/11(金) 07:40:43.78 ID:6M7lRF4N
>>555 リファレンスありがとうございます。
ですが、複数個使用の事例(サーボ3個以上)がなかなかないのです。。。
困っております。
何がやりたいのかよく分からんコードだ
558 :
774ワット発電中さん:2014/07/11(金) 09:13:53.62 ID:6M7lRF4N
>>774 すみません不慣れでして・・。
補足です。
スイッチ5個(デジタル1-5)を押すと、対応したサーボが(デジタル8-12)、動くものです。
インデントしてないソースは読む気にならんねえ
>>555 お前さ、やる気が感じられないわ
arduinoをタダで欲しいプログラムが手に入る物とか勘違いしてない?
せめて自分でサーボx3用のプログラム書いて見て、思った通りに動作しなかったらどこが悪いかココで聞くとかしないと・・・
無償でコピペオンリーの人の面倒見る人居ないと思うよ
アンカーすらまともに打てない馬鹿ばっか
アールディ脳
Serial.write(0x00);
ってコンパイル通る?
1.05と1.5.2で試したけど通ったよ。
さんくす
0.x系でのバグなのか
0018 を見てみたが class Print が
virtual void write(uint8_t) = 0;
virtual void write(const char *str);
virtual void write(const uint8_t *buffer, size_t size);
となってるので引数に 0x00 はどれを呼ぶか決定できないからエラーになるんだろう。
Serial.write(uint8_t(0x00));
とかやれば通るんでないか(未確認)
質問です。
arduino uno と赤外線LEDを下記の通り組み合わせています。
デジタル13ピン 赤外線LEDのプラス極
GND 赤外線LEDのマイナス極
そして下記の通りスケッチしています。
int ir_out = 13;
int dataOFF[] ={338,164,45,122,45以下略,};
int last = 0;
unsigned long us = micros();
// セットアップ
void setup() {
pinMode(ir_out, OUTPUT);
pinMode(led, OUTPUT);
}
連没すいません次に続きます
// dataOFFからリモコン信号を送信
void sendSignalOFF()
{
int dataSize = sizeof(dataOFF) / sizeof(dataOFF[0]);
for (int cnt = 0; cnt < dataSize; cnt++)
{
unsigned long len = dataOFF[cnt]*10; // dataは10us単位でON/OFF時間を記録している
unsigned long us = micros();
do
{
digitalWrite(ir_out, 1 - (cnt&1)); // cntが偶数なら赤外線ON、奇数ならOFFのまま
delayMicroseconds(8); // キャリア周波数38kHzでON/OFFするよう時間調整
digitalWrite(ir_out, 0);
delayMicroseconds(7);
} while (long(us + len - micros()) > 0); // 送信時間に達するまでループ
}
}
// 引数からリモコン信号を送信
void sendSignal(int inData[])
{
int dataSize = sizeof(inData) / sizeof(inData[0]);
for (int cnt = 0; cnt < dataSize; cnt++)
{
unsigned long len = inData[cnt]*10; // dataは10us単位でON/OFF時間を記録している
unsigned long us = micros();
do
{
digitalWrite(ir_out, 1 - (cnt&1)); // cntが偶数なら赤外線ON、奇数ならOFFのまま
delayMicroseconds(8); // キャリア周波数38kHzでON/OFFするよう時間調整
digitalWrite(ir_out, 0);
delayMicroseconds(7);
} while (long(us + len - micros()) > 0); // 送信時間に達するまでループ
}
}
void loop()
{
sendSignalOFF();
delay(6000);
sendSignal(dataOFF);
}
上記で実行した場合にLEDに流れる電流?電圧?(テスターで計測しました)が
sendSignalOFFの場合は0.02〜0.03程度で
sendSignalの場合はマイナス値と表記されます。
違いがないように思えるのですが、流れる電圧はなぜ異なるのでしょうか?
エアコンの操作リモコンを制作するために、赤外線の操作配列を引数で渡したいのですが
sendSignalOFF(配列を直接関数内に記述している)ではうまく操作することができ
sendSignal(配列を引数で渡している)の場合は赤外線を認識してくれません。
カメラで覗いてみても、sendSignalのほうが赤外線の光が弱いです・・・
支離滅裂となってしまいましたが、助けてください・・・
R入れろ。以上。
Rとはなんでしょうか・・・
リレーしか思いつかない・・・
>>571 関数 sendSignal の中で sizeof(inData) はいくらになるでしょうか?
ってのが分かればなんとかなるかもしれん
>>574アドバイスありがとうございます
sendSignal関数内で
int dataSize = sizeof(inData) / sizeof(inData[0]);
Serial.println(sizeof(inData))
結果⇒2
sendSignalOFF関数内で
int dataSize = sizeof(dataOFF) / sizeof(dataOFF[0]);
Serial.println(sizeof(dataOFF));
結果⇒1062
上記の結果となり、sendSignal関数とsendSignalOFF関数で
扱おうとしているデータが違うということがわかりました。
ただ理解できないのですが、dataOFF(メンバ変数)を直接指定した場合は1062となり
dataOFFを引数として渡した場合は2となるということは
値が正常に受け渡せていないということだとおもいます。
同じものを受け渡しているはずなのに値が変わる理由がわかりません。
void sendSignal(int inData[])
{
int dataSize = sizeof(inData) / sizeof(inData[0]);
は
void sendSignal(int inData[], int dataSize)
にして
sendSignal(dataOFF);
は
sendSignal(dataOFF, sizeof(dataOFF) / sizeof(dataOFF[0]);
にすれ。
>>575 >値が正常に受け渡せていないということだとおもいます。
>
>同じものを受け渡しているはずなのに値が変わる理由がわかりません。
C勉強すればわかるぞ
>>576 ご指摘の通り修正したら治りましたが
やはり原因がよくわかりません。
引数inDataに正しい値が受け渡されていないからエラーになっているのかと思っていました。
ただ、ご指摘の通り引数を増やし、そこにdataSizeを受け渡すように修正すると治りました。
そのあとでもinDataを使い処理を行っています。
※ unsigned long len = inData[cnt]*10;
ただしい値が受け渡せていないのであれば、上記の部分でも誤作動するかと思いますが
正常に動作しているということはここの部分では不具合なく動いているようです。
私の能力では調べることもできませんでしたので、もしよろしければヒントとなる検索ワードなどを教えていただきたいです。
>>578 「引数 配列」とかでぐぐるとそれらしい解説は出てくるぞ
>>579 若干ですが原因はわかりました。
C言語の場合、配列を引数として受け渡すと
配列の先頭要素のアドレスが渡される為、引数に指定していないほうではsizeが「10XX」という、変数本来の正しい値が帰ってきて
引数に指定したほうでは配列先頭要素のアドレスが渡されているため、sizeが「2」だったということですね
C言語の仕様であることがわかりました。ありがとうございます。
配列を引数として渡す場合にいろいろ特殊な点があるようですが
下記実装もまた配列の仕様でうまく動かないのでしょうか?
rei24にはdataOFF同様、エアコンの操作赤外線コードが入っています。
void loop()
{
Serial.println('A');
digitalWrite(led, HIGH);
Serial.println('B');
delay(3000);
digitalWrite(led, LOW);
Serial.println('C');
delay(100);
sendSignal(dataOFF, sizeof(dataOFF) / sizeof(dataOFF[0]));
Serial.println('D');
delay(3000);
sendSignal(rei24, sizeof(rei24) / sizeof(rei24[0]));
Serial.println('E');
delay(3000);
}
sendSignal(rei24, sizeof(rei24) / sizeof(rei24[0])); をコメントアウトした場合はLEDも点灯し、正常に動作します。
sendSignal(rei24, sizeof(rei24) / sizeof(rei24[0])); をコメント解除した場合はLEDが点灯せず、赤外線LEDも放射しません。
但し、どちらのパターンでもシリアルモニターにアルファベットは出力されています。
sendSignal(rei24, sizeof(rei24) / sizeof(rei24[0])); を入れると正常に動作しないのも
配列でアドレスが渡されていることと関係あるのでしょうか?
質問ばかりとなり申し訳ありません。
>>578 関数ってあちこちから呼ばれるんだからコンパイル時に大きさを決められるわけないでしょ
長さを知りたかったら自分で最後まで数える
>>580 rei24をどう定義してるか分からんから何とも言えん
>>583 dataOFF同様に
unsigned int dataOFF[]
unsigned int rei24[] ={337,164,45,123,44,42,39,42,44,39 (以下略、計531要素)
>>583 申し訳ありません誤発射してしまいました。
dataOFF同様にunsigned intで宣言しており
要素数はどちらも531要素です。
>>582 メモリがどのような形で確認できるかわかりませんが
コンパイル後のスケッチサイズは5,066バイト(最大容量32,256バイト)となっており
正常にコンパイル⇒書き込みはできているようです。
書き込みができている証拠としてシリアルモニタにoutputを出力して確認しました
>>585 MEGA328ならメモリ2kバイト
2バイト(unsigned int)×531×2 > 2kバイト
他にもスタックとかでもメモリが使われるから無理っしょ
書き換えるつもりが無いなら PROGMEM 的なのを使ったほうがいいね
590 :
774ワット発電中さん:2014/07/27(日) 02:27:29.05 ID:Pp/r57d4
デフォの状態でちょっと大きい配列を作るとプログラムの動作がおかしくなる。
やっぱり組み込み風のケチケチなプログラミングが必要だなぁと思う。
メモリが必要なら無理せず外部メモリ使えばいいんだよ。
>上記サイトによれば1要素ずつしか取り出すことができないみたいなので
>配列を関数に受け渡す方法はあきらめて
ああ、誤解してるな。でもまあいいか。