トップページ電気・電子
1002コメント397KB
Arduino初心者熱烈大歓迎質問スレ part21
■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2018/05/25(金) 21:53:24.61ID:DlxbWaPO
http://www.arduino.cc/

【質問者心得】
・スレに一応目を通してから質問しましょう
・回答者はエスパーではありません。状況が分かるように詳しく書きましょう
 詳しく書いてくれないと、答える方も困ってしまいます。答えようがないのです
【回答者心得】
・すぐにググレカスと言う前に「○○でググれカス」って言うような大人の余裕を見せつけてやりましょう
・節度ある初心者さんには、特に優しくね

【分裂騒ぎ】
おさまった模様。くわしくはぐぐれ。


前スレ
Arduino初心者熱烈大歓迎質問スレ part20
https://rio2016.5ch.net/test/read.cgi/denki/1514503488/

過去スレ
Arduino初心者熱烈大歓迎質問スレ part19
http://rio2016.2ch.net/test/read.cgi/denki/1500745528/

Arduino初心者熱烈大歓迎質問スレ part18
http://rio2016.2ch.net/test/read.cgi/denki/1485192244/
Arduino初心者熱烈大歓迎質問スレ part17
http://rio2016.2ch.net/test/read.cgi/denki/1471967293/
Arduino初心者熱烈大歓迎質問スレ part16
http://wc2014.2ch.net/test/read.cgi/denki/1451909868/
Arduino初心者熱烈大歓迎質問スレ part15
http://rio2016.2ch.net/test/read.cgi/denki/1451893274/


関連スレ
【Arduino】フィジカル・コンピューティング4【OSC】
http://wc2014.2ch.net/test/read.cgi/denki/1407830304/
学研マイコン Japanino ジャパニーノで遊ぶスレ 3
http://kamome.2ch.net/test/read.cgi/denki/1286354827/
0394774ワット発電中さん
垢版 |
2018/06/18(月) 20:12:52.21ID:ElL04n2A
シャカシャカうるさい!もういい!
0395774ワット発電中さん
垢版 |
2018/06/18(月) 21:09:34.93ID:yiMAOKh6
車速と同期して光が流れる車載イルミ作ってるのですが途中で行き詰まってしまいました。
LEDを順次点灯させるプログラムは完成しましたがGPSで取得した速度を同期させる方法が分かりません。
誰か教えて下さい!

使用機器は
Uno R3
WS2812のテープLED
みちびき対応のGPS受信機
0396774ワット発電中さん
垢版 |
2018/06/18(月) 21:37:57.91ID:wyUqHpUr
どう光らせたいのかも、どう行き詰ってるのかまったくわかんないけど例えばこういうことか?
if (速度 < 10km/h)
 10km以下の光らせ方()
else if (速度 < 20km/h
 20km以下の光らせ方()
・・・
0398774ワット発電中さん
垢版 |
2018/06/18(月) 22:02:33.39ID:NHsDzrPB
>>395
LEDが何個あるかわからんが
ただの点灯と消灯だろ?
なら全部並べて0,1のビット処理できるだろ?

速度がわかったら、LED1個の隙間分を何msで通過するかわかるだろ?
その時間でビットシフトすりゃOK

そのビットで点灯させるように作れ
0399774ワット発電中さん
垢版 |
2018/06/18(月) 22:04:19.03ID:yiMAOKh6
光らせたいパターンは車と同じ向きに光が車速と同じスピードで進んでいくイメージです。
1、GPSで車速を検知
2、車速と同じスピードでLEDが端から端まで順次点灯
3、繰り返し

って感じをイメージしてます
行き詰まったのはLEDの点灯間隔の処理のところです
0400774ワット発電中さん
垢版 |
2018/06/18(月) 22:11:06.36ID:iHmdQpIG
>>399
「LEDを順次点灯させるプログラムは完成しました」って書いてるから
今は一定な順次点灯の間隔を、車速に反比例させて変えてやればいいだけなんじゃ?
0401774ワット発電中さん
垢版 |
2018/06/18(月) 22:17:04.58ID:yUJLB/0R
Leonardo+74HC595で1602Aに出力したいんですが
74HC595+LEDをハードSPIで点滅出来る事を確認し、
1602Aを直接続4bitモードでの動作確認は出来たものの
Leonardo+74HC595で1602Aを扱う方法がさっぱりです

最悪自分で一から書けば良いとは思うんですが、Leonardo+74HC595に対応した
液晶ライブラリて無いですかね
0402774ワット発電中さん
垢版 |
2018/06/18(月) 22:23:28.15ID:iHmdQpIG
>>401
原理的にはできるけれど、特別な理由なきゃ i2cインターフェイスの液晶か
1602用のi2cインターフェイスボード使ったほうがいいんじゃない?
0403774ワット発電中さん
垢版 |
2018/06/18(月) 22:32:37.28ID:yUJLB/0R
ぐぐると74HC595で1602Aを扱う事は広く行われててライブラリもあるんですが
全てUNO用で、UNOと違ってSPIがICSPにしか出てないLeonardoではどうした物なのか
0408774ワット発電中さん
垢版 |
2018/06/19(火) 21:49:24.11ID:oLW+6V1o
スケッチについて質問です。
フルカラーLEDを使おうと考えています。

カラー設定のこの部分
RGBLed.setPixelColor(0,150,0,0);//赤
数字の0,150,0,0を関数にする事は出来ないのでしょうか?

調べてみて
int red[] = {0,150,0,150};
このようにやってみたのですが
RGBLed.setPixelColor(red[]);//赤
エラーでした。

いい方法はありますか?
0409774ワット発電中さん
垢版 |
2018/06/19(火) 22:03:28.60ID:WofFu4SE
#defineか何か、プリプロセッサで出来るんじゃないかな

出来なかったら
Led(int *t){ RGBLed.setPixelColor(t[0], t[1], t[2], t[3]); }
int red[] = {0,150,0,150};
RGBLed.setPixelColor(red); とか
0410774ワット発電中さん
垢版 |
2018/06/19(火) 22:04:48.78ID:dfVbTzLm
何が疑問なのか、数値を直接書かずに変数なり、関数なりで置き換えればいいだけだが。
int fz(void){
return 0;
}

int fv(void){
return 150;
}

RGBLed.setPixelColor(fz(), fz(), fv(),fv());
0413408
垢版 |
2018/06/19(火) 22:57:02.44ID:oLW+6V1o
#defineでいけました!

SDカードから引っ張ってきた文字を表示しその名前に対応した色を発光させたいと
思っているのですが名前に対して色が大量に重複するので
red=0,150,0,0
blue=0,0,0,150
yellow=0,150,150,0
purple=0,150,0,150
こんな風に色の名前でRGBの数字をまとめられたら楽だし
メモリの節約にもなるかなと思い調べていました。
さすがに数字一個一個関数や変数にすると複雑すぎて混乱するので・・
聞き方が良くなかったというか関数と変数をちゃんと理解していなかったです。
すみません。
お二人ともありがとうございました。
0414774ワット発電中さん
垢版 |
2018/06/20(水) 00:44:27.19ID:tCvmYIYZ
何で引数4個なんだろうとぐぐってみたら1個目は数珠繋ぎの番号なんだな
配列に入れるもんじゃ無いと思う
0415774ワット発電中さん
垢版 |
2018/06/23(土) 13:10:06.23ID:f+ECe1VL
manoのニセ物を使ってます。
pwmでデューティ比を0から100まで変えたい場合、搬送周波数は7000hz
が限界のようですか、みなさんも
同じ程度でしょうか?
0416774ワット発電中さん
垢版 |
2018/06/23(土) 13:58:23.99ID:F5q3dxPx
別にニセモノがホンモノの性能を超えたっていいじゃない?(頑張れー
0417774ワット発電中さん
垢版 |
2018/06/23(土) 21:19:37.22ID:ugKJd5tK
ArduinoIDEのサブメニューって、マウスカーソルがズレるとすぐ消えね?
なんとかならない?
0418774ワット発電中さん
垢版 |
2018/06/23(土) 23:42:24.84ID:9RQ3PHng
やろうと思えばできるだろうけど労力の割りに合わないだろうな
我慢しとけ
0420774ワット発電中さん
垢版 |
2018/06/24(日) 22:52:25.86ID:GT4pSNjM
サッカー日本代表セネガル戦でお忙しい所すいません。

スピーカーの中に内蔵させようと思うんですが、
こういうマイコン類って、強力な磁石の近くに設置しても大丈夫ですか?
0421774ワット発電中さん
垢版 |
2018/06/24(日) 23:02:12.40ID:x4HW86Wz
いくら強力なスピーカーの磁力程度では全く関係ないよ
0422774ワット発電中さん
垢版 |
2018/06/25(月) 01:05:55.98ID:GojYkVTT
>>420
エンクロージャーならどうにかなると思うけどユニットってことならやめといた方がいいと思う。
0423774ワット発電中さん
垢版 |
2018/06/25(月) 09:16:29.45ID:hz679a6S
駄目だったらスアンプ内蔵スピーカーなんかもアウトだなw
0424774ワット発電中さん
垢版 |
2018/06/25(月) 17:42:55.13ID:u8VjtFqC
>>415
「Arduino PWM 高速化」でググってみて
このスレでも、ちょっと前に高速化使ってるプログラムが出てたような
0425774ワット発電中さん
垢版 |
2018/06/25(月) 20:54:53.62ID:7Lih+Zd6
A/Dは量子化10bitですが、8bitならば200KHzを超えるAD変換クロックが出来るとデータシートに記述されてました。
しかしそんな設定の出来るレジスタは見当たりません。
200KHzを超えるAD変換クロックを入れれば勝手に8bitになるのでしょうか?
8bitで読み取るにはどうすればいいのですか?
arduino unoです。
0428774ワット発電中さん
垢版 |
2018/06/26(火) 00:00:33.35ID:RpPfq63c
そっか
残念
書くのだけVSCodeにしたらいいか

PlatformIOはどう?VSCodeにも拡張あるみたいなんだけど
0430774ワット発電中さん
垢版 |
2018/06/26(火) 09:02:55.47ID:QCOCpXq5
中華のNano互換買ってみたけど、あとで火を噴いただの、PCとつなぐのにドライバがいるだの知って使うの躊躇してる
0431774ワット発電中さん
垢版 |
2018/06/26(火) 09:19:34.66ID:wbGIwzRg
>>425
8bitにしてとかじゃなく、AD変換クロック(分周器)の設定だけで
早くできるみたいだよ
「Arduino ADC 高速化」で検索
0432774ワット発電中さん
垢版 |
2018/06/26(火) 12:42:34.69ID:0THODOd+
>>431
ありがとう
200khzより高速でサンプリングしたければ、10bitのうち2bitを捨てろという事みたいです
0433774ワット発電中さん
垢版 |
2018/06/26(火) 17:32:49.27ID:y7856nWy
Arduino Nanoに対するコンパイル時にエラーが発生しました
というメッセージが出るので、調べたらこれが原因でした。

#include <avr / interrupt.h>
#include <avr / io.h>
#include <avr / pgmspace.h>

削ればコンパイルは完了するのですが、ボードに書き込んでも動作しません。
何らかのライブラリをダウンロードする必要があるということでしょうか?
0434774ワット発電中さん
垢版 |
2018/06/26(火) 17:43:15.65ID:iHY09gLF
マジで!?
初電子工作の初ArduinoでRobotDynが出している互換機買って到着待ちなんだけど(核爆)
0435774ワット発電中さん
垢版 |
2018/06/26(火) 20:02:01.35ID:JaMmO3MA
>>433
「/」の前後にスペース入れてるの?
ファイルパスだからスペースがあったらマズいよ
0436774ワット発電中さん
垢版 |
2018/06/26(火) 20:06:02.41ID:JaMmO3MA
>>430
中華クローンばっか使ってるけど発火事故なんか一度もないけどw?
ドライバはインスコするだけ。
もしよろしければ火を噴いた記事のリンクなど有りますか?
0437774ワット発電中さん
垢版 |
2018/06/26(火) 20:15:18.17ID:6OUepQ0m
>>430
回路の抵抗値ミスって香ばしい臭いをさせたことはあるけど
発火は無いなぁ
心配なら単体で通電してしばらく監視していればどうかな
事故原因の大半は外部要因だと思うけど。。。
※個人の感想です
0439774ワット発電中さん
垢版 |
2018/06/26(火) 20:45:47.56ID:JaMmO3MA
>あとから良くみると、電源とGNDを直結してしまってました。

これは・・・
0440774ワット発電中さん
垢版 |
2018/06/26(火) 20:49:59.96ID:QCOCpXq5
>>439
すまん、本文よんでなかったわ。。。
中華、煙、やっぱり!とおもって目の前が真っ暗になって寝てしまってたわ。。。
おわびにもっかい寝てくるわ。。。
0444774ワット発電中さん
垢版 |
2018/06/26(火) 23:43:03.60ID:6OUepQ0m
>>438
私はド素人なのでいろいろ調べるなかで、この記事読んだことあったわw
まぁ諸々気を付けるに越した事はないですね
頑張ってください
0446774ワット発電中さん
垢版 |
2018/06/27(水) 06:52:22.61ID:0FjK1nMV
>>445
・ある事象に対して根拠にとぼしい推測をする人だな。
・他者の評価について、いくつかの可能性がある場合にマイナス評価の方に目がいくタイプなのかな。
・あいまいなことで、匿名という守られた立場で個人ブログを批判する人なのかな。
0447774ワット発電中さん
垢版 |
2018/06/27(水) 09:14:47.78ID:HOOdCIXb
ハンダ付けも上手くできたなんて書いてるからもともと初心者っしょ
0449774ワット発電中さん
垢版 |
2018/06/27(水) 10:31:43.42ID:m7y1cztS
仮にやったとしてもこんなの恥ずかしくてよー公開できんわ
0450774ワット発電中さん
垢版 |
2018/06/27(水) 14:50:32.72ID:jzVQxUiK
>>446
目的語を適宜変更すれば、
それ、全部そのままあなたに当てはまる。
素晴らしい自己分析能力です。
0451774ワット発電中さん
垢版 |
2018/07/01(日) 14:06:54.56ID:ivUgDv1+
uint8_tの配列からintにキャストする場合、下のやり方で良いですか?

uint8_t array[10] ={100,101,102・・・};

int temp = (int)array[0];

どうも値がめちゃくちゃになるんですが・・・

実際には4桁7セグにuint8_tの配列値を表示させています。
disp.digit4((int)array[0]);
0452774ワット発電中さん
垢版 |
2018/07/01(日) 14:10:00.89ID:ivUgDv1+
ちなみに
int i=100; disp.digit4(i);
disp.digit4(100);
など、直接数値を指定した場合や、intの変数なら正常に表示されます。
0453774ワット発電中さん
垢版 |
2018/07/01(日) 14:40:04.31ID:ivUgDv1+
8ビットのuint8_tから、16ビットのintへ変換しようとしていることが分かりました。
0454774ワット発電中さん
垢版 |
2018/07/01(日) 17:26:36.33ID:xp6HbESk
キャストの問題じゃないんじゃないかな?
配列サイズ小さくするとか、別の配列で試すとかしても同じ?
誰かがメモリ内容壊してるんじゃないかなあ。
なお言語仕様上はキャストしなくても自動でキャストされる。
0455774ワット発電中さん
垢版 |
2018/07/01(日) 19:14:19.51ID:j2R4YU+y
>>454
自動キャストされるんですね。ありがとうございます。
もう一度見直してみます。
0456774ワット発電中さん
垢版 |
2018/07/01(日) 20:51:35.46ID:Kqhl5so/
スケッチ書きこんだ後、PC電源落としても、ステッピングモーターとか回ってるけど
どのタイミングでUSB引き抜けばいいの?
0457774ワット発電中さん
垢版 |
2018/07/01(日) 21:05:45.32ID:BVsgcfWj
PCの設定で電源落としてもUSBだけ給電するようになってるんだろ
いつ引っこ抜いてもOK
0459774ワット発電中さん
垢版 |
2018/07/02(月) 01:02:44.71ID:KY7Z+Ey2
YouTubeでRGB LEDテープ使って7セグみたいなの作ってる動画あるんだけど、直列に繋げて ○○●○ 1つだけ電気つけないってのやってんだけどどうやってるのかな?
0463774ワット発電中さん
垢版 |
2018/07/02(月) 07:28:09.06ID:KbBHqHxt
動画は見てないけど、マイコン内蔵LEDテープ使ってるんじゃね?
0464774ワット発電中さん
垢版 |
2018/07/02(月) 07:28:26.86ID:GE2r4SFb
シリアルLEDでしょ
ぷらす、まいなす、信号線の3本だけで複数のLEDを制御できる
0466774ワット発電中さん
垢版 |
2018/07/02(月) 07:59:50.56ID:iexq1P+K
>>462
動画投稿者の名前で検索すれば答えが出るんだなぁ
ttps://github.com/leonvandenbeukel
0467774ワット発電中さん
垢版 |
2018/07/02(月) 08:57:04.98ID:oqZ5cOwk
特大LED時計を作る意欲が少しだけわいた。
深夜にねぼけてても読める時計が欲しかったのよね

シリアルLED WS2812のテープはamazonでよく見かけるけど、WS2822のテープはないかな?
0469774ワット発電中さん
垢版 |
2018/07/02(月) 12:28:48.61ID:Z+zC/WR8
普通の5mmサイズでマイコン入ったフルカラーLEDすらあるしな…
0470774ワット発電中さん
垢版 |
2018/07/02(月) 19:25:09.43ID:ibC7D94b
>>466
そもそも動画説明にgithubのURL貼ってあるしそれでもわからなかったってことじゃない?
0472774ワット発電中さん
垢版 |
2018/07/02(月) 20:22:32.40ID:L4ta/pEa
WS2812Bすげえな。安いし。
模型なんかに埋め込んでも楽しそう。
0473774ワット発電中さん
垢版 |
2018/07/02(月) 22:01:38.20ID:311nhXkZ
悪くはないが、一つのシステムに組む時にすべてのデータをシリアルで
送るために遅延が問題になることが懸念される
0477774ワット発電中さん
垢版 |
2018/07/02(月) 22:50:34.43ID:11ZIRXiE
WS2812はリフレッシュレートがそんなに高く無いから
それ自身が動いたりすると若干ちらついて見える
DotDSTtar(APA-102?)ならリフレッシュレート高いけど入手性が悪い
0478774ワット発電中さん
垢版 |
2018/07/03(火) 14:24:30.68ID:g7by31Yp
もしかしたらArduinoじゃなくてAVRマイコンの質問にカテゴライズされるのかもしれません。
ソフト側は問題ないので、ハード的なほうの質問になるのですが・・・

現在、Arduino Unoを使って製作している装置に交差コイル式のアナログメーターを実装しています。
Sin/Cos/Comの端子が出ているタイプで、各コイルは片側あたり定格で30mAらしいです。
実測でSin<->Comが98Ω Cos<->Comが97Ω Sin<->Cosで196Ωなので、およそ±3Vで動作させられそうです。

ただ、今回の用途にはあまり針のレスポンスを要求していないため、電流は25mAでも大丈夫かと思ったので
とりあえずArduinoの5Vを多回転抵抗の真ん中の足で分圧してオペアンプ(NJM4556A)をボルテージフォロアにしたレールスプリッタで±2.5Vで動作確認したところ動きました。
(Comにボルテージフォロアの仮想GND(2.5V)、SinにArduinoのD9、CosにArduinoのD10を繋ぎました。D9,D10はデフォルト周波数=490.2HzのPWM制御です。)

そこで質問が3つあるのですが

1、レールスプリッタを使わずにArduino UnoのPWM出力を50%dutyにしてCommonに繋げても大丈夫か?(オペアンプが結構邪魔なので…分圧抵抗もパスコンも要るし…)

2、もし上記が問題ない場合にCommonのPWMの周波数をSin,Cosの制御と違う値に変更したほうが良いか?
 (その場合Timer2が遊んでるのでD3かD11を使用する…D5,D6はデフォ976.6Hzだが高性能な方の外部割込みとアナログコンパレータを利用のためポートが使えない…)

3、さらにマイコンのGPIOが最大40mAまでみたいなので、出力に設定したD3とD11を纏めても大丈夫か?(プッシュプルを外付けする…?それならオペアンp(ry
 →AVRマイコンのタイマー制御PWMはTCCRxAの上位4ビットとOCRxAとOCRxBを同じ設定にしたら2ポートが完全に同時のタイミングでH/Lが切り替わるのか?
 →もし仮に全く同じタイミングで切り替わるとしたとしても、出力に設定したピンを纏めたりしてもいいものか?)

初心者なので思いつきで頓珍漢な事を聞いていたらすみません。よろしくお願いします。
0480774ワット発電中さん
垢版 |
2018/07/03(火) 21:42:30.77ID:TUeFXinq
RM1
0481774ワット発電中さん
垢版 |
2018/07/04(水) 06:27:49.87ID:goAbfbPR
>>478
1 ダメ
2 1がダメ故にダメ
3 ダメ
0482774ワット発電中さん
垢版 |
2018/07/04(水) 10:16:17.80ID:i6xvBLh3
駄目すぎ
自分ならフォトカプラで絶縁して電源独立させるくらいするかも
0483774ワット発電中さん
垢版 |
2018/07/04(水) 10:43:00.49ID:mTnVnd0J
ガチ初心者なのですが教えてください。

書籍の自炊マシン構築に12MP以上のカメラが2台必要なのですが
カメラモジュールで作るよりCANONの中古デジカメを買ってきて
CHDKで制御したほうが安上りでしょうか?
0486774ワット発電中さん
垢版 |
2018/07/04(水) 12:21:42.75ID:93WKojCm
タイマ1の割り込みで効果音を再生したいのですが
下記のスケッチ(一部)でdelayMicro〜を削ると再生されません。

実験したところでは↓のようになっているようです。
sample-(B)-sample-(B)-sample-(B)-【A】-sample-(B)-sample-(B)…
つまり1sampleごとの割り込みが出来ていません。

sample-【A】-sample-【A】-sample-【A】-sample-【A】…
delayMicro〜を使わずに↑のようにするにはどうしたらいいですか?
break;や noInterrupt(); では上手く行きませんでした。

#include <TimerOne.h>
 ・
void setup() {
 ・
Timer1.initialize(A);
Timer1.attachInterrupt(play);
}

void play() {
int i = 0;
while( i < sample_raw_len ) {
OCR2B = pgm_read_byte_near(&sample_raw[i]);
i++;
delayMicroseconds(B);
}
}
0487774ワット発電中さん
垢版 |
2018/07/04(水) 12:26:37.61ID:jTRAJwrj
>>483
スキャンスナップのSV600じゃだめかな?
非破壊で自炊できるよ。
値段も安いし。
0489774ワット発電中さん
垢版 |
2018/07/04(水) 13:19:33.34ID:mTnVnd0J
>>484
ジャンクで売ってるスマホのカメラ部分取り出して流用って難しいもんですかね?

>>487
全自動のやつ作ろうと思ってるんです(たまのエラーは人オペで回避)
2万5千円以内でやりたいなーと思ってます。
0490774ワット発電中さん
垢版 |
2018/07/04(水) 13:39:45.02ID:McaZoxmU
スマホのなんてコネクターの入手だとか配線だけでもそんな質問する奴には無理だと思うよ
スマホそのものをそのまま使ったほうがはるかにいい
0491774ワット発電中さん
垢版 |
2018/07/04(水) 13:51:34.37ID:LpF2Rn/3
>>486
少しはスケッチの内容を理解するようにしたら?

Timer1.initialize(A); delayMicroseconds(B); の意味
play()のやってることを、理解してれば
「delayMicro〜を削ると再生されません」とか
「1sampleごとの割り込みが出来ていません」とか当たり前
(スケッチがそうなってる)なことくらい分かるはずだよ

あと、音を出す話題は、このスレの200前後に延々と出てたよ
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況