Arduino初心者熱烈大歓迎質問スレ part29
■ このスレッドは過去ログ倉庫に格納されています
今回の話題だと接続はこんな感じ? ESP32→(UART)→XBee→(ZigBee)→XBee→(UART)→FT232→(USB)→スマホ 結局5000円くらいはかかりそうね と思ったら対応エリアがどうなんだろな… ド田舎で使えないwimaxみたいになる予感もする 遠距離通信の案件で920MHzのモジュールを勧められたことがあるよ。 あらためて一般市場価格を見てみたら、安くはないですね。 ZigBee、XBeeは帯域が狭いかな。画像でそこがネックにならないなら。 教えてください Ardunioを使ってdigisparkusbの中身を書いています。 やりたいことは USBキーボードに偽装させて、何秒かおきにAltを押しながらTabキーを数回押す操作をしたいです。 AltとTab一度ならsendkeystrokeでかけたのですが、上記の条件を満たす書き方がわかりません。 sendkey pressを使ってもうまくいかず、、、 どうかお知恵をお貸しください。 >>734 適当にググったら第2引数に追加で押せるみたいだけど。 XBeeとLoRaWANのことも調べてみます。ありがとうございます ぶっちゃけ画像は無くても平気です。何時何分に通ったかさえ分かれば良いので 電波で飛ばす内容も日付と時間だけ *01/20.15:00 *01/20.16:20 みたいな感じで考えてました https://omoroya.com/arduino-lesson13/#toc6 ↑ で、F-M Wire と書いてあるもの、ピンヘッダのソケットに ワイヤーを付けたけようなものだと思うけど、どこかに売ってる? ブレッドボード用の延長ケーブルと同じ? >735 TAB一回なら、第二引数にAltを指定してTabを第一引数に指定して DigiKeyboard.sendKeyStroke(KEY_TAB, MOD_ALT_LEFT); みたいな感じで動きました。 Alt押しながらTABを数回押すという命令を書きたいです。 Female-Male Wire つまり、メス-オス 変換ケーブルか。 どこかに売ってるかな。 秋月で4PINのものは見つけた。 ところで、ELEGOO のスターターキット、CDの中に IDE も入ってる? >>738 ななめ読みなんで勘違いかもしれないけど、やりたいこと(想定位置にあるアクティブ ウィンドウをAlt+Tabで切り替えたい)は分かるんだけど、多分このライブラリでは 目的のことはできないと思う ソース読むとキーコードの送信は全て最終的に「sendKeyStroke」でやってて、 「sendKeyStroke」は「usbSetInterrupt」の中で「sendKeyStroke」の引数に指定された キーコードをUSB経由で出力しているだけみたい WindowsのキーコントロールみたいにKeyUpとかKeyDownみたいな考えはないみたい なので出来ないと思う それこそ斜め方向だけど、SparkFanのPro Microみたいなatmega32u4で使えるHID 機能を実装する「Arduino Mouse and Keyboard libraries」ならばキーのプレスとか リリースの管理できるみたいだけど https://www.arduino.cc/en/Reference/MouseKeyboard >>742 情報ありがとうございます。聞きに行ってみます Windows10でMicrosoft StoreからArduino IDEを入れた場合に Arduino IDEのプログラムフォルダはどこになってる? 自分の場合は C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt になってる タスクマネージャでArduinoを展開してjavaを選択してファイルの場所を開くでJavaのフォルダからたどっていける バージョンによって変わったりするのかな? >>736 大学の研究かな IoT技術を用いたタヌキの生態調査、的な >>744 私はZIPファイルをもらってきて好きなところに解凍してるから そこがプログラム・フォルダだな MSさんとはなるべく関わりたくないので >>744 ストアアプリはその場所に入るのが標準 というより導入場所は指定出来ないし変更できない そしてストアアプリはZIPアーカイブと同じバージョンでも違う動作したりすることが あったりするので使わない >>745 狩猟です。猪や鹿の獣道に仕掛けてよく通る時間帯を調べ、銃を持って待ち伏せます picoはcpuパワフルでメモリたっぷりで安いね 開発環境が独特なのがどう転ぶだろうか? >>750 消費電力がどんなもんかなあ。 wifiないのは今どきとしては辛いか でもmicropython押しなのは楽しそうだ 550円は安いな 購入制限がないようだから初期ロットは争奪戦になりそう RAMが多いのはいいな、カメラ画像640x480に縮小して量子化しようとすると640kBいるからな って、256MBじゃなくて256KBかよw こんなんラズパイじゃねーだろ、ゼロ買うわ >>733 478 名前:774ワット発電中さん [sage] :2021/01/22(金) 17:44:11.21 ID:C1FJPv2l >>475 ソーラーパネル LoRaはこれ。 https://tokyodevices.com/items/231 買ったときは5,000円くらいしたと思ったが安くなったのかな? >>477 書き方が悪かった。 待機は数カ月もつ。 >>754 いや、ラズパイじゃないだろ 264KB (remember kilobytes?) にはワロタ 秋月で先月から扱い始めたジャンパワイヤを試しに買ってみたんだけど、磁石に付くやつだったわ。 >>549 で紹介されてたラジオデパートのやつとそんなに値段が変わらないから期待してたんだが。残念。 ↓磁石につく(ダメなやつ) https://akizukidenshi.com/catalog/g/gC-15868/ ↓磁石につかない https://www.shigezone.com/?product=jumperwire ESP32 Pico price 200 550 CPU 600DMIPS 120DMIPS(予測) RAM 512KiB 246KB Wifi/BT none 価格3倍なのに性能は1/5 10倍以上の開きがある売れる気がしない Arduinoに未だ根強い人気があるのも先人が残してきた資料やコードによる所が大きいと思う ESP32も専用のスレが立つ程人気があり、資料やコードもかなり蓄積されている それがゼロからスタートとなると相当厳しいんじゃないかな >>758 最近その話で発見したんだけど、線を両手で思いっきり引っ張って切断する 切断しにくい線だとそこそこ大丈夫 あっさり切断する線はよろしくない あと、切断面がキレイなコードはやばい 切断面がヒゲモジャになってるコードは大丈夫 なんとなくこんな傾向がある気がした まぁ切ってしまうのでそれは使えないけど目安にはなりそう 切断面がキレイというのは内部が腐食しており柔軟性のない導線だからいつ断線してもおかしくない こんな話かな >>758 教えて下さい。 磁石にくっ付くと何か問題があるんですか? >>763 鉄線なので銅線に比べて錆びやすくて、被覆の中でもボロボロになるらしい。 >>541 あたりからの話を参照。オレもこの話を聞いて知った。 撚り線で鉄か。曲げ伸ばしに弱そうな気がするけど大丈夫なんかな。 コンデンサの脚はスチールのが多いけどね。 >>761 え? Arduinoでないとしたら、今は何がいいの? >>765 撚り線にすると個々の線の断面半径が小さくなるいっぽうで、断面2次モーメントは半径の4乗で効いてくるため、更に小さくなり、鉄も銅も曲げに対する影響は余り変わらなくなるね 電線に限らず、繊維状の物が何故フレキシブルなのかの理由でもある ArduinoやRaspberry Piは 電子系が専門じゃない芸術系の人たちでも手を出しやすいんじゃないかな? だからたまにこのスレでも全く電気がわからない人が出没するんじゃない? わーい♪arduinoからwinbondのフラッシュW25Q32に読み書きできるようになったー♪ Aliで1個17円♪ 4MB♪ >>767 なるほど。 銅線撚り線でも末端のはんだ処理まずいと、振動でプリプチ切れていきます。 そのあたりはどうなんだろう、って思いましたが、 圧接前提のフラットケーブルなら、これも影響が小さいのかもね。 >>766 >>761 は「Arduinoでない」とは言ってないよ。 Picoはこれから環境やコミュニティを整えていかないといけないよ、って言ってるんだと思う。 今から気を揉まなくても、Rspberry Pi財団が本気なら、Arduino環境がPico(というかRspberry Pi Si)を 取り入れていくんじゃないかな。 ジャンパワイヤなんか恒久的に使うわけじゃないから、そこまで気にしなくても >>770 そう、半田付けはほんと難しい 電気とは違うけど、もっと力学的配慮が必要な機械類のワイヤ駆動メカでは、撚り線の個々に均等に力(=引っ張り応力)が掛かるようにする、ワイヤと部材との締結が極めて重要 ここが不良だと、微妙に長さの違う撚り線ができて、1番短い線から次々と切れて行って、撚り線の意味が無くなってしまう >>772 そういうことではなくて、秋月のジャンパワイヤの元になってるフラットケーブルの本来での 使い方でどうなんだろうって思った。 ただ、ジャンパワイヤとして使うケースでも、機器の中で恒久的には使わないとしても、 実験のツールとしては割と長く使うし、接続すればちゃんと接続されることを期待するもの。 くりかえし曲げ伸ばし回数は、もしかしたら本来のフラットケーブルとしての使い方より多いかも。 >>774 だからこそ、圧着、圧接が使われるわけですね。 SCLKは黄色、MISOはオレンジ、MOSIはみどり、 CSは青 俺流のSPIのジャンパーケーブルの色使い ぼく流は電源は赤黒 通信は青黄 その他は緑って感じかな CPUのI/Oピンに配線する時、ポートのビット番号に従うか(たとえばビット7なら紫色,ビット1なら茶色)、 ピン番号に従うか(たとえば6番ピンなら青色、2番ピンなら茶色)迷う。 黒 GND 赤 +5V 黄 +3.3V 茶(GNDの予備) 橙(電源の予備) クロック 白 データ 緑青紫灰(ビット数が多い場合は茶赤橙黄緑青紫灰) って感じかな。 小学生のでんしこうさくみたいなスレになっとる… とうとうここまできてしまったのか… いいことじゃないかすそのがひろがって ぼく10さいです マイクロサーボを9個ほど使いたくてnano用の拡張シールド探してるんだが 3.3Vしか出ない(サーボ動かせない)のと5V出るのがあるみたいだけど見分け方ってあるなかな いろいろごったごった入ってるキットが欲しい Elegooのやつかな? >>783 シールドじゃなくICだから少し難しいかもしれないが TLC5940なら16chまでのサーボ制御ができるぞ 1個125円 >>783 シールドじゃ無くSPI接続だけど、アマゾンの↓これだと5Vで大丈夫そうね /dp/B01D1D0CX2/ https://i.imgur.com/N8JhQRd.png https://i.imgur.com/jDrWgxk.png アリエクなら、同じようなボードを安く売ってるとは思うけど >>785 >>786 ありがとう ちょっと重ねて質問なんだけどArduinoってMega以外はサーボ(PWM)の同時制御って12までじゃなかったっけ? シリアル接続はやったことがないけどサーボドライバ次第で上限は増やせるって事になるのかな >>787 ごめん、SPIじゃ無くI2Cだった Arduino本体のPWM数は、その通りだけど、他にもセンサ入力、I/Oやサーボモータへの電力供給を考えると、むしろサーボモータ専用として、PWMボード使ったほうがいいと思う アマゾンにも以下の記載があり、チャンネル数は幾らでも増やせて、Adafruit互換だから制御コード書くのも楽だしね 特徴 PCA9685 16チャンネル 12-ビット PWM Servo モーター ドライバー IIC モジュール Arduinoに対応 ロボット マイコンボードのI2Cに接続して16台までのサーボを制御出来ます 62枚のボード連結により最大992台のサーボを制御 Adafruit 16-Channel Servo Driverの互換品 フォトカプラを使う場合、一般的にマイコンの足から直接駆動しても良い物なんでしょうか 大体10mA程流す様ですが、ぐぐってみるとESP32なんかGPIOから取って良い電流は12mAだそうで わりと際どい感じがするのでMOSFETでスイッチした方が良いのかなと思っているのですが、 MOSFETをスイッチするフォトカプラをMOSFETでスイッチと冗長化してしまうのでどうした物かと >>789 フォトカプラにもいろいろあるんじゃないの? これとか7.5mA(最小5mA)だよ。 (ざっと見て見つけただけなので、特にこれを勧めているというわけではないです。) https://akizukidenshi.com/catalog/g/gI-07330/ >>791 それ確かにLEDの駆動電流は小さいけど、出力電流も少ないね 電位差が大きい2つの回路間での論理信号伝送用? 開発環境をPlatformIOに移しつつあるのですが、共通で使いたい自作のライブラリって どこに置いたらいいのでしょう。 各プロジェクトの直下のlibの下に同名のディレクトリを作ってやれば、そのプロジェクト内では 使えるのですが、複数のプロジェクトで共通に使いたい場合はどうすればいいのでしょう。 >>789 ESP32のデータシート見たら、Iol 28mAってなってたから、LEDの直接ドライブは問題ないよ。 使うマイコンにもよるけど、普通10mA以上は定常的に流せるんじゃない?ATmega328でも20mAはいける。 トータルの電流制限とか、流す電流でLowの電圧が変わるとかあるからそのへんはデータシートで確認。 IOピンは、LEDのカソード側でドライブするのではなく、アノード側につないで、LOW出力で点灯とするのが普通かな。 全く電子工作に触れたことがないのですが、基本からarduinoを学ぶのにオススメのサイトや書籍を教えていただけないでしょうか? よろしくお願いします。 >>797 マジレスですが、どこでもいいんでLチカ紹介してるサイトみて真似てやってみて、コードや回路をよく見て考えて、理解したら、あとはしたいことに取り組んでみる。わからなければググる がおすすめ。私はそうした。 >>797 https://www.google.com/search?client=firefox-b-d& ;q=%E5%9F%BA%E6%9C%AC%E3%81%8B%E3%82%89arduino%E3%82%92%E5%AD%A6%E3%81%B6 オススメなんて個人の主観だから検索して出てきたところを当たって 自分に合ってそうなところで試すのがベスト 右も左も分からない初心者は回路図みてもチンプンカンプンだから 「arduino Lチカ ブレッドボード」みたいに検索用語に「ブレッドボード」を入れて画像検索して ブレッドボードで説明してるサイトを探してその配線通りやってみることから始めるのがいいね あまりブレッドボードの画像に頼りすぎると先に進まなくなるから、ある程度理解できたら 回路図にも慣れるようにしていったらいい 久しぶりにArduinoで遊ぼうとおもってシールド漁っていたらmp3再生できるシールドが出てきた そこでパターン追っていたらよく見たらICやSDが3.3v駆動なのにArduinoのSPIのピンに直接繋がっている このシールドの回路って結構マズイ? https://i.imgur.com/dFxCA6E.jpg https://i.imgur.com/DL86tZB.jpg >>794 Macで使ってるので正確にはわからないが あなたのホームディレクトリ\.platformio\lib の中に置いておけばビルドできると思う あるいはプロジェクトのplatformio.iniに lib_extra_dirs = ライブラリの場所 を記述してもいけるはず ただ公式ではそういう参照の仕方ではなくプロジェクトごとに置く流儀を推奨してるみたい >>801 ハードとしてのarduinoは初代しか知らんのだけど、今は3.3V駆動のもあって、そういうの専用ってことはない? AVRが3.3Vでペリフェラルが5Vなら抵抗入れれば保護ダイオードでなんとかなるだろうけど、直結ならわからん。 逆だと、保護状況不明だからヤバそうです。 商品名か販売サイト書けばわかるかも >>803 https://a. Aliexpress.com/_msHs1cl このシールドです アルディーノが今手元に無くてプログラミングを実行できるサイトとかあったりしますか? 「arduino シミュレータ」とかでググってみれば 初歩的な質問ですいません const int numReadings = 5; 1.平準化で使用するデータ数が変わるとグラフはどのようになるのか 2.平準化に使用するデータ数が幾つだと最も効果が高いか 教えて頂けないでしょうか? コードもなしに変数名だけでどうするんだよ なんか宿題っぽい >>807 質問そのものが、自分でも理解できてない感じ? 申し訳ありません、コードはこんな感じです /* Analog Input, Smoothing, Serial Output (Original: Smoothing, ttp://www.arduino.cc/en/Tutorial/Smoothing */ const int numReadings = 5; int readings[numReadings]; // the readings from the analog input int readIndex = 0; // the index of the current reading int total = 0; // the running total int average = 0; // the average const int KY039Pin = A0; // Analog input pin that the potentiometer is attached to void setup() { // initialize serial communication with computer: Serial.begin(9600); // initialize all the readings to 0: for (int thisReading = 0; thisReading < numReadings; thisReading++) { readings[thisReading] = 0; } } void loop() { // subtract the last reading: total = total - readings[readIndex]; // read from the sensor: readings[readIndex] = analogRead(KY039Pin); // add the reading to the total: total = total + readings[readIndex]; // advance to the next position in the array: readIndex = readIndex + 1; // if we're at the end of the array... if (readIndex >= numReadings) { // ...wrap around to the beginning: readIndex = 0; } // calculate the average: average = total / numReadings; // send it to the computer as ASCII digits Serial.println(average); delay(1); // delay in between reads for stability } (移動平均・・・) 学校の宿題だなw 安直に答えや結論だけを求めるんじゃなくて、 もうちっと自力で勉強しようよ・・・ いまどきの学生さんは、みんな意識低いのかね? プログラムなんて自分で書くより書かせた方が儲かるからな マイコンなんて特に >>811 学生ですが、宿題ではないです 自主的に学んでみたいと思って本買って始めたのですが、ここで詰まってます >>813 そうか、すまんかった。自主勉がんばってくれ ソースをにらんでないで、値をいろいろ入れてみて グラフを描くと、視覚的にわかるぞ (移動平均・・・) すみません。できるだけ自力で解決するようには心がけてきたのですが、 ここだけはいくらググっても全く分かりませんでした。 どうか今回だけはご教示頂けないでしょうか?お手数おかけしますが何卒よろしくお願い致します。 移動平均するだけのプログラムで、いくつの移動平均をすれば、最も効果が高いか、って決まるものなんかな? >>816 すまんが、答えではなく、調べる方法・考え方までで 1,「移動平均」で調べてみ。模範解答がたくさん見つかる それよりも、繰り返しだけど、 analogReadにいろんなサンプルデータを入れてみて、 numReadingsを変えながら、グラフを描いて、自分自身で理解・納得したほうが良い 2,決まった規定値はない 対象とするデータの種類や特徴、隠れてる2次要素による、としか (KY039Pinって何?) >>817 Arduinoの書籍に書いてあった問題なので、答えはあるのだとは思います(番外編のような扱いで、その本には回答が載っていませんでした) これは絶対に宿題だろw 嘘ついて教えてもらおうっていう考え方がせこい。自分で考えろ。 みんな親切だなw (明日締め切りの宿題だろ?) KY039Pinってのが何だかわかっても 決まりはないだろうな >>818 ご丁寧にありがとうございます。調べてみましたが 1は線が滑らかになる、という理解であっているでしょうか? 2は多分ピンの名前かと思います それと、先ほどのプログラムの前にもう一つプログラムが書いてあったのですが、それが何か関係あるのでしょうか。 以下の通りです /* Analog Input, Serial Output (Original: Analog input, analog output, serial output, http://www.arduino.cc/en/Tutorial/AnalogInOutSerial ) */ const int KY039Pin = A0; // Analog input pin that the potentiometer is attached to int KY039Value = 0; // value read from the pot void setup() { // initialize serial communications at 9600 bps: Serial.begin(9600); } void loop() { // read the Pulse Sensor in value: KY039Value = analogRead(KY039Pin); // print the results to the Serial Monitor: Serial.print("Pulse Sensor Value = "); Serial.println(KY039Value); // wait 2 milliseconds before the next loop for the analog-to-digital // converter to settle after the last reading: // delay(2); } KY039はググれば出てくるな 測る対象のことを考えればnumReadingsの最適値はある程度絞り込める 本の問題なら本のタイトル知りたい 書籍の名前をなんで書かないの? 一発目の質問の発言で、情報が欠落するのは仕方がないのだけど、 あなたがわかってる情報をどんどん出していかないと、 答える人は、あなたより見えてないんだし。 >>822 移動平均は係数が全部1のFIRフィルターだからそっちの 方から調べるのも面白いかも >>824 学校の先生にここで質問したのがバレるからだろ。 >>822 やっぱり何も調べてない考えてないだろw このプログラムは、 データ読みとって表示するだけのスケッチだよ?(これすら把握できてないな?) アナログ入力ピンなのはわかってるんだよ、、、 KY039Pin(A0ピン)に、どんなアナログ機器から、何のどんなデータが どれぐらい入ってくるか?が謎なんだよ しかも、それがわかっても、みんな書いてるように、2に規定はない アキレタ, モウネル >>817 移動平均はFIR LPFの一種だから必要な減衰量から移動量(=タップ数)を決められる https://blog.chachay.org/2016/01/moving-average-LPF.html これあたりで、ハートビートの周波数の高い方を「あまり」減衰させない周波数を狙おう、って感じなんかな? このループって1周するのにどれだけの時間がかかるんだろう。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる