Arduino初心者熱烈大歓迎質問スレ part20
■ このスレッドは過去ログ倉庫に格納されています
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/ 念のため。自決は「わからなくて質問したことが自分で解決できました」ってシーンでは
(すくなくともリアルでは、会社とかでは)使わない方が良いよ。
自決は確かに自分で解決の意味もあるのだけど、
穏やかなものではなくて、干渉を嫌う、指図を受けないみたいなキツイ意味にとられることが多いはず。
民族自決…俺たちの民族のことは俺たちで決める。干渉するな、のニュアンスが含まれる。
集団自決…集団で自殺(もとはといえば、これも、一切の干渉を絶つというような、峻厳な意味かも)
ネットスラングをネットスラングとして理解している間は良いのだけど、
それを見た知らない人が、普通の言葉だと思ってリアルで使ってしくじるのは避けたい。 そんなことより、ロータリーエンコーダをロリータエンコーダって言い間違えないように気をつけたい ADコンバーターを取り付けたり、出来合いのIOエキスパンダーを使えばアナログ入力を増やせることが分かりました。
または、UNOを買うんじゃなく、Leonardoを買えば最初からアナログが12個も使えることも分かりました。
先ずはUNOのスターターキットとオライリーの本を買って勉強してみます >>556
まずアスペを自覚した方が良い
そしてモラハラ野郎だとも自覚しろ いやリアルに失敗していただいていいだろ
失敗しないと覚えないよ人間なんて >>363
>>364
亀だけど、これ勧めてくれた人に感謝
静止電流っていうのかな、これがすごく少ない
100均の乾電池の携帯充電器の5V昇圧使ってたけど
こっちは何もつなげて無くても2mAぐらい消費してた デマは業務妨害罪に問われる可能性がある。気をつけて この手のデマで リンチが多発したんだよな。
水晶の夜みたいなことをしたがる人間はいまだにいる。 >>562
基板がちょっとでかいけど、趣味に使うにはいいよね。 timer使った時間割り込みプログラムのloop()内って空白推奨なのかな? >>567
timer割込みルーチンの中ってデフォルトでは割込み禁止だったような。
そこに留意できてればそれでいいかな。 割込みが入ったことをポーリングして処理をする
割込みの中は、本当にすぐ必要なことだけやってすぐ戻るべし まあいろんな設計ポリシーがあるけど
一般的にはそうだな
ポーリングじゃなくてもっと良い方法を使っても良い arduinoを使った小物を配布しようと思っているのですが、
arduinoに書き込まれているスケッチを、arduino ide等に読み込み、
スケッチを見るむ事は出来るんでしょうか。
スケッチにssidやパスワードが書いてあるので、どうしたものかと。 ブログかなんかにコード載せるかinoダウンロードできるようにするとか
どのみち書き換え必要なんでしょ >>572
ssidやパスワードはEEPROMにでも保存すりゃいいよ
シリアル経由でEEPROMの内容を書き換えられるようにしておけばいいんでない 配布するデバイスのROMにバレたら困るssidやパスワードを書く状況ってどんなのなんでしょ。
デバイスを売るのではなくて、そのSSIDとパスワードが使えるイベント会場で貸し出すのが目的? >>572の言いたいことは配布したArduinoから逆アセによって
ssidとパスワードがバレる危険がありますか?ってことだと思う。 wifiシールドを使って、スマホから操作できるLチカを作りたいのですが、
htmlタグを.inoの中に直接記述するより、別ファイル.htmlにしたほうがブラウザを使ったテストが簡単です。
そこで.htmlを.inoと同一階層に置いて、.inoから読み込みたいのですが、
そういったことは出来ますか?
できるなら、どのような方法がありますか?
よろしくお願いします! すみません>>579ですが
やっぱり私には難しすぎるみたいです
残念ですが諦めようと思いますので無視して下さい
どうせ俺には出来ないんで >>579
htmlファイルをincludeすればいいんじゃね?
htmlファイルの頭と後ろに
char html_data[] = "
HTMLの中身
";
としておいて、inoファイルで
#include "htmlfile.htm"
とする
char html_data[] = " の部分はブラウザが無視してくれるかな
ゴミが出たりするかもしれんしhtmlの書き方も注意が要るが
(もうちっといい書き方があるかもしれない) 二通り解釈が可能な質問だから対策の解答が割れてる様な・・・
・解釈その1(流出の心配)
固定の専用SSIDとパスワードがスケッチに書き込まれており
受け取ったユーザーに悪意があった場合それをArduinoから読み出すことが出来るか?
・解釈その2(設定の心配)
配布したアイテムの動作にはSSIDとパスワードが必要で
それはスケッチ上で書き換えてからコンパイルしたプログラムをArduinoに送らないとならないので
ユーザーが設定を変更してプログラムを書き換えるために貰ったArduinoからスケッチを読み出せるか? 沢山、意見頂きありがとうございました。
>>583の書いていただいたように1の流出の心配です。
やろうとしてることは、wifi経由の工場内複数個所の室温モニタリングです。
工場内、SSIDとPWは統一してるので、1つでも盗まれPWが漏れると困ります。
ソース自体はたいしたことないんで、それは見られてるは全く問題ないんですがね。
APのMACアドレス制限程度の自衛はしていますが、細かくログを取ったり調べる事もないので、
Arduino自体を盗まれるワケでもなく、PWだけ確認して元の場所に戻されて、
知らない間にPWつかって社内ネットワークに別の端末繋がれてましたとかでは目も当られないので。 お前が作った過去のプログラムも全てセキュリティ診断でアウト食らう予感 なんで実使用しているものと一緒にする
外に出すバージョンはSSID,PWを変えとけばいいじゃないか >>586
会社のIT部から振り当てられてるSSIDは各部門に対して1つと決まっており、
追加で増やすという選択肢は会社のポリシー上アウトなんです。 読まれるのが心配ってだけならロックビット設定しておけば良いような気はするけど…
IT部門に掛け合って、専用のAP+ネットワーク作ってもらった方がいいんじゃないの
勝手に怪しい機械を既存ネットワークにつなげられたらたまったもんじゃないと思うんだけど。 暗号化すればいいんでない?
簡単なものならプログラムですぐ出来るし こいつの屁理屈じゃ、「暗号化解読するロジックまで丸見えになるから実行時のメモリ見られて終わる。ロジック含めた暗号化は意味ない」って続くね。
こいつは仕事でやってるんだから、テメェに支払われた金に見合った仕事ちゃんとやれやボケって俺は思うね。
自分には無理だって手をあげることも仕事の1つだろ辞めちまえその仕事向いてねぇよ セキュリティに関することをこんな場所で話してていいのかよって ESP8266をArduinoIDEで開発してロガー作ってるけど、WPSを使えば解決するのでは? >>588の
>読まれるのが心配ってだけならロックビット設定しておけば良いような気はするけど…
これで「そこそこ十分」な気はするけどな。
それでも絶対的にSSIDを盗まれないようにしたいなら、>>591も書いているけど ZigBee で
接続するとか。 リアルタイムでなにか制御しないなら、室温データを1台に集めてSDカードにでも保存。週1くらいメンテナンス兼ねてカード入れ替えたら? 別WiFiでも、盗まれる可能性のあるもので、もし基幹ネットにアクセスできるなら設計的に×。
盗まれる可能性のあるものは、外部ネットとしてGWでアクセス制限して隔離が常識。 ど素人の質問でゴメン
uno r3 でブートローダーを無効にするには具体的に
どうしたら良いのか?
グーグルするとブートローダーの書き込みは出てくるんだが
無効は見つからない >>599
AVRのヒューズのBOOTRSTがプログラム(0)になっているとブートローダ領域から起動するようになる
これを非プログラム(1)に変更することで、フラッシュの先頭から普通に起動するようになる
つまり何らかのライタ類でヒューズを直接書き換えてやればいい
当然だがこれをやると素のAVRマイコンに戻り、Arduinoとしては使えなくなる >>600
感謝感謝!
中華のuno r3 開発ボードの初期値をAVRライターでReadしたら
Lo:0xFF Hi:0xD6 Ex:0xFD(05) Lock:0xCF(0F)
中華の安物なので、AVRとクリスタルの間にUSARTの信号線が交差するので
Lo:=0xF7(全振幅)Hi:0xDA Ex:0xFD(05) Lock:0xCF(0F)に変更したので
ブートローダーが無効に出来なかったのか・・・ど素人丸出し
ATmega328Pチップ
High_Fuses(Bit0 BOOTRST)・・・Hi:D9にすれば良かったのか!
D6 -> 11010110
D9 -> 11011001
DA -> 11011010 Arduino nanoの互換機と下記D/Aコンバータを使用しています。
ttp://akizukidenshi.com/catalog/g/gK-08677/
D/Aから5Vを出力させたいのですが、
0.1Vしか出力されず困っています。
どのようにすれば出力を意図したとおりにコントロールできるのでしょうか。
#include <Wire.h>
void setup() {
Wire.begin();
Serial.begin(9600);
}
void loop() {
Wire.beginTransmission(0x60);
Wire.write(4095);
Wire.endTransmission();
delay(500);
} 仕様を読めっつってんのか?
すんげぇ先生なのかお前? トラブル希望者の原文
仕様を読めっつってんのか?
すんげぇ先生なのかお前?
通常の日本人レベルへ翻訳
仕様書を御覧になられてはみては如何でしょうか? 仕様書を穴が空くほど読んで、その上で仕様書のどこがわからないのかをページなど併記の上ご質問下さいませ。
これでいいか? >>602
I2Cインタフェースは理解してるかい?
そのソースはなにを意図してるの? >>602
1.(秋月の)取説読んでDACレジスタに書き込むべき値を確認
2.Wire.write()は、1byte出力するだけだから、16bitデータを出力するときは
2回に分けないといけない 「DAコンバータ Arduino」でググったら幸せになれるかも >>607
コメントありがとうございます。
I2Cインターフェースはググってある程度理解したつもりです。
このソースの意図としては、スレーブ側に値4095を入力して5V出力させるつもりでした。
>>608
コメントありがとうございます。
Wire.writeの出力は1byte分だけなのですね。
取説は何度も読み返してみたのですが、まだまだ理解不足でした。
連続の質問となってしまい申し訳ないのですが、レジスタへの書き込むべき値というのはどのようなことを指すのか教えていただけますでしょうか。 >>611
サンプルはググって色々いじってみたのですが、現状として記載元と同じように動かないんです… 窓の開け閉めをモーターでウィンチのようにテグスを巻き取りシステムを作りたいのですが
モーターの回転数を低く、トルクを上げようと、タミヤの6速ギアを買ったのですが
音がうるさすぎて実用的ではありません、グリスを塗っても厳しいです
なにかヒントください MCP4725のデータシートは見たの?
write commandのフォーマットみたら
(Write DAC Register Command)
そんなコードで動くわけがないということは判るだろうに
最低4 バイトの送出が要るよ
プルアップはしてる? >>612
"arduino MCP4725"でググったらサンプル・解説色々出てくるよ
あと 614さんが書いてるけど、「J1,J2,J3に半田を盛って接続する」こと 「詳しく」って言われても、MCP4725が手元にあるわけじゃないから
実際に試してから書いてる(と思われる)ブログ紹介するくらいしかないよ
正直言うと、"Fast Mode Write Command"って何なんだかよく分からない
データシートの1ページ目には、Fast (400kbps), and High-Speed (3.4Mbps) Mode
って書いてるから、400kbpsの転送速度のことか?って思うけど、最初100kbpsで初めて
途中から400kbpsでデータ送れるってことなのか?
じゃ、High-Speed (3.4Mbps) Modeで送るのにはどうするんだ?
ちょっと見た所書いてないようなんだけど・・・
まあ、自分で必要じゃないことに、そこまで面倒見てられないし
動いてる実例があるみたいだから、そっから始めなさいよってこと >>610
まずこのへんからどうかな、WireやI2Cの基本的なところから
https://qiita.com/MergeCells/items/20c3c1a0adfb222a19cd
>>613
タミヤのテクニクラフトや基本工作セットのギヤボックスは基本的にどれもうるさいよ
また模型用途だから窓とか重量物を日常的に動かすとピニオンやクラウンギアが破損するし
RE-260RAは多少ましではあるけどFA-130RAモータとかも同様に結構すぐ焼損する
音は出るけどプラギアのジージー音よりはましなのでステッピングモータなどを使うのが良いのでは 窓の開け閉めをちゃんとやるのは大変だ。
頑張って強力なギヤードモータを買ってやるしかないけど、機械設計の素養がない人にはちょっと厳しい 窓の開け閉めを聞いてるのではないけど・・
低速で静かを求めるならステッピングモーターがいいかも >>621
お前は>>613と>>619が目に入ってないのか…? >>619
さんくす、ギアボックスはあきらめたほうがいいっぽいね
ステッピングモーターか、トルクの面から頭になかったけど、ちょと調べてみます
>>620
さんくす、ギアかお
>>623
すまないね、実際にモーター使って制御してる人ここに多いと思って https://mysound.jp/om/95/
このページの手順を試しています。
可変抵抗器を一番左に回した所(時計の7時くらい)だとLEDが暗く点灯します。
そこから8時に上げると明かりがちょっと明るく点灯します。
その後、9時にするとLEDが早く点滅し、以降5時までは点滅の間隔がだんだんとゆっくりになります。
上のページだと、「ここでツマミを回してみましょう。LEDの明るさが変わったら成功です」しか書かれていなく、点滅の間隔に付いては一切記載がありません。
自分の手順は間違えているのでしょうか?
7時から8時の間も滑らかにだんだん明るくなるのではなく、一気に段階が上がったように明るくなりました。 たのむからまず作るものの回路図を示してください。
写真や実体図ではわからないことが多すぎる 別に間違ってはいないと思うけどブレッドボードに刺した可変抵抗が接触不良だったりするかもね >>625
あなたの書いてる様子で正解です。
点灯ってのは、人の目に点滅が感じられないほどの速さで点滅してる状態も同じこと。
そのページの説明が足りないというか曖昧。 どうもありがとうございます
>>626
このページには回路図は載っていませんでした。
>>627
暗く点灯(7時)〜明るく点灯(7時)
が正しいという事でしょうか?
新しい可変抵抗を買ってきたらもういちど試してみます。
>>629
暗く点灯(7時)→明るく点灯→早く点滅〜ゆっくり点滅(5時)
が正しいという事でしょうか?
暗く点灯または消灯(7時)〜明るく点灯(5時)
7時から5時の間を滑らかに明るさを可変させるには上のページの手順で出来るんでしょうか? >>630
IDEのサンプルスケッチ見てきたら入力電圧がそのままオンオフそれぞれのディレイ時間
になってるから動作としてはポテンショメータ動かすことで高速点滅←→低速点滅
になる
そのまんまやってる動画
https://www.youtube.com/watch?v=f7loalWZW4w 回路図は載ってないんじゃなくてぇ、無けりゃまず自分で書きなよ。
自分が何をやってるのかわからんだろ まあ 初めはdead copyからだ
次は配線図から回路図起こす (慣れてれば逆だが・・) >>630
あなたのやりたいことは、そのページで取り上げてるAnalogInputと
別の例のFadingというスケッチの合わせ技だと思う。
今は スケッチ例>03.Analog>AnalogInput をやってるはずだけど、
スケッチ例>03.Analog>Fading もやってみてくださいな。
LEDは9ピンにつないでね。 >>625
回路的には単純なので、まず何をどう制御しようとしているか理解すると良いと思います
「PWM制御 Arduino」などで検索してみてください 回路図回路図とわめくステレオタイプ
2度と戻らない質問者 sensorValueをシリアルモニタに出力したら何が起こってるのか分かると思うの >>637
ステレオタイプじゃなくバカの一つ覚えって奴だな >>631
これです
自分のと同じ動きでした
>>635
なるほど、チャレンジしてみます
>>636
分かりました
ただ真似するのでは無く、仕組みを理解するようにします 可変抵抗器を回したらMIDIを送信するスケッチを書きました。
しかし、可変抵抗器に触っていないのに常に数値が動いてしまって不安定です。
つまみを回したときだけ数値が動くようにするにはどんなコードを追加したらいいですか?
#include <MIDI.h>
MIDI_CREATE_DEFAULT_INSTANCE();
int cc = 0;
int AnalogValue = 0;
int lastAnalogValue = 0;
void setup() {
MIDI.begin(4);
}
void loop() {
AnalogValue = analogRead(0);
cc = AnalogValue/8;
if (lastAnalogValue != cc) {
MIDI.sendControlChange(16,cc,1);
lastAnalogValue = cc;
}
} 続き
LEDについては、以下のようにやれば左に回すと弱く点灯、右に回すと明るく点灯になりました。
しかし、641の時と同じく、なんだか光り方が不安定でした。
void setup() {
}
void loop() {
int val ;
val = analogRead(0) ;
analogWrite(3,val) ;
} >>642
>なんだか光り方が不安定
とか言われても客観性に乏しくて何とも言えない。
valをシリアルに出力してそのデータでグラフでも描いてみ。
滑らかか、変化が断続的かわかる。
可変抵抗交換してみる手もある。 LEDが不安定というのは何も触っていないのに明るくなったり暗くなったりといった感じです。
シリアルモニタですが、
「ボード/dev/cu.usbmodem142431は利用できません」
と出て、シリアルモニタが開けません。
Midi Firmware for Arduino Unoを入れているからでしょうか? 最近は差別とかで学校で色覚検査してないから
自分が見えにくい色があることを知らないで大人になる人がいるらしい。 >>644
そのスケッチで問題があるとすれば、
analogWriteは0〜255なのにvalの値は0〜1023だってことくらい。
手元に中華NANOしかないけど、
やってみたらコンデンサなんか何も入れなくても触らなきゃ何も変化しない。
エラーメッセージ件は分からない、まず自分の環境を書いて。 >>641
コードの変更でご所望の処理を行うことはおそらく可能ですが
「回したときだけ動く」と言う処理に最も向いているのはロータリーエンコーダです
MIDI機器でカチカチとノッチのある感覚で回るノブなどは大体それです
割り込みなどを覚える必要はありますが利用は難しくありませんので調べてみてください >>641
現在値と過去の値の差の絶対値が規定以上かどうかを判断すれば良いよ。
ボリュームを入力デバイスにするときはそうしてる。 if(valとvaloldの差の絶対値が規定以上){
valold=val
処理
} >>649
ロータリーエンコーダーも同じような処理がいると思うのだが
ちょうど境目で止めた場合に勝手に読み値が変わるのを防ぐ為に
基本中の基本だと思っていたけど
趣味の世界だとそういうのは省略するのが一般的? >ちょうど境目で止めた場合に勝手に読み値が変わるのを防ぐ為に
手動式のロータリエンコーダは停止位置=クリック位置が決っている。
(力尽くで任意の位置で停止させることは可能だと思うが。)
秋月ではALPS製と中華製の2種類のロータリエンコーダを売っていて、
両者の停止位置の位相が異なっている。
http://akizukidenshi.com/catalog/g/gP-06357/
http://www.alps.com/prod/info/J/HTML/Encoder/Incremental/EC12E/EC12E1220407.html
http://akizukidenshi.com/catalog/g/gP-00292/
http://akizukidenshi.com/download/ds/taiwanalpha/RE160F-40E3-20A-24P.pdf
中華製の方が価格が高いが、A、B相ともレベルキープ位置で止まるので
パラパラとH/Lが変わること無く、使いやすかったと記憶している。
>「回したときだけ動く」と言う処理に最も向いているのはロータリーエンコーダです
同意。 ■ このスレッドは過去ログ倉庫に格納されています