Arduino初心者熱烈大歓迎質問スレ part7
6 :
774ワット発電中さん :2012/05/28(月) 19:50:44.08 ID:qK90c9GR
何だこの連投は?
8 :
774ワット発電中さん :2012/05/29(火) 07:47:16.53 ID:Gb4kmMNj
秋葉より大阪日本橋が近い人は、マルツで350円でブートローダ書き込み済みが売ってるよ。 多分大阪最安値。
10 :
774ワット発電中さん :2012/05/29(火) 23:58:40.34 ID:Gb4kmMNj
>>10 仕入れ先が違うんじゃないの?
上のやつは型番からしてスイッチサイエンス経由
たまに在庫と仕入れの関係か、こういうねじれ関係が発生するよな。 共立だと500円台後半だし、デジットでも500円弱(生) 多分この辺が、ベースラインなんだと思う。 もちろんマルツのも、AVRWRT2で普通のAVRとして使えたよ。
>>12 あのエリアでデジット、共立、千石、マルツ、(パンツ除く)、の価格を比較して買い物できるようになったのは、素晴らしいこと。
>>13 そういえばまとまったなぁ。
未だにデジット・共立だと、XTALとかICなんかはカウンターで出してもらう形だけど。
こないだマルツ行って、レシート出てきたのにも滅茶苦茶びっくりした。
しかしこの値段でAVRが買えたら、互換基板がUSB-シリアル変換モジュール込みで
2000円ぐらいで作れちゃうよな。
15 :
前スレ971 :2012/05/30(水) 15:01:08.63 ID:7ZjwOAyz
前スレでAE atmegaで安くarduinoをはじめられないか相談したものです。 考えた結果としてAE-UM232Rを買ってUSB経由、Bit Bangモードでブートローダ を書き込みというのを試してみることにしました。ハードを組み立てて、 サイトのとおりにしましたらブートローダの書き込みは出来ました。 しかしArduino IDEでサンプルスケッチをアップロードしようとすると同期エラー?がでて書き込み出来ません。 avrdude: stk500_getsync( ): not in sync: resp=0x00 ボード上では13番ピンから1秒感覚で点滅するブートローダ書き込み後の 初期状態?のようです。 チップは168と328を2つ買い、それぞれヒューズビットやロックビットを サイトにあった通りに書き直してブートローダを書き込みました。 なんだかサイトを検索するとハード的な解決困難なトラブルらしいのですが これはarduino失敗かなあ。 素直に純正ボード買うべきだったのか とほほ
AE atmegaは持ってないが、DTRとAVRの1ピンどうなってる? プルアップしてあって、0.1μFを介してUSBモジュールのDTRにつながってる? リセットボタンは作った? avrdudeが起動するタイミングでリセットボタンを押してもダメかな タイミングをずらしながらやってみて、一回でも認識したら、自動リセットが掛って無い。
17 :
前スレ971 :2012/05/30(水) 16:07:50.02 ID:7ZjwOAyz
ありがとうございます。ちょっとやって 見てみます。
ブートローダはどのhexファイルを書き込んだ?自分でMAKEした? 外付けした水晶の周波数とhexファイルは合っている? ヒューズは、168と328ビット位置が違うけど、書いた値は? Arduino IDEで選んだボードはどれ? どれか1つでも違うと動かない。
19 :
774ワット発電中さん :2012/05/30(水) 16:19:36.35 ID:MPQOELbq
>>15 LEDが1秒おきにBLINKしてるなら、まずはブートローダはOK
そうな感じですね。
そのメッセージでよくあるのが、ボードの選択ミスです。(TXだけ、何度か
チカチカしないですか?)
CPUとボード、ブートローダの組み合わせ合ってますか? 168
を挿してるのに328のボードを選択してたりしてません?
あと、optibootをブートローダにしてませんか?(328ならUNOを選択、
168だとboards.txtに追記が必要)
う〜〜ん、あとは、ジャンパピンはジャンパされてますかね? AE atmega
とAE-UM232Rともに。
ちょっとチェックしてみてくださいね。
20 :
前スレ971 :2012/05/30(水) 16:45:10.53 ID:7ZjwOAyz
いまいろいろやってますが アップロードしてる間、TXのLEDが弱く何回かちかちか するだけです。正常な場合はもっと強くあるいはRXのLEDもついたりするのでしょうか? いま 168が載っていてボードは arduino decimiela or duemilanove /w ATmega 168 を選択してます。 水晶は16MHzつけてます。(周波数カウンタあてても16MHzは出てないけど 直接は計れないんですよね) ビット値は どこかのサイトにあったとおり168用の値でやったけど ちゃんとメモしておかないといけなかったな。 もう一度ブートローダ書き込みからやってみますね。 また報告します。
21 :
前スレ971 :2012/05/30(水) 16:47:42.55 ID:7ZjwOAyz
あと13番ピンは アップロード中もずーっと点滅したままなんですが これでいいんですかね?
うーん、AE-ATmegaの回路図見てみたんだけど、X3に引き出された時点でクロスされてるんだなぁ。 でも回路図では結線されてないけど、このへん実物ではどうなってるの?
D13のLEDはダウンロード中は点滅しないと思う。 AE-232基板に繋いだTXD /RXDのLEDは、FT232RLが通信しているデータの状態で点滅するので、RXDが 点滅しないということは、Arduino側が応答(データを送信)していない。 とりあえず考えられえる可能性としては... (1) TXR/RXD結線がたすき掛けになっていない (2) ブートローダの通信速度がボード選択(boards.txt)と合っていない (3) ヒューズ設定(LOW)が違っていて外部水晶発振になっていない かなぁ。ただ、LEDが1秒点滅していたら、クロック廻りは合ってそう。 まずは、(1),(2)を確認したほうがいい。 あと、エラーになっても通信はできそうに思うけど、AE232のジャンパが デフォルトで3.3Vになってなかったっけ?
24 :
774ワット発電中さん :2012/05/30(水) 17:12:34.97 ID:MPQOELbq
>>20 ブートローダは、IDEにバンドルのHEXを使うのをお勧めします。
あと、328持ってるなら、そっちの方がネットの情報も多いので、
328がお勧め。
手持ちのduemilanoveの純正の石(328P)のヒューズビットは以下のとおり。
hFuse=DA
lFuse=FF
eFuse=05
LockBit=0F
スケッチのアップロードに失敗しているときは、LEDはblinkしたままだね。
うまくアップロードできると、アップロード中はTX、RXがチカチカして、LED
は一旦消える。
>>22 あらためて回路図見たが、4Pコネクタの「X3」は、VCC/GNDがコネクタに出て
いないのは、秋月クォリティだから仕方ないとしても、BitBang用で関係ない。
もしかして、TRXジャンパ「X4」に、ショートピンを挿していないのでは?
「X4」の6Pヘッダに、2列の対向するピン同士が接続されるよう、3本の
ショートピンを挿してやらないとAE232と168/328が通信できないし、自動
リセットも効かない。(以下または説明書右上の写真を参照)
ttp://akizukidenshi.com/img/goods/C/K-04590.JPG
26 :
前スレ971 :2012/05/30(水) 17:54:23.45 ID:7ZjwOAyz
それだ! 実はX4とICSPに間違ってメスピンをつけてしまったので オープンなままなんです。 ってところで今ブートローダ書き換えしたらBIT BANGの配線エラー? が出るようになったので対応中です。 回復しだい試してみます。 ほんといろいろすみません。。またきます。
謎が解けてよかった。 しかし逆にBitBang使った事無いな。
BitBangコネクタは、ブートローダーが飛んでしまっても、もう1台Arduinoを
用意しなくても、ボード上でISP用のピンと繋げれば、avrdudeを使って書き
込むことができるよん。
もちろん、ブランクのmega88/168/328をソケットに挿して、ライタとして
使うこともできるので、28PIN ソケット(IC1)には丸ピンを奢っておいて、
必要に応じて、168/328を取り去って、列幅を揃える基板を経由したZIF
ソケット(こんなん↓)に交換すれば汎用ライタにもできる。
ttp://akizukidenshi.com/catalog/g/gP-00025/ 300mil幅の28ピンZIFソケットが入手できればポン付け交換できるけど、
秋月では扱ってない。マルツかAitendoあたりにあったっけかな?
29 :
774ワット発電中さん :2012/05/30(水) 18:32:26.93 ID:MPQOELbq
>>26 だから、ジャンパを確認しろと。。。
書き換えでエラー? 書き込んでからかな? 書き込みにいく前かな?
配線数は少ないのでよく見て。
よくやるのが、DIPの180度挿し間違い。(1ピンが15ピン位置に)
30 :
前スレ971 :2012/05/30(水) 18:32:38.16 ID:7ZjwOAyz
できましたーーーー(涙 328に付け替えてやったら出来ましたー (最初168の設定のままでやったから同じエラーがでたけどw) delayを5000msにしたらちゃんと5秒ごとに!(涙) あとはブートローダー書き換えが出来なくなったの解決しないといけませんけど なんとかやってみます。 ありがとうございます arduino活用させていただきます!!!
31 :
774ワット発電中さん :2012/05/30(水) 18:36:30.57 ID:MPQOELbq
>>30 おめでとう! よかったね。
168はヒューズビット気をつけてな。
32 :
前スレ971 :2012/05/30(水) 18:36:51.91 ID:7ZjwOAyz
aitendoで ZIFソケットが250円なんで これと秋月のAE-UM232R組んで ブートローダ書き込み専用にユニバーサル基板に組もうかなと考えてます。
33 :
774ワット発電中さん :2012/05/30(水) 18:40:32.62 ID:MPQOELbq
>>30 Bitbangは、ブレッドボードでやってるかな? 外部発振にすると、
水晶かレゾネータ入れないと動作しなくなって、通信できなくて書き
換えられなくなるみたい。そのあたりかな? まぁ、いろいろためし
ておくれ。
34 :
774ワット発電中さん :2012/05/30(水) 18:44:15.54 ID:MPQOELbq
>>32 自分は、ATmega、FT232Rモジュールともに、普通ソケットでBitbangに必要の
ないピンは全部抜いてしまって、専用基板作って使ってる。Bitbangで使うの
は数本なので、抜き差しも軽いよ。
Arduinoでサーボコントローラ作りたいんだけどいい情報ないかね
>>35 前にどっかのスレに即興でスケッチを書いたが、どこに書いたか判らんな。
(ドングリを埋めた場所を忘れた栗鼠状態)
38 :
774ワット発電中さん :2012/05/30(水) 21:27:12.33 ID:MPQOELbq
39 :
774ワット発電中さん :2012/05/31(木) 21:30:25.87 ID:ls/GOazy
40 :
774ワット発電中さん :2012/05/31(木) 21:31:24.19 ID:ls/GOazy
あ、アンカー間違い。
>>30 168はうまくいったかな?
LCDの表示をやってみたくて色々調べてるうちに、arduinoに辿り着いた者です。 先週千石でarduino unoを買わせていただき、LEDのSOS信号機作成とLCDのhallo worldまでは行けました。 最終的には秋月のGPSモジュールやデジタルコンパスを作動させて 車で運用したいと思っています。 まずは勉強のつもりで、LCDを単純なPCの外部表示器にしてみたい (USB経由でキー入力をそのまま表示したい)のですが、 「aruino LCD 表示」等でぐぐっても上手く検索できません。 arduinoではそういう事は出来ないのか、出来るなら なにか検索方法のヒントなど、教えていただけないでしょうか?
typo大杉だからじゃね?
>>41 「Firmata」のライブラリがパソコンとの通信に用意されています。
パソコン側のホストプログラムには「Processing」が用意されていて用例も多いのです。
ググッてみて下さい。
44 :
774ワット発電中さん :2012/06/01(金) 23:59:04.61 ID:43ZChMen
キーボードからの入力なら、シリアル通信でもいいんじゃね?
うむ、シリアルでも充分できるわな
46 :
前スレ971 :2012/06/02(土) 07:27:13.96 ID:CIRf7DqC
皆様先日はぼくのポカミスをサポートして下さりどうもありがとうございました。
サンプルスケッチに手を加えていろいろやってみてます。昔だったらロジックICを組んでやっていたようなことをキーボードでコード書けば出来るんだからすごいことです。
昨日はPWMのデューティー比を5段順番に変えるプログラムを組んでPWMの波形を
オシロで観察してみました。
レファレンスブックを見ると関数が色々あって何でも出来そうな気がしますね。
ところでprocessing言語ってC言語のジュニア版?みたいに見えますが、
まるまるCのコードでもコンパイル出来るんでしょうか?
間違ってメスピンをつけていたボードのX4ピンとICSPはてこずりましたが
標準仕様wのオスピンに変えました。
それから168ですがどうも死んだっぽいです。BItBANGの配線が間違っているのか接触不良がないかさんざん確かめたのですが問題なく、ためしに328の方で
ヒューズビットを読んだところ普通に読めましたので168の側がだめになった
みたいです。だめになる前はべりファイエラーが出ました。328が正常に動いてる
でまだいいのですが ちょっともったいないなあ。
逆刺しとかで逆電圧かけたりはしてないはずなので物理的に壊れてはいないはず
とは思うのですが、HDDで言う物理フォーマット?でもかけて復活させることは出来ないのかなあ??
>>33 さん 回路はAE−ATmegaで16MHZの水晶で外部発振発振させてます。
>>34 さん なるほどメスピンの側を必要なだけにすれば抜き差しは楽ですね。
その手があるかー
また書き込みさせていただきます。感謝。
>>46 まるまるCを書いてもコンパイルしてくれるよ。
BitBangで書き込むとき、クリスタルもつけてるよね?
まぁ俺も一つ壊したからなんとも言えないがw
おいらもこわした 意外に軟弱w
なんか壊れかたが気持ち悪いんよね。 共立ライターで確認したら、特定のアドレスが読めなくなってた。
50 :
774ワット発電中さん :2012/06/02(土) 20:07:23.54 ID:AZoREcWw
へぇ、結構壊れるのか。BitBangで誤配線何度もやったけど、壊れたこと
なかったなぁ。幸いだったのか。トランジスタをパンクさせたことはあるけど。
確かに、昔はロジック組んで大変だったのが楽になったよね。メモリも外
付けだったし。いい時代だ。
>>45 BitBang専用基板も、レゾネータは忘れずにね。実は、最初に作った専用
基板は、全部のピンを入れて抜き差ししてたら、FT232Rモジュールのピン
折っちゃった.(1本だけピンヘッダ付け替えて復活)
AE atmegaもFT232Rモジュール使いまわすなら、使わないピンは抜いて
おくのがお勧め。
51 :
774ワット発電中さん :2012/06/02(土) 20:08:13.70 ID:AZoREcWw
BitBangってのはFT232RL側のことで、書き込み自体は普通のISPだから、デバ イスが内蔵発振回路を持っていれば発振子はつけなくても、ヒューズ設定を 間違えて外部発振に変更しない限り、書き込みはできるぞ。 ただ、内蔵発振回路だと内部の状態遷移が遅いので、1バイトしか書き換え ないヒューズ設定は関係ないけど、ISP速度を上げると、フラッシュやEEPROM はエラーが出易くなる。 どの道、ヒューズ設定を間違えて、ISP禁止ビットをセットしちゃうと、ISP では書き換えられないのでパラレルライタが必要。
ところで、Arduinoと言っても、単にプリプロセッサで、実質的なコンパイル 作業はavr-gccに丸投げしているから、 __GNUC__ や __GNUC_MINOR__ といったGCCの定義済みマクロを使って、プログラムソース中から、avr-gccの バージョンを取得することはできるんだけど、同様に、Arduino IDE のバー ジョンを知る方法ってあるのかな? Client -> EthernetClient のように、Arduino IDE のバージョンで定義が 変更されているオブジェクトがあるんだけど、Arduino IDE のバージョン が取得できれば、#if()で条件コンパイル指定できるのに...。
54 :
774ワット発電中さん :2012/06/02(土) 22:24:24.37 ID:AZoREcWw
>>52 外部発振は発振子つければいいけど、ISP禁止ビット立てちゃうと
書き換えられなくなるのか。ほぉ。確かに高圧パラレルライタで
復旧させてる人いるねぇ。気をつめないと。
Hi-Loのユニバーサルプログラマで書き込んでる
56 :
774ワット発電中さん :2012/06/02(土) 23:40:31.05 ID:AZoREcWw
色々な物に書き込めるし、長く使えるからね。 車でもファッションでも、趣味にしてる人ならこの位の物を買うのは 珍しくないでしょ。
58 :
774ワット発電中さん :2012/06/03(日) 09:54:32.18 ID:Nh6GdeOS
PS2コントローラでモータ制御しようと思ってます
スケッチをかいたのですが
analogWrite( 6 , speedr);
analogWrite(9, 127);
6番ぴんからはPwmがでていてモータもまわりました
しかし9番ピンからは応答0でした。(電圧も0)
PSコントローラのスケッチを消して
analogWrite(9, 127);左の分を残して最小限のスケッチを書くと
しっかりとPWMがでました。
どうやらコントローラのスケッチを書くと9番ピンからPWMがでないようです
なぜでしょうか、解決方法はありますか
http://uproda.2ch-library.com/lib535234.c.shtml
>>58 PS2Xなんて始めて知ったんで本家を見に行ったよ
* 1.7
* Integrated Kurt's fixes for the interrupts messing with servo signals←コレじゃね?
* Reorganized directory so examples show up in Arduino IDE menu
* 1.8
* Added Arduino 1.0 compatibility.
PS2Xを最新のにしたらいいのかもね
60 :
774ワット発電中さん :2012/06/03(日) 13:00:02.53 ID:Nh6GdeOS
>>59 PSXは1.8で最新のになっていました;
arduino1.0で使えているので間違いないです
スケッチはexampleから書き変えているので、for1.6と書いてあるexampleを使うと
不具合が生じるのでしょうか;;
62 :
774ワット発電中さん :2012/06/03(日) 14:39:59.51 ID:Nh6GdeOS
>>61 早い回答ありがとうございます
ためしに10番ピンもやってみましたがやっぱり動きませんでした
他のピンに接続しなおして使いたいと思います
63 :
774ワット発電中さん :2012/06/03(日) 15:14:13.35 ID:1G1awf+Y
>>62 timer1は、9、10番ピンがPWM不可なんじゃ?
65 :
774ワット発電中さん :2012/06/03(日) 15:26:39.37 ID:1G1awf+Y
そうだったか。それは余計なことを書いてしまった。
66 :
774ワット発電中さん :2012/06/03(日) 18:37:27.10 ID:Nh6GdeOS
PS2コントローラの方は解決しました
ありがとうございました
もうひとつわからないことがあるのですけど
http://kousaku-kousaku.blogspot.jp/2008/10/arduinoxbee-shieldproces... こちらのサイトを参考にarduino2台とxbeeシールド、xbeeとそれぞれ二つを使ってLEDを光らせたいのですがうまくいきません。
送信側のシリアルモニタを見てみると確かに1秒ごとにHとLを交互に送信しています。
受信側もシリアルモニタでHを送信するとLEDが点灯し、Lを送信すると消灯します。
書き込みが終わった後はどちらもXbee側に2つのジャンパ線を切り替えています。
サイトの通りなら受信側のarduinoの13番ピンのLEDが1秒ごとに点滅するはずなのですが
LEDは消灯したままになってしまいます
どうやら無線通信がうまくいってないようです
arduinoはどちらもarduino uno、xbeeはどちらもシリーズ2です
お願いします
67 :
41 :2012/06/03(日) 21:42:14.14 ID:cCheq3u1
>>43 >>44 >>45 レスありがとうございます、お返事が遅くなって申し訳ありません。
直接制御はarduino IDEでは出来なかったんですね。
その後、Processingをダウンロードして試してみました。
LCDへの表示はまだ上手く出来てませんが、ひとまず
モールス信号を(またか)手打ちで打てるようになりました。
もう少し色々試してみますが、行き詰まってしまったら
また質問させて下さい。
どうもありがとうございましたm(__)m。
68 :
774ワット発電中さん :2012/06/03(日) 22:56:13.26 ID:1G1awf+Y
>>67 IDEの「Serial Monitor」から、コマンド投入はできるぞ。コマンド投入
程度なら、IDEのみでも十分。
ビジュアル化したいとか、GUIでの操作なら、Processingかなぁ。相性
が良いのは。
これを5Vの電源として使いたいのだがどうすればいい?+とマイナスはどこから?
>>70 ありがとう!!!
直流電源としても使えるということですね?
写真の角度が悪いのでピンとシルクがズレてる。ごめんな。本数数えてつないでください。 3.3Vも出てますよ。この容量は小けど。
>>73 あまり詳しくはないけど、記事見た限りで書くと、
個別で調光できると思う・
電源の容量で、点灯できるELの長さが決まるようだ。
武蔵野の電源では、2,5mということらしい。
短くすれば本数を増やせる。
調光はダイナミック制御でしょう。
説明書読んだ感じ、ライブラリ使って個別にON/OFFするのは同時に2本まで、 全部をONにするのは別命令。だけど、その中でも結局ダイナミック点灯してます。 みたいな事書いてある。
なるほど、有り難うございます 調光もPWMで全体点灯もダイナミックってわけですね しかもおそらく全部PWMで制御できるわけでなく、 一部のピンはプログムでPWMを再現してコントロールしてるんでしょうね FirmataでPCと連携してビジュアライザー的なの作ろうと思ったのですが、 Arduinoの中で疑似PWMのプログラム書かないと、通信速度的に厳しそうですね
それ、MAKEで紹介されていたそざいですね?「自転車速度ゼッケン型表示器」
LEDキューブを作ろうとしているのですが、よくわかりません すべての層が同じパターンで光るのを防ぐために不必要な層のコモンを操作して光らないようにしているんですよね? 負極側をコモンにしている場合、光らせないようにするために、コモンをグランドから切り離せればいいのかなと思っているんですが間違っていますか? 切り離すためには負極コモンが接続されたピンをHIGHにすればいいんでしょうか? また、LOWのときはグランドに接続されているのでしょうか? 負極側をHIGHにするのは、なんとなく怖いようなきがするんです、、、 よろしくおねがいします!
どっちもマトリクス。コモンは無いと思うべし。
コモンって単語を勘違いしてるかもしれん! LED キューブ作ってる人のサイト見ると、角層の負極側を一つにまとめてますよね? あそこをコモンって呼んで質問しました!
>>77 見てみたい
ニクシー管みたいにやるのかな?
ソースある?
83 :
774ワット発電中さん :2012/06/08(金) 11:30:17.79 ID:rk2QUl5s
>>78 それでいいんじゃない。
7セグLEDを光らせる時も同じことをやってるよ。
LEDを使うときの基本ですね。
91 :
774ワット発電中さん :2012/06/10(日) 23:44:23.85 ID:aetwkqr5
なんでArdinoみたいなハードって日本やアメリカでは出てこなかったの? まあアメリカ人は ものづくりの心忘れちゃってる気がするけど、日本はこういうの好きそうだよね。そのわりに 存在感ないというか。 イタリアなんてマフィアとチョイ悪エロオヤジしかいなくて国家財政は破綻寸前で技術力も なさそうなのにArdinoとかPerseusとかたまに面白い製品でてくるよな。
日本では、電気電子系は理系の落ちこぼれがやるものだからね。
イタリアは工業デザインの重要性が国民に広く理解されているから、デザイナーの想像力を拡張するような活動は賛同者が多く得られる。 デザインは二の次で「ヒンシツホショー」だけに躍起になってるような国ではarduinoが広く普及することはないだろう。
>>78 の質問をしたものです
LEDキューブの負極側にHIGHの信号を直接入れて各層のオンオフをしているのですが
これだとLEDに逆電圧がかかってしまい良くないんじゃないかと思っています
そこで、手元にあったスイッチングダイオードを挟んでLEDを保護しようかと思っているんですがおかしいでしょうか?
スイッチングダイオードは 1N914
という製品です
よろしくお願いします
いつそLEDを逆向に並列にしたらどうですか?
電流方向 < × >で2灯制御できます。
スイッチングで、両方点灯にも見せられます。
応用した「LOL Shield」ってのがあって、13×9マトリクスをArduino単体で制御してます。
http://i.imgur.com/UTz9c.jpg
>>91 どっかでも書いたけど、日本はこういう
「既存の物を組み合わせて、ソリューションと言う形にして売る」ってのがホント向いてない国だから。
「日立なんだから、日立のIC使って、日立の言語の日立のコンパイラ使って、日立から売らないと商品にしない」
「日立のICを使うのであれば、こういう売り方はダメ。ちゃんと日立で販売してるパートナーのコンパイラ売って」
こんな状態で、だれが「Processingのガワ使っちゃおうよ!」とか、
「gccをラッピングして、転送はavrdudeでいいじゃん」って言いだせるんよ。
最近、深センのベンチャーは頭柔らかいぞ。 もうパクリじゃなく、面白いオリジナル作って儲けてる。
>>95 なるほど、それなら1ピンで2層の制御が出来るんですね!
しかし、その場合もLEDに逆電圧をかけてしまいそうですが問題無いでしょうか?
そもそもLEDは5vぐらいの逆電圧はあまり気にする必要はないのでしょうか?
>>91 GAINERなんていうのもあったっけな。
http://www.ohmsha.co.jp/robocon/archive/maga/1011/pdf/72_007.pdf なんて読んでいれば、違いが見えてくるんじゃねぇの?
仮にArduinoのベースとなる部分だけが国内で用意されたとして、
果たして買ってきて使おうとしたか?対応するシールドを自腹切って
作って原価同然の安値で頒布しようとしたかな?
秋月があれだけ安価にマイコン基板売っている。
ても、あれ用の独立した開発環境を作ろう、シールドを作ろうなんて
しない。
CQのInterfaceの付録基板にしても、種類は違えどI/Oコネクタ部分の
位置寸法、電源ピン位置などは合わせてあったのだし、基本の
開発環境までお膳立てされている。
あれを真似た基板作るということだって簡単だけど、誰もやらない
だろう?当然それらのシールドを作ろうなんてしない。
そんなもんだ。
GAINERってモルフィーのパクリでしょ。
モルフィー? USB-I/Oのことなら、あれはトラ技の記事のパクリ 使ってるマイコンはCypressだけど、PSoCじゃない。 GAINERはPSoCでそ。
>>101 モルフィーがUSB-IOを出した時点で、Cypress EZUSBはあったけど、EZUSB2
やPSoCはなかったはず。
モルフィーワンが始まったのは2000年で、頓挫したのが2003年。GAINERは
> 2005年9月より開発を開始したGAINER v1.0ですが、2006年6月に
> 公式バージョンをリリースしました。
もともとEZUSBは、Cypressが開発したデバイスではなくて、Anchor Chips。
後にCypressが買収したので型番(CYではなくANで始まる)や、USBのベンダー
IDが違う。
>>102 何を言いたいのかさっぱり分からないけど、
USB-I/Oで使ってるのはEZ-USBじゃないよ。
あっ、書き忘れたけど、もちろんPSoCでもない。
ゲイナはpsocからAVRに宗旨替えしだんでない?
デフォで500khz?だかのPWM周波数を変えるにはどうすれば良いすか? fuse bit書き換え?それともプログラムで変更可能でしょうか?
サイン波の振幅を計測したいんです 知恵を貸してください 10~100kHz ぐらいの範囲で、電圧は100mV ぐらいのものを測りたいです 精度は可能な限り高くしたいです Arduino を用いて作成可能でしょうか? データを記録する必要はなくて振幅値をDC信号として連続的に取り出せればいいんです
108 :
774ワット発電中さん :2012/06/14(木) 05:47:18.35 ID:CylPvuky
ダイオードで整流してANALOG INのどれかに入れる
上下両方ほしいならバイアスかけて、ついでに増幅しとく。 それをanalogInで読み出せばいいと思うよ。
>>107 >データを記録する必要はなくて振幅値をDC信号として連続的に取り出せればいいんです
マイコン要らないじゃん。
整流して、フィルターして、必要なレベルに増幅するだけ。
一周間で飽きて埃かぶってる。
112 :
sage :2012/06/14(木) 17:32:57.18 ID:Q2xUGuOO
SDカードシールドを使用して秋月にあった 8MBのSDカードを書き込めるか試している所ですが初期化に失敗しています。 他のサイズ(2G,4G)などは書き込めるのですが腑に落ちなくて、、、 使っている機材はarduino uno とseeed studioのSDshieldです。 使用したライブラリはSdFat プログラムはSdInfoです。 よろしくおねがいします。
113 :
774ワット発電中さん :2012/06/14(木) 19:01:13.89 ID:9z7HzA6J
フォーマットするのか?
>>108 >>109 ありがとうございます
やって見ます
>>110 今現在はアナログの回路で行っているのですが
マイコンを使えば簡単に作れるかなぁ?と思った次第です、ありがとう
115 :
774ワット発電中さん :2012/06/16(土) 06:32:50.67 ID:/0QOAX8k
Arduinoの開発環境?(Mac)をつかってatmega328pにプログラムを書き込む事は可能でしょうか? arduinoとしてではなく、普通のavrマイコンとして内部発振でしようしたいんです
arduino avr ライタ
>>115 ブレッドボードはある?
あとArduinoはなんだろ?
手早くやりたいならFT232RLのモジュール1つ持っててもいいと思う。
>>119 Teensyかったことあるよ。届いたよ。
>>117 ブレッドボードはあります!
ArduinoはUnoです
あと、実は、usbasp(lcsoft studio)を持っているんですが
メーカーがマイナーすぎるせいか使い方をググっても出てこないんです
usbaspでぐぐれば出てくるだろボケ
>>121 usbispならなんぼでもでてくるんじゃないか?
あとはavrdudeと、要るならavrdudeGUIで検索すればいいよ。
124 :
815 :2012/06/17(日) 14:55:33.63 ID:GijJIFhu
ここで聞くのが適切かわかりませんが、どこで聞けばいいのかわからないので教えてください。 XBeeの本を買って来たのですが、どうしてもわからないことが。 開始デリミタが0x7Eということですが、データに7eがあったらどうるすのですか? いろいろ検索してもどうしてもわかりません。
誤:データとして0x7Dは 正:データとして0x7Eは
127 :
125 :2012/06/17(日) 18:29:28.85 ID:GijJIFhu
ありがとうございます!!!!
イーサとか無線LANも実は同様だよ。
>>125 普通に、HD-LCの時代からあるZero bit Insertion/Deletionじゃないのか?
ビットがずれると面倒だからね
8つの搬送波を使って、8bit単位のパラで変調も行うのですね。わかります。 全二重だと、搬送波が16必要なンですね。
誰か、da vinciの、Arduino版のヒューズビットわからないかな? ってかATmega32U4って共立ライタ対応してないんだな…
>>132 最新のArduiono 1.0.1に入っている「boards. txt」によると、Leonardの
FUSE設定は、LFUSE=0xFF, HFUSE=0xD8, EFUSE=0xCB らしい。
> leonardo.bootloader.low_fuses=0xff
> leonardo.bootloader.high_fuses=0xd8
> leonardo.bootloader.extended_fuses=0xcb
これで、Caterina-Leonardo.hex を書けばArduioになるはず。
>>133 トン。boards.txtに載ってるのか!
配布されてるboards.txtあとで見てみる。
いや、焼くhexは別なんよー。
どうも面倒だから、Burn bootloaderでやっちゃおうかな。
>>133 帰ってきてからboards.txt見てみた。
davinci.bootloader.low_fuses=0xff
davinci.bootloader.high_fuses=0xd8
davinci.bootloader.extended_fuses=0xcb
と、Leonardoと同じだったけど、ブートローダだけ、配布されてるzipに含まれてるhexを書き込んでやらないとダメでした。
ついでに、IDEからBurn Bootloaderをする時には、ファイル名がなぜかboards.txtと食い違ってるから、
名前を合わせて適切なディレクトリに入れんとダメだった。
>>135 > ブートローダだけ、配布されてるzipに含まれてるhexを書き込んでやらないとダメでした。
これって「Arduino IDE」と「da vinci」、どっちのZIP?
USBのベンダIDやデバイスIDがLeonardo(boards.txtの指定)と違うんでない?
>>136 あ、da vinciの方のzip。
davinci.build.vid=0x1774
davinci.build.pid=0x8032
で、異なってた。なるほど。
このUSBのIDって自由に使えるの?
自分だけで使ってる分には何を使ってもいいが、 外に出すなら勝手に使っちゃまずいだろ
中出しなら桶?
141 :
774ワット発電中さん :2012/06/21(木) 00:58:25.72 ID:2YXNHFiv
いいんだよMacアドレスとかも重複したって
どうせ売り物じゃないんだろ
>>140 そうだな。事故責任・・・もとい、自己責任ってやつでな。
ベンダーIDは2000ドルほどかかるんだよな。まともに買ってまともに売ろうと思うと。 なんかカブると問題があったような。 1774はStrawberryLinuxの他の物にも使われてるね。 と調べてたら、V-USBだと、VID/PIDのペア1つを?.9で売ってるとか。
プロダクトIDのバラ売りは禁止されていたんじゃないっけな
Flashとかでゲームの状況に応じてを振動したり光るコントローラーを作ろうと考えてます 無線にしたいのでArduino FIOとFunnelに挑戦したいと思ってます 聞いた話によるとかなり遅延がでるとかどうとか… そんなに致命的な遅延がでるのでしょうか?
どこで聞いた話なの?
何故HTML5の時代に今更Flash? かなり遅延? 「致命的な遅延」の君のプログラムでは何msに定義したの? エスパーじゃないから、君のプログラムソース見ないと分からない。 ゲームの状況とやらも分からないのに、「致命的」の境界値が分かるかよ!?
ただちに、健康に影響のある遅延ではない。
PCソフト作ってる人的には「遅延なんか起こるときには起こるんだろ?」と単純に思いがちだけど、 組み込みだとホント設計しだいで、○ms以内で絶対になんとかする、って枠も作れるんだから、 まずどれくらい遅延したらアウトなのかを決めるべきだと思うんだ。
156 :
774ワット発電中さん :2012/06/23(土) 23:13:21.30 ID:Vzcp1C7a
arduino初心者です。この一週間悩んでいます。どなたか御教授おねがいします。 いろんな方のスケッチを参考にソフトを作っていますが、 arduinoで <avr/sleep.h> を使いたいのに、いくら探しても見つかりません。 皆さんどうして組み込んでいるのでしょうか?
159 :
158 :2012/06/24(日) 00:26:41.32 ID:9Ubpv+Sj
まさに真の監視社会だな
アルディーノの初期設定のところで手間取っている初心者です。
OS:Windows7で Arduino MEGA(2560)にプログラムをアップロードしようとしてるのですが、
Serial port 'COM6' already in use
とエラーが出てうまくアップロードできません。
自分でやってみたこと
http://sanmaya100p.blog111.fc2.com/blog-entry-512.html ↑を参考にドライバの入れ直しやCOM番号の確認をしました。
ケーブルを抜くとCOM6が消えるのでCOM番号はあってるとおもうのですが・・・
javaで動いているみたいなので、javaの再インストールをしました。
Arduino1.0の他に、Arduino-0018 Arduino1.0.1でもアップロードを試してみました
ぜひヒントだけでも教えていただければ幸いです。
163 :
774ワット発電中さん :2012/06/25(月) 21:46:41.67 ID:30Ey6U35
IDE以外の何かがつかんでいるかも。COM6。 根本対処でなくて良いなら、とりあえずCOMポート番号を変えてみる。 (あなたのPCなら、まず7とか8とか)
165 :
774ワット発電中さん :2012/06/25(月) 22:23:43.26 ID:30Ey6U35
そこまでやってダメなら、それ以上は変化がないでしょうね。 SerialMonitor開いてるとかは??
SerialMonitorはCOM6だとクリックしてもウィンドウも開きませんが COM1(使用中と書いてあったやつ)だとSerialMonitorウィンドウが開きます。 うーん もうちょっと調べてみます。
>>162 FTDIのドライバ入れたの?参考にしたということは。
Arduinoのドライバって特に何も指定せず入るやつを入れればいいと思うんだが。
Already In Useはドライバとは別問題だろうから、一端デバイスマネージャーから削除して、抜いて再起動してから差して標準のドライバ入れてから、
改めてIDEでVerify&Uploadしてみたら?
あと一回何か押してIDEの各アイコンが黄色っぽい色の時は、なんかしてるので触らないこと。
ダイヤルアップ用のサーバか何かが動いてるとか?
一秒間に10万点ぐらいの電圧値を記録したいんだけど、可能? できればパソコンに送りたいけど、無理ならSDカードとかでもいいんだけどさ
>>169 秒間10000回(しかも読むだけ)が限界。
SDに書き込むのもPCに送るのも間に合わない。
>>170 サンクス
秒間1000点ぐらいでpcへの送信を考えてみる
>>171 一応1analogReadに104マイクロ秒掛かることになってる。
>>173 A/D変換外付けとか、分解能落とすとか、もとも子もない事考えてるだろw
175 :
774ワット発電中さん :2012/06/26(火) 08:18:54.39 ID:Umtl/WYe
atmega328p を普通のAVRとして使った場合はArduinoとして使うよりも高度な事ができるんですか? お聞きしたいことは、Arduinoは初心者向けであるためAVRの機能を制限してあったりするのかどうかです もしくは、ソフトウエアの開発環境が弱すぎるために高度なことができないとかはありますか?
>>175 そうでもない。setup以降に、普通にAVRでのCそっくり書ける…。
割り込みルーチンはどうだろう。
機能を制限するというより、ひとつのArduinoって枠を作って、物をを作りやすくするものだから、否定的に捉えるよりは、
もし今後MegaやLeonardoみたいな別の石のが安くなってきた時に、移行しやすいと考えた方がいいんじゃないかな。
>>175 下請けでコンパイルを実行しているのは、avr-gccなので本来であればC/C++
の記述がそのまま通る。 割り込みルーチンも書ける。
arduinoは、ヘッダファイル(プロトタイプ宣言)を書かなくていい代わりに、
プリプロセッサでソースからプロトタイプ宣言を自動生成しているので、
その代償として、本来であればコンパイルが通るinline宣言された関数が
引っ掛かる。
Arduinoはエディタ機能やデバッグ環境がしょぼい。あと、Arduinoライブラリ
の仕様(例えばタイマを使うと、自動的に関連する特定ピンのモードや機能が
変わる等の制限)が明確化されていないので、結局mega328pやライブラリ内部
のコードを追うだけの技量がないと、一通りコピペして動かして終わり。
178 :
774ワット発電中さん :2012/06/26(火) 11:26:29.52 ID:p+Q8V8Qf
ArduinoでUSB出力したシリアルデータをPC側でファイル保存することはできるのですか?
>>178 PC側でそういうソフトを作る。もしくは既存のものを探す。
180 :
162 :2012/06/26(火) 14:07:38.80 ID:3UlX1cUI
>>167 USBを抜き差ししなおして最初の1回目は
Serial port 'COM6' already in use
のエラーは出ないで、Uploding...のまま止まっています(進行状況のバーもだいたい90%のところで止まったまま)
アップロードボタンを押した後は確かにその他のボタンが若干薄くなってアップロードボタンのみオレンジに変わっているので
試しにそのまま放置してみましたが、3時間後もUploding..のままです。
下の黒い欄(?)にtimeup()とオレンジの文字で書かれているので接続をやめました。
そのままもう一度アップロードのボタンを押すとご承知の通り
Serial port 'COM6' already in use
が・・・・ うーん
翻訳サイト片手に公式ヘルプを読んでいるところです
>>180 二度押せばそりゃAlready In Use でしょ。一回目に使って使い終わってないんだから。やったことはちゃんと書かないと誰もわかんないよ。
IDEの設定に、アップロード時の詳細ログを表示するがあるから、それ見てやってみるとか、
アップロード時にタイミングよくリセットボタン(詳細ログ出してる状態でオレンジの文字が出始めて少しくらい〜そのへん)押すとか、
その辺試してみたらどうだろう。
IDEが固まったりAlready In Use が出たらPC再起動したほうが確実。
ドライバは入れ直したんだよね。
あと、アップロードせずに起動していきなりシリアルモニタ起動したら何か流れてたりしないか確認と、
Megaにシールドとかジャンパとか余計なものついてたら外してやってみるのと、試してみたら。
多分ひとまずBlinkがアップロード出来れば一山越えると思う。
ボードの初期不良かも。完全に壊れているわけではなくて、どこかハンダ 付けの不良とか。
183 :
162 :2012/06/26(火) 15:26:04.60 ID:3UlX1cUI
>>181 ありがとうございます
Blinkというサンプルプログラムがあったのですね
よくわからないので他のサンプルプログラムでやってたのですが、Blinkだとアルディーノ基盤のLEDの点滅で判断できるのを知りませんでした。
Already In Useにばかり問題があると思ってしまい、その前の手順について全く理解していませんでした
こんな無知な初心者に回答くださった
>>163 (30Ey6U35)さん
>>167 (21u+txGO)さん
>>168 (KW9dFKxU)さん
>>181 (16wxA7Wt)さん
>>182 (oBt8qt5B)さん 本当にありがとうございました
また何かわからなくて行き詰まっていることがあったら教えて貰いに来るかと思いますが、
そのときはよろしくお願いします。
たとえ違うスケッチでも、何かシールドを使う前提のスケッチで書き込み 後のプログラムが動かなくなることはあっても、書き込みの途中に無応答に なることはないと思うけどナァ。 搭載しているAVRの種類が違うArduinoボードを指定していれば、書き込み 開始時にデバイスIDエラーになるはずだし。 Arduino IDE側で選んでいるボードの通信速度(Arduino Duemilanoveなど多く のArduinoは57.6kbps)と実際のボードの通信速度(Mega 2560は115.2kbps)が 合っていないとかってオチじゃないの。
185 :
774ワット発電中さん :2012/07/01(日) 15:10:04.04 ID:vW8+cJaz
使用マイコン arduinoでサーボ四個制御(18,4,17,8//ピン番号)とXBeeシールド、GPSモジュールを制御する プログラムを書いたのですがGPSのプログラムを組み込むとGPSのデータを取得できません。 #include <SoftwareSerial.h>を初めて使ったのでこのぶぶんだと思うのですが 試しにGPSぼプログラムの部分を抜き出して書いてみると普通にGPSデータを自分で設定したピンから シリアル通信で取得できました SoftwareSerial mySerial(2, 10);//GPS用(rx,tx) どうしてもわからないです ご教授お願いします
arduino でPC用のファンをコントロールしようとしているんだけど上手くいかないんです arduino はUSBから電源をとっていて、ファンはトランジスタ経由で9Vの乾電池から電力を供給しています 乾電池のマイナス極とarduinoのグランドを接続するとファンは思ったように作動するんだけど arduinoから直接電力の供給を受けているLEDが光らなくなるんです なぜでしょうか?
トランジスタ経由、ってぼんやりしてるなぁ。 ArduinoからTRへは10kΩぐらい渡してる?ベースに何ミリ流れるか計算して、 増幅率的に何mA流れるはずか計算した上で、 テスターで実測してみたらいいよ。
>>187 ありがとう!
抵抗がおかしいとは思ってたんですが半田取るのが面倒で聞いてしまいました
ところで、もう一つ聞きたいんですが
電源を複数使う場合、それぞれのグランドが同じ電位になってるかが気になります
今回の僕の場合は電池とUSBのグランドを繋ぐのは良くないんですか?
>>188 GND電位は同じじゃないか?両方とも同じところに繋がってるんでしょ。
Vccだけ逆流しないようにしたらいいと思う。
>>185 スパークファンのXBeeシールドはTXRXにD2、D3ピンをつかいますが、GPSとぶつかってない?
>>189 トランジスタの電源をVinから取ると予想通りの動きなんですが
トランジスタを9V電池に繋ぐと動かないんです
電池の時でも電池のマイナスとarduinoのグランドを繋ぐと動くんです
分からない、、、orz
冷静に、なんか図面かけないか? 電池のマイナスを繋ぐと動くんです。って、そりゃそうじゃないか?電位が同じと言うより、 電位ってのは、どこぞから見たときの電圧だよ。 9Vの電池ってのは、そのGNDから9V分電圧を持ち上げる力があって、 5Vの電源ってのは、5V分、電圧を持ち上げる力があるだけだから、 逆に言うと、基準点が無いと9Vも5Vもないよ。 その基準点を繋いだって何の問題も無い。 ってか、Arduinoのグランドと繋がなければ、何と繋がってるの? もしかして、トランジスタは電池とだけつながってるの? どう電流が流れるか考えてみようよ。
○9V | < > | □ファン | Arduino |---vvvv---|< TR 10k | | === GND /// って感じになってるんだろうけど、これじゃ、ArduinoからTRに流れた電気が帰ってこれないでしょ。Arduinoに。 電圧ってのは、+と-の間に起こるものなんだから、-が無い事には+もない。 TRを動かすには、TRに繋がってる、GNDから見て、+5Vの(と言うより45mAの電流の)電気が必要。同じように、ファンにはGNDから見て、9Vの電源が必要。 それをTRでスイッチングしてるだけ。
GNDって地面に繋ぐもんじゃないんですか
それはアースなんだよ。なんでか。 接地=アース、基準電位=グランドが多いんじゃないかな。 接地した結果グランドが出来上がると考えてもいいと思うけど、グランドは0Vとは限らないし。 英語だとSignal groundだから、根拠・論理基盤とか、立場、とかの意味の方があるのかなーと思いつつ、でもイギリスだとearthと呼んだ気がする。
196 :
774ワット発電中さん :2012/07/02(月) 16:05:26.34 ID:LedPcEUW
>>190 Xbeeシールドはスパークファン製ではないです;
プログラムは普通のシリアル通信でXbeeを使っているので0ピンと1ピンがxbeeに繋がっていると思います。
>>196 内蔵のUARTを使わず、ソフトウェアで実装したシリアル(SoftwareSerial )は、
ソフトでI/Oポートを監視しているので、PWM(サーボ制御)のように、頻繁に
割り込みが入る機能とは両立できないよ。
複数のシリアルポートが必要なら、素直に複数チャンネルのUARTを搭載した
Arduino Megaや、Netduinoに移行したほうがいい。
あるいは、MAXIMあたりがSPIで接続できるUARTチップを出していたと思うので、
SPI用のピンが空いていれば、それを使うこともできるが、ライブラリがなけ
れば自分で書く必要がある。
1つのシリアルがPCとの通信であれば、レオナルドなら、USBインターフェース
を使ってUSBシリアルを実装し、内蔵UARTで別のデバイスと通信することも可能
だけど、GPSとXBEEじゃムリ。
>>193 完全にこの通りです
トランジスタは電池とだけ繋がってます
ベースはマイコンから来てます
ちょっとこんがらがってしまっているので、落ち着いて考えて見ます
ありがとう!!
>>198 マイコンから来たら、マイコンに帰してあげないと。
要するにグランドはつないでいいよ。
俺もはじめて Arduino 触ったときは、「GND 同士繋ぐと動くけど、それでいいのか?」で悩んだわ。懐かしいw
>>199 サンクス!
分かって来ました!はじめの接続だと、電池から出た電流と
マイコンから来た電流の両方が電池に入ろうとするからムリがあるんですね
どちらかというと「のれんに腕押し」状態だよな。 いかだに乗った人(Arduino)が、別のいかだに乗せたスイッチ(トランジスタ)を 棒で押そうとしているような感じ。 二つのいかだを連結(双方のGNDを接続)すれば、しっかり押すことができる。
203 :
774ワット発電中さん :2012/07/03(火) 00:57:45.07 ID:JAnPaeh/
筏をしっかり押すもクソもない。 GND同士は「繋いでもいい」のではなく「繋がなくてはならない」が正解。 絶対零度に相当する、絶対0Vというものは電気の世界には存在しない。 GND間が接続されていない ≒ GND間が∞の抵抗で接続されている 状態とみなすことができる。 相手がCMOSデバイスの場合、CMOSの入力抵抗が10MΩ以上と高く、GND間が 結線されていない(抵抗値≒∞)状態でも、内部保護ダイオードなどを経由 した回り込みでGND回路が形成され、運良く動作することもある。 トランジスタ駆動の場合、負荷を駆動するコレクタ電流の1/hfe以上のベース 電流を流さないと、トランジスタが飽和しないが、エミッタ(Tr側GND)間と、 Arduino側GNDとの間が接続されていない状態では、Arduinoから出力した電流 が戻るループ中に∞の抵抗が直列接続された状態になるので、ベース電流 は流れない。(オームの法則) 結果、トランジスタはONせず、負荷は駆動状態とならない。
と何やら正しいことを仰ってるようですが、難しくて解りませんでした。
ややこしい言い方をして、余計に解らなくしても可哀想だろ。 理屈はおいおい追いかける。フィジカルに、わかりやすくでいいじゃないか。 要は、回路を道路に置き換えたら、電気は路線バスなんだよ。ついでに電圧ってのは、何駅バス停を止まれるかで、電流ってのはバスの速さだと思っても良い。 電池ってのは、そのバスにガソリンを入れて出発させる所。バスターミナル。 出しっ放しじゃ、そのうち運行するバスが無くなるし、道路も車で一杯になってそれ以上送り込めない。 バスターミナルに回送にしてやらなけりゃいかん。 その為には、どっかで、回送ルート(GND)に乗せないとだめなんだよ。回送ルートに乗せる事によって、やっとバスは運行するんよ。 両方の路線から来たのを片方に送り込んだって、ターミナルと道が一杯になるだけで、車は流れない。 いや、片方の路線だけ生き残る。出てきて、帰る事が出来る方。 つまり、A路線(Arduino系)と、B路線(9V系)でもおのおの元来た所に帰らないといかん。 これをふまえた上で、トランジスタってのは、特殊な交差点で、 合流する丁字路の、片側の交通量で、もう片方の交通量をどれだけ通して良いか決める素子なんよ (あと何駅行けるかじゃなくて、どんな速度で通して良いかだけどね)。 だから、A路線から車が来るかこないかで、B路線の流れをON/OFF出来るんだけど、もちろん出口は一つ。丁字路だから。記号見たら、あぁ、ってなると思うけど。 でもA路線からきた車はA路線のターミナルに帰らないといかんし、B路線から来た車はB路線に帰らないといかん。 だから、合流しちゃった処(TRのエミッタ)を、本来は、A路線のターミナルとB路線のターミナル両方に繋がないといかん。 でもそんな風に書いてたら回路図がむちゃくちゃになるので、 「回送専用共通道路作りました、ここに入ってしまえば、全てのバスターミナルに繋がってるので ご自由にお帰りください。出入り口だけ回路図に書いておきます」ってのを、 電位差の無い(つまり、残り行けるバス停の数が0のバスが通る)「GND」と呼んでる。 逆に言えば、回送専用共通道路はもちろん、わざわざ回路図に書かれない事もある。 でも共通専用道路なんだから、A路線のターミナルへも、B路線のターミナルへも、つまり、 Arduino のGNDと9V系の繋がってないといかん。 もちろん両路線、別の出発/回送ターミナルに行くし、残りの道程次第で、残り0駅で分岐する必要も無いから、GND=0Vではないし、共通GNDである必要も無いんだけど、便宜上でも道すらが繋がってないのはダメ。
206 :
774ワット発電中さん :2012/07/03(火) 03:12:58.42 ID:JAnPaeh/
これじゃあ、ゆとりが量産されるわけだ。 もし、別の何かに喩えるなら ... 電池 ......... 「水を貯めたバケツ or ダム」 配線 ......... 「水路」 電圧 ......... 「放水口の高さ」 電流 ......... 「水路を流れる水の量」 抵抗 ......... 「水の流れ難さ=水路幅の逆数」 GND ......... 「海水面」 くらいにするだろ。
>>206 そんな大規模で分岐と起伏にとんだ水路を見たことがないよ。
実際に水路で回路作った例って無いのかな〜 って、スレに関係なくて失礼
なぜか
>>206 だけ ASCII Art 認定されてる
そんな事知らなくても、コピペして動くのがarduinoの魅力 そういう使われ方を想定したものでしょう その上で、こういう勉強の足がかりになる事もある
「自分が」作りたい物を、簡単にさくっとでっちあげる事が出来るのが魅力でしょ。 コピペして動くだけで充分なら、作例見ながらPICにhex書き込んでりゃいいじゃん。
よくわからんのだが「GND同士繋ぐ必要がある」を説明する場合に いかだとか、絶対零度とか、路線バスとか、海水面とか 関係ない単語混ぜないといけないルールなんですか?
アナログインが壊れてそうなんだけど、どうやったら壊れてるってわかる? 壊れてるんじゃないかと疑う理由は、温度センサからの値がフラフラして、0に張り付いたりから 温度センサの出力をテスターだけで見ると安定しているけど アナログインに接続した状態でテスターで測るとやっぱりフラフラしている ちなみに、atmega328p を交換してもフラフラしている 温度センサはTMP36というやつ センサの値はシリアル通信で見ている 9VのACアダプタで動かしてもフラフラしている アナログインを320KΩの抵抗でグランドとつないでみたけどやっぱりダメ このような状況なんですけど、なにかアドバイスお願いします!
>>213 GND同士を繋ぐ、って事が何かを説明するために、
GNDって何か定義せにゃ、説明なんか出来ないし、
それならばなおさら、そこで悩んでる奴に説明をはしょって、後々よろしい理屈が無い。
今は+9V系と+5V系だけど、後々、-5V系とGNDが出てきたり色々したときに、
「GNDは0Vでしょ?何言ってんの?w-5Vの電圧って何なんだよwww」というアホを作るベースになってしまうんだよ。
そういう意味では多少遠回りでも「帰り道と決めた道」とか「海抜で言えば0m(地上高-?mでもある、あくまで相対地としての0)」とか、なんとなくイメージで
「0と決めたところが0Vで、あくまで5Vってのは、そこと比べて+5V」と、ぼんやりとでも覚えておいてもらわないとかん。
ArduinoMegaかUNOで8〜16軸のサーボコントローラ作りたいんだけど 複数同時に制御する情報ないかね
Mega 1280/2560であれば、PWM可能なタイマをハードウェアでいっぱい 持っているから難なく可能。 UNOなら外付けH/Wを追加して共用PWMを 振り分ける必要がある。
秋月で購入したxbee wifiに挑戦していますが、つまずいているので助言下さい。
ftp://ftp1.digi.com/support/documentation/90002124_B.pdf xbee wifi仕様はこちらを参考にしてます。
ATコマンドモードでは、ATAIを送るとステータスが得られて、
0:接続成功 / 0x23:SSID見設定 などが返ってくると上記にはあります。(67ページ)
while(Serial.available() <= 0) {}
recv[length] = Serial.read();
という感じで受信しています。'\r'が車で上記をひたすらループする仕組みのですが、
なぜか0x23ではなく、文字列で'2','3'と返ってくるため、
幸いこれでうまくいっています。
問題は、ポケットルーターに接続がされた(?)瞬間、なにも返って来ず、
whileの直前で止まる現象があります。
これはいったい何が原因とかんがえられるでしょうか。
回避する方法はありますか?
環境は、Arduino UNO R2 + Arduino 0022 + xbeeシールド(古い)です。
xbeeシールドがUNOに対応してないのか、いちいち抜かないとアップロードできません。
(この現象は他にも報告例があるので、抜き差ししながら頑張ってやってます)
+++,ATID,ATEE,ATPK,ITIPの各コマンドは成功してます。
助言お願いします。
訂正です。 誤:なぜか0x23ではなく、文字列で'2','3'と返ってくるため、 正:なぜか0x23ではなく、文字列で'2','3','\r'と返ってくるため、
すみません、よくよく調べてみたら、 どうやら、0x02 0x03 \rが返ってきていたようです。なぜ2バイトに・・ そして、接続時にはなにも変えてこなくなること、これはわかりません。
whileの出前じゃなくてwhileの中で止まってないか? テキトーな話だが中にdelay(3)ぐらいを3つくらい入れてみるとか、 空ループ中に、余ってるピンでdigitalWrite(pin,((millis()%1000<500)?HIGH:LOW)かなんか入れてみたら?
>>221 仰るとおりです。
digitalWrite(PIN_ERR,HIGH);
while(Serial.available() <= 0){}
digitalWrite(PIN_ERR,LOW);
これでPIN_ERRピンが点いたまま止まるので、バッファにないことは間違いありません。
while(Serial.available() > 0){ recv[length] = Serial.read(); }
>>223 それでは応答があるまでの間に素通りしてしまいませんか?
??? loop()の中に書いてあるんじゃないの?
>>225 いんや、コンフィグレーションだからsetupでやってます。
単に"OK\r"か、"ERROR\r"が帰ってくるコマンドは\rがデリミタなので、
それまでループさせて取っている感じです。
正常接続(?)で帰って来ないという現象はもうどうしょうもないので、
タイムアウト的に正常としちゃおうかとおもっています。
一体何なんでしょうかね・・。
>>222 割り込み禁止とかしてないよなぁ。
俺も
>>223 の言う通り、loop中ならば、データがあれば処理、なければ素通り、その繰り返しの方がいいとは思う。
>>226 setupなら、一番最初にwhile(!Serial);入ってる?
XBee Wi-Fiは、電源大喰らいな上に、電源を投入した直後に一瞬短絡に近い くらいに電流が流れて電源電圧を下げて、他のマイコンがリセットしてしまう 不具合があるらしい。 たぶんファームウェアのバグで、ポートのI/O方向の初期化を間違えるなど が原因で、XBeeモジュール内部で一時的にショートしていると思う。 ハードが絡んだ不具合の可能性もあるので、改善されるまで待ったほうが いいと思うぞ。
なるほどなー。 じゃあwhile(!Serial);の前に500msくらいdelayしてもいいかもね。
231 :
質問者 :2012/07/04(水) 07:36:39.70 ID:OjS58qPX
助言ありがとうございます。 220の件は勘違いで、やはり返ってくるのは'2','3',\rの文字列でした。(確定) 接続の完了直前までは正常に動いているので、 電源不良の可能性は低いと考えていますが、 仕様に反して文字列が返る件もあることから、 多かれ少なかれファームウエアの問題の可能性は否めないので、 それらの観点で調べてみたいと思います。
232 :
質問者 :2012/07/04(水) 08:09:01.97 ID:OjS58qPX
いずれにせよ、xbeeモジュールをPCに接続することがまず専決なので、そうしたいと思います。 arduino関係なくなっちゃいますね。。。
>>231 > 220の件は勘違いで、やはり返ってくるのは'2','3',\rの文字列でした。(確定)
それはおかしいことなの?Serial.read()だから当然だと思うけど。前スレでもSerial.read()の話出てたけど。
'2'は"2"(文字列)じゃなくて、charの表記だけど、どっちなのかな。
>>234 C ベースの Arduino 言語では文字列といえば char の配列なんだから
区別しようとする意味がわからん。
>231 > 220の件は勘違いで、やはり返ってくるのは'2','3',\rの文字列でした。(確定) どう確認してるのかわかんないけど、Serial.read()の仕様から判断するに Serial.read()が3回実行されて3つのbyteが返されて、それぞれcharに変換されて '2','3',\r になってるんでしょ
>>235 charの配列でもヌル終端のが文字列。
おなじ「0」でも違う。
NULLはナル
239 :
質問者 :2012/07/04(水) 18:55:36.96 ID:OjS58qPX
xbeeから送られる応答をすべてarduinoのEEPROMに記録して、後で読み出す形です。 char c = EEPROM.read(i); Serial.print(c); Serial.write(":"); Serial.println((int)c); のループをやると、 O:79 K:75 :13 2:50 3:51 :13 2:50 3:51 :13 と帰ってくるので、やっぱり帰ってくるものは仕様に反して'2','3','\r'のようです。 arduinoのマイコンを抜いて、xbeeシールドをつけると、 xbeeとPCを直接つなげることができるようなので、それでやってみます。 ・・・っていうかそんな事出来るならはじめからそうやればよかったorz
あ、ATコマンドみたいなのを発行するの?これ。 じゃあ多分テキストで帰ってきてるんだろうなぁ。
>>239 どう読んでどう書いてるの?
OK\r
23\r
23\r
のように見えるけど、仕様/期待されるのは何なの?
xbeeとかわかんないから、お役に立てないかもだけど...
>XBee Wi-Fiは、電源大喰らいな上に、電源を投入した直後に一瞬短絡に近い >くらいに電流が流れて マニュアルにちゃんと書いてあるけどな。
突入電流対策すれば? したら動作しなくなるかもしれないけどさw
246 :
質問者218 :2012/07/05(木) 00:34:34.43 ID:DdlZYTmv
>>239 ですが。
やっぱりATコマンドはすべて文字列でやり取りする仕様のようです。
Arduinoでやると、接続後のATAIコマンドでスンとも帰って来なくなる現象は、
PC(X-CTU)では全く起こらずでした。
ArduinoUno・Sirial.read()との相性があるのかもしれません。
その後はすこぶるうまく行き、データ送信までうまく出来ました。
相手方PCのパケットモニタソフトでTCP/UDPいずれも到着確認。
Webサイトのポート0x50にGET HTTPをしても全く返ってこないのが現在の課題。
また明日がんばります。
文字・文字列でやりとりじゃなくてbyte codeじゃないの? Arduinoでわざわざ char c = EEPROM.read(i); で変換してるし Serial.readBytes()使ったり、Noteにあるように Applications should read AI until it returns 0x00, indicating a successful startup (coordinator) or join (routers and end devices) 0x00返るまで繰り返し読み込んでみては
248 :
質問者218 :2012/07/05(木) 19:54:53.14 ID:DdlZYTmv
ハイ壊れましたよっと。xbee wifi ファームウェアのバージョンアップしたら、失敗したらしい。 リストアが出来ない。何か送ると変な文字が帰ってくる。 バージョンアップはX-CTUでダウンロードからすべてやってくれるのだが、 長いダウンロード時間挙句ダウンロードに失敗していたようで、 binファイルが見当たらない。でもWriteはされたらしい・・。 バグも多いし何なのこのクソモジュールorz なんとかリストア出来ないものか・・
>>248 ざまあああああああああああああああああああwwwwwwwwwwwwwwwwwwww
ンゴゴゴゴゴwwwwwwwwwwwwwwwwwwwwww
250 :
質問者218 :2012/07/05(木) 20:34:32.45 ID:DdlZYTmv
オワタww 何もかもオワタw
軽くレンチンして不良品交換
>>248 Wi-Fi版は使ったことないけど、ちゃんとRTSとDTRだったかを繋いだ?
フラッシュの書き込みは時間が掛かるから、マニュアルにあるとおり、
ちゃんとハードウェアのフロー制御線を繋いで書き込みしないと失敗
するよ。
もう一本の信号は、電源投入時に強制的にファーム書き換えモードに
するためのもの。 送/受信と電源/GND以外に、これらも繋いでおかないと
ダメ。
254 :
質問者218 :2012/07/05(木) 21:44:09.76 ID:DdlZYTmv
>>253 だめやね。
Unable to proguram module.
Incompatible function set selected for current module.
Resetを解放した瞬間に出る。
>>252 が本当なら、つながってない可能性が高いかも。
というのもxbee wifiは、xbee shieldをArduinoマイコン外してつなげているから。
でもどこをどこに繋げば・・
255 :
質問者218 :2012/07/05(木) 22:10:46.12 ID:DdlZYTmv
どうもUSBタイプでは出来ないようなことが書いてあるページもあるね。 D-SUBてもとにあるからやってみます。
xbeeのファーム書き込みはarduinoのシールド経由だとだめだよ。 xbee explorerを使えばOK。
ちゃんとしたXbee-PCアダプタを作るなり、用意した方が良いよ。 問題の切り分け/発見がとてもやりやすくなると思う。
258 :
252 :2012/07/06(金) 00:26:43.10 ID:MhfTN0rR
秋月のFT232Rモジュールと、XBEEピッチ変換基板を、Cタイプのユニバーサル 基板に載せてPC用アダプタを作ったよ。 これで、シリーズ1、シリーズ2のXBeeモジュールを問題なく最新ファームに 書き換えできた。 ただし、秋月のXBEEピッチ変換基板に載っている3.3Vレギュレータは150mA しか電流が取れないのでWi-Fiには使えないと思う。 SOT-223だと貼り替え すればいけるが、あいにくデジトラサイズなので500mA以上取れる同型品は 入手できないと思う。 3.3Vを直接入れるには、LDO剥がしてジャンパー線を飛ばすしかない。
259 :
質問者218 :2012/07/06(金) 01:25:54.45 ID:SQP59GWz
手持ちのMAX232Nが5Vでないと動かない。めんどくさっ!
以前にパスコんについて質問させてもらったものです センサーの出力とグランドをパスコんで繋ぐとセンサーが非常に安定して喜んでいたのですが イーサネットシールドを装着した途端また不安定になってしまいました 何か助言を頂けないでしょうか?
>>260 USB経由だとしたら、電源容量が足りていないのでは?
262 :
質問者218 :2012/07/06(金) 23:23:32.20 ID:SQP59GWz
xbee wifiファームウェアふっかあああああああああああああああつ!!! よかったぁ(ノ∀`)
>>261 ありがとうございました
さっそく9vのACアダプターを購入し接続したところ安定して動作しました
規制とけたかな?
double か float 型をStringに変換する方法を教えてください、お願いします。 sstream を使ったやり方がエラーになってしまいます。 何か他に方法ないでしょうか?
簡単かつ確実なやり方だと、 sprintf(buf,"%f",dblValue); 。 処理系によっては、 ftoa(dblValue,buf); とかの関数がある場合も。
>>266 >>267 ありがとうございました!!
string = String((int)(input*pow(10,decimalPl、、、、、
の部分を
String string = String((int)(input*pow(10,decimalPl、、、、、
に書き換えると動きました!
あ、確かにString型の宣言なしにstring使ってるなw コメントで伝えておいて。
電磁石の強さをArduinoで制御したいのですが、 PWMで制御しようとするとコイルの性質上良くない気がします PWMの出力をトランジスタで増幅して、ローパスフィルタを入れるべきかと考えているのですが どうでしょうか?ローパスフィルタは必要ないでしょうか?
271 :
774ワット発電中さん :2012/07/10(火) 14:18:01.72 ID:zvOi7vIY
>>270 電磁石の強さを制御して何をしたいかによるんじゃないかな。
連続に電流が流れるようにしたい?
>>274 質問が出てる時に割り込んで自己主張するから
ネタとしてツマランからだろ
>>270 「気がする」と言われても、こちらも超能力者ではないから、何を気に
しているのかわからん。
だいたい、電磁石とやらにどのくらい流すつもりなのかなーんていうにも
よるしな。
まっ、気になるなら気にならないようにやってみればいいんじゃねぇの?
どうせ趣味なんだろ?
278 :
774ワット発電中さん :2012/07/10(火) 22:49:55.95 ID:L7xCPhCo
MAKE記事のリンク貼ってステマするなら、いつもの「自称関係者」で やればいいのに。
>>272 >>277 返信ありがとうございます
電磁石はリレースイッチから取るつもりなので
電流は多くても200mA ぐらいだと思います
バネに吊るしたネオジム磁石の高さを微妙に(5センチ程度)変化させたいんです
280 :
774ワット発電中さん :2012/07/11(水) 00:42:57.32 ID:eGKXfkXF
>電流は多くても200mA ぐらいだと思います 200mAっていうのは、マイコンのI/Oポートで扱うには充分巨大すぎる くらいの値だけどね。
>>281 コイルの電源は別に用意するつもりです
気になっている事は、PWMでコイルを制御しようとした場合
PWMが高周波なため、コイルに全然電流が流れないんじゃないかと心配しています
まだコイルが手元にないので何も試していないのですが
始める前に質問してしまいました、すみません
鉄道模型の直流モーターは、メーカーのパワーパックでも20kHzでドライブしてる。 どれぐらいの周波数で反応させたいの? もっと高い周波数になると、コイルは2πfLで高抵抗を示すよ。
>>283 制御対象の応答速度は非常にゆっくりで大丈夫なんです
数秒で応答してくれれば充分です
鉄道模型は、データ伝送に使っていたりもするね。
>>282 >PWMが高周波なため、コイルに全然電流が流れないんじゃないかと
スイッチングレギュレータの動作のお勉強をしてみると良いと思うよ。
電流が流れない云々は矩形波(±に振れるんじゃなくて、下が
0Vの時の波形)をFFTして、それぞれの周波数成分に対してどうなる
のか考えてみれば良いんでない?
どうしても分かり難いなら、Spiceでも使ってシミュレーションして 電圧波形と電流波形を見てみれば良い。リニテクのフリーの奴で充分でしょ。
>>285 矩形波の立ち上がりを非常に高い周波数と考えていたのですが
周波数に分けるとメインは矩形波と同じ周波数のサイン波という事でしょうか?
うだうだ言ってないでさっさと実際に試せよw うだうだ言わずにさっさと実際に試せるのがarduinoなんだからさw
>>282 arduinoのPWMライブラリだと、490Hz固定ですが、ご自分で「高周波PWM」とやらの細工なさる??
>>289 いや、すみません
その周波数でもコイルにとっては高周波なのかと思っていました
また、矩形波であるため立ち上がりの急な変化は打ち消されるのかとも心配していました
とにかく試してみます、ありがとうございました
Arduinoの弱点おすえて
Androidと勘違いされる
293 :
774ワット発電中さん :2012/07/12(木) 12:17:28.67 ID:uqaw0kPx
hexファイルが膨れ上がる
遊びで終わる
>>287 >矩形波の立ち上がりを非常に高い周波数と考えていたのですが
この発言は看過できんぞ。。
フーリエ変換は勉強すべき。信号制御に興味がある人にならそんなに難しくないんだから。
ラズベリーパイを知って、Arduinoの価格がますますぼったくりだと思った。
297 :
774ワット発電中さん :2012/07/12(木) 21:12:30.71 ID:W7li5tB5
倒立振子を検討している。 pendulum.h を使いたいんだが見つからない、 どなたかD/L場所を教えていただけませんか・・・よろしく!!
Arduinoで人工知能みたいな物出来ますか?
できますよ。
302 :
774ワット発電中さん :2012/07/12(木) 23:27:54.49 ID:Y4LGJA45
>>296 それだいぶ前に申し込んだが納期は後8〜10週後らしい
待てるか?
303 :
774ワット発電中さん :2012/07/13(金) 06:28:39.80 ID:mBWPRar6
>297,300,301 ご返事ありがとうございます。 参考スケッチに使われていたので、拾えるかなと思っているのだが、 >301はどうもArduino用ではないらしい・・・・ もし他に見つかったら教えてください。
304 :
774ワット発電中さん :2012/07/13(金) 09:41:42.51 ID:qgcwqzSl
>>296 >Arduinoの価格がますますぼったくり
自分で部品を集めて自作しても大した節約にはならんよ。
305 :
774ワット発電中さん :2012/07/14(土) 12:30:23.78 ID:M2AZpfZJ
>>305 いつもの文体さんだね、工作物の写真upしてからだね。
307 :
774ワット発電中さん :2012/07/14(土) 13:17:51.00 ID:M2AZpfZJ
>>307 うーん。
もう一度ピンの接続を確認。ビニテで巻いてあるところは半田でつけたほうがよろしいかと。
シリアル信号が不安定だから?
接続ピンを確認してみて。
309 :
774ワット発電中さん :2012/07/14(土) 13:57:54.13 ID:M2AZpfZJ
>>308 全て、一応はんだでつけてからビニテで巻いてます
シリアル信号が不安定かもしれませんね。最悪壊れてる可能性もありますよね
>>309 そういえばGPSモジュールがボードに乗ってるけど
外においてみたら変わったりしない?
311 :
774ワット発電中さん :2012/07/14(土) 14:09:00.49 ID:M2AZpfZJ
>>310 外で測ってます
数日前までは外で測れていたのに、なぜか
今使うと部屋の中で測った時と同じように値が0しかでないです;
>>311 そとって、uno
のボードの上ってことね。
GPSモジュールが近くメスピンに触れてたり?駄目だわからん
ADボードが欲しいんだけど、ArduinoはADボードとして使える? C++で作ったソフトにセンサの値を読み込みたいんだ どんなキーワードでググればいいかだけでも教えてください。お願いします もちろん、もう少し詳しく教えていただければもっとうれしい
>>314 サンクス!
でも、これはArduinoにセンサからの値を読み込む方法じゃん、
ここで読み込んだ値をどうやってパソコン上で動いてるC++のソフトに送ったらいいの?
もう一度よろしくお願いします!!
>>316 ありがとう!!
Sirial 通信でパソコンとやりとりできるんだ!
正直なところC++もつい最近勉強し始めたばかりなのでSirial通信なんて良くわからないんだけど
出来そうな気がしてきた!!! サンクス!
長文失礼。最近はじめました 基本的なことかもしれませんが教えてほしいです xbeeでセンシングした値を無線でarduino側のxbeeに送り、 midiを出力する電子楽器みたいなものを作ろうと思っています しかしxbeeのシリアル受信とmidi出力を同時に使おうとするとうまくいきません どちらか一方なら動作することは確認しました 個人的にはxbeeとmidiの通信速度の違いが原因かと思い、midiの31250に合わせたいのですが、 xbeeはAPIモードを使用しているため任意の速度に設定できません arduinoはUNO R3でRXにxbee(受信のみ)TXにMIDIを出力です(←使い方合ってるか疑問です) midiライブラリを使用しています、xbeeはシリーズ2です 解決法がわかる人はどうか助言をください
>>318 xbee側にSoftwareSerial使え。
>>319 ありがとうございます
やはりシリアル端子がかぶっていたということでしょうか
ちょっと自分でSoftwareSerial調べてみます
こちらのサイト様を参考に、arduinoの複製と自作を試しています。
ttp://blog-yama.a-quest.com/?eid=970124 幸い複製は上手く行きまして、現在ブレッドボード上でLチカが動作しています。
ただ期待していたほど省電力化が出来ておらず(5,5Vで100mA消費)、いま色々試している所です。
そこで質問なのですが、
○:周波数を外部発振ではなく内臓の8Mhzにすれば、省電力化を期待できますでしょうか。
○:そのためにブートローダを書き換えたいのですが、上記サイト様によると
>※ブートローダを書き込んだ後は外部クロック設定になりますので、2度目からは書き込めません!
とありますが、これは15,16ピンに16Mhz水晶を当てておけば
この簡易方式でも再書き込みは可能だと考えて良いでしょうか?
手持ちの石が限られているので、ダメモトで壊してしまう前に
念のため質問させていただきました。
またその他にも「こうすればもっと省力化できるよ」みたいなアドバイスがあれば、
お教えいただけると嬉しいですm(__)m。
>>321 一回入れたらもう書き直せないって意味だってことだから無理だと思う
詳しくはわかろん
>>321 > またその他にも「こうすればもっと省力化できるよ」みたいなアドバイスがあれば、
省力化したいんなら自作なんかヤメレ
ラズベリーパイが流行ったらArduinoもオワコン化しそうだな
325 :
774ワット発電中さん :2012/07/19(木) 15:41:44.24 ID:ESRoVLq3
ラズベリーパイのソフトはだれもは組めないだろう。 使い道は電気代の安いサーバー利用などに限定されるだろう。
>>325 え、どういうこと?
Arduino使って出来る範囲で一通り遊んだんだけど
ラズベリーパイ使ったらもっと凄い事できんのかなって思ってとりあえず予約したのに
Arduinoの代わりとして使うのって難しいの?
センサーの値読み込んだり、外部に出力したりするのはArduinoより難しい?
たしかに、どうやるのかなーって思ってたんだけど、まあ、どうにかなるかなーって思ってたんだけど
327 :
774ワット発電中さん :2012/07/19(木) 16:26:38.80 ID:ESRoVLq3
ラズベリーパイにはSDカードで配給されるOS(Linux)を走らせる。 パソコンの代わりにはなれるが、Arduinoの代わりにはなれない。 IOピンがないため、ArduinoとUSB接続してセンサーはArduinoに接続する。
>>327 >ラズベリーパイにはSDカードで配給されるOS(Linux)を走らせる。
OSなんて何載せたっていいだろ。
>>327 >>328 >>329 サンクス!
I/Oピンは有るけどアクセスするのはarduinoより難しい
アナログで読みたいなら、usbでarduinoと接続がひつようで
そのためにはusb機器作成の技術が必要って感じかな?
>>331 いや、TTLでシリアル出てたんじゃないかな?
>>332 >>328 のリンク先に情報が出ている。
UARTはあるけど、信号レベルは3.3Vらしい。
leonardoとかUSBHostShieldとかでどうにかならんかな だったらArduinoだけで良いってことか
335 :
774ワット発電中さん :2012/07/20(金) 16:13:57.87 ID:WeeuPhOZ
>>330 >OSなんて何載せたっていいだろ。
OSを自作できない人にはLinuxしか選択肢はないよ。
>>335 誰かが用意してくれたの利用すりゃいいじゃん。オープンソースってそういうもんだろ。
■Androidによるマイコン・ボード制御入門 (7月25日発売予定)
全部入りマイコン・ボードmbedとイーサネットでつながる
大川 善邦 著 B5変型判 288ページ
JAN9784789816298 定価2,730円
Androidタブレットとmbedとをイーサネットでつなぐためのネットワーク
・プログラミングを解説します.mbedは,ARM社のCortex-M3をコアにした
NXPセミコンダクターズ社のUSBを内蔵したマイコン・ボード(LPC1768評価
ボード)です.また,mbedは,マルツエレック株式会社のMAPLE Boardに載
せて使っています.
http://shop.cqpub.co.jp/hanbai/books/16/16291.html
■エレキジャック No.22 (7月25日発売予定)
第1特集 Android×Wi-FiでI/O!
第2特集 Arduinoでセンシング&コントロール
B5判 144ページ JAN4910042080822 定価1,680円
第1特集では,スマホやタブレットに使われるアンドロイドOSのマシンと
マイコンをつないだ電子工作を取り上げます.第2特集は,利用範囲が拡大
しているArduinoの活用法を数多く取り上げています.特設記事では,いま
話題の音の良いUSB DACのキットを使って,音をよりよくするチューンナッ
プを行います.
http://shop.cqpub.co.jp/hanbai/books/MCQ/MCQZ201208.html こっちだ
教えてください。 TXRXをMIDIで使いながら、 センサの値をモニタしたいのですが、どうすればできますか? SoftwareSirialでMIDIを使えれば出来ると思うのですが、 MIDIライブラリを使用しているため、よくわかりません。 よろしくお願います。
何がしたいのかよくわかりません。
>>339 >SoftwareSirialでMIDIを使えれば出来ると思うのですが、
>MIDIライブラリを使用しているため、よくわかりません。
MIDIライブラリ使わなければおk
342 :
339 :2012/07/21(土) 19:43:07.59 ID:eNZAi2T8
>>341 MIDIライブラリを使わなければ、SoftwareSirialでMIDIを使えるということですね。
使えないものと思い込んでました。
ありがとうございます。
>>342 「SoftwareSirialでMIDIを使えれば出来ると思う」って言ってるのお前じゃん。何言ってんの?
シリアル通信を行う際に「Serial.write」を使う時 Serial.write(0x7e); と0以外ではこれで通るのですが Serial.write((byte)00); と0だとbyteを追加しなくてはコンパイルできません。この理由って何かわかるでしょうか?
346 :
774ワット発電中さん :2012/07/23(月) 13:27:40.04 ID:BFRjIoxA
0は0x30のことだろ。
C言語にbyteなんてないだろ
00じゃなくて0なら通るかもしれない
typedef char byte;
>>345 uint8_tとconst char*で曖昧だから。ってかエラーメセージ読め
>>350 すいません、エラーを良く読んでませんでした。ありがとうございます、その通りでした
ダ・ヴィンチ32U買ったんだけど、 外部電源つけるのにarduinoでいうVinピンが無くて困ってるんだけど、 GNDはGって書いてあるところにつけるとして、どこにプラスの線つければいいの? ミニUSBのプラスのピンは小さいし、隣のピンと感覚狭いし半田つけるの大変そう、けどそこしかないかな?? 小さいガチャポンのケースに入れたいからUSBケーブル刺せない。
ダイオード噛ませてか直で5Vにハンダ付け! 基板見たところそれしか無いでしょ
355 :
774ワット発電中さん :2012/07/25(水) 13:56:22.19 ID:XiIbtXNa
Arduinoを初めようと思うのですが、 まず何から揃えればいいでしょうか。 LEDチカチカとかだけじゃなく、 気温を取得してTwitterなどに自動投稿できるようにしたいと思っています。 スイッチサイエンスとかいう所がいいのですか?
357 :
774ワット発電中さん :2012/07/25(水) 14:12:48.48 ID:XiIbtXNa
>>356 早速ありがとう。
UNO R3というのがいいみたいですね。
お勧めされたものを早速買いたいと思います。
貯金しなきゃな。
#define VERSION "1.02" int LED = 13; void setup(){ pinMode(LED,OUTPUT); Serial.begin(9600); } void loop(){ if (Serial.available() > 21){ digitalWrite(LED,HIGH); delay(100); digitalWrite(LED,LOW); } } プログラム内容はArduino側がデータを受信したらLEDを点灯させるというプログラムにし、 xbeeを二つ使い通信をしたいのですがArduinoに上記のプログラムをアップした所、xbeeと通信をしなくても 13番ピンのLEDは光っぱなしになってしまいます。何がいけないのでしょうか?
HIGHの時間は100ms確保されてるけど、 LOWの時間は無いんじゃないか? available() > 21もよくわからんが。
>>358 >13番ピンのLEDは光っぱなしになってしまいます。何がいけないのでしょうか?
1: void loop(){
2: if (Serial.available() > 21){
3: digitalWrite(LED,HIGH);
4: delay(100);
5: digitalWrite(LED,LOW);
6: }
7: }
loop() は繰り返し呼ばれる。2: の条件は真になるとずっとそのままなので、
5: で消灯してもすぐ 3: で点灯される。
つif else
>>353 >>354 この+5Vって、ミニUSB刺した時にここから5V取れるから好きに使ってねって奴じゃないの?
説明書pdfの5Vピンの説明の所に【5V電源出力 <Fused>(外部回路の電源として利用できます)】って書いてあるんだけど、本当にここでいいの?
いいけど、miniUSBと外部電源の両方を同時に繋げちゃだめだよ 普通のarduinoは逆流防止回路付いてるけど、それには無いから
Arduinoって「pinMode(LED,OUTPUT)」だけのときってピンは
「Low」なんだっけ?「High」なんだっけ?
あと
>>358 のLEDの部分の回路ってどうなってるの?
それならもしLowで光る回路なら光りっぱなしになるよね。
おっと、注意事項書こうとおもったら
>>363 が書いてくれてた。
ま、要するにUSBの+5vもピンのも全部つながってるから、そこにvinすりゃ良いって話。
>>363 >>367 なるほど。そうなんだ。注意事項までありがとう。
疑問があるんだけど、
USBの+5Vもピンも全部つながってるとか、逆流防止回路付いてないとか、どこに書いてあるの?
日本語説明書に全然そんな事書いてないんだけど。
二人とも回路図見て判断してるわけ?それとも英語のデーターシートに全部書いてあるの?
>>359-
>>361 ,
>>364-365 アドバイスありがとうございます。delayを追加してみます。
>>364 回路はArduinoの13番とGNDにLED、xbeeの1,2,3,10番ピン⇔Arduinoの3.3V,RX,TX,GNDで繋いでます
ACアダプタ直挿しとか心配ならダイオードやトランジスタ使った簡単な回路通してやれば大丈夫だろ
>>355 イーサネットシールドとtmp36っていう温度計で出来るよ
俺はgoogle document のスプレッドシートに室温と水槽の温度を五分おきにアップロードしてる
373 :
774ワット発電中さん :2012/07/26(木) 16:15:16.29 ID:sYQMPSaX
>>372 ありがとうございます。
Google Documentに自動でデータをアップロードできるんですか?
グラフとかも作成できそうだ。
自宅のPCのエクセルとかでVB走らせておいてとかでも良いんじゃない
もしくは、leonrdeでマクロ操作するとか
377 :
774ワット発電中さん :2012/07/27(金) 17:31:51.02 ID:ipoag4do
>>376 355です。
どこかで見たのはこれか!
ありがとうございます。
参考にします。
>>369 > 公式に上がってる回路はコンパレータでFETをスイッチしてる箇所があって、
> 外部とバスパワーの両方繋いだ場合は外部が優先する仕組みになってる
あるでぃ脳の回路は、使い方によっては逆流防止としては機能しませんよ。
Arduino の「+5V」は出力専用です。 この端子へ外部電源から+5Vを加えて、USB
バスパワー接続することは想定されていませN、
Pch-MOPSFETは、ゲート電圧をソースよりVgs以上マイナス電位に下げることでONして、
ボディダイオードがバイパスされます。
Arduino Leonaldoの回路図で言えば ...
IC1(NCP1117ST350T3G)は、ON Semiconductor社製の3端子レギュレータ(LDO)です。
コネクタ(J3)の「+5V」ピンへ外部から直接電源を繋いだ場合、IC1には、逆流防止
回路が入っているので、の入力DCジャック側(VIN)へは逆流しません。したがって、
「VIN」の電圧はほぼ0Vになります。
つまり、DCジャックの電源が供給されていない状態と同じです。
これにより、IC2B(LMV358)で構成された電圧コンパレータの+入力側はほぼ0Vに、
-入力側は3.3Vになるため、IC2B(LMV358)の出力はほぼ0V近くに振れて、VUSBと
+5Vの間に入っている、Pch-MOPSFETのT1(FDN340P)がONします。
この状態は、USBコネクタのDC入力側を出力と見れば、オープンドレインのハイ
サイドスイッチと同じです。トランジスタと違って、MOSFETのソース〜ドレイン
間にはPN接合がないため、ON状態ではどちら向きでも電流が流れます。
これにより、USBコネクタ側のUSB電源とArduino内部の+5V間に電圧差があっても、
MOSFETによってほぼ0Ωで短絡されます。
>>379 ループの中で何も処理してないじゃんwそらぁ一瞬でしょう
アクションゲームみたいに複雑な計算をやりつつ
ジョイスティックの値も読んでかつカクカクしないようにするなら
タイマ割り込みだの入力割り込みだの使うんだと思うよ
>>369 やはり回路図読めないとなのかー
コンパレータもFETも初耳だし、そこまでのレベルに行くの結構時間かかりそうだなぁ。
378の言ってる事はもうわけわかんね
とりあえずやりたい事は出来た!ありがとう!
>>378 の意図がちょっと判らないが、
要するにDCジャックを経由しないで直接5Vをピンソケットへ供給したらダメよ、
って話だから、普通にUSBやDCジャック経由で供給するつもりであれば気にしなくていい
384 :
774ワット発電中さん :2012/07/31(火) 13:59:13.90 ID:QdynW4hj
明和電気のパフォーマンスを思い出した。
おしいなぁ、現在のスイッチの状態がiPhoneに表示されてれば
もっと良かったw
>>383 メカニカルに解決する手もあるぞ
386 :
774ワット発電中さん :2012/07/31(火) 17:32:32.63 ID:O3L78pAi
int value; void setup(){ pinMode(10, OUTPUT); pinMode(A1, INPUT_PULLUP); } void loop(){ analogWrite(10,40); delay(1000); value = digitalRead(A1); delay(1000); } 上のスケッチをUNOで動かした場合は、PWM出力は変化せずに、出し続けるが、 LEONARDOで動かすと、1秒毎にPWMが出力→消える→出力・・・になる。 なぜかピンA1をdigitalReadすると、ピン11のPWMがおかしくなる気がします。 スケッチに何か問題があるのでしょうか。 アドバイス頂けるとありがたいです。
あるサイトを参考にxbeeを使いシリアルポートの設定をしたいのですがprocessingで
import processing.serial.*;
println(Serial.list());
とした所COM3というのは出たのですがそれに対して
//「XBee Explorer USB」のシリアルポート設定
port=new Serial(this,"/dev/tty.usbserial-A8003VXd",9600);
とあり、「/dev/tty.usbserial-A8003VXd」がシリアルポート番号みたいなのですがこのような番号は出てきません。
このような自分のシリアルポート番号はどうやって調べればいいのでしょうか?
http://kousaku-kousaku.blogspot.jp/2008/10/arduinoxbee-shieldprocessingxbee.html の出だしから少し先の「コンピュータに接続したXbeeと通信の部分に記載してあります。
すいません普通にCOM3で良いのですね…… 自己解決しました…
Arduinoっていわゆる市販品じゃなくて 受託開発的な製品になら使ってもいい?
Arduinoはそもそも商用利用OKだろ。
え、他のマイコンは商用利用NGなの?
ArduinoはIDEで、かつ標準ライブラリなんかもあるから、ちょっとややこしい話になりそうなところを、商用利用OKと謳ってるよ。 AVRやPICのマイコン本体は商用利用OKだろうが、コンパイラ・ライブラリによって商用利用できる出来ないが変わるでしょ。
じゃあArduinoでちょこっとプログラム組めばできそうなのがあるんだけど 100万で買ってくれるらしいんだけど売っていいよね?
>>394 あんたのつくる製品の部品としてArduinoが組み込まれてる状態?
それなら全然問題ないよ
Arduinoのコピー品を「Arduino」って名前で売るのはダメ
ダメなのか?いいんじゃないの? クローンにでもしとけば。 もしくは発想を逆にして、Arduino用のプログラムを100万、組み立て工賃無料なんかで売ればいいんじゃないか?
内訳はプログラム一式998,000円、その他部品2,000円にすればいいですか?
やめとけって
>>397 むしろ面白いからそれで見積もり提示してみ?
なんで「やめとけ」なのかな。 買う方がいくら出す、と言う値段が、売り手がつけるべき値段だろうし、 (今後のその業界の事を考えても) 部品代と原価と、工賃と技術料と知識料は乖離して当然じゃないの? 原価2000円、工賃2000円、プログラム500,000なんて結構ざらだと思うんだけど。
>>400 >なんで「やめとけ」なのかな。
ID: ReMOdMiaのレス抜き出してみたらNoとしか言えない子みたいなんで
放置でいいと思うよ
ID: QeZDi6KJは受託開発っつってんだから互換ボードの販売じゃなくて
R&Dなんだろうけど
>>397 で一気にネタ臭くなった
わざわざ値段をいうところが胡散くさい
ArduinoってGPLだから製品だしたら公開しないといけないんでないの? 公開してもいいっていうなら製品にできるけど
>>403 その理屈で行けば、Linux上で動いてるソフトは公開しないといけない話になるな。
406 :
774ワット発電中さん :2012/08/03(金) 17:13:46.30 ID:dKH4QL4Z
製品化するのなら通常動作や誤動作など様々な条件での検証を行う必要が有るが 自前か借り物かでシミュレーション出来る内容か実際に実験するかなど 差が出るかもね。
開発言語がコンパイル言語というのは、実行速度を考慮しての事なのだろうが、 入り易さを考えれば、Silent-Cのようなインタプリタ言語の選択肢もあった方が良いと思うな。 数年前のインターフェイス誌の付録でColdFireがあったが、LAN越しにSilent-Cで遊べるのは素晴らしいと思った。
メモリの少なさも考慮に入れてよw
FORTHとかVTLとかいいかもね
インタプリタも悪くはないんだけど、ターミナル入出力だの、 エディット機能だのを入れ始めると案外大きくなってしまったり するし、ソース1文字で1バイト使うんで、RAMも結構要る プログラム丸ごとROM化して動かすっていうんじゃ、コンパイルして 書き込んでるのと大差ないし。
ソース1文字1バイトは甘えだろ。 予約語とか、何度か出てきた文字列をテーブル化するとか、色々ある。
シンタックスエラーとかでつまずかないレベルなら USB繋ぎっぱなしにしてちゃちゃっとコンパイルした方が速い
413 :
774ワット発電中さん :2012/08/09(木) 11:22:44.79 ID:WzmLzBD0
私は、今シリアル通信で送信した値を7セグメントLEDで表示させるものを製作しています。 7セグメント回路は2桁ありまして、どの桁も動作しました。(プログラム中の表示させたい数の変数にダイレクトに値をいれました(例)56) しかしながら、次はシリアル通信でやってやろうと、IDEのシリアル通信の送信欄に、たとえば「15」と打つと、下一桁の「5」しか出てきません。 送信したい値の下1ケタつまり1バイト分(?)しか送れていないということでしょうか? 原因は私が思うに『☆を付けたところ』か、そもそもの『変数や配列、それらのデータ型』の設定が下手くそだから・・・などと考えております。 問題解決へのヒント、何を勉強すべきか等々、ご教授くださいましたら、本当に幸いです unsigned int val = 0; //表示させたい入力値をvalとする unsigned int dig1; //dig1は7セグの一の位 unsigned int dig2; //dig2は7セグの十の位 void setup() { /************************ 7セグ用のピンモード(略) ************************/ Serial.begin(9600); } void loop() ☆{ ☆ if(Serial.available()>0) ☆ { ☆ val = Serial.read(); ☆ val =val-'0'; ☆ } ☆ dig2 = val%10; //dig1は7セグの一の位 ☆ dig1 = (val/10)%10; //dig2は7セグの十の位 /***********以下は7セグ用のプログラム(略)*************** digitalWri(ry ・ ・ ・ 長文失礼しました
>>413 文字は'1'と'5'が送られてくるが,プログラムは1文字で2桁のデータを作ってる。
'1'が送られてきて 01表示
'5'が送られてきて05表示になっている。
プログラムで1桁目と2桁目の区別する必要あり。
'1'が送られてきて 01表示
'5'が送られてきたら'10'(桁をずらす)にしてから1桁目を'5'にして'15'表示
'2'が送られてきたら'50'(桁をずらす)にしてから1桁目を'2'にして'52'表示
の用に1桁ずつずらす。
>>413 val =val-'0';
こういうことする頭はあるのに、その後がおかしいのに気づかないのか?
理論的思考能力が足りてない
10進の割り算は遅いので使わないように
if(Serial.available() >= 2) {
dig2 = Serial.read() - '0'; //dig2は7セグの十の位
dig1 = Serial.read() - '0'; //dig1は7セグの一の位
}
416 :
774ワット発電中さん :2012/08/09(木) 15:51:17.55 ID:WzmLzBD0
>>414 様
出来ました!!
ご教授いただいたのをイメージしてスケッチを書かせていただきました。
まずいところがあるかも知れませんが、とりあえず正常に表示されました。
数日間、悩んでいたので、動いたときは本当に感動しました。ありがとうございました!
void loop()
{
if(Serial.available()>0) //数字ありますか?
{
firstval = Serial.read(); //とりあえず1個目の数字を保存
if(Serial.available()==1) //もう1ケタ数字がありますか?
{
secondval = Serial.read(); //2個目の数字を保存
val = (firstval-'0')*10 + (secondval-'0'); //適宜処理してvalに保存
}else{
val =firstval-'0'; //適宜処理してvalに保存
}
}
unsigned int dig2 = val%10;
unsigned int dig1 = (val/10)%10;
・
・
・
だから、なんで演算しようとするの……? 2桁目が無ければ、dig2をdig1に代入してから、dig2に0を入れればいいんじゃないの?
418 :
774ワット発電中さん :2012/08/09(木) 16:14:40.11 ID:WzmLzBD0
>>417 様
遅れました。
416のプログラム、二度手間になっていますね・・・ご教授いただいたように、改善しました
プログラムがめちゃくちゃシンプルに!
仰るとおり私、非常に頭がかたいですorz ですが勉強になりました。
本当にありがとうございます!
まぁ、勉強になっただろうから頑張れ。 ここの人たちに私も助けられたから~。 とか言いながら昨日328のピンを一本折ってしまって涙目
>>416 のスケッチってSerial.read()よりSerial.parseInt()使う方が良いと思うんだけど。
Serial.read()だと、数字以外のキーボード押しちゃった時のエラー処理のコードも書かなくちゃいけないじゃん?
なぜかMPL115A2のACKが返らない(´;ω;`)ブワッ
>>420 それでも、(int)'0'と(int)'9'との比較で済むじゃん。エラー処理って言う程でもないし、
parseIntの方がArduino的だとはいえ、たった一桁のパースに使いたくない。
>>422 成程。parseIntは勝手にゼロを返してくれるから何も考えなくて楽だと思ったけど
>>416 ではそんなにメリット無さそうやね。
どうもどうも。
>>423 勝手にゼロを返す、ってのも、どうかと思うんだけどね。その点では。
エラーであれば、エラーなのだから、何かしらの別のアクションを取るべきだよ。
こんばんは。android携帯をのせて自律走行するおもちゃの車を作りたいのですが、 Arduino Mega ADK R3の他に何買えば良いでしょうか?
そんなことを2chで聞くようなレベルじゃ、金と時間の無駄遣いになるだけ。 あきらめて、もっと有意義な金の使い方をしたほうがいい
>>425 ぼやーっとしてるなぁ。
自律走行がどの程度かもわからんし、Androidである必要も微妙かも。
やるのであれば、イーサネットのモジュール(イーサネットシールドである必要はない)と有線<ー>無線コンバータの方が面白いかもしれん。
最初からあまり高いものを買うと、使いこなせない事にがっかりするから、まずは安くそれっぽいものを作ってみたらどうだろうか。
その後、ステップアップはいくらでも出来るんだし。
俺は最初UNO買ったけど、それ以来出来合いはDa Vinciしか買ってない。
>>425 自立走行なら距離センサーとかいるんじゃね?
「ルンバ」作ろうぜ
>>425 Androidにプロセッサ載ってんだし、Arduino要らんだろ。
>>430 GPIO引き出してきて、ドライバ作って、って無茶苦茶じゃないか?
>>431 あるかどうかも分からんGPIO引き出す必要なんてないだろ。
>>432 じゃあどうやって自走させるためにタイヤ回したり、サーボを動かすんだよ。
>>433 液晶に表示してフォトトランジスタで拾うとか色々やり様あるだろ。
>>434 それじゃ一方通行じゃないか。こんどはあれか、ソノレイドで画面タッチか。
どうしてそこまでしてArduino使いたくないんだw
GPIOとか考えなくても、イヤホンマイク端子があるじゃない。 入力は、カメラや加速度センサーでいいじゃない。
>>436 あぁ、イヤホンマイクがあるな。その通りだ。
FSKでピーヒャララはやっておいて損は無い。
Arduinoデビューしたいんですけど 最初は純正のものがいいですかね?
うん
440 :
774ワット発電中さん :2012/08/23(木) 07:42:24.66 ID:3d6kbp6x
コピー品って純正より安いの? 自作しても純正より高く付くぞ。
>>440 作り方次第。俺はRS232Cのモジュールを使い回すから、500円くらいで済む。
442 :
774ワット発電中さん :2012/08/23(木) 09:46:27.48 ID:3d6kbp6x
>>441 イサーネットシールドを刺すために、「Arduino用ユニバーサル基板」を使うとこれだけで500円。
まさか、イサーネットシールドも自作?
>>442 イーサネットモジュールが安いのあるよ。
シールド使いたくても、専用基盤つかわなくても、ピンソケットをすこしこじって加工すれば使える。
写真つきで解説してるサイトもあるしググって見たらどうだろ。
444 :
774ワット発電中さん :2012/08/23(木) 16:36:56.40 ID:3d6kbp6x
>>444 じゃあ最初から「本家を買うべき」と言っとけよw
純正より安くつくか高くつくかって話からズレてんぞ。
手間もコストの内だし、微妙な非互換部分で躓く可能性もある。 単純にどっちが高い安いとは言えないと思うが、純正以外では不安要素が多いことは確かだろう。
そりゃそうだよ。一台本家もってた方がそりゃいい。 二台目からはクローンで充分だと思うけど。 なんかID:3d6kbp6xはイラっとするな。
10W級LEDランタンを自作中で、そのPWM制御をarduinoで試しています。 FETをarduinoで駆動して、無段階で光量調節が出来るようになりました。 ここで更に、バッテリの過放電を防ぐため アナログ2ピンに電圧を測定させ、それが一定以下になったら PWMを停止するよう下記のスケッチを書いたんですが、これだと →電圧降下→PWM停止→負荷消失→電圧回復→PWM再開→電圧降(ry→ となってしまい、バッテリ保護には使えません。 ---------------------- //PWM制御と電圧監視実験 int val=0; //入力値の変数を用意し、0に設定 void setup() { } void loop() { double value = analogRead(A0); //ANALOG IN 0番ピンで電圧を計測 Serial.println(value); if (value > 950) {//バッテリ電圧が11V以上なら動作Aを、以下なら動作Bを実行 //ANALOG INの5番ピンを読み取りvalに代入 val=analogRead(5); //アナログ出力(PWM)の3番ピンを出力とし //valを4で割った値を入れる analogWrite(3,val/4); //0.1秒ループにする delay(10); } else { // 動作B analogWrite(3,LOW); } } ---------------------- いちど処理Bに入ったら、arduinoにリセットがかかるまで 同じ処理を継続させるには、どんな文章にすれば良いんでしょうか。 ご相談に乗っていただけると幸いです
>>448 フラグ立てとく。
int stopFlag=0; をどっかに宣言しといて、
if (value > 950) を、「if (value > 950 && stopFlag==0){」
にして、
else内でanalogWriteしたあと、stopFlag=1する。
>>448 // 動作B
analogWrite(3,LOW);
for (;;);
おー、組み込みっぽいな。
452 :
774ワット発電中さん :2012/08/23(木) 22:05:47.78 ID:BE3voD5e
レオナルドってどうですか? ひかれるけどびメモリがびみょーに少なくないですか?
453 :
774ワット発電中さん :2012/08/23(木) 23:13:49.01 ID:BE3voD5e
>>448 フラグを使えば簡単。
フラグの初期値を1にしておいて、処理Aの条件にフラグの値のチェックを加える。
処理Bに入ったらフラグをおろす。
どこかでフラグを上げる処理をしない限り、処理Aは実行されない。
454 :
453 :2012/08/23(木) 23:16:39.81 ID:BE3voD5e
リセットがかかるまでってことなら
>>450 が手っ取り早いと思う
ただ、ウォッチドッグタイマはOFFにしとかんとな。
あ、でもArduinoさんは、デフォオフか
457 :
448 :2012/08/24(金) 00:37:47.37 ID:kj41VLgH
>>449 >>450 >>453 レスありがとうございます。早速試していますが、
なにぶんド素人なためうまく行っていません。
>for (;;);
を書き足すのが簡単そうなので試してみましたが、シリアルモニタで見ると
PWMも含めて全体の処理を1回だけして止まってしまいます。
>else内でanalogWriteしたあと、stopFlag=1する。
が、
>>453 の「フラグをおろす」という事なのは何となく分かるのですが、
具体的にどう記述すればいいのかよく分かりません・・・。
stopFlagを扱っているスケッチ例の解説ページなどがありましたら、
誘導していただけないでしょうか・・・。
>>457 全文を直すのはあまり勉強にならないが、思いあまって殆ど書いたからなw
stopFlagは俺が適当につけた変数名だから解説とかは無いと思うよ。
まず、スケッチの最初の方に、int stopFlag=0;で、変数を作っておく。
関数外にね。
int val……の次の行とかで。
で、loop内では、電圧が950以上で、かつstopFlag==0の時だけ、処理するようにif分を書き換える。
それ以外のとき(電圧が950未満もしくはstopFlag==1のとき)は、stopFlagに1入れる。
else{
analogWrite(3,LOW); //<- analogWriteってLOWでよかったっけ。たまたま0?
stopFlag=1;
}
って感じで。
でも、無限ループ足したあとシリアルモニタで見ると止まっちゃうってのもなんでだろう。
そのときのvalの値が950切っちゃってない?
459 :
774ワット発電中さん :2012/08/24(金) 08:37:15.30 ID:J0IoTWom
950って4.64Vくらいだよね? 充電池なら4本だときついよね?
460 :
774ワット発電中さん :2012/08/24(金) 17:26:12.31 ID:1IMddxzc
LEDを複数個点灯させるとCPUなどを含めてUSBからの供給電流能力を超えるのですか?
>>457 シリアルモニターで表示される「value」の値と実際にテスターで測った電圧は?
あと、どうでもいいけど0.1秒ならdelay(100)
>>459 11Vって
>>448 に書いてある。アナログピンに12Vそのまま突っ込んでないとは思うけど。
462 :
448 :2012/08/24(金) 22:19:05.18 ID:havmNIa+
>>458 レスありがとうございます。
つい先ほど、電圧降下で期待通り「動作B」に固定してくれました。
昨晩、
>>449 を参考に書いたスケッチがコンパイルすら出来ず、
今夜質問するポイントを再整理していたんですが、書き込み前に
別環境で確認してみたらするする進んで「あれ?動いてる?」という感じで・・・。
おかげで助かりました。
最終的にはこんな感じになりました。(変更点のみ抽出)
-----------------
(前略)
int val=0; //入力値の変数を用意し、0に設定
int stopFlag=0;
(中略)
if (value > 900&& stopFlag==0){//バッテリ電圧が11V以上なら動作Aを、以下なら動作Bを実行
(中略)
} else {
// 動作B
analogWrite(3,0);
digitalWrite((13),HIGH);//バッテリ警告LED点灯
delay(10);
stopFlag=1;
(後略)
------------------
もう少し分岐を増やして、電圧が少し下がったら警告灯点灯、
更に下がったら点滅&緩やかに光量下げ、最後には強制消灯・・・と書き加えていく予定です。
>でも、無限ループ足したあとシリアルモニタで見ると止まっちゃうってのもなんでだろう。
>そのときのvalの値が950切っちゃってない?
値は1023ですね。
テストは電池ではなく、可変式の安定化電源を13Vにして繋いでいます。
448のスケッチからほとんど変化はつけていません。
「analogWrite(3,LOW);//」の次の行に書き足しただけです。
しかし実際の動作は前述の通りで・・・。
>>459 >950って4.64Vくらいだよね?
電源はリチウムイオン*4 or 鉛電池の予定です。
そのまま繋ぐとarduinoが壊れるとの事なので、
分圧して5Vにしてます。
ありがとうございました。
またもう少しいじってみます。
463 :
448 :2012/08/24(金) 22:30:25.29 ID:havmNIa+
>>461 >シリアルモニターで表示される「value」の値と実際にテスターで測った電圧は?
上でも書きましたが、13Vを5V(念のため4,6V)に分圧して
テスタ表示13V時に1023と出ています。安定化電源と言いつつ結構ブレてますが、
最大値の時は1023で張り付いてます。
>あと、どうでもいいけど0.1秒ならdelay(100)
お恥ずかしい、直しておきます。
拾ってきたスケッチ切り張りしてるのがバレてしまう・・・
t
465 :
774ワット発電中さん :2012/08/25(土) 10:11:17.60 ID:ZzsNHXUJ
秋月だったら自作Arduino用のキットがあったはず。でも2000円するが。
>>465 1回目の試作の時はそんなもん。
作品として完成してしまえばシリアルUSB変換など
使わない部分もあるので、2回目以降の試作に流用したらいい。
むしろAE-UM232Rは単体の利用価値が高いから それだけ買うといい Arduino自体は適当なAVR焼けば作れる
シリアルUSBは道具だと思えば
Unoを一個だけ買って 後はプログラムしてからユニバーサルに載せれば安くつくんじゃね? 抵抗数個と水晶とコンデンサぐらいだろ?
472 :
774ワット発電中さん :2012/08/25(土) 13:21:27.06 ID:ZzsNHXUJ
がんばってArduino互換機を自作量産したとしてそれらをなんに使えばいいだろ?
>>472 友達にあげるとか、、、、
い、いろいろあるんじゃないか?
ardino unoR3を購入する予定なのですが一緒に買っておいたほうがいいもの何かありますか?
いや、方向が間違ってるだろw Arduino使ってこれ作った。完成したし、Arduinoは次においといて、互換機作って組み込んじゃおう。 だろう。
476 :
774ワット発電中さん :2012/08/25(土) 19:07:58.49 ID:WNSh3iwt
>>474 LEDを数本、抵抗のつめあわせ。
あと、cdsとかなんかあったら楽しいと思う。
HD44780互換LCDがあったらさらに遊べる。
>>474 477に加えて次もあると入門編一式できるかと。
ブレッドボードとワイヤー10〜20本、タクトスイッチ数個、
他励式圧電ブザー(5v)、可変抵抗(10kΩ)
>>478 あぁぁ、ブレッドボードぐらいある前提だった。>478が言ってるのもあった方が良いな。
ブレッドボードは小さいので良いから2枚買った方が良い。ワイヤーは勿体なければ、
単線のリードを買ってきて好きな長さに切ってもいい。
>474 多分既に持ってるだろうけど、無いようならUSBケーブル。
参考になります
>>474 高いけどイーサネットシールドが有ると夢が広がる
Arduinoレオナルド使った人いないの?
485 :
774ワット発電中さん :2012/08/26(日) 10:50:57.90 ID:0LVEsqC2
その高いイサーネットシールドの自作サイトある?
安いサーボモーターも一個あると面白いよ
488 :
488 :2012/08/26(日) 11:12:19.93 ID:RwRkSB6U
LEDランタンの者です。
バッテリに繋いで実装してみたら、一瞬だけ出る電圧数値のブレに振り回されて
結局テストできてません。数値の平均化を試みてるんですが、どうも上手く行ってないです・・・。
それはもう少し粘ってみますが、それとは別に
>>463 >ちゃんとarefいれてる?
ぐぐって見て、あのままだとarduinoが壊れかねないと言うのは分かったんですが、
具体的な対処がよく分かりません。
電圧検出用の端子を分岐して、アナログ0番ピンの他に5kΩを挟んで
AREF端子に繋いでみましたが、これだと電圧0の状態でも
シリアルモニタに1000以上の数字が出てしまって、「あ、こりゃなんか間違ってるな」と。
(抵抗を500kΩまで上げると300台に下がりますが、数値がおかしいのは変わりません)
このまま進めるとそれこそ本当に壊しそうなので、もうすこし解説か、
解説ページへの誘導を頂けないでしょうか。
>電圧検出用の端子を分岐して、アナログ0番ピンの他に5kΩを挟んで >AREF端子に繋いでみましたが AREFが何のためのピンなの分かってる?
>>487 MACアドレスが無いらしいけどアドレス取るのって難しい?
簡単なら試して見たい!
本体よりイーサーネットシールドのほうが高いのが納得いかない
だったら自分で組めハゲ
今日日、中華モジュールを避けるとか無理じゃないのか? 表面上不買してても同じだぞ。
497 :
774ワット発電中さん :2012/08/27(月) 01:10:51.46 ID:KmxPywW7
チョン製だけど作ってるのは中国だろ
498 :
774ワット発電中さん :2012/08/27(月) 06:21:12.44 ID:ZBwMqQla
最強だね。
>表面上不買してても同じだぞ。 シナ製や半島製と表記されると売れないという実績を作るのも大事。
つまり、生産地偽装をしろと・・・
501 :
774ワット発電中さん :2012/08/27(月) 19:34:52.22 ID:KmxPywW7
>>500 そうして、偽装品が摘発されていってスクリーニングされればいいのさ。
てか、シナは生産拠点としての魅力はなくなってきてるけどね。
人件費高い、勤労意欲低い、品質意識ゼロ同然
そんなことしてたら相場が無駄に高くなるだけだろ。 安けりゃ買い叩けばいいじゃん。 日本製品に求めてるのとは違うベクトルなんだから。 高けりゃお前らのなんか買わねーよwwって態度で上から見てたらいいと思う。
wifi shieldなんてものができたのか
505 :
774ワット発電中さん :2012/08/28(火) 09:19:47.97 ID:6W2GJ4J1
そして、若者のArduino離れが...。(w
もう始まってるかもなwww
若者のArduino離れっていうか、もともとこれは、昔マイコンをやってたような オッサンがテンション上げて悪乗りしちゃってた感があるからな。 SUGEEEEと思うのは俺らがオッサンだから、ってのに気づいたよ。 若者は、動画が動いてなんぼ、mp3が流せてなんぼ、なんだな。 LEDがチカチカしたらなんだ、左右に流れるLEDでピンポンとかバカにしてんの?って感じで。 メカトロやったり、データ蒐集とか計測したりする奴らには役に立ってるとは思うが。
8pinのArduinoは無いのですか?
Arduinoは平成生まれ、ゆとり世代の象徴で、 ゆとりの電子工作の登竜門って言うイメージだったのだが。 昭和だろうがゆとりだろうが初心者は手軽な物から始める印象だと思うけど、 mbed、がじぇるねに移ったのか? それとも昨今のゆとりはいきなり足回りから組むようになったのか?
というか、別にマイコンの世界への入口がArduinoであっても 何ら問題ないと思うが。。
本業がPC/汎用機のソフト屋だが、ソフト屋としても最近の若者は頭を抱えるレベル。 イメージがVBなんだよ彼らは。RADで画面にボタンを置いてダブルクリックでイベント書くのがデフォみたいな感じ。 だからArduinoでも、結局何も理解せず、GNDって何ですかってレベルでネット見ながらブレッドボードで繋ぐだけだったりで、 勝手に「なんだショボイ」とか言って辞めちゃう。
513 :
774ワット発電中さん :2012/08/29(水) 10:26:38.68 ID:pvjYn4fO
本業が建築の設計屋だが、設計屋としても最近の若者は頭を抱えるレベル。 イメージがVBなんだよ彼らは。CADで画面にボタンを置いてダブルクリックでイベント書くのがデフォみたいな感じ。 だからArduinoでも、結局何も理解せず、GNDって何ですかってレベルでネット見ながらブレッドボードで繋ぐだけだったりで、 勝手に「なんだショボイ」とか言って辞めちゃう。
だって、ホントにショボいんだもん
>>514 普通のAVRと比べてしょぼいって意味?
516 :
774ワット発電中さん :2012/08/29(水) 17:48:13.22 ID:gpGg8mVJ
仕事だったらクビ 遊びでもクビ リオでは金(←谷)
>>513 お前がVBを「本業」でまともに使ったことがないんだね。
VBが「本業」w
本業でも使ってるが、だいたい帳票か、多少の遅れが許される場合のみ。 .netになってからはよく使うが。 VB6厨はこれだから。
そう?良くあることだけどな。 製造コストは上がるから、ある程度数が出るようなら切りの良いところで 改版するだろうけどね。
522 :
774ワット発電中さん :2012/08/30(木) 09:00:48.20 ID:wx974Ers
523 :
774ワット発電中さん :2012/08/30(木) 10:12:40.31 ID:mxKMcCOp
>>523 どういうプログラムでどういうエラーが出たかくらい書け
525 :
774ワット発電中さん :2012/08/30(木) 10:28:35.76 ID:mxKMcCOp
>>524 すいません。
TCP/IPのソケットプログラミングをサーバ側、クライアント側ともにc言語で書きました。
クライアント側をArduinoに送信するソフトウェアにコピペしてコンパイルすると下記のようなエラーが出ました。
お手数ですが宜しくお願いいたします。
sketch_aug30a.cpp: In function 'int main()':
sketch_aug30a:10: error: aggregate 'sockaddr_in server' has incomplete type and cannot be defined
sketch_aug30a:16: error: 'AF_INET' was not declared in this scope
sketch_aug30a:16: error: 'SOCK_STREAM' was not declared in this scope
sketch_aug30a:16: error: 'socket' was not declared in this scope
sketch_aug30a:20: error: 'htons' was not declared in this scope
sketch_aug30a:21: error: 'inet_addr' was not declared in this scope
sketch_aug30a:24: error: 'connect' was not declared in this scope
sketch_aug30a:28: error: 'read' was not declared in this scope
sketch_aug30a:32: error: 'close' was not declared in this scope
>>525 Arduinoでmain()書いてるっておかしいだろ。本の1冊でも読んで勉強すれ。
527 :
774ワット発電中さん :2012/08/30(木) 10:56:51.04 ID:mxKMcCOp
528 :
774ワット発電中さん :2012/08/30(木) 11:12:35.43 ID:KiGWVCxN
530 :
774ワット発電中さん :2012/08/30(木) 18:58:17.93 ID:tgfD+M69
>>527 ArduinoはArduino言語だよ。
でも中の人はArduino言語をC言語にプリプロセスして結局WinAVRに渡してる。
ということは、ANSI-Cでやりたいなら直にやればいい。
単純に、mainの中身をsetupに入れちゃえばいいんじゃないか?
533 :
774ワット発電中さん :2012/08/30(木) 23:14:15.38 ID:tgfD+M69
>>531-532 コピペ房には到底理解できないのかもしれないが、あくまで2行目以降の
エラーが発生している関数名を示しているだけで、コンパイラが吐いている
エラーと、main()関数の有無には関係ない。
だから、Arduinoはゆとり向けと言うんだよ。
そんなに煽らんでもww なんか後ろめたい事でもあるのか? 人間、人を煽るときには自分が言われたら嫌なことを思わず言うらしいからな。
main()がただの関数だと理解した時は、一皮剥けた気がしたよ。
>>535 ldの-eのデフォルトがmainなだけだもんな。
ただの関数じゃないっしょ Mainは特別な関数です 理解したって?なにを??
論点ずらしでトンズラかよおいwwwwwwww
>>539 意味わからん。
繰り返すけど、Mainの話なんて誰がしてるの?
携帯で打ったら先頭が大文字になっただけなんだけど.. 揚げ足とって論点ずらしに徹底とは恐れ入りますね レベルが低すぎるけどもw 次のコメントありますか?くそばか
>>543 >携帯で打ったら先頭が大文字になっただけなんだけど..
なら
>>539 でそう言やいーじゃん。アホか。
いやあ..まさか... そんな低レベルなことで揚げ足とるバカがいるとは想像もしなかったんで.. バカが想定外だったようで申し訳ない
>>545 >バカが想定外だったようで申し訳ない
お前がどんなケータイ使ってるかなんて誰も知らんだろ? ホント想像もつかないバカっているもんだな。
>>537 >ただの関数じゃないっしょ
>Mainは特別な関数です
Main→main と読み替えた上で言うが main() 自体は普通の関数だぞ。
startup に呼び出されるってだけの話だ。
内心分かってたんだろ? Mainとmainの使い分けなんてしてないってことに わかっててそれを攻めようとしたんだろ? しかし大文字小文字の差で攻めようなんていくらなんでもきついよ 2ちゃん歴浅いのかしらんけど煽りやるならネタ選ばないとだめだぞ
技術計の板だとやっぱ
>>547 みたいなレス返さないとだめだよね
その上で関数についてのディスカッションが始まるわけじゃん
タイプミスとも言えないようなとこ延々と攻めてもねえ..反省してほしいわ
>>548 >内心分かってたんだろ?
>Mainとmainの使い分けなんてしてないってことに
>わかっててそれを攻めようとしたんだろ?
はあ? お前なら main() も Main() も WinMain() も同じとかマジで言いそうだな。
もういいよお前 オウムみたいに連呼でがっかりしたよ
Arduinoのスケッチを触ったことがあるのかよこいつ。 平成生まれのゆとりというより、 なんか軽石臭がするな。
ID:Ap0tPx2sみたいなアホはスルーしろよ スレがゴミで埋まるだろーが キモイスレタイだから変なのが寄ってくるんだよ
>>536 が書いてるとおりリンカのエントリポイントの設定次第だとおもう
デフォルトがmainになってるってだけかと
結局、特別な関数って言ってるのはマジなのか? コンパイラが実行ファイルまで作ってくれると思い込んでるのか? どうして、ldをmanしてみないの?
arduinoの初心者スレでldをmanしろとかアホの極致だろw
まあ、Arduinoは、そういう部分が見えないようにしてハードルを下げてる 環境だから、たしかにそこまで言及しろってのは酷なのかもしれん
>>556 それは間違ってると人に指摘された事はやるべきだろ。
だから初心者がずっと初心者なんじゃん。
そもそも発端はC言語ではプログラムが組めます、って言った奴なんだし。
>>538 気持ち悪過ぎる
このキモさをわざとやってるなら大したものだw
そっかなあ?
おれ他人にツッコミ入れたり挑発的な文章書くときにはつまらん揚げ足とか取られないよう
せいぜい気をつけるし、揚げ足取られたところで
>>537 みたいな逆切れなんてみっともなくて
できないけど、人によってその辺の感覚って違うんだね。
挑発的な事書くときは、本当に慎重にやらないと単純に自滅するからな。 平身低頭で聞くか、旨く間違った事をさもありなんと書き込んで指摘されんのまって「うん、やっぱそうだな。知ってた」とか開き直るかしか無いんだよ、多分。 ってか、わかんないから詳しく教えてくれ、って言われたら俺は毎回長文でたまに図示してまで回答してるぞ。 アホは許す。勉強不足も許す。馬鹿と学ぶ気のない奴は許せん。
562 :
774ワット発電中さん :2012/09/02(日) 11:03:39.29 ID:W8AXjM/c
,,、ー '""~~~~~~~ ~'''-、 ,-'".. /' レ " //<< い あ 困 さ な 大 .き / ::::: /ri'ノii " (~ヽr''') .う っ っ っ ん 事 み. / ::::::: r"ツ人ン ヽ,/ .と. た た. 続 だ な た / ,,,、、、、;;;;ij,//~ 彡,,、-- 、, い .ら こ け 労 ち r"r'"::、、、 '""ヽツ" ,,、 い と な 働 は. rニti 、,,,ー'''''ヽツ(,,--、 'tr''ニ"ニ彡 な が さ 力 リ, '  ̄~)::)r" ミ":::'" ん い // ;;ッ''"(,」⌒'',"~'' ,,:::::、、、, で r'ii r"/,、 ヽ-z⌒",, ヽヽ'~ も A tii `/;;"ヽ`'=zz三zz'7" 't;;|i r"ヽ ,,、 /:::::| i |;i ii,,ゝ、_,、-''" ,ii |;;i ii . | ヽi;::ヽ /::::::::| t i;| ~'' 、,,""",、-''" jリ ii'-、 . t ヽ;:ヽ,,,,,,、、-'ーz=-t、r"t i|, ~~~ ノ/ ノ ~' 、 ヽ、,, ~' 、 ::::''";;;/~''i", ヽ;;; j |ii ,,,iij| / ,、 ' ~'''''ー 、ー< ̄~ ーー ゝ、-― ~''ー"、,' | iii ヽ、;;; t、wwwwwwiij"" " '" ~'i::'i ,r ヽ、,,,、-' i| ヽi||;ii ~' 、iiiiii、、,,,、、jjiiiii}iiiiii从ii ,、-''" |:::| ー 、、,,,,z'' ,,、 '" Aヽ、 |t~' 、;;;;;; ~'''ーー------ー'''" ,,、-''" i::::i::::: ) ''フ"" r" ii ヽ、、 ti ~''-''、、;;;;;;;;;;;;:::: ,,,,,,,、 -ー ''''" リ:::リ ::: ,,,、-"-ー''" i;; ヽ, リヽ ~~~ """"" リ:::リ::::: 、 /:: t;;; `' ノ t /:::/ ::::: .リ r"::::::: 'ー、;;;;;;;;;;;;/ t. /:::/::: " ,,、" ::::''" ~" i| /::::/::::::::: ~~ 〃
なんでこんなに荒れてるんだ 初心者質問スレじゃないのか
平常運転ですが?
中学生でもいるのかね? 夏休みの自由研究で先生()に突っ込まれたとか?w
思った通りに動かないんで暴れてるとか? 青春だねぇ
568 :
774ワット発電中さん :2012/09/02(日) 23:39:13.63 ID:ANNK9Wdy
ok
つーか赤外線センサがどんなのかわからんと何とも言えなくね? よくあるリモコンの赤外線モジュールのことなら、あれってオープンコレクタじゃなかったっけ?
>>568 大丈夫でしたか安心しました。 回答ありがとうございました。
>>569 ライントレーサーに距離センサをつけようとしていました。
リモコンの赤外線を受けとれるようなセンサもあるんですね。
ためになりました。リモコンで操作できるようなものも面白そうですね。
>>567 そこまで書けるんだったら
回路図書くソフトでちゃんとした回路書いてみなよっ
それも上達の一歩だ
Leonardoのブートローダーってなんかおかしい。 USBポートにつないだり、リセット押すたびに、ブートローダーがスケッチのアップロードがないか8秒間待つ。 その後スケッチが起動されるという流れなんだけど、これは正しい動作でしょうか? リセット押したときは8秒待ちでいいんだけど、それ以外のときは即座にスケッチ起動するのが正しいようなきがするのですが。
>>572 それで普通。
USBシリアルとして一旦消えちゃうから。
やはりそうですか。 ブートローダーのソースみると、Power On Resetのときはすぐにスケッチ起動する 意図があるようにみえたので、これはもしかしたらバグかと思ったんですが、バグが放置されているとも考えにくいですね。 なので、自分の好みの動作に修正したブートローダーを焼いてしまいました。 起動待ちの8秒っていらいらするんですよね。逆にアップロードするときはタイミング逃したりと。 USBデバイスを作るのでなければ、Leonardoは使いにくいだけのような。ながなが愚痴ってすいません。
Leonardoは安いけど、ATmega引き抜いて使ったり出来ないしね。 ただ、苺のDa vinciは安くて小さくていいぞ。
おら他に使うんで持ってた秋月USBシリアルでBitBangして始めたから Arduino始めてから168チップ以外なにも新規に買った事がない。 オープンソース、本当にありがとうございました。
>>576 めんどくさいから、かな。
日本橋では、生328よりブートローダー書き込み済みの方が安い場合もある。
おお荒れてない
>>580 うん。しかしマルツでブートローダ書き込み済みが手に入らない時は、あれ買うしかないからな。
こないだデジットで328P下さい、って言ったら「今無印しかありません」とも言ってたし。
そりゃネットに客も流れるよ。
>>582 そりゃ自分で書き込めるよ。
問題は日本橋では、マルツのブートローダー書込済が350円に対して、共立の生328が480円くらいすることなんよ。
585 :
774ワット発電中さん :2012/09/05(水) 13:14:20.43 ID:zrGoPOsB
あげ
>>583 もう秋月通販で買っちゃえよ 3個買えば送料入れても@480円より安いべ
unoを使っています 今までUSBから電源を取って5Vの端子を使っても問題なかったのですが シールドをつけた所5Vの端子を使うと電源が落ちてしまうようになりました シールドを取り外しても解決しません どうすれば良いでしょうか
>>587 Arduino基板の電源素子を調べてみて、問題あるようなら交換
としか言えないなぁ。
589 :
774ワット発電中さん :2012/09/06(木) 00:27:23.21 ID:3x2eNDVq
PCでもUSB端子場所によっては最大電流が違ったり設定出来たりするんじゃ無いかな?
590 :
774ワット発電中さん :2012/09/06(木) 16:45:21.77 ID:p217vaxa
>>587 セルフパワー(ACアダプタ付き)のハブを挟む
ド素人なんですが、ふと思ったのですが ArduinoってRAMやらスタックの枯渇はどうやって防ぐんですかね それは検出可能な事柄なんでしょうか それともひたすら怯えて暮らすしか無いのでしょうか
>>591 無限に再帰するプログラムでもない限りスタックの使用量は当たり前に把握できるから怯える必要などない。
>>591 昔アセンブラやってたの?
コンパイラの場合、スタックを使い切ったら、ある程度は迂回してくれるから、
妙に再帰使わなければ、心配ない。
私がアセンブラをやっていたのは超古代文明の頃でして、 Cはアセンブラに近い、みたいなキャッチフレーズしか知りませぬ
>>593 >コンパイラの場合、スタックを使い切ったら、ある程度は迂回してくれるから、
おかしなデタラメ書くな。馬鹿野郎。
Arduinoだろうがなんだろうが、普通はCはスタック使い切ったら暴走始めるだろ・・・
>>593 お前、「プログラムは何か不思議な仕組みで動いてる」とか思ってるクチだろ。
いやいや、最近のcは大丈夫だって! スタックを迂回するよ!!
迂回ってどういう動作?
アセンブラやってたド素人ねぇw
でかい配列使うとメモリ枯渇で暴走する コンパイル時点で検出してほしい
GCC 4.6以降なら -fstack-usage オプションで関数単位のスタック消費量が確認できる。
-Wstack-usage=len も調べてみると良い。
「お前の書いたプログラム、配列でメモリ使いすぎワロタ」 とかわかりやすいエラーメッセージを出して欲しい
arduinoってmallocとかnewとかできたっけ?
606 :
774ワット発電中さん :2012/09/10(月) 21:32:27.07 ID:nmnTR/UY
あげ
arduinoででかい配列や再帰呼使う用途が思いつかない。 例えば何に使うの?
>>608 再帰で書いたほうが楽チンなアルゴリズムなんてたくさんあるじゃん(例: qsort)。
大きい配列なんてそれこそ作りたいテーマ次第だろ。絵や音を扱いたいなら2KBなんて全然足らんだろう。
省メモリ向きのアルゴリズムもあるわけだが そういう物を検討できないなら他の手段を使うべき arduinoにこだわる意味はない
>>610 楽チンなのがarduinoの身上でしょうが。お前何言ってんの?
613 :
774ワット発電中さん :2012/09/12(水) 11:41:25.64 ID:78WDJ24x
aitendoや千石 基盤x 基板○
614 :
774ワット発電中さん :2012/09/13(木) 07:29:26.03 ID:H4WAFmOd
Arduino UNOでwebサーバを立ててますが、反応が遅いので8bitでなく16bitや32bitの石を使うのこはできますか? それらの石用のbootloaderやfuseは公開されてますでしょうか?
Arduino Dueは発表はされていますが一向にものがでてきませんね。 Arduinoは卒業して他のボードを使ってみるのも手ではないでしょうか。
>>614 マイコンを使っている以上は性能的に難しいと思う。
arduinoはxmlやjsonでの通信に専念して、
Apache動かして、phpやjavascriptで表示したらどう?
Arduino Uno R2にSparkfunのAVR ISPシールドを乗せて、 素のATMega 328P-PUにブートローダーを書き込もうとしているのですが、 以下のエラーが出ます: avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14 avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01 avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10 avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check. avrdude: stk500_disable(): unknown response=0x12 やったこと: ・Arduino IDE 1.0.1で「ArduinoISP」のスケッチをUnoに書き込む(成功) ・ツール→書き込み装置→Arduino as ISPを選択 ・ツール→ブートローターを書き込む(上記のエラー発生) です。どなたか正しいやり方をお教えください。
ツール→マイコンボード設定は何になってる? AVRと書き込みたいブートローダーが合ってないんじゃないか?
>>618 Arduino Unoになっています。
スケッチは書き込めており、青のLEDもゆっくり点滅しています。
Blinkとか他のスケッチを書き込むと正しく動作するので、
Uno自体も壊れてはいないようです。
>>619 そこの「マイコンボード設定」は、Arduino ISPを指してる訳じゃないからな。
これから作るマイコンボード、を設定せなならん。
ブレッドボードで焼いたけど。
あと、Arduino UNOのRESETは100オームぐらいでプルアップしてあるのかな。そのシールドは。
>>620 ,621
16MHz、外部発振で使いたいので、Unoを選択しました。
Pro or Pro Mini(5V, 16MHz) 328も試してみましたが、結果は変わらず
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude: stk500_disable(): unknown response=0x12
でした。
シールドは以下の製品です。
https://www.sparkfun.com/products/11168 リンク先にある回路図のSJ1を半田で繋ぎました。
これでUno側のリセット端子は100オームの抵抗経由でVCCに繋がりましたが、
結果は変わらずです。
optifixとブレッドボードでは焼けるか試してみた? あと、逆さまじゃないよね、328。 俺も同じような事が起こったが、違うATmega328には書き込めたから、ハズレ引いたとおもってた。
配列クリアするだけのスケッチ作ってみたら配列サイズが3800バイトくらいまでしか動かない。 「コンパイル後のスケッチのサイズ:880バイト(最大容量32,256バイト)」 って出るんだけど、残りのメモリー(27kB)は配列に使うことはできないの?
626 :
774ワット発電中さん :2012/09/16(日) 22:48:40.24 ID:pzDGvqDi
どうもarduino初心者です。 arduino leonardoを購入したのですがドライバのインストールが上手く行きません。 デバイスマネージャーからドライバの更新をして、arduino-1.0.1-windows.zipを解凍したフォルダを選択 したのですが「このデバイス用のドライバーソフトウェアが見つかりませんでした」 、と出てきて一向に進みません、 OSはwin7 (HP)64bitです。ご教授お願いします。
627 :
625 :2012/09/17(月) 01:21:32.21 ID:+KnlvB5H
ググって自己解決しました。変数はSRAM(2KB?)に格納されるんだね。 読出し専用ならPROGMEMが使えるみたいだけど...
>>626 解凍したあとのdriversってフォルダを指定してできると思う
629 :
774ワット発電中さん :2012/09/18(火) 01:54:34.77 ID:TNEJHTtp
おばかな質問させてください。 1つのステッピングモータに2つのArduinoをDUAL接続して切り替えて運用させたいのですが それぞれのArduinoの出力ポート同士(DIR,STP)をショートさせちゃうとやっぱり壊れちゃいますかね? イメージ的にロータリースイッチみたいな切り替えを電子的に行いたいですのが実現するにはどんな方法があるのでしょうか?
ダイオードを入れる
出力それぞれにダイオード入れとけば壊れない
632 :
774ワット発電中さん :2012/09/18(火) 09:39:09.45 ID:TNEJHTtp
ダイオードかますだけでいいんだ。 FETみたいなスイッチをポート毎にいれないといけないのかなぁとかアホなことしようと思ってた。 ダイオードで試してみます。 ありがとうございました。
ダイオードORかワイヤードORでググっとけな プルダウンわすれんなよ
ムシャクシャしていたので出力ポートをプルダウンした
635 :
774ワット発電中さん :2012/09/19(水) 05:03:17.50 ID:zx64yN3C
>>633 ぐぐってみました。
ダイオードだけじゃなくポート毎にプルダウン抵抗もいれるのですね。
重ねてありがとうございました。
>>635 ググるだけじゃなくちゃんと内容を読んだかなあ。
>>634 だったら参考にならないぞw
出力端子…|>|…相手先入力端子
こう繋いだら相手先には何が伝わるか?
ダイオードの向きからしてHighは伝わるが、Lowはダイオードが阻止するから伝わらない。
伝わらないって事はどっちでもないって事で、このままでは信号が正しく伝わらない。
だからLowはプルダウン抵抗で作り出してやる必要がある。プルダウンするのは相手の入力端子だよ。
余談、というか本論だが、Lowが伝わらないからこそ他のポートを繋いでも大丈夫なんだぞ。
片方がHighで片方がLowだった場合、ただ繋いでたら当然衝突(ショート)が起きるが
ダイオードを繋いでればLowは伝わらないからHighだけ通って相手にはHighが伝わるわけ。
これは寝てる側がHighを出力してたら正しく機能しない事も意味してるわな。だから寝る時はLowな。
質問です Arduinoは、何と読めば良いでしょうか? アルデーノでよいでしょうか?
あ゛ーづいの
図書館の司書に”アルドゥイーノ”の本あるか聞いたらちゃんと通じた。楽な仕事だと勝手に思ってたけど細かいことまで把握しないといけないんだな
641 :
774ワット発電中さん :2012/09/20(木) 19:32:03.64 ID:jPhozUl8
東大工学部図書館の司書は元引きこもりで元々頭は悪くないらしく蔵書40万冊を覚えるのは容易だったそうだよ。 銀座丸善の開架5万冊も店員はほぼ把握してると言ってた。
Arduinoの本探してるのに「アンドロイドの本あるか?」とか聞いてくる奴はざらにいるだろうし、 それ以上のキチガイも沢山いることだろう。 そんなのの相手をしなくちゃいけない司書って仕事は大変な商売だなと思う。
SF雑誌が出てきたりしてな>アンドロイド
644 :
774ワット発電中さん :2012/09/21(金) 09:36:46.10 ID:z9gL1EVw
アルドゥイーノ
オレも本屋勤務してたことがあるからわかるけど、自然科学・医学は案外覚えるのが容易。 連想キーワードがわかれば、それは消化器の分野だな、とか調べられるし。 逆に社会科学やビジネス書は入れ替わりが激しくて覚え切れない。
先輩が、アレデイーノって言ってたので、そう呼ぶことにします。
コレジャナイーノ
( ゚,_ゝ゚)バカジャネーノ
アホジャナイーノ
653 :
774ワット発電中さん :2012/09/23(日) 09:31:51.73 ID:PmrR0F6L
アルデュイノ使ってなにすればいいかわかんね
じゃ使うな
アルデーノは、むつかしそう。
656 :
774ワット発電中さん :2012/09/23(日) 18:03:05.55 ID:IYOzBFwX
マイクロSDシールドでカードの有り無し(途中で抜いたとき)や、データでいっ ぱいになって書き込めない状態を判別するにはどうしたらいいでしょうか?
658 :
774ワット発電中さん :2012/09/24(月) 09:49:20.05 ID:EwoeAAwj
file()
Arduinoを触り始めて1ヶ月くらいの電気、C言語素人の初心者です。 測量実務で関数電卓をプログラムして使ってますが、 痒いところに手が届かないもどかしさの為Arduinoを使ってみようと思った次第です。 質問なんですが、Arduinoではdouble型が4ビットのfloat型と同じなため、 角度の計算で関数電卓で求めた値と誤差が発生します。 BASCOM-AVRはdouble型が使用出来るらしいので、デモ版で試してみたところ、 関数電卓と同じ答えを得ることが出来ました。 Arduino IDE 以外でdouble型を扱えるCコンパイラはあるのでしょうか? また、他にdouble型と同じくらいの精度を得ることが出来る計算方法があるでしょうか。
660 :
774ワット発電中さん :2012/09/24(月) 11:08:00.49 ID:EwoeAAwj
1.測量業務で使用する計算ソフトをArduinoで作成するということでしょうか? 2.ArduinoIDEはdoubleが4バイト型なので、8バイトのdoubleのコンパイラはあるか? 1.については大変驚いています。WindowsやLinuxを選択せずにArduinoを選択する理由がわかりません。 2.についてはWindowsやLinuxを選択すれば8バイトのdoubleのコンパイラが多くあります。 曲解してたらスマソ
avr-gccではlong doubleが8バイトだよ arduinoで使えるか知らないけど
測量機器をArduinoマイコンで自作したいの?それともパソコンで計算結果を知りたいの? 後者なら普通に精度のあるCコンパイラを使えばいいのではないかと MinGW gccやvisual studioなどの今日びのPC向け処理系なら普通に倍精度は64bit
素早いご返答ありがとうございます。
>>660 測量業務でも車で寄りつけない山に入ったり、泥にまみれる作業も多く、人目につきにくい所で過酷な労働をしております。
一度山に入ると作業が終わるまで麓には降りて来ませんし、急に雨が降ってきたりします。。
ノートパソコンは重くて持ち歩けませんし、スマホやPDAは万が一のバッテリー切れや故障が怖くて使えません。
関数電卓なら電池の持ちもよく、壊れてもそんなに高くないのでポケットに予備を入れておけるので安心なのです。
>>661 ありがとうございます。avr-gccのlong doubleを一度試して見ることにします。
664 :
774ワット発電中さん :2012/09/24(月) 12:24:00.39 ID:EwoeAAwj
測量で用いる特殊な計算を関数電卓で組んでいるけど、うまく組めないものもあるので、持ち運びに便利なArduinoで作れないか? という相談と理解した。 オレ的には、入力デバイス(キーボード)と出力デバイス(液晶)が必要なのでArduinoでは無理。 やるならアンドロイドアプリを作成してスマホに入れて必要に応じて電源入れて使うが一番と思う。 中古のアンドロイド端末なら安く流通している。 アプリを登録したら世界中から元が取れるかもしれんゾ。
テンキーと44780でいいんだから別にArduinoでも出来るのでは。 式表現なんか自分が解ればいいんだし。
666 :
774ワット発電中さん :2012/09/24(月) 13:07:35.69 ID:EwoeAAwj
Arduino(8ビットマイコン)とスマホ(ARMチップ)の比較だね。
arduinoは電源が問題だと思う。 あとテンキーだけじゃ関数呼び出しとかできないのでは?
668 :
659 :2012/09/24(月) 13:45:56.96 ID:qRgTxt8T
いろいろ有り難うございます。 さて、なぜ関数電卓を使っていたか説明すると。 単4電池で動くのでバッテリーが切れても予備の電池を持っていれば済む。 また、予備の電池もコンビニで買える。 ポケットに入れられて、重さをあまり意識しない。 なにより安い。 何故、プログラムしたいのかですが、 測量屋なら大抵の測量計算は、関数電卓を使って手計算できます。 しかし、現場で体を使って疲れてくると頭が回らなくなってきて、 普段ならなんの問題もない計算が、まったく解けなくなってきます。 昔、8行表示のポケコンでプログラムしたことがあるのですが、 疲れているときに8行の情報量は多すぎて混乱したことがあります。 画面も屋内と屋外、昼間と夕方では見え方が違ってきます。 自分的には普通のキャラクタ液晶(黒文字緑背景)が疲れた脳みそにも優しい気がします。 つまり横着をしたいのです。
669 :
774ワット発電中さん :2012/09/24(月) 13:48:42.53 ID:EwoeAAwj
それにしてもArduinoでは無理。 せめてmbedに汁。
中古android端末か中華android端末がおすすめ
RaspberryPiでええやん
ラズパイも入出力装置と電源の問題があるから携帯デバイスとしては不適当
>>668 プログラム関数電卓を表示シンプルにして使えばいいじゃん。
>>668 だったら、中古のポケコンでも手に入れたら?
防水/防汚になってるのはあんまり無いと思うけどね。
というと、別に「好きな式で計算したい」ってわけじゃないんだな。 先に式を何らかの方法で入れといて、 番号入力とかで式を選らんで、数値だけ入力すれば答えが出てくるだけでいいってことか。 3[確定]30[確定]→40[確定]→[結果表示] って感じで。 それほど難しくないような。
A〇USとかT〇Grとか、つけてると 余計に目だって泥棒に目をつけられそう
下のようなことはできますか? ネットワーク→linuxサーバー(Apache)→シリアル通信→Arduino→家電 ネットワークシールドは高くて買えません。
680 :
659 :2012/09/24(月) 17:12:10.41 ID:qRgTxt8T
>>676 おっしゃる通りです。自分が使うためだけのものです。
キーは4x4のマトリクスで16キーを予定しています。
LCDと大きいタクトスイッチを16個並べれば目的にかないます。
防水対策は手頃なケースが見つかるまではとりあえずジップロックにでも入れればいいやと思っております。
実験で度の角度をラジアンに変換し、再度、度に戻してみたところ100分の3秒の誤差が出ました。
99%の作業では、まったく問題ない誤差なのですが、1箇所だけ-7乗の精度を必要とする計算があります。
1%を捨て99%を取るならば、今のスキルで完成までの道筋が見えているのですが。悩みどころです。
あとXBeeの存在が大きく、今回Arduinoを始めたのもXBeeを使いたかったからです。
測量では測定器械を扱う者と、測量位置にプリズムを立てる者が必要です。
大抵スキルの高い方がプリズムを持って歩きまわるのですが、測定機械のデータを知りたい場合、無線機を使い口頭で伝えます。
無線機は条件が良くないと何を言っているのかまったく判らないくらいノイズが乗っかってきます。
XBeeを使った測定データの共有については既に FIO+XBee で完成しており、後は信頼性のテストを重ねれば実用出来る所まで来ております。
一段落して、そういえばいつも使っている計算機も作れないかな?と思った所に精度の壁にぶつかった次第です。
>>682 ならカンタン。
arduinoに単純なコマンドインタプリタを実装して、
linuxサーバからのシリアル経由の命令を解釈して出力ポートを制御するだけ。
>>683 arduinoではSoftwareSerial というものを使えばいいんですね?
>>684 いや、普通にSerialを使えばOK。
LinuxサーバとUSBケーブルでつなぐとSerialで読み書きできる。
>>685 ありがとうございます。サーバー側はpythonを使うと簡単そうです
みなさんArduinoをなんて呼んでます?
>>689 arduinoをゆとり呼ばわりしているあなたは、一体どんなすごいものを生み出したことがあるんですか?
ゆとりのおもちゃにもなれば、上級者の手数減らしにもなる。 ゆとりのおもちゃって言ってる奴は、「ゆとりのおもちゃ」としか使えてないだけ。
相変わらずゆとりなオッサンが居るんだね。
>>692 >ゆとりのおもちゃって言ってる奴は、「ゆとりのおもちゃ」としか使えてないだけ。
そもそも使ってないかもしれない。
Arduinoに飽きたゆとりは、大抵PSoCに移行する。Arduinoしか触れないのはPIC16F877しか触れない馬鹿と同じw まぁ、平成生まれのゆとりでも高専ロボコン関係者みたいに出来る奴はとっくにFPGA触っているのは百も承知だが。 とりま、ここの連中はDMAは使ったことあるの?
高専やFPGAやDMAが何かステータスって認識なのかw 理解しがたい馬鹿だなww
FPGAにそんなコンプレックスあるのかよw 手早く使える、よくも悪くもインスタント感が売りだろArduinoは。
FPGAで時計作りましたっていってもふーんって言う感じだけど、 SDRAMのアクセスを行う規模以上になったら、Makerとしては黒帯と言って良いところ。 まぁ、中途採用までは行かないけど
>>698 arduinoをゆとり呼ばわりしているあなたは、一体どんなすごいものを生み出したことがあるんですか?
まぁなんかどっかに新卒で入ったか、中途で引っかかったかで天狗になってるか、 プロフェッショナル()の方なんでしょ。 ソフト屋的にはArduinoぐらいが使いやすい。この上はもう組み込みlinuxに飛ぶしな。
>FPGAで時計作りましたっていってもふーんって言う感じだけど、 FPGAでオリジナルのCPU作って、電波時計の受信回路作って、 デコードプログラム書いて動かしてたりして? >Arduinoに飽きたゆとりは、大抵PSoCに移行する。 PSoCを使ってない人かな?
私は初心者なんで大きいことは言えないけれど、もうちょっと建設的な話をしませんか?
そういえばDueってどうなったんだろ?
>>705 >ID: elLzEeEE
eが多いなおいw
俺もDueは待ちこがれてる
待ちこがれすぎのIDワロス
708 :
774ワット発電中さん :2012/09/30(日) 03:10:51.37 ID:Lt8dXboD
Arduinoが16MHz動作なのはなぜなんでしょうか? 省電力を目的に8MHzで運用されてる方もいるようですが 逆に高速化を狙って20MHzで運用するのもありなのでしょうか?
>>708 ATmegaが最大20MHz対応品、かつ外部クロック20MHzが付けてあれば可
スケッチ書き込みはboards.txtを自分で周波数変えて追加定義してね
なぜかって言われるとよくわからん
Arduinoに使われる168/328には最大16MHzのタイプもあるから説を唱えておく
内蔵タイマーとの関係だったかと 16MHzのクロックをプリスケーラで64分周して250000Hzになって それをCTCモードの250カウント(上限値?)で割リ込みかけて正確な1/1000秒になる 20MHzだと端数が出てしまうんじゃなかったっけ
20MHzでもきっちりでけるでしょ 計算してみ 16MHzなのは16MHz種が元々AVRに多いからでしょ
Arduinoの始祖がATmega8で、これの最高クロックは16MHzだから。 168/328になってもこれとの互換性維持。
>>711 20MHzだとプリスケーラ64分周で312500、プリスケーラ128分周で156250だから
やっぱり1/1000秒を得ようとすると端数は出てしまうと思うけど、何か違う?
714 :
774ワット発電中さん :2012/09/30(日) 13:24:56.46 ID:L76SvUYs
高い周波数で動作保証するためには、CPU内部のトランジスタの種類を変えにゃいかん。
え?
8bitのカウンターでは溢れてしまうから
717 :
774ワット発電中さん :2012/09/30(日) 18:40:43.14 ID:CTuMggXP
すみません、最近Arduinoを始めたばかりなのですが、 Arduinoの日本語リファレンスを見る限りだと、Serial.read()の戻り値は 読み込み可能なデータの最初の1バイトを返します。 と書いてあります。 これを使って、自分の作ったソフトとシリアル介した通信させる場合、 たとえばデータの区切りを改行にする、みたいなプロトコルを自分で決めて、 改行がでるまで読み込み続ける、改行が出たらそれまで受信したデータを 自分のプロトコルに沿って解析する。 というのが一般的な使い方になるのでしょうか?
自分で作ったプロトコルのとおりに動くようにする。当たり前。
>>717 まあそんな感じ
先頭でデータの種類が分かるようにした方が楽だと思うよ
こういうのはエラー処理が大事なんだけどね。
721 :
774ワット発電中さん :2012/10/02(火) 01:05:42.73 ID:+uPwAExg
>>719 ありがとうございます。
先頭バイトで種類が分かるように、は確かにそうですね。
HTTPとかTCPとか、そこら辺のプロトコルも参考にしつつ
独自プロトコル作ろうと思います。
先頭バイトで種類がわかるように、というか、 先頭バイトで何バイトを送るかを送り合った方が、作りやすいと思う。 パスカルの文字列型っぽく。 NULLとか改行をデリミタにすると、こんどはNULLとか改行を送りたくなったときにめんどくさくなるし。
Arduinoでは起動時のポートの設定はどうなっていますか? 入力になっているんでしょうか、出力になっているのでしょうか。
ありがとうございます
726 :
774ワット発電中さん :2012/10/03(水) 23:02:02.29 ID:+LPbRIFl
727 :
774ワット発電中さん :2012/10/03(水) 23:54:52.19 ID:/pCknrXm
卒論は新規とか独自性を目指す物だと思ってたが既成の物でいいのか?
728 :
774ワット発電中さん :2012/10/04(木) 00:33:03.57 ID:S8H4CtkK
>>727 テーマとしては、Android Open Accessoryによって、スマートフォンと周辺機器を接続してどのような使い方ができるかという部分を掘り下げていこうと思っていますが、その中で上の動画のようなものを作ろうと思っております。
スマートフォンが操作するために使われているのではなく、制御用?に使われてるという部分が重要です。
androidでないといかんの? 最初にラジコンに乗っけたarduinoとPCを有線のUSBで繋いで、 そのPCからラジコンを制御できるまでを作る。 これで多分数週間から数ヶ月。 次に制御環境まるごとを、 ラジコンに乗っかりそうな適当なミニノートに入れて、 そのままラジコンに乗っけてwifiで飛ばす。 これだけで即、他のPCから既成のリモートソフトで操作できる。 必要ならwebカメラなりセンサーなりを後付けする。 ここまででandroid使うよりはごく短期間で作れるはず。 見た目もうまくするとつべ動画程度になる。 最初からandroidでやろうとすると クロス開発を強いられて時間が無駄に掛かるから、 PC版が完成した後でゆっくりやればいい。
>>729 に完全に同意
Javaによる開発経験が十分あるならば最初からAOAでやればいいけど
そうでないなら,まずは有線接続で制御はProcessingあたりを使えば
AOAに切り替えたときに繋げやすいかと
CもJavaも不慣れだったとしても一年あれば大丈夫.がんばれ
731 :
774ワット発電中さん :2012/10/04(木) 06:50:18.59 ID:gzhphhCB
>>727 中堅以下の大学の卒論レベルなんか、既成のもの、自体をまともに理解しないでおいてもOK。
中堅以上でも、その程度。
734 :
774ワット発電中さん :2012/10/04(木) 22:22:36.39 ID:S8H4CtkK
あくまで、卒論のテーマはラジコンを作る事ではなくて、Android端末と周辺機器の接続により実現できる事についての考察という事を目標にしてやっていくつもりですが、 いきなりAndroidでの開発というのは難しいようですので、ご指摘のようにPCでやってみる事から始めようと思います。 またご指導お願い致します。
735 :
774ワット発電中さん :2012/10/04(木) 23:41:31.51 ID:/BUgGoIf
先に手段じゃなくて、目的じゃないのか
736 :
774ワット発電中さん :2012/10/04(木) 23:50:12.31 ID:0nU2J/fi
>>733 そなの。
モチベーションの持続力とか興味持つ内容が良いと思うが
例えば脳波センサーで制御とか←まぁこれも既成技術か
(遊びでセンサー買おうと思ってたが一万円位だったのに急に二倍以上に価格が上昇して買えなくなった)
737 :
774ワット発電中さん :2012/10/05(金) 06:11:35.51 ID:DEvaR0ql
参考になるなぁー
Arduino初心者です。 mega用ユニバーサル基盤を複数層重ねたいと思っているのですが、 足の長いピンソケットが見当たりません 1列6pin、8pinあたりは秋月で見た気がするのですが、10pinや 2列のものが見当たりません。 みなさんどうしてらっしゃいますか?
そういうのは千石で売ってる
>>738 俺は手持ちの8ピン1列のを並べて使った
カットするのに1ピン無駄にするから効率悪い
ヤスリでソケットの厚みを削ってやる必要があるんで面倒
10ピンのがあればそっちの方がお勧め
あと、Mega用シールドが抜き差しが半端なく難しいよ
俺のMega用シールドは2列のピンの足が外向きに曲がっちまったw
742 :
774ワット発電中さん :2012/10/06(土) 17:51:44.12 ID:zq8UBJUk
初歩的な質問ですいません。一般的にはコンパイル時誤りあると赤印で表示されるが、 「コンパイル時エラーが発生しました」と言われて赤表示も出ないのだが。 これって何処にどのような問題があるのでしょうか? 具体的にはPIDライブラリーのサンプルスケッチのコンパイル時発生する 問題なのですが。 よろしく!!
hello world表示できたあああ!
よろしく!! じゃねーよ!!誰に向かって話してんだゴルァ!!
746 :
774ワット発電中さん :2012/10/07(日) 09:36:40.26 ID:ssm9ELa9
>742 解決しました・・・恥ずかし・・ IDEにライブラリを登録するとき、そのホルダーの内容を全て登録すべき ところ、一つの重要ファイルを登録忘れしていました。 やはり初心者ですね。
>>739 ,740,741,745
皆さんありがとうございます!
スイッチサイエンスで注文することにしました。
もっと色々なところで複数のサイズを取り扱って欲しいですね・・・
748 :
774ワット発電中さん :2012/10/09(火) 22:02:40.65 ID:CZeVAn4C
こんにちは!質問です。 シリアル通信のボーレートはどんな感じできめてるのでしょうか? 数字が多くなるほど速度があがってよさそうだけど通信が安定しないとかあるのかな? Rerap系のファームウェアなんかだと9600のもあれば250000とか色々あるのですが 自分で決める場合どんなこと考慮すればいいのでしょうか?
749 :
774ワット発電中さん :2012/10/09(火) 22:14:35.87 ID:1WrK3y4l
SATAなんかもシリアル通信だろ。6GBPSぐらい出る。 数字でいえば、6000000000だ。
Arduinoで6GBPS出せたらすげーな
まぢ、工作的にはイメージのつかみづらい程の速度だぜ ラインモニタなんて妄想でも作る気しない
752 :
774ワット発電中さん :2012/10/10(水) 10:19:18.36 ID:w1e09gZq
>748 まあ常識的には100k位かな。時々9600だと繋がらないことがある。 (理由はわからないが) それとU/L時問題発生することの報告があり、対応としてUSBを抜き差し したり。ローダーを変更したりしたとの話あるが。 おれは単にボーレートを38k以上に変更しただけで解決できた。
質問なのですが、 現行のArduinoEthernetは他のデバイスと普通にSPI接続出来ますか? 昔のEthernetShieldだと、小細工しないと無理ってネットで拝見したので ・・・ あと、EthernetShieldをMega用に改造する事は、ガチ初心者には厳しいですかね?
754 :
774ワット発電中さん :2012/10/10(水) 15:37:31.80 ID:zvDpSJ+p
Arduinoの温度センサー(LM61)値をUSBからシリアル変換してパソコンから読むときに、パソコンでプログラムを起動する度にArduinoにリセットがかかるようなのですがこれは仕様でしょうか? arduinoからはSerial.write(val)で、 パソコンの/dev/ttyACM0と繋がっていて、パソコンではphpのphp_serial.class.phpライブラリで$read = $serial->readPort();で読んでます。
>>754 Arduinoのリセットは、DTRでリセットがかかるので、仕様。
757 :
755 :2012/10/11(木) 04:53:18.85 ID:CEjS87n0
追伸 Funnelのコンソールからは、サーバーに接続した直後に「接続を解除しました」と出て P5の方にはtimeout return Animation Thead と出ます
758 :
774ワット発電中さん :2012/10/11(木) 15:55:12.97 ID:0Jjwp1Ev
Arduino Unoの互換機をたくさん作ってまして、でもUSBは持ってなくて、しかし純正AVRプログラマMark2は持っているので、ArduinoIDEで開発した実行ファイルをこれで書き込みたいのですが 実は、hexファイルがないのですが、何を書き込んだらいいのですか?
hexがなかったらないってみつけられないってこと? なら、arduino build processを調べてみたらいいと思う。 書き込みはavrdudeあたりつかえばいいのかな。
>>748 USBシリアルならこの数字はもはや意味がない。
本当のRS-232Cでもいまどきは192000ぐらい通るかな。
(フロー制御はちゃんとやりましょう。)
15年ぐらい前のPCだと1200,2400,9600と上げて行って
通る上限のスピードで使う、とかやりましたけど。
761 :
774ワット発電中さん :2012/10/13(土) 11:07:27.26 ID:VNJHnqIO
USBシリアル通信にphp_serial.class.phpを利用する場合には9600以外の数字ではエラーになる。
762 :
774ワット発電中さん :2012/10/13(土) 20:01:57.31 ID:FKKKm6ER
質問です。 Aruduinoの電源入れたまま入出力ピンにささってるワイヤピンの抜き差しするのはやっぱよくないのでしょうか? USB抜いてからワイヤの抜き差ししするのが正しいやり方だと思いますが、USB抜くとPCがシリアルポートを見失うって シリアルモニタをいちいち再起動しなくてはならなくてちょっと面倒です。 なので電源いれたままワイヤの抜き差して今のところ壊れる気配ないのですがこれはたまたまなのでしょうか?
763 :
774ワット発電中さん :2012/10/13(土) 20:47:26.52 ID:VNJHnqIO
電源入れたまま抜き差しするのをホットプラグというが壊れたことはない。
764 :
774ワット発電中さん :2012/10/13(土) 23:10:55.81 ID:660YKUgt
Arduinoのアナログ入力って最大5なのでしょうか? 10個のCdsセルから明るさを取りたいのですが、 どうにかして10個の明るさの値を取るにはどうすればいいのでしょうか?
詳しくは知らんがマルチプレクサとかいう部品があったような
766 :
774ワット発電中さん :2012/10/13(土) 23:34:34.84 ID:VNJHnqIO
>>764 ADCの数は6じゃろ。
10個から値を取るには切り替えをすればいいんじゃね。
デジタルで4ビットあれば16chの切り替えができるじゃろ。
767 :
774ワット発電中さん :2012/10/13(土) 23:38:28.23 ID:660YKUgt
>>766 すみません、A5までなので5個かと勘違いしてました。0があるんですね。。。
切り替えというのは具体的にどういう動作の事でしょうか?
初心者すぎてごめんなさい。。。
arduino megaならアナログ入力が16ポートある
769 :
774ワット発電中さん :2012/10/14(日) 00:51:58.15 ID:Znfn614f
>>767 ベストな方法かどうか知らんが、
全部でN個の信号の内、n番目の信号だけを取り入れるには、n番目の信号だけをアナログinに導けばよい。
n番目の信号だけを導くには、n番目のスイッチをONにすればよい。
n番目のスイッチをONにするにはN個の2SC1815などをN個並べて、それぞれにN個の信号を繋いでおいて、n番目のベース電流だけをONにしたらいい。
n番目のベース電流をonにするには3-to-8 デコーダを2個並べたら4ビットでN=16の内、
n番目だけのベース電流をONにできるようになるじゃろ。
770 :
774ワット発電中さん :2012/10/14(日) 03:42:31.64 ID:hO1Bwmtj
アホな質問だったらすみません。 例えば7番ピンを入力に設定して、動作検証のため常にHIGHを入力させたるため 外部電源の5Vに1kΩの抵抗を直列にいれてるのですが、もしこの抵抗ない状態で接続するとやっぱポートは壊れちゃうんでしょか? (抵抗は保護のために必要?)
772 :
774ワット発電中さん :2012/10/14(日) 08:54:21.12 ID:Znfn614f
デジタル入力のHAGHとLOWの値の範囲は良く知らないけれど、大きな抵抗入れちゃうと電圧低下でHIGHの状態が読み取れなくなるんじゃね?
>>770 arduinoの電源がOFFのときに5V信号が入力される恐れがないなら不要。
もしも、その心配があるなら保護のために入れとけ。
抵抗いらないんですね。逆に不具合起こる可能性もあると。 うーんむずかしい。ありがとうございました。
775 :
774ワット発電中さん :2012/10/14(日) 11:23:00.04 ID:Znfn614f
>>774 1Kから20Kぐらいの間で適当に選べば安全では?
HIGHと認識する最低電圧は(TTLレベルだと)2Vなので、例えば1K程度の抵抗を付けて電圧測定するのがいいんじゃね。
CMOSレベルだとするとICが'H'として認識する最低電圧0.5〜0.7Vddだけど。
Atmel328PなどはTTLレベルのICじゃないの。
入力ポートにはほとんど電流が流れ込まないから、直列に挿入した抵抗での電圧降下が問題になることはないと思うけど
>>773 が言うように入力ポートとして機能しはじめる前に電流が流れ込む可能性は否定できない。
ものすごく初歩的な質問なんですが、スケッチの際にコメントを日本語で 書くとき、入力してから文字が確定するまでにすごく時間がかか る(特に漢字変換のとき)し、たまにスケッチ画面が真っ暗になります。 コメントは英語で書くしかないんでしょうか。
>>773 ,776
Arduinoが電源OFFの状態のほうが危険なんですか!?
そういうケースはよくあるので抵抗入れときます。ありがとうございました。
>>775 1kΩでhighと認識されてるので1k使うようにします。
時間とれたら、いろんな抵抗でためしてみます。ありがとうございました。
>>775 1kΩでhighと認識されてるので1k使うようにします。
時間とれたら、いろんな抵抗でためしてみます。ありがとうございました。
>>764 CdSを0〜4と5〜9の2群に分けて入力したら?
1群
D0out─ダイオード→┬CdS0─A0─抵抗─GND
├CdS1─A1─抵抗─GND
├CdS2─A2─抵抗─GND
├CdS3─A3─抵抗─GND
└CdS4─A4─抵抗─GND
2群
D1out─ダイオード→┬CdS5─A0
├CdS6─A1
├CdS7─A2
├CdS8─A3
└CdS9─A4
D0-HIGH, D1-LOWで1群のCdS0〜4を読み込み、
D0-LOW, D1-HIGHで2群のCdS5〜9を読み込む。
抵抗は1群、2群共用ね。
図がずれてたらスマソ
>>764 CdSを0〜4と5〜9の2群に分けて入力したら?
1群
D0out─ダイオード→┬CdS0─A0─抵抗─GND
├CdS1─A1─抵抗─GND
├CdS2─A2─抵抗─GND
├CdS3─A3─抵抗─GND
└CdS4─A4─抵抗─GND
2群
D1out─ダイオード→┬CdS5─A0
├CdS6─A1
├CdS7─A2
├CdS8─A3
└CdS9─A4
D0-HIGH, D1-LOWで1群のCdS0〜4を読み込み、
D0-LOW, D1-HIGHで2群のCdS5〜9を読み込む。
抵抗は1群、2群共用ね。
図がずれてたらスマソ
ダイオードは共用できなかったorz D0out┬ダイオード→─CdS0─A0─抵抗─GND ├ダイオード→─CdS1─A1─抵抗─GND ├ダイオード→─CdS2─A2─抵抗─GND ├ダイオード→─CdS3─A3─抵抗─GND └ダイオード→─CdS4─A4─抵抗─GND D1out┬ダイオード→─CdS5─A0 ├ダイオード→─CdS6─A1 ├ダイオード→─CdS7─A2 ├ダイオード→─CdS8─A3 └ダイオード→─CdS9─A4
785 :
774ワット発電中さん :2012/10/15(月) 18:45:36.46 ID:0YL/oQg5
CDSって抵抗のバラツキが多いと思うので照度センサNJL7502Lとかの方がいいと思うね。
GND側をポートで制御するのさぁ〜♪
ギターなどのエフェクターをArduinoから操作したいと考えてます 恐らくツマミは大抵が抵抗だと思うのですが、電気的に抵抗をコントロール出来る素子って何になるんでしょうか? トランジスタだと電流の操作になると思うですが、 汎用的にしたいので、抵抗値そのものがコントロールできると良いと考えてます
サーボモーターがオススメ
電子楽器はなるべくアイソレーションするべきだから サーボはネタじゃなく結構ありなんじゃね? 分解せずに済むし
791 :
774ワット発電中さん :2012/10/17(水) 07:15:24.36 ID:I8y+6Tph
楽器はパーツ個体も含めての音質だから難しい問題。
エフェクタプログラマなら繋ぎのみのコントロールがほとんど。
ツマミまでとなるとステッピングモーターをコレットチャックでくくりつける案が思いついたけど
それだと直接回せなくなるのでセッティング方法を考える必要があるかも。
あとはサーボポテンショメーターに置き換えるしか無いかな。
http://www.omeg.co.uk/products.htm#servo なら希望の仕様で作ってくれる。
楽器や業務用ミキサーに採用されているメーカーなので音質は問題無い。
何度か利用してるけど、同じ仕様で10個以上の注文が必須。
792 :
774ワット発電中さん :2012/10/17(水) 09:09:43.76 ID:dGZnPP7i
少し前のレコーディングミキサーがフェーダーやEQ VRなどが電動で操作を記録してマルチトラックの 編集を半自動で出来るっていうのが有ったよね その時は先進的だと思った。
>>777 日本語かきこめるけど。
外部エディタ使うとか。
>>794 リレーが一番無難だと思うけど、壊れないようにダイオード入れるようにね。
>>795 ありがとうございます。
リレーと基板買ってやってみます。
ダイオードはどこに入れたらいいんでしょうか?
逆に電流が流れないって記憶しかありません…。
>>796 「逆流防止ダイオード」、とか、「リレー 逆起電力 ダイオード」とかでググると、理由も解っていいかも。
>>797 ありがとうございます、見てきますー!!
799 :
774ワット発電中さん :2012/10/17(水) 22:59:00.14 ID:dGZnPP7i
豆球のジャンプが見れないので外れてるかも知れないが秋月のリレーの仕様見ると駆動電流が大きいので 外付けトランジスタが必要かも知れない それなら豆球を外付けトランジスタで駆動すればいいと思う。 オープンコレクタ式で。
言っちゃ悪いが、今の時代に「豆電球」を使うのが不思議に思える。 豆電球でなければならない理由があるなら兎も角、 バカが多いことで有名な、平成生まれの「ゆとり」ですら、こんな回路は思いつかないぞ 電源を繋ぐだけで何も考えなくて使えるパワーLEDモジュールがそこら中であるのに? 回路の書き方からして21世紀生まれ、小学生かな?
>>800 勝手な妄想で、豆電球がどうとか、頭おかしいんじゃねえか?
LEDも豆電球も麦球もそれぞれ個人の好みだし、勝手な妄想()するなら、模型なんかだと余計にそうだろ。
wwwwwwwwwwwwwwwwwwwww
ポートで直接リレー駆動しようってか?
804 :
774ワット発電中さん :2012/10/18(木) 00:16:19.75 ID:9Txw76hc
10mm角くらいにモジュール化したいけど、BGAのICあるの?
>>803 「LEDを抵抗抜きで直結できる」
と言うからには、保護ダイオードでも入れれば直接動くのだろうけど。
20mA以内で駆動可能なリレーはざらにあるだろ。
尤も、フォトリレーであれば、ほとんどのマイコンで直結可能だろうけど
銀翼はいいかげんに死ねば良いのに
807 :
774ワット発電中さん :2012/10/18(木) 04:56:30.73 ID:rJSMg0aj
スレチだったらすみません。 Arduinoの自作をしてみようと思ってます。 どうせ自作するのならピン数多いATMega644を使ってSanguinoのほうがよくね?ってことで ATMega644を秋月などで購入しようとしたのですがどこも品切れでした。 メモリ増強版1284ってのは在庫ありだったのでメモリも多くて644よりよくね?ってことで 1284を購入したのですが、いざブートローダーを書き込もうと思ったら 1284用のブートローダが無いのですが1284でSanguinoは無理なんですかね? 無理だったらすごいショック( ;∀;)
808 :
787 :2012/10/18(木) 07:13:14.51 ID:StLTfOmA
みなさん有り難う御座います デジタルポテンションメーターってのがあったんですね、知りませんでした サーボも考えたのですがゆくゆくはボリュームを回す以外のこと(シンセのツマミを操作)も したかったので助かります!
809 :
787 :2012/10/18(木) 08:05:25.13 ID:StLTfOmA
810 :
774ワット発電中さん :2012/10/18(木) 08:20:45.59 ID:3mdwmtnY
>>807 ブートローダがあれば可能。なければ無理。
無理って、1284用に書き換えるぐらいしろよ 644と大して変わんねーんだから
>>807 >1284用のブートローダが無いのですが1284でSanguinoは無理なんですかね?
何のためのオープンソースだ?
813 :
774ワット発電中さん :2012/10/18(木) 11:46:20.19 ID:bt2ishBv
ブートローダはオープンだがソースじゃねぇぞ。
>>814 うぉ!?
1284のブートローダーあるね。
SDカード関連がうんたらっていってるみたいだけどとりあえずこれ試してみます。
ありがとうございました。
センサーから読み取り、Httpで返すシステムを作る時、 ArduinoEthernetよりArduino+RaspberryPiの方が高性能だし 開発もしやすいし安いですよね? 前者のメリットって消費電力以外にありますか?
817 :
774ワット発電中さん :2012/10/18(木) 14:11:35.61 ID:bt2ishBv
ない。 消費電力の差もない。
ありがとうございます しかしこうしてみるとArduinoって高く感じてしまいますね・・・
RaspberryPiって買えるの?
822 :
774ワット発電中さん :2012/10/18(木) 16:38:18.14 ID:Mha1ju8Q
823 :
774ワット発電中さん :2012/10/18(木) 16:55:54.69 ID:bt2ishBv
824 :
774ワット発電中さん :2012/10/18(木) 16:56:59.23 ID:bt2ishBv
>>820 イサーネットシールドがRaspberryPiより高いのが問題。
イサーネットシールドは自作できない。
イサー
>>822 コードのコメント部分にI/Oポートマップの説明がある。
?* A0 : I2C
* A1 : I2C
>>824 誰もイーサシールドを自作しろと言ってないし、話は
Arduinoって高く感じるね、って話だろ。
828 :
774ワット発電中さん :2012/10/18(木) 18:09:09.70 ID:bt2ishBv
Arduino本体でも自作が高くなる。 (USBシリアル変換モジュールが高いため。)
829 :
774ワット発電中さん :2012/10/18(木) 18:21:14.79 ID:LdE+aRUI
>>821 RaspberryPi
何ヶ月も前に申し込んだけど来ないね
その頃ユーロは安かったが今高く成った
値上がりしないよな。
>>829 RSからのは滅茶苦茶かかったけど、ModMyPiからは一週間で届いたよ。
RaspberryPiってパルス発生できるの? Arduinoに置き換わる使い方できる? それともArudinoと連携した使い方するの?
832 :
774ワット発電中さん :2012/10/18(木) 22:21:22.39 ID:3mdwmtnY
>>831 >Arduinoに置き換わる使い方できる?
できること。
Timers
Interupt controller
GPIO
USB
PCM/I2S
DMA controller
I2C master
I2C/SPI slave
SPI0,SPI1,SPI2
PWM
UART0,UART1
GPIOってのがArudinoの入出力PINみたいなのでいいの? オクで500円のボロPC手に入れてLinux載せるのと基本的には変わらないのかな? サイズ的には全然ちがうけど。
834 :
774ワット発電中さん :2012/10/18(木) 22:59:24.35 ID:9Txw76hc
USBオナホの制御だいぶ出来てきた。 やはりエロ関係になると、人間やる気になるな
835 :
774ワット発電中さん :2012/10/18(木) 23:01:56.97 ID:3mdwmtnY
例えば、PINをHIGHにするときには、 bcm2835_gpio_write(PIN, HIGH); と書く。
ArduinoのPWM出力を0Vから昇圧させながら Aeduinoのアナログ入力で47kΩの抵抗をかませて測定すると (測定周期は0.1秒ぐらい) ノイズだらけなんですけど、そういうもんですかね テスターで測ると3V設定で3Vと出てるようなんですが ちなみに手元には0.1uFのコンデンサーしかありません
>>833 RPiも基本は(超省電力省スペースなだけで)Linuxコンピュータだよ
ボード上に2.54mmピッチの汎用入出力ピンが付いてて
フルサイズのOSと連携した電子工作ができる、ってのが売り
自作板のスレ見てる感じでは、超省電力パソコン/サーバとして使おうって人が多いかな
>>838 V→R→+→出力
↓
C
↓
GND
こうすかね。こんな泥臭い方法以外無いのだろうか
f=490Hzで
ω=3000=3*10^3
RCはルートとるんだったか、どうだったか
C=0.1uF=10^-7Fしか手元に無いので
R=1/ωC=1/3*10^3*10^-7=0.33*10^4=3300
ぐらい?
Arduinoのデジタル出力ポートを増やす方法ってありませんか? 1ポートのHiLowで付けれるledって一つですよね? たとえば20個のledを自由に付けたり消したりとかする方法を教えてください。 全部点灯とかではなくです。 よろしくお願いします
シフトレジスター使えば幾つでも自由自在。
>>841 LCDつけたりするときもこれでポートが節約できるんですね
こんな時間にありがとうございます
843 :
774ワット発電中さん :2012/10/19(金) 04:55:52.91 ID:TVRMjeOE
うん。だから二台ある。 これって素の状態でDa vinci使えるのかな?と試そうと思うが、ついついUNOをつないでしまう。 UNOは普通に繋げるよ。
845 :
822 :2012/10/19(金) 13:51:31.64 ID:Yk7izeBa
>>826 返信ありがとうございます。
Arduinoのバージョンとポート番号を確認したところ、配線の間違いがわかりました。
ありがとうございました。
846 :
774ワット発電中さん :2012/10/19(金) 18:04:02.57 ID:Yk7izeBa
Arduinoでとったデータ(数値)に応じて、画像を出力したいのですが このようなことは可能なのでしょうか? もし、可能であればやり方を教えていただけませんか?
>>846 >可能なのでしょうか?
可能
>もし、可能であればやり方を教えていただけませんか?
・USARTでPC等にデータを送り表示する
・イーサネットシールド経由でPC等にデータを送り表示する
・XBee経由でPC等にデータを送り表示する
・その他の方法でPC等にデータを送り表示する
・Arduinoに液晶ディスプレイ等を接続し表示する
848 :
774ワット発電中さん :2012/10/19(金) 19:43:51.46 ID:Yk7izeBa
849 :
774ワット発電中さん :2012/10/20(土) 13:30:51.61 ID:AwcF5oHT
どなたか教えてください。 Arduinoで遊んでて、欲が出てAVR Studio5をいれたのですが、今度はArduinoのUSBドライバーが働かなくなってました。 ArduinoのUSBドライバーをもう一度入れる方法を御教授ください。(AVRStudio5も使いたいのですが) ネットで調べると、デバイスマネージャーの下のほかのデバイスに入ってる所からの対処法は書いてありますが、今、ほかのデバイスにも入っていない状態です。
850 :
774ワット発電中さん :2012/10/20(土) 19:02:20.12 ID:MtRW6n8o
JTAG
ArduinoのアナログINで、同じ回路の2か所を同時に測定しようとしたのですが上手くいきません それでArduinoによる測定の影響を、回路側に与えないために LM358で1倍の非反転増幅でもすればいいかと、ググってみたのですが 1倍にするためには、R2=0にするので、OPAMPのOUTを-にじかにつけなきゃいけないっぽいです 壊れそう
んなわけないだろ だいたいなにを独り言をいってるんだチミは
853 :
774ワット発電中さん :2012/10/20(土) 23:13:53.24 ID:oQsfxx5K
物を作るとか特に電子回路などは物理現象なので論理的思考が必要。 人に正確に物を伝えるにも論理的思考が必要 知りたいのなら正確に今の状態と行った事を記すべき。
>>851 この世界から足を洗って、別の趣味を見つけるなり、
別の道に進む方がきっと幸せになれる。
やってみたら出来ました! それで、ArdionoのA0とA1を測定対象回路の任意の点でプローブしたら 直接つないでだ場合は、回路が誤動作してたのですが LM358経由だと、回路は正常動作で予定通りの値で測定出来ました Arduinoのアナログリードを理想的な電圧計のつもりで使うのが間違ってたようです
856 :
774ワット発電中さん :2012/10/21(日) 06:21:29.41 ID:a6te6H+8
849です。 妻を今も愛しているのですが、気の迷いで愛人が出来、今では子供もできました。 久しぶりに自宅に帰ってみたら、妻が寝室に入れてくれません。 愛人とも別れたくないが、妻とも別れたくありません。 でも、どなたも相談に乗ってくれそうにないので、愛人の元へ行きます。
858 :
774ワット発電中さん :2012/10/21(日) 20:19:36.24 ID:SIScFIOz
>>856 Arduinoのドライバは自動認識だもんな。
敢えて言えば、FTDIメーカーサイト(ドライバをダウンロードできます)
http://www.ftdichip.com/
かも。
Arduinoの電源5Vの入力ですが これって、デジタル出力ポート等の並びにある、5VとGNDから入れても問題ないですか? 外部の5Vを使いたいんですが、ジャックがないので出来ればピンでそこに入れたいです。
問題ないよ
ありがとうございます 明日やってみます!
へぇー信じるんだ。 回路図くらい読めよ。
864 :
774ワット発電中さん :2012/10/22(月) 11:49:12.08 ID:lyxujYA1
問題あると思うの?
なんかここ本当に初心者歓迎してんの?
質問すれば叩かれる不思議な初心者説教部屋w
毎回回答側にいる俺は全く歓迎してないし、このスレタイは気持ち悪いと思ってる 回路図読めも同意だから、面倒なので一切の説明を省いた 勝手にしたらいいよ
じゃスレタイ初心者お断りって書いとけよ
870 :
774ワット発電中さん :2012/10/22(月) 19:26:22.48 ID:ric9l1UP
歓迎してない奴まで熱烈大歓迎スレに住んでるのは寂しいから?
初心者だって、聞く前にちょいと見れば分かるようなことだろ。 だいたい、2ちゃんの回答を鵜呑みにするなんてところがもう・・ね。
872 :
774ワット発電中さん :2012/10/22(月) 20:10:48.10 ID:ric9l1UP
あの質問は俺の自演だよ。 このスレには初心者はいないからマジ切れしてもしなくても同じ。
やべーゴキブリホイホイならぬ、初心者ホイホイだったかここ
×初心者 ○無能者
豆電球や白熱電球が光を発するのはどうしてですか?
>>875 ニクロム線と同じでタングステンフィラメントに電流を流すと発熱する
例えば3000Kまで温度が上がるとどうなるか
プランク放射の放射のピークエネルギーは
2.82*kT
kはボルツマン定数で1.38*10^-23
掛け算すると、2.82*1.38*10^-23*3000=1.16*10^-19 J
1eVが1.6*19^-19 Jだから、0.73eV
1eVが1240nmだから、0.73eVは1700nmぐらいの赤外線領域にピークを持ち
その分布のすそは可視光まで達する
結果として、赤白い光になる
877 :
774ワット発電中さん :2012/10/23(火) 06:57:56.99 ID:MGeQXNHc
光とは天上界からもたらされた力で有り悪魔や吸血鬼が恐れる崇高なエネルギー体で有るのだーー
878 :
774ワット発電中さん :2012/10/23(火) 07:33:50.84 ID:OXAE33Nh
Arduinoのシリアルに表示されたものをSDなどに保存はできるのでしょうか? 実際にやりたいことは、XBeeで送信したデータをもう一方のXBeeで保存がしたいのです。
XBeeで保存はできない。XBeeで受信した内容をSDカード等に保存はできる。
外部電源に繋ぐとき(例えばトランジスタやFETで外部電源のモーターを動かす時)、 車みたいにプラスから繋いだ方がいいのかな?
arduinoで232cを使って装置からのデータをモニターしようと 考えているのですが、その装置が7bit 偶数パリティー ストップビット1です。 Serial.begin()だと 8bit パリティー無し ストップビット1しか設定されないようですが 変更はできるのでしょうか?
882 :
774ワット発電中さん :2012/10/23(火) 17:47:01.41 ID:+qkv8Lnf
結局現在は何台使ってんだ?
883 :
774ワット発電中さん :2012/10/23(火) 18:40:37.83 ID:/MehOLmz
うちの中1男子が最小構成で8枚も組み立てて通信させるとか言ってるけど このまま育って大丈夫? 今ハンダ付け中。もうすぐ中間なのに。
むしろそのまま育てるべし そのうち回路関係を学習するために中学あたりの勉強まで必要になるわ、 いろいろな文書読むのに英語必要になるわでとんでもない勢いで勉強しだすと思う 国語?社会?あきらめろ ソースは俺
885 :
774ワット発電中さん :2012/10/23(火) 19:27:06.69 ID:QB4icfby
中間テストの勉強などなんの役にもたたんぞ。 それは親が一番知っている。
中間テストの勉強なんぞ役に立たん が、テスト勉強もしないで遊んどると 役に立たん大人になるぞ 俺のようになw
落ちこぼれになって電気・電子系に進むなんていうことが無いように 気をつけないとな。
サムスンに入ればいいじゃない
なんか歓迎されてるのか怪しいですが初カキコです
すみません、seeeduinoのMusic Shieldというものを買ってみまして
ttp://seeedstudio.com/wiki/Music_Shield ここの一番下にあるDemoを動かそうとしたのですが、
1の方はコンパイルできたのですが2の方のMusicPlayWithNameが
player.cpp: In function 'int playFile()':
player.cpp:135: error: 'listoffset' was not declared in this scope
player.cpp:136: error: 'indexlist' was not declared in this scope
とエラーを吐かれます。
MusicPlayRandomlyの方も応用するつもりがないのですがコンパイルすると
MusicPlayRandomly:62: error: 'class Fat16' has no member named 'traverseDir'
と言われる始末です……
もっとも1の方も何故か音が鳴らないのでお手上げ状態です。
どなたか助けてはいただけないでしょうか?
>>890 自分でなんともできないならArduinoとかじゃなくて完成品買ったほうがいいと思うよ。
そういう答えを望んでいるんでは無いです。 おわかりですか・・・
>>892 こっちもお前の望む回答をしてやらなきゃいけない理由もないしね。
何このスレ気持ち悪すぎ 答えてやれよ…回答しないなら次からスレ立てるな
>>893 だったら何も書き込む必要は無いです。
いちいちバカ見たいなレスをすることは無いんですよ・・・・・
>>890 1については接続をもう一度確認。
2のほうはざくっと見た限りファイルが足りてない気がする
そのページであがってる6ファイル(MusicShieldNewSDLib, Fat16_Lib, portpins.h, Music_v1_2, おまけでMusic_v1_14とNewSoftSerial)
探ってみたけどその二つの定義はなかった
ただ、見た限り非常に簡単そうだから自分で定義してみるとかはどう?
動作としてはおそらくSD内のファイルからランダムで1ファイル選択(136行目)
あらかじめ作っておいたリストからファイルをオープン(137行目)だと思う
listoffsetは”おそらく”indexlistのサイズ
indexlistは”おそらく”数値の配列。配列サイズは知らんが、配列内の最大値はSD内のファイル数
上は中身をてきとーに斜め読みした解析なんで、間違いあるかも
ひとつ厳しいこというなら、内部解析はともかくとしてエラーの意味くらいはわからんと
他人の作ったスケッチを動かすしかできないよ
>>891 はそういう意味で言ってるんだと思う
>>895 だから完成品買ったほうがいいってアドバイスしてやってるじゃん。
具体的なエラー表示されてんのに解決できないってお前頭悪すぎだろ。
どーせまた銀翼かそれに類する奴だろう。
ArduinoのD3やD5などのPWMのアナログ出力についての質問です これの問題点は ・PWM ・8bit です 前者はRCローパスフィルタ(色々試すとR=1k, F=100uか同じ時定数の組み合わせ) で何とか出来ますが、後者はどうしようもないと思っていました。 しかし、D3とD5をLPFに通してからオペアンプの加算回路で足すと 3.3V+3.3Vで6.6Vまで表現出来る事に気がつきました。 たぶん9bit表現なるのではないかと思います。 しかしこれだと重複する組み合わせ(1.5V+1.5Vと1V+2V)が出てきてまずいです。 また9bitも少ない気がします。何かいい方法は無いでしょうか? 最終的には10bitぐらいの分解能が欲しいのです。
すみません、よく考えたらD4などのデジタルアウトと D3の(平滑化後の)アナログアウトをオペアンプの加算回路で足せば D4が0の時は0Vから3.3Vまで D4が1の時は3.3Vから6.6Vまでになるような気がしてきました もう1個デジタルアウト(例えばD7)を使って加算回路のRf/R比を2倍に調整すれば D4が0,D7が0の時は0Vから3.3Vまで D4が1,D7が0の時は3.3Vから6.6Vまで D4が0,D7が1の時は6.6Vから9.9Vまで D4が1,D7が1の時は9.9Vから13.2Vまで になるかもしれません。
902 :
881 :2012/10/24(水) 15:26:26.46 ID:mt5O024l
>>901 そうは簡単に行かないのが人生。
R2Rとかラダー回路とかデジタルアナログコンバーター(DAC)とかで検索するのだ。
SPI通信でSDHCカード制御しております。詳しい人いませんでしょうか? シングルライト CMD24で一度目は確実に書き込みが出来ています。 しかし、直後に全く同条件で2回目を行うとCMD24が失敗します。 戻る値は0x09(out of range)です。 書き込み条件はサイズは512byte、アドレスは0x00000000固定です。 チェックサム送った後は、0x05(正常受付)が帰ってきます。 その後0x00が帰ってくるまで待ってますし、念のため1秒ほど待機してから2度めを送っています。 それでも2度めは失敗します。 なお、初期化(ACMD41)などは一切失敗していません。 一体何が原因かさっぱりわからずこまってます。 解決案お持ちの方教えていただけませんでしょうか。 かれこれもう3ヶ月ほど悩んでいるのでなんとかお力を貸して下さい。 どんな小さな可能性でも結構です。
1度目の最後の後始末ができてないだけってとこじゃねぇの?
>>904 0が返ってくるまでじゃなく、0の間を待つんだよ
待機とか無駄な事はやらなくて良い
907 :
774ワット発電中さん :2012/10/25(木) 17:02:20.35 ID:MPmfMCuq
>>907 AVRでPCMをPWMで再生する作例はすぐ見つかると思うけど、
PCMの垂れ流しならともかく、
ポリフォニックで鳴らすにはメモリも速度も足らない
1音/1AVRで鳴らすか、上位のマイコンに換えるか、
PCと適当に通信してPC側で鳴らすか
のどれか
耳がぶっ壊れた
4MIPSのPSoCで作った10音ポリフォニックピアノが アプリケーションノートにあったなぁ。
FPGAかフルバス接続で動く上位マイコンにした方が良い
912 :
774ワット発電中さん :2012/10/26(金) 00:52:11.15 ID:YcTdMbDq
>>910 一度はドロップアウトした清人だからこそおっさんの面白さを見落とさず拾い上げる事ができたし、それを伝える事もできた。
同じ伝えるプロでも、金持ちに生まれてリア充一直線を突っ走ってきたアナウンサーにこの面白さは伝えられないし、
受け手が勉強ばっかりやって来たオタクではやはり理解する事ができない。
必要なのは人生経験という共通の背景。
915 :
774ワット発電中さん :2012/10/26(金) 05:46:05.18 ID:YANqHmgT
>>912 RSで何ヶ月も前に申し込んだPiが一昨日送られて来たよ
余りにも遅いのでやる気とか萎えてるが救いはメモリを調べたら512MBだった
入ってる箱が今までの記事ではダンボールだったが送られて来たのはピンクの樹脂ケースに成ってたので
新しいロットの様だ。
ご愛嬌はまだ触って無いのにイーサにコネクタ上面に指紋がベッタリ付いてたよ
さすがチャイナ製
916 :
774ワット発電中さん :2012/10/26(金) 06:42:06.45 ID:JXqf35bB
917 :
774ワット発電中さん :2012/10/26(金) 16:56:56.59 ID:zPkApFIO
918 :
774ワット発電中さん :2012/10/26(金) 19:01:09.21 ID:VS23H56L
猿真似つーか、劣化コピーだからな。
中国を猿まね民族と責める立場にいるとでも思ってんのだろうか? コピペライブラリだけしか使えないゆとりも同類だと思うけど すくなくとも、そんな奴らが多い平成生まれの新卒より、 ハングリー精神のある中国人の方が会社にとって有益だ
>>920 チャイナは会社の利益どうこうより、自分の金儲けが第一。
ハングリー精神は確かにあるけど、自分を正当化するためには平気で嘘をつくからなぁ うちの会社にも1人いたけど、まぁ扱いづらかった
925 :
774ワット発電中さん :2012/10/27(土) 16:59:06.51 ID:wjduCTro
生産拠点を早く他国に移そうよ
>>926 ライター持ってないんだったら、先にブートローダ書いとかないとダメ
ユニバーサルプログラマ持ってるから何かと便利
Arduino持ってるならそのままそれがライターになるわよ
>>931 Arduinoがあれば、ブレッドボードがあれば書き込めるでしょ。
934 :
774ワット発電中さん :2012/10/28(日) 16:13:38.61 ID:bkwyDcPt
電力計測器を作ろうとしています。 arduinoからイーサネットで自鯖にデータを投げたんですが、サーバーの方で受信することができません。 解決策分かるかたいませんか?
935 :
774ワット発電中さん :2012/10/28(日) 16:16:11.63 ID:b9VkgjbQ
そんだけの情報で解決できたら天才だな。
936 :
774ワット発電中さん :2012/10/28(日) 16:25:54.55 ID:bkwyDcPt
>>935 http(get)をphpで記述して送信したんですが、サーバーに結果が表示されないんです!
なにが問題なのかわからくて・・・他にどんな情報が必要ですか?
全くわからん 書いたスケッチとphpどっかにうぷしろ 話はそれから
>>931 FTDIのbitbangモードで書き込めるようになってるよ。適当にぐぐって。
>>934 全部一気に作らずちょっとずつ作っていこうぜ。
arduinoをサーバにして直接アクセスで値読むとこからやろう。
>>936 @投げてない
Aイーサネットシールドの初期不良または接続不良
B自鯖と違うネットワーク(IP範囲が違うとかその他)
CPHPで受信できる形にしていない
1分考えるだけでもこれだけ可能性があるわけで。
自鯖のアクセスログには何も残ってないの?残ってないなら@〜Bの可能性高し
GR-SAKURAって2ch分の本当の(PWMじゃない)アナログ出力があるらしいけど Dueにもあるんだっけか? 現状のD3をオペアンプ通してボルテージフォロアした後にRCフィルターで平滑化して 念の為もう一度ボルテージフォロワすると設定電圧と、出力電圧に差が出てくる PWMを平滑化したらそうなるのも頷けるしプログラム的に補正すればいいだけなんだけどさあ
>>940 >GR-SAKURAって2ch分の本当の(PWMじゃない)アナログ出力があるらしいけど
DAは1chしかない筈
942 :
774ワット発電中さん :2012/10/28(日) 18:21:10.53 ID:bkwyDcPt
>>937 >>938 >>939 ありがとうございます。一度サンプルプログラムを送信したらうまくいきました!
アクセスログはちょっと見方がわからないです・・・
>>941 1chでもあるんだ!
GR-SAKURAはいいのかもしれないけど
ローカル過ぎるからDueを待とう
英語できる人羨ましい
>>944 こういうモーター付きロボットってモーターとアルディノの電源は別にしたほうがいいんだよね?
一緒にするとアルディノのプログラムがリセットされるよね。
それとも何か回路をうまく組めばリセットなんてされないのかな?
別に同じで良くないか。 電池→ArduinoのVin →モーター で問題ない。
USB駆動のArduinoの5Vでオペアンプ(LM358)を2個駆動しようとしたらArduinoが落ちて 最初は何ななのかわからず、結局USBから供給されてる電流では無理らしい事がわかって 秋月の単3電池4本ボックスにエネループを入れて、オペアンプ用の電源とした PCのUSBの空いてる端子からもう一系統取り出せばいいような気もするが
949 :
774ワット発電中さん :2012/10/29(月) 06:01:31.64 ID:lMfIjBO5
質問です。 ArduinoとATX電源をつなげてタスクボタンを押したら12V供給。もう一度押したらOFFするというようなことをしたいと思ってます。 ATX電源は13番ピン(COM)と14番(PS-ON)をショートさせれば電源ONするので タスクボタンを監視しておされたらショートさせたいのですがこれをArduinoでさせるにはどんな感じになるのでしょうか? 14番ピンにデジタルピンを直接さしたらやっぱ壊れますかね?
950 :
774ワット発電中さん :2012/10/29(月) 06:01:40.24 ID:mzlcjYCb
一連のUSB電源の件の発言を見て対処療法的な内容だけなので笑った! 電気やマイコン動作を目指すなら物理的現象を把握してから対処するとかしないともっと複雑な現象が起きた時 どうするのだろうか? って簡単で現象が起きた時の電流、電圧を測ればいいのだけど その変化が急峻と思われる時はオシロスコープなどを使用する その測定結果から電源にフィルターを追加したり電源容量を増加すれば良い などが求められる。
>もっと複雑な現象が起きた時どうするのだろうか? またネット上で聞きまくるだけなんじゃね? そして満足する回答が得られないといって逆切れする。
対処療法バンザイだと思うけど業務でやられるとなんとも。
自分のためだけならちょっと火事になったり壊れるだけだからいいんじゃないかなー。
>>949 外部のスイッチを用意してそれをArduinoから制御したアクチュエータで押したら壊れないよ。
>>944 なんか面白だね
部屋の片付けをしていたらワンダーボーグが出てきて
Arduinoで制御できないかを考え中
>>949 フリップフロップになっていて
パルスを送るごとにON, OFFが切り替わる
んだけど、フリップフロップの回路用の電源が必要なんだよね
>>953 さっきKindle版が9月に出てるのに気づき、予約やめてKindle版を買った。
(amazon.co.jpからも買えるみたいだけど、.comで11$)。
モーター制御とかについて一から丁寧な記述もあるので自分にはありがたい本。
956 :
949 :2012/10/30(火) 13:14:20.92 ID:wr6ohGce
>>952 >外部のスイッチを用意してそれをArduinoから制御したアクチュエータで押したら壊れないよ。
ひょっとしたら誤解かもしれないけど、これっておもしろ回答ですよね?
というと相当低レベルな質問しちゃったってことですかね?
>>954 PC電源はロジック用の5V電源は常にでてるようなので電源確保は問題ないみたいです。
フリップ・フロップでぐぐってみます。
ありがとうございました。
>>956 面白回答でもあるが、最終的にこんな感じの制御になる事もあるんじゃないか?
なんせ電気的には完全に独立してるんだし。
まぁ、ラッチリレーが一番楽だと思うよ。
楽するなら、フォトカプラもありですね。
>>958 確かに。
フォトカプラは極性があるから、ちょっと悩むかもしれないけど、一番小さくて安上がりかも。
無極性なフォトMOSリレーとか
実際のパソコンではどんなしくみになってるの?
.arduinoでフリップフロップ作ったら、何クロック掛かるんだよ?
パルス送るだけでしかもロジック5Vなんだったら直結したら動くね。 ダイオードとか抵抗いれておくと安心?
なんでFFを回路に入れる必要あるのか不明。 リレーかフォトカプラでええやん。
linux上だと Duemilanoveが/dev/ttyUSB* Leonardoが/dev/ttyACM* になるのか ACMって何
認識してるドライバの差かなんかで実質同じものとどこかで聞いた。 気になるならシンボリックリンク貼ればいいとおもうよ。
967 :
774ワット発電中さん :2012/11/01(木) 19:26:13.77 ID:4RjNWuW5
>>965 /ttyUSB*とttyACM*の違いは、FTDI 社とProlific 社の違いと予想。
>>967 FTDIとAVRのUSBデバイス機能の差
>デバイス機能の差 意味がワカラン
970 :
774ワット発電中さん :2012/11/02(金) 19:12:04.50 ID:tvezLvJO
arduinoで、SDカード上のwavファイルを再生させたいのですが どのシールドがおすすめでしょうか?
>>969 USBシリアルのインターフェースで前者がFTDIのチップで
後者がAVRのMEGA8u2(だっけ?)のUSBデバイス機能を使ってるという意味で書いた
わかりづらくてすまん
>>970 VS1053bあたりがのってるのなら何でも良いと思う。
seeedstudioのmusic shieldとか。
WAVEシールドは制約が多いのであまりオススメしません。
972 :
774ワット発電中さん :2012/11/03(土) 18:41:22.09 ID:7qKXrwMd
973 :
774ワット発電中さん :2012/11/03(土) 23:24:41.55 ID:8/71K7aq
このソフトはマジで便利なんだが、ワイヤーを間違えて張ると、 消すときに謎の黒い細線を消さないと回路図無茶苦茶になったりするよな。 なんか使い方が悪いんだろうか。
>>974 すごい。ただでこんなソフトあるんだ。
基板もつくってくれるサービスもあるみたいだしとにかくすごすぎ。
ありがとうございました。
>>974 抵抗に4穴必要なのが困る
2穴で強引に差してるのに
>>974 こりゃいいや。
回路図からブレッドボードに変換できるのかなぁ。
979 :
974 :2012/11/04(日) 18:49:05.35 ID:JyyYQOBD
980 :
774ワット発電中さん :2012/11/06(火) 05:44:07.83 ID:5bwU+QyO
>>980 俺も初心者なので間違ってるかもしれないけれど、
アナログポートと並列に1MΩの抵抗を入れれば圧電スピーカーから発生した電力がポートと抵抗で分圧されてかかると思う
その際、それぞれにかかる電圧は抵抗に比例するから1MΩなら大部分がそちらに流れる、んだと思う
勉強途中なので突っ込み大歓迎
単純にオームの法則。
983 :
774ワット発電中さん :2012/11/06(火) 21:55:22.31 ID:9Vj4+iuB
僕も初心者なのですごい気になっていました。 オームの法則と聞いてもパッと納得できないです・・・ 1MΩの抵抗をつけたら、ほとんど電流はそっちに流れなくて、 入力ポートのほうに流れすぎるので危ないよなイメージを持ってるんですが、 どうなのでしょうか? また、分圧は直列の時の話で、並列につないだときはAnalogポートの電圧は 特に変わらないような気もするのですがどうなのでしょうか・・・
入力ポートの入力インピーダンスが100MΩくらいあるから、普通の素子をつないでも電流はほとんど入力ポートには流れ込まない。 大きな抵抗を付けるのは回路保護というよりは、ピエゾ素子が発生させる電流が微弱だから、大きな電圧信号として取り出したいからではないか?
>>983 同じように叩いたら、1Ωの抵抗を並列につけても、開放時でも
同じ電圧を発生できるものだと思ってるのかい?
986 :
774ワット発電中さん :2012/11/07(水) 00:20:20.90 ID:Ox8v2leF
>>984 該当URLには保護の為って書いてあるように思うけど本来の目的は違うってこと?
connect a 1-megohm resistor in parallel to the Piezo element to limit the voltage and current produced by the piezo and to protect the analog input.
ピエゾ素子ってケースによっては90Vぐらい発生するらしいけど。もっとも電流微弱だろうからそれで本当に入力ポートが壊れるかは自分にはわからんけど。
保護目的として、大電圧発生したときだけ抵抗にながれるから安心ってのがいまいちよくわからない。なんでそういう動きになるの?
オームの法則の一言で一蹴してる人がいるぐらいだからもしかして基本すぎて説明むずかしいとか?(説明するの馬鹿らしい?)
なるほど、 抵抗分圧で数Vまで下がるのね
988 :
774ワット発電中さん :2012/11/07(水) 01:51:24.97 ID:Q0nVO8lY
>>985 う・・・そういう認識でした・・・。
振動すると電圧が生まれて、電圧が生まれると電流が流れる。
同じ振動だったら同じ電圧が生まれて、流れる電流量はつけてる抵抗によるものだと・・・。
ちょっとピエゾ素子についてちゃんと勉強しなおしてきます。。。
990 :
774ワット発電中さん :2012/11/07(水) 09:32:44.84 ID:2DT6LMWw
UbuntuでArduinoIDEやってる方、シリアルモニターを表示させると突然終了する症状はありませんか?
ピエゾ素子は、振動すると「電力」を発生する。電圧じゃなくて、電力だぞ。 電力=電圧×電流=電流^2×抵抗 仮にピエゾ素子が発生した電力が1uWだとする(ご都合主義で決めました)。 ポートの入力抵抗が100Mのとき、流れる電流は0.01pA(多分)。 このとき発生する電圧は10V。 この手のポートの絶対最大定格はVcc+0.3Vくらいだと思うので、綺麗にオーバーしている。 パラで1Mの抵抗を入れると、並列抵抗で0.99Mohmの合成抵抗になり、発生する電圧は1Vに落ちる。 並列接続なので、1Mの抵抗にも、100Mの入力ポートにも、同じ電圧が掛かる。違いは流れる電流だけ。 直列に接続して抵抗分圧にてアナログポートにかかる電圧を1/10にしようと思ったら、1Gohmクラスの抵抗になるw ここまでいくと、事実上開放状態なので、その辺のノイズ拾いまくりになるかなと。
992 :
774ワット発電中さん :2012/11/07(水) 10:01:37.57 ID:V87vKduq
マイコンのポートにも保護ダイオード入ってるからね。 でも極小のダイオードだからこいつをあてにした設計は好ましくない。 ちなみに抵抗を並列に入れるのも簡易設計。 どの位のパワーで来るかわからんから、確実にクランプするには ツェナーダイオードを使う。メーカーのデーターシートの注意欄見てみて
つか、瞬間的に微少電流で電圧かかっても、大した問題ないと思う。 けど、波形が歪んじゃうのよね。 ま、ピエゾとか、叩いた時どのくらいの信号が来るのかよーわからんので、やってみて適当に調整かなと思う。 ところで、ドラムマシンって、ピエゾの信号をそのまま出力して音にしているの? それとも、最初の振幅の大きさを見て、音量変えながら、録音データを再生しているの? ちょっと興味があって・・・
995 :
774ワット発電中さん :2012/11/07(水) 17:16:05.24 ID:IxdYkSjl
>>994 そのまま出力にして音にして、その信号をエフェクターにかけてるよ。
それと、叩いてなくても多少ノイズがのっているから、しきい値を設定してる。
SDシールドを付けるとサンプリングを再生出来そうだから今度買ってみようと思う。
>>995 って事は、Vドラムのトリガーとかの類じゃなくて、完全にオリジナルってわけね。
ますます興味津々。カホーンでやってみるべかな。
スレチすまん
>>992 ポートが大抵双方向で、過電圧入力保護用にダイオードがはいってたりするから、
入力=>ダイオード=>VCCというルートで電流が流れる。
でも、なにせ流れる電流・・電荷の量自体はたいしたことはない。
パスコンもあったりするから、そっちに流れ込む。
Q=CVで増える電圧分も大したことない。
まぁ気持ちは悪いから、処理しておいてやるのが丁寧な設計ってやつね。
そもそも80Vも入力ポートにつなげてイイのか分からんwww
初心者お断り
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。