格安wifiモジュール「esp8266」「esp32」 6個目
■ このスレッドは過去ログ倉庫に格納されています
>>593
その辺は誤解されてるけど
データシート読んで正しく扱えば全然問題ないぞ!
https://i.imgur.com/9wqtBmL.png (工場出荷時のeFuse Vrefで校正のみ)
※さらに2点校正を行えばより精度を上げることが出来る 前にArduinoでも誤差が出たけどこういうのを修正する必要があるのね
法則を見つけて計算式にしないといけないね C3はUSBシリアル内蔵したはずだが
M5stamp C3は相変わらず変換チップ載せてるんだな stamp C3にGroveコネクタ添付されてるけどどこに付けるんだ?
まさかUSBコネクタと排他? USB-Cポートの左右につける場所があるよ
かなり出っ張るけど かさばるのでいろいろ躊躇してしまう
せっかくの薄型なんだからstamp自体をスロットに刺したりできたらいいのにとは思う
センサー類はボードに接続してスタンプはボードのスロットに刺す 始めてみようと思ってこれの ch9102Xを買ったのですが、com5に見えるものの、arduino IDEでesp32arduinoからどのボードを選んでも書き込めません。
ボード一覧に無いのでしょうか?
裏にはESP32DEVKIT V1のシルク印刷があります。
アリエク /item/32959541446.html
https://i.imgur.com/tzFUvUK.png 自動プログラムが安定しない場合には、EN <-> GND 間に 1nF〜0.1μF のコンデンサを入れるというのがあるが
アリエクで買った2台は2.2uFと4.7uFにしないと自動書き込みが安定しなかった
ProMini的に裸のESP32にCP2102シリアルアダプタを接続した自作ボードではこのコンデンサは不要だった
CP2102なので参考にならないかも知れないが aliがとう、入門初日は3連Lチカをfor文でグルグルとVRの電圧表示してます。 書き込めないと言えば、丁度昨日フラッシュエラー的な物が出て再起動繰り返して焦ったけど
原因はブレッドボード上の他のモジュールのGNDが抜けてたのが原因だったらしい
そのモジュールとはGPIO12/13で繋がってて、ぐぐると12は特殊ピンらしく起動時Hだと
FLASHの電圧が1.8Vになるとかで、GNDが浮く事で偶然この状態になったのかな 中華製のブレッドボード使ってると訳わからん問題起こりまくり
原因は接触不良や電圧降下とかだろう
余計な時間食うだけだから捨てたわ 中華物はdevkitとして売ってても中に何が書き込まれてるか分からんからな
自動書きが反応しないなんて珍しくない Arduinoと違ってESP32の自動書き込みはチップの仕様に基づいた物じゃないの DTRとRTS使って書込みモードに入れるのはボードの仕様と言うべきだが
いずれにしろ書込まれているファームの問題ではない 自動リセットかけてくれるUSBシリアル売ってるけど3000円くらいする
高いわ >>586
ALIには既に並んでるけど、何が来るんだろうな >>626
FET2個でできるじゃん、それくらい作ろうぜ こんにちは、仮性人です。
カウントダウン後、10秒ちょうどを目指してボタンを押すと何秒のタイミングだったかをシリアルモニタに表示するサンプルプログラムがまともに動かなくて途方に暮れています。
そのままダウンロードして書き込んだだけなのに。 ネタ質問じゃないならもう少し詳しく書いた方が良いんじゃね。ツッコミ待ちならもっと面白いこと書いて。 IDE側のシリアルのボーレート設定が、実機と一致してないとか やっぱり>605のESP32では動いてくれませんでした。 void setup() {
// 開始時刻と現在時刻のための変数を宣言
unsigned long s_time, e_time;
// break文で繰り返しを抜けたかどうかの変数を宣言
boolean is_break = false;
Serial.begin(115200); // シリアルモニタの初期化
pinMode(2, INPUT_PULLUP); // 2番ピンを入力用にする
Serial.println("3"); // カウントダウンする
delay(1000);
Serial.println("2");
delay(1000);
Serial.println("1");
delay(1000);
Serial.println("Start"); // 「Start」と出力する
s_time = millis(); // 開始時刻を変数s_timeに代入
// 現在時刻を変数e_timeに代入し、
//e_timeとs_timeの差が10秒以内の間は繰り返す
while (e_time = millis(), e_time - s_time < 10000) {
// スイッチが押されたかどうかを判断
if (digitalRead(2) == LOW) {
is_break = true; // break文で繰り返しを抜けた
break;
}
}
// break文で繰り返しを抜けたかどうかを判断
if (is_break == true) {
// break文で繰り返しを抜けた場合は、ボタンを押すまでの時間を出力
Serial.print("時間は");
Serial.print((double) (e_time - s_time) / 1000.0);
Serial.println("秒でした");
}
else {
// while文を最後まで実行した場合は、「10秒を超えました」と出力
Serial.println("10秒を超えました");
}
} digitalRead(2)
が原因じゃね
ブートモードの選択で使う特殊ピンで、強制プルダウンされてるんじゃないかな その他色々制限のあるピンがあって一律同じ様に使えるわけじゃないから、何かそう言う解説してるサイト見た方が良いと思う 残念! ダメでした。 全ての部品を外して単体でもカウントダウン終了と同時に「時間は0.00秒でした
」となりました。 はい、他のピンにつないで試してもダメでした。なので、いっそ全部繋がないでどうなるかを試しても終わってしまいました。 【お詫び: D22に繋ぎ変えたら動きました】
最初のpinModeのピン番号だけしか変えていませんでした。
while内のifで使われているdigitalRead(2)も変更したら動きました。
ありがとうございました。
>>637 師のご指導の通り、一度よく読んでみます。 2ピンなら論理を逆にすればボード上のスイッチ使って外付け無しで動くと思う。 ほんとだ、0にしたらボード上のタクトスイッチでできた! ありがとう! そのボタンは動作を決める重要なボタンじゃないのか
トラブルを招くように動いてるとしか思えん まだ理解できてないので、とりあえず使わないようにします。
ところで、OLEDという表示器をI2Cで繋いでみbワしたが、
esp8266-oled-ssd1306ライブラリをインストールした筈なのに、コンパイル時にエラーが出ます。
ssd1306_extend.h: No such file or directory
C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.51.0_x86__mdqgnx93n4wtt\libraries
…を見てもそれらしいのが無いのですが、
ライブラリマネージャには「インストール済み」と出ています。
何か他のインストールの仕方があるのでしょうか?
https://github.com/ThingPulse/esp8266-oled-ssd1306 >>649
別の場所にインスコされてるとか?
うまく動かないライブラリも多いから、はまったら別なのを試したほうが早い
OLED使うならU8g2がオススメ そのgithubのsrc見てもssd1306_extend.hなるファイルは存在しない そのライブラリなら、SSD1306.hをインクルードするべきじゃないの? それか、インストール済みのライブラリのうちssd1306_extend.hをインクルードしてるライブラリを探して移動または削除してみるとか プログラミング初心者のスレじゃないんだよなぁ…
ライブラリって一つじゃ無いんだよ、そのソースコードが指定してるライブラリをちゃんと入れたんか?
ggったら取り合えずこんなん出てきたぞ、もっとちゃんと探せ
ttps://github.com/yoshi4869/GPS_Logger2/tree/master/GPSLogger/src ありがとうございます。
U8g2もインスコしたのですが使えず探したら、違う場所にありました。
なので、移動しようとしたら移動先のフォルダがコピーを受け付けてくれず、にっちもさっちも行かなくなりました…。 AruduinoIDEはインクルード追っかけれないのがゴミすぎる esp32(具体的にはM5atom)2個を無線で連動させる方法はありますか?
スマホの一つのBLE UARTターミナルのアプリで両方を操作したいです
1個を操作することはできているので、2個目を1個目の子機のようにできたらいいのかなと思ってます
プログラミングはArduinoでしています
リアルタイム性は大していりません
例えば1文字の指令が1秒で送れれば十分です 子機のようにがいまいち分かりづらいけど
1個目が受信した文字を2個目にも表示させたい、とかですか esp同士なら普通のwifi通信じゃなくESP-NOWに挑戦してみたり >>663
ESP-NOWすごい!
まさにこれです
>>662
2個のM5atomを親機(右足)と子機(左足)に使って
スマホから「右回転」を送ると親機から子機に「正転」と送るみたいな感じです ただUDPと同じ様に到達が保証されてないから、そこら辺どうするか >>666
人間がリモコン操作するのでもう一度ボタンを押すだけでいいかと
取りこぼしがひどすぎるなら「ACK」を送り返して、みたいなことをやります 単純にブロードキャストすればいいのでは?
右足は「右回転」を受信すると停止
左足は「右回転」を受信すると正転 >>668
>>661に書くのを忘れましたが
スマホでリモコン操作できるだけでなく
片方のM5で他方を制御したいので親機子機の方法でやります ESP-NOWと親機がブロードキャスト(>>670)の両方を調べてみます
もしスマホとのBLE UART通信とは両立できないよという場合は教えて下さい 最近リアルでお前らの中の誰かと話をした
楽しかったよありがとう ここってプログラムの初心者質問しても大丈夫?
始めたばかりの素人なんだけど
関数の引数の定義の仕方がわからなくて聞きたいんだけど
C++スレに行ったほうがいいのかな >>678
webじゃなくて本を読め
同じ本を10回以上読め たぶんおま環なんだけど、tp-linkのax20ってルーターとesp8266が接続できない
スキャンするとAPは見えるんだが、タイムアウトする
チャンネル幅とかチャンネルとか変えてもダメ
何故かルーター再起動直後は接続できて、しばらくすると通信不能になる
なんか試した方がいいこととかありますか? >>681
esp8266に書かれてるコードが糞なのでは?w
接続失敗したときのリトライ方法とか、通信中にエラー起きた時の処理とか
例外処理をしっかり書いておかないと、処理が途中で終わってリセットされるまでダンマリ状態とかになる
うちのベランダの温度計もそうだったのでフロー全部見直して、今は3ヶ月無停止で動くようになった >>682
サンプルのWiFiClientでもダメなのよ
WiFi.status()がルーター再起動直後じゃないと一向にWL_CONNECTEDに変わらない
tasmotaを書き込んでみたりもしたけど同じく再起動直後じゃないと接続失敗する >>683
じゃあ、切り分けの為に別のルータへ繋いで見るのはどうだろう? て言う自分が、新しいモジュール出した時とか忘れててあれ?と思うことがあるんだよね! Windowsだったら、モバイルホットスポットをオンにすれば
PCがアクセスポイントになるから、そっちにつないでみれば
アクセスポイントが原因なのかの切り分けになると思うよ。 単純にwifi知識のない糞馬鹿でルーターを5Gだけで運用していると言うオチじゃないだろうか?
5Gのアクセスポイントが見えてるけど接続出来ない
タイムアウトする!ってのはamazonのレビューではこの手の奴ばかり
axと言う名前が気になる >>691
お前みたいなのは出て行ってくれないかな。 レスくれた人ありがとう
別のAPにしたら接続維持する様だからたぶんルーターの問題っぽいけど結局このルーターを使いたいから困った
スマートリモコンとかesp使ってる別のデバイスはこのルーターでも安定してるのに何が違うんだ
ちなみにだけどもちろん2.4Ghzつかってる
5Gと2.4Gを同一SSID名にして繋がりやすい方に繋いでくれる機能もあるんだけどオフにしてSSID分けてる ■ このスレッドは過去ログ倉庫に格納されています