Arduino初心者熱烈大歓迎質問スレ part20
レス数が950を超えています。1000を超えると書き込みができなくなります。
http://www.arduino.cc/
【質問者心得】
・スレに一応目を通してから質問しましょう
・回答者はエスパーではありません。状況が分かるように詳しく書きましょう
詳しく書いてくれないと、答える方も困ってしまいます。答えようがないのです
【回答者心得】
・すぐにググレカスと言う前に「○○でググれカス」って言うような大人の余裕を見せつけてやりましょう
・節度ある初心者さんには、特に優しくね
【分裂騒ぎ】
おさまった模様。くわしくはぐぐれ。
前スレ
Arduino初心者熱烈大歓迎質問スレ part19 [無断転載禁止]©2ch.net
http://rio2016.2ch.net/test/read.cgi/denki/1500745528/
過去スレ
Arduino初心者熱烈大歓迎質問スレ part18 [無断転載禁止]©2ch.net
http://rio2016.2ch.net/test/read.cgi/denki/1485192244/
Arduino初心者熱烈大歓迎質問スレ part15
http://rio2016.2ch.net/test/read.cgi/denki/1451893274/
Arduino初心者熱烈大歓迎質問スレ part17
http://rio2016.2ch.net/test/read.cgi/denki/1471967293/
Arduino初心者熱烈大歓迎質問スレ part16
http://wc2014.2ch.net/test/read.cgi/denki/1451909868/
関連スレ
【Arduino】フィジカル・コンピューティング4【OSC】
http://wc2014.2ch.net/test/read.cgi/denki/1407830304/
学研マイコン Japanino ジャパニーノで遊ぶスレ 3
http://kamome.2ch.net/test/read.cgi/denki/1286354827/ ワンチップで済ませられるならぜったいそのほうがいい ICレコーダーを作ろうと思ってます
sonyが今度出すSPRESENSEみたいにメインボードとサブボードがあればマイクからsdに書き込むまでやってくれそうなボードって
現状ではないのでしょうか
ピン配置とかはarduinoと一緒っぽいのでもしかして似たようなボードがあればそっちを買ってみようと思ってるのですけど 実用性を考えるなら買った方が良い
作るのを楽しみたいなら
自分で考えろ わかってねーな
なにがなんでも8pinのマイコンでやるのが粋なんだよ ↑これ予算1000円以下で、上手く作ればフリスクケースぐらいに収まりそう >>869
I2CでスレーブのUnoと通信してI/O拡張は俺やってるよ
同期の問題とかあるにせよ手軽に試せるのは確かです 私がスタンドアロンのケーブルテスタをゼロから新規に作るとしたら、
I2CやSPI接続のI/Oエキスパンダを使う。
MCP23017/MCP23S17なら8個も必要だけどI/O点数が多いので仕方が無い。
CPUはシリアルEEPROM制御も含めてtiny2313でいけるかもしれない。
ところで >>880 のテスタの画像を見ると1-8アナログマルチプレクサの
「8」信号側を64Pコネクタに接続している。
これでは一部の誤接続を検知できないのではないだろうか?
メーカーは知っているのだろうか? esperoom以外に低価格(300~400)でpwmの多いarmマイコン
はどんな候補がありますかね?
最低でも7本は欲しいです。 PWMチャネルがそんなにあるマイコンはきっとない
8pinマイコンを並べるんだ! >>893
↓こういうボードがあって
ttp://akizukidenshi.com/catalog/g/gK-10350/
AliExpressでは、同等品を200円くらいで売ってる
それでもあなたは、pwmの多いarmマイコンに拘るのか? 変な質問をしてすみません。
マイコンで仕事の改善をしたいと思っていて、まだ案はまとまってないのですが、色々なセンサーやスピーカーなどを買い集めています。
超音波センサーなどアルディーノとラズベリーパイの両方で使えていそうな部品をたまに見かけるのですが、USBやhdmiなど以外はどちらでも使えるようになっているのでしょうか? >>887
>>889
ありがとう。聞いてみるもんだね
あなた方には
黒髪で清楚で巨乳で処女で床上手な超美人な彼女が出来るように神様にお願いしておきました >>899
処女じゃなくて良い
ていうか、
処女で床上手なんて人いる? 処女じゃ無くてもいいし床上手じゃ無くてもいい
ただ まんガはキツい・・ >>898
シールド状になってるのは専用になると思うけど、
センサー類は特に○○専用とか無いんじゃないかな
こんな答えであってる? >>898
基本的に単純なデジタルI/Oだったらどちらにでも接続できるだろうな
高速I/OだったりI2CとかSPIだと内容によってはダメな場合もある
アナログだとラズパイはアナログポートが無いからADC等を介さないといけない
いずれにしてもopボードでも用途マッチするのが捜せればいいけどね >>905
>>906
>>907
レスありがとうございます。
シールドになっているもの意外は注意書きがなければいけそうなのですね。
それは良かったです。
集めているセンサーは
kuman 20個 arudiuno用センサー
曲げセンサー 2.2インチ
KKHMF カラーセンサー
ステッパーモーター ドライバーボード 28BYJ-48
LCD ディスプレイモジュール hd44780
LCDディスプレイSSD1306液晶
GROVE ジェスチャー
ADA-3595 APDS9960 ジェスチャーセンサー
KKHMF TFカード uディスクミニ MP3プレイヤ
電圧スピーカー ANYMーSPT08
です。
部品を専用の箱にまとめてるんですが、開いて眺めてるだけでも楽しい。
早く色々な物が作れるようになりたいです。 あー こりゃだめだね コレクションし始めると作るより楽だしおもしろいしで終わる なにやりたいのかよくわからんけどarduinoだとリソースが足りなさそう
ssd1306ライブラリいれたらそれだけでメモリー80%くらいつかっちゃうよ >>909
いや、でも分かるそれ。俺も最初そうだったw
今は夢が広がって楽しい時期だと思うわ
あとラズパイは入力は3.3vまでだっけ?
ラズパイで5Vのモジュール・センサーからの入力は要注意 実は自分でも何を作るか定まってないです。メモリの事も考えないとならないのですね。これをやりたかったらアルディーノのこれじゃなければ駄目とか、ラズベリーパイじゃないと駄目とか判断ってどうやってしていますか?
未経験ですが、今月末までに何かを作って会社で発表する事になりました。
案は
力加減が難しい作業を曲げセンサーで検知してLCDに表示
人のジェスチャーを検知して動く作業台
モーターを使って台の平行だしをしてくれるもの
機械の振動を察知し連絡してくれるもの
人の通過した回数をディスプレイに表示するもの
人の顔を判断して一定の距離でついてくるもの(とても難しそう)
会社ではやらず家でやってるんですが、モーターを回すだけとか曲げセンサーの数値がPCでみれたとかしかまだできないです。 顔認識は raspberry pi + opencvか
まったく未知な世界だけど >>913
ありがとうございます。
顔認証の案の場合はraspberry piを使うんですね。アルディーノで少し作れるようになってからにそちらも勉強してみたほうが良さそうです。 >>911
ありがとうございます。
ボルト数の見落としも注意したほうがいいんですね。部品を壊してしまいそうで心配なので気をつけます。 >>897
ありがとうございます。
io拡張のiicは知ってましたが、pwm拡張があるとは知りませんでした 気になったんだけどArduino101って出力は何vなの? おまえらArduinoボードいろいろ買っては積み基板にしてんだろどうせ。。 俺はもうArduinoはPro miniしか買わないぜ
パワーLEDとレギュレーター取っ払って、低消費電力化して複数運用中
それから低消費電力化を求めていったらATTinyに行き着いた
エアコンの学習リモコンとか余程メモリが必要なもの以外、Arduinoは使わなくなった 電源はともかく、通信距離に困るという室内でESPの安い方をアルディーノ化した方が良いと思うんだが何か問題あるかな?
メインはラズパイの3にしようと思うけど、数分ごとにアクセスしてデータを集めるだけだから特に難しいことはないと思うけど。 >>918
確かにコレクションが目的だったからねえ >>920
ESP8266の事だとしたら、
ADCが1個しかない。
Deepsleepに癖がある。 部屋の電気をOn/Offだけする単純なリモコンを作る場合
常にループにしてると電気使うから押した時にIR発信するようにすればいいと思うけど反応速度遅い?
また、On/Offの2つのコマンドを実行する場合、単純に電源のOn/Offだけではなく電圧の入力も居ると思うけどボタン1つでどうやって実現したらいい?
あと電源とケースお薦めある?
リモコンみたいな簡単なものでも、実施に作ろうと考えると以外と難しい・・・ >>922
レスありがとう、調べてきたけどESP8266で合ってると思う。(なんか秋月が値上げしてるけど…)
ADCは使わないか、必要ならPICでも積む予定だから問題ないかと思っている。
あと出しで済まないけど、センサーは秋月で売られているBME280を使う予定、もしかしたらもっと積むかもしれないけど。
これをほぼ15分間隔(恐らくネットで時間を確保してコールする感じ?)で室内の各所でデータを取って、部屋がどんな様子なのかを計測したいだけなんだけどね。
電源は色々な場所で取れるけど、データ通信だけはちょっと難しそうでラズパイのWiFiで通信してみたいところ。
Deepsleepが必要か分からないけど気を付けとくよ、ありがとう。 >>924
データロガーなんてどっかのIoTのプラットフォーム使えばhttpでクエリ入れるだけで終わるぞ >>923
2回路のプッシュスイッチでも
ダイオードでも マイコン2個とか
LEDも2個とか
電池まで2個とか >>925
そうなのか……。
と言っても言ってることが分からんので、その辺の勉強したい……。
組み込み無線もそうだけどIoT位はできるようになりたい……。
最終的には今年の室内の様子とか見れるようになりたいけど、全然勉強出来て無い……。
とりあえず今年はIoT基礎から勉強したい……。 >>927
レスありがとうございます。
二回路のスイッチがああるのですか知りませんでした
また、マイコン2個は思いつきませんでした
Aliで買った格安Arduinoなので二個もありかも
ダイオードはどのように使うのでしょうか?
また、Arduinoでつかう電源ってどんなのが一般的でしょうか? >>929
そういうのかな、と言っても室内用だから基板丸出しになるかもね。 電子工作超初心者です。
現在、arduinoでブラシレスモーター式水中ポンプの流量制御を行いたいと考えておりますが、
難航しております。
まずは以下のページをトレースして普通のDCモーターの回転速度をトランジスタとPWMで制御
する手法を学びました。
http://monoist.atmarkit.co.jp/mn/articles/1604/11/news014.html
次にamazonで以下の安価な水中ポンプ(DC30A-1230 https://www.amazon.co.jp/dp/B07BGHC6YR)を購入し、12Vの電源を用意して普通のモーターと
同様に流量を制御できるかと思ったのですが、PWMの出力が最大の場合(analogWriteで255)に
のみポンプが回転し、それ以下では全く動作しませんでした。
いろいろと調べたところ、当該ポンプはブラシレスモーターで、DCモーターと同じような制御
はできないようであるということが分かりました。
arduino forumにて同様の問題に関する投稿(https://forum.arduino.cc/index.php?topic=202059.0)を見つけ、
最終的にはアドバイスにより解決したようなのですが、私にはハードルが高く理解できており
ません。
提示されている解決策として、印加する電圧を変える(動作電圧の5〜12Vの範囲で?)のが
良いとのことで
1.arduinoで制御できるリニア電圧レギュレーターを使うか、arduinoのPWM出力を平準化して
さらに増幅する(ポンプに電流が流れすぎると(ポンプ内の?)レギュレーターが過熱する)
2.フライバックダイオード、インダクタ、キャパシタ、バイポーラトランジスタTIP31Aを使う
(ただしarduinoのPWM周波数を31kHzにする必要がある)
という記載がありました。
(続きます) 1.に関しては、aruidnoのPWM出力をローパスフィルタで平準化した後、ポンプを駆動できる
ようなパワーオペアンプ?で平準化した電圧を増幅してポンプを駆動できる電圧にしてやれば
良いのかなと思っており、以下のサイトが参考になるように感じています。
(投稿時にNGワードでひっかかってしまったため、アドレス削除しています)
googleで「マイコンから電圧制御」で出てくる一番上の北の国から電子工作(仮)というページです
ポンプを駆動するには大電流が必要(当該ポンプの最大不可電流は0.35A)のため、パワー
オペアンプが必要と理解しています。
ポンプに流れる電流はオペアンプ部分の増幅回路のR2とR3で調整すれば良いのでしょうか?
仮にポンプに対して12Vの電圧で0.35Aの電流を流したい場合、電圧はPWMのデューティー比と
R2,R3の比で決まる増幅率で制御し、電流はI=0.35A=E/R=12V/(R2+R3)でR2+R3=40Ωと計算して
みたのですが、R2とR3の値がこんなに小さいのに少し不安を感じています。
実際、参考にした上記サイトではR2=1kΩ、R3=2kΩを使っています。電流をどこまで流す必要
があるのか分かりませんが、パワーオペアンプを使うからにはそれなりの電流を流すのだろう
と思っています。しかし12Vで計算すると4mAとなってしまいます。これなら普通のオペアンプ
で良いように思います。
1に関して、上記の理解は間違っていますでしょうか?
また2の手法に関しては全くどういうこと理解できておりません。arduino forumでは最終的に
2の手法で解決されたようです。これに関して参考になるサイトなどはありますでしょうか?
自分なりにいろいろ調べてみたものの、初歩的な部分で理解できていないことが多く上手く
解決策につなぐことができておりません。もしアドバイス頂ければ幸いです。 ブラシレスは定電圧の電流制御でしか回転速度可変は無理だろ >>933
Tr出力にフライホイールダイオードと平滑コイル入れてやれば
あなたがやりたいアナログ出力はできるが、
それで回転数制御できるかどうかは別の問題。
実験用可変出力電源とか持ってないの? >>934,935
コメントありがとうございます。
ひとまず最初のトランジスタを使った電流増幅回路で抵抗値を変えて電圧一定で電流値を
変えたところ、確かに流量が変化しました。
また一方で、抵抗を同じまま、電源側の電圧を12V ACアダプタから乾電池4本の6Vに
変えたところ、こちらも流量が変化(低下)しました。
電流でも電圧でも流量が変化するようです。これはブラシレスモーターの挙動としては
おかしいのでしょうか?
>>935
すいません、出力可変電源は持っておらず、上記で検討してみました。
電圧が変われば回転数は変わるようです。
フライホイールダイオードと平滑コイルを使う、とは、平滑回路と呼ばれるような
ものをトランジスタの出力に入れてやる、ということでしょうか?
以下の図6の回路のトランジスタとモーター間にその回路を入れることで電圧を
変えることがでるでしょうか?
http://monoist.atmarkit.co.jp/mn/articles/1604/11/news014_4.html
またその方法は、抵抗とコンデンサによるローパスフィルタをトランジスタの出力に
組み込むことと機能的には違うものでしょうか? >>936
PWMは無駄に熱を出さずエネルギー効率が良いという特徴がある。
>>935 に書いたのは、効率を保ったままアナログ出力にする方法。
効率や排熱に問題がないなら、この方法を取らなくても良い。 >>933
>電圧はPWMのデューティー比とR2,R3の比で決まる増幅率で制御し
これは正しい
>電流はI=0.35A=E/R=12V/(R2+R3)でR2+R3=40Ωと計算して
R2,R3はあくまで電圧の増幅率を設定するためのもので
モータに流す(流れる)電流を制御するような役目はない
モータに流れる電流は、オペアンプの出力電圧とモータの負荷(トルク)で
決まってくる
※もちろん、オペアンプがその電流を流せることが前提 >電流はI=0.35A=E/R=12V/(R2+R3)でR2+R3=40Ωと計算して
「ポンプの最大負荷電流は0.35A」が、どうしてR2とR3に0.35A流すって
発想につながったのか不思議 >>937
コメントありがとうございます。
フライホイールダイオードと平滑コイルによる平滑回路は、アナログ出力にする方法
としては効率が良いものなのですね。
手元にすぐあるのは抵抗とコンデンサだったのでトランジスタ出力にローパスフィルタ
を形成してみたのですが、残念ながらポンプは動作しませんでした。
教えて頂いた手法についても調べてみたいと思います。
>>938
ご指摘ありがとうございます。
やはり電流のところの理解が完全に間違っているのですね。
>モータに流れる電流は、オペアンプの出力電圧とモータの負荷(トルク)で決まってくる
とは、ACアダプタ(外部電源)の流せる電流値がモーターを動かすのに十分な値であり、
オペアンプの出力電流が十分あるもの(パワーオペアンプのような)ものを選べば、
あとは勝手にモーターが負荷に応じて動作に必要な電流を外部電源から取り出してくれる
のであり、特に何かそれ以上こちらで設定すべきことは無い、ということになるのでしょうか? >>940
>モーターが負荷に応じて動作に必要な電流を外部電源から取り出してくれる
正確に言うと、外部電源ではなく「オペアンプ(の出力)から」ということに
なると思います。
モーターから電源と見えているのはオペアンプの出力なので 質問なのですが、組み込みの場合って電源どうしてますか?
何電池使ってますか? 何にどんな用途で組み込むかによるだろそんなん
ACアダプタからソーラーパネルまでなんでもあるだろ >>941
コメントありがとうございます。
なるほどオペアンプから、ということになるのですね。
ひとまず他に設定すべき点が無いようで安心しました。
部品を購入して試してみたいと思います。 >>942
目の前に有るもの。
素人工作なら工夫をしろ。
もし業務でその質問してるなら二度と回路設計・製品企画に関わらないことをおすすめする。 >>946
ニッケル水素しか使ったことない人が18650にチャレンジするような事があってもいいじゃん。趣味なら爆発しても楽しければいいだろ。 >>946
arduinoを製品に使うことなんてあるの?
初めて知った ユニークで個性的な確実稼げるガイダンス
暇な人は見てみるといいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
H0BVO >>936
ブラシレスは半導体でコイル電流を切り替えてんだから
半導体が動作しない低電圧になれば回転できない
たまたま6Vでも動作する半導体が使われてるんだろう >>948
原理試作とかでよく使うよ。
そんなところに金も時間もかけてられないからね。 タイマーなしでパイロットランプ(LED)を1秒周期くらいで点滅させる方法ありますか?
デューティ比は20%〜30%くらいがいいです、周期ははだいたい1秒でかまいせん
玩具のミニロボットを作ってるのだけど
タイマー0はArduinoコアが、タイマー1はServoライブラリが、タイマー2はDCモーターのPWM制御が使っていて…
loopは高速でずっと回ってるんですが、millisとか使ってうまくできますかね? >>953
なんかあったわ、それ。タイマーを使わないプログラムのタイマー
ちょっとブラウザのブックマークを探してみる
返事がなければ寝たと思ってくれ あ、無理だわw
ただ単にLEDを点滅させるだけなら・・・
long previousMillis = 0; //前のmillis
unsigned long currentMillis = 0; //現在のmillis
long interval = 1000; //インターバル 1秒
const int ledPin = 13; //LEDピン
void setup() { pinMode(ledPin, OUTPUT); }
void loop() {
currentMillis = millis();
if(currentMillis - previousMillis > interval) //現在のmillis - 前のmillis > インターバルの1秒過ぎたら
{
previousMillis = currentMillis; //前のmillisに現在のmillisを代入
//LEDをトグルさせる処理
digitalWrite(ledPin, !digitalRead(ledPin));
}
} >>955
LEDついてるかどうかdigitalreadして調べて、ついてたら点灯時間を超えているかどうか、消えていたら消灯時間を超えているかをmillsの値で判定すればいいんじゃね。あと、長時間動かすものならmillsのオーバフローの対処すればよいのでは。 pro miniのRAWに印加していいのはmax150mAですか?USB電源5V/500mAを供給したら壊れるということですか?
http://imgur.com/GQawxvC.png >>956
質問者はPWMで調光したいらしいから、その処理はどうすんの? >>957
RAWピンにUSB電源を繋げるだけなら壊れないよ
電流は消費する分しか流れないから
Arduinoに1ピンあたり最大40mA、合計150mA以上消費する何かをつなげてArduino引き出そうとすると壊れる https://i.imgur.com/n1mdhZ5.jpg
何処ぞでブレッドボードのまま完成品にしてる人を見掛けて、あーもうこれで良いんじゃねと
3Dプリンタでブレッドボードを収める箱を作ってみた >>958
俺にはPWMで調光するとは書いてないように思えるのだが。 >>953
「タイマー無しで」とはあるけども…それが「タイマー0と1と2が使用済みだからもう無い」ってだけなら
まだ遊んでる犬が居るぜ?大雑把な時間を数えるくらいなら出来る(番犬にしてなければな)
setup()の前に byte led;ISR(WDT_vect){led%=4;led+=5;} を追加
setup()の頭に cli();WDTCSR=24;WDTCSR=68;sei(); を追加
該当のポートに HIGH、LOW の代わりに 1&led>>■ を設定
■に数値を入れて点滅パターンを選ぶ
0 : 1/4秒点灯、1/4秒消灯(2Hz , 50%)
1 : 1/2秒点灯、1/2秒消灯(1Hz , 50%)
2 : 3/4秒点灯、1/4秒消灯(1Hz , 75%)
3 : 1/4秒点灯、3/4秒消灯(1Hz , 25%)
4〜 消灯
例 :
byte led;ISR(WDT_vect){led%=4;led+=5;}
void setup() {
cli();WDTCSR=24;WDTCSR=68;sei();
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, 1&led>>3); // 1Hz 25% dutyで内蔵LEDを点滅
/*
ループ処理なんとかかんとか
*/
} >>960
4箇所の爪は弾性変形してパチっとはまる構造?
俺も作ってみようかな >>959
ありがとう
RAWピンのMAXはそういうことだったんですね >>965
質問に対する答えはそうだけど、つなぐべきはRAWじゃなくVCCピンでは? 「タイマー0と1と2が使用済みだからもう無い」
どうして初心者はそこで頭固まってしまうんだろうな?
使いたいタイマーの数だけ変数作って
タイマー1個使ってすべての変数をカウントアップさせて使えば
メモリのある限り無限な数のタイマー使えるじゃん >>967
初心者だからこそ。自分が初心者のときにそこまで頭回ったか?回ったならあなたは天才
もしその方法でやるならライブラリの中弄るとか、全然初心者じゃなーい >>967
そこまで出来たら初心者じゃなくね?w
既存のライブラリが使えて手軽に開発できるのがウリなんだし
マイコンの隅まで使いこなせるならArduinoじゃなくても良くね?ってなるし
まぁウォッチドッグのレジスタ叩く回答した自分が言うのもアレなんだけど C全般的にはタイマー割り込みの方がよっぽど特殊だよね まぁArduinoが使ってる0とサーボライブラリの1はともかく
タイマー2はDCモーターのPWM制御とやらを自分で書いたのならば
PWM周波数をちょいと工夫すれば同時にLED点滅にも使えるかな?って考えたりすれば…
と思ったけどD3、D11にFETとかつけてanalogWriteしてるだけかな?
そもそもデフォルトのプリスケーラから変えるにはレジスタ叩かないといけないし
タイマー割り込みも標準だと使えないんだっけ?
MsTimer2とかライブラリ使えばあるけど
質問者はPWM制御で使っちゃってるって考えたわけだからなぁ
サーボライブラリやanalogWriteで使ってるタイマーが把握できてたりするだけ偉いと思うぜ俺は ○○が足りなくなった?
っ[Arduino Mega] スッ… >>963
https://i.imgur.com/iq9LGJS.jpg
積層的に折れそうで恐く、こんなみっともない方法で止めてます
無駄にスペース空いてますが、手持ちの古いモバイルバッテリー+周囲2mmの
サイズに合わせて >>977
ケースにそこまで細かい細工を施すのに
基板の方はブレッドボードまんまというアンバランスに笑った。 >>980
側面の□と天板の3ピース構造
ブレッドボード組み替えたら多分天板だけ出力し直す レス数が950を超えています。1000を超えると書き込みができなくなります。