Arduino初心者熱烈大歓迎質問スレ part29
レス数が1000を超えています。これ以上書き込みはできません。
>ifの評価に使ってる値が残ってないのがわかりにくくしてるような。
評価前に変数に入れてみました。
>あとシリアル後に変数更新したら文字列の長さ分ずれると思う。
こちらは想定内、1000が1001に遅れるのはいいんです。
936でifに飛び込んでくるのが異常
スケッチ:https://pastebin.pl/view/20a8f209
リザルト:https://pastebin.pl/view/5431a2e1 シリアル結構地雷だからなぁ
シリアル出力を#Stopだけにするか、
毎ループflushしてみるかで試したいところ 計算結果だけじゃなくてmillis16の戻り値も残しとけばデバッグもやりやすいかもね。今回は関係ないがオーバーフローとかしてたり変数サイズミスったりしてたり。 リザルトのstop手前の行
1191 ms0 : 1000以上なのでifにはいってきました。
7936 millis16() : 現在のカウンタ値、前回7000なので936msしか経過していない
7000 ms1 : 前回のカウンタ値
936 m=millis16()-ms1 : 演算結果
シリアルの処理時間で遅れるのは想定内です.
millis16()が異常値を返してると思えるんですが原因不明です。 メインループにdelay(1);入れると異常は出なくなりました
出にくくなってるだけかも知れないので数時間放置してみます。 最初に自分で書いてるあたりが原因でしょう cli、sei
原因
1.millis16()関数はmilliscnt変数を参照している
2.milliscnt変数は割り込みによってカウントアップされる
結果
つまりmilliscnt変数参照中に割込みが入ってカウントアップされると…
1.カウントアップ前のmilliscntの上位バイト参照
2.カウントアップされて上位バイトが+1、下位バイトは00
3.カウントアップ後の下位バイト参照
という現象が起きる
連続してmillis16()関数を呼び後者が前者より小さかった時にそれぞれを16進表示すればちょうどカウントアップ時にコケているのがわかる
・・・というのでどうかな? なるへそ
2byte読みがアトミックじゃねーのか
俺もまだまだ修行不足だな >>11が正解だね。
mills16()を直接milliscnt参照にしても同様だった。
void loop() {
while(1){
uint16_t ms0, ms1;
ms0 = millis16();
ms1 = millis16();
if(ms1 < ms0){
Serial.print("ms0=");Serial.print(ms0);
Serial.print(",ms1=");Serial.print(ms1);
Serial.println("");
}
}
}
14:04:20.031 -> ms0=767,ms1=512
14:04:20.789 -> ms0=1535,ms1=1280
14:04:21.582 -> ms0=2303,ms1=2048 >>11
おお、ありがとう
すごい納得できました! 7936 = 0x 1F00 = 0b 00011111 00000000 超初心者です。
1602LCDにI2Cで表示していたのですが、元々取付られていたI2Cモジュールを別購入したものに交換したところ、一行目に全て四角が表示され、二行目には何も表示されない状態になってしまいました。
グーグルから下ページに辿り着いたのですが理解できず困っています。
どなたか、解説していただけないでしょうか?
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14128070479 >>16
うちにあるI2Cアダプタはアドレス0x27と0x3fの2種類あるよ
I2Cスキャナで確認してみて >前スレ1000
ありがとうございます。
超音波センサー良さそうですね! とゆうかまずそのモジュールの型番なり商品ページなり示そうよ >>17
ヤフー知恵袋の方と同様で、私の場合もアドレスは変化がなく0x27でした。 lcd.print にしなきゃいけないところ lcd.println になってるとか 接続が悪い時に豆腐なった事あるな
消費電流少ないから電源繋がってなくても
他のピンから回り込みでなんか表示したりするんだよあれ Uno2台で片方にACアダプタから給電しています
そのUnoの5Vピンからもう一台のUnoのVinに接続して電源供給したい
前述の5Vピンは一旦ブレッドボードを経由して他のセンサー等の電源とも
共用したい なにか注意点はありますか? >>26
その方が無難かもね。
Vinは推奨7〜12Vなので5Vピンにつなげてもダメだと思うよ。
VinとVinをつなげれば動くけどあんまり気持ちは良くない。
あとGNDとGNDをつなげるのを忘れずに。
電源周りがどうなっているかUnoの回路図見てみたらいいんじゃないかな。 >>27
ですよね…
いま二股コネクタ作ってます… スイッチング式のACアダプタのちょうど邪魔な位置にフェライトコアが
あってたので ぶった切ってしまったんですが やっぱり取り付けたほうがいいかな? UNO + 9V電源 = 0.8A 程度しか使えない、でかい
NANO + 100均の5V2.4A電源 使ってる俺には色々と無駄に思える 100均のACアダプタってめっちゃノイズ乗ってそう。
電源は容量だけじゃなくて値段もケチらない方がいいぞ。 逆に考えるんだ
悪環境でも安定動作する装置が作れると
いや、そこまで酷くねーよw
昔の携帯充電アダプタ5.5V650mAの中に本当に酷いのがあった まあ、充電目的だったら多少のノイズは関係無いからねえ。 一次側にも酷いノイズ乗せるアダプタあって迷惑な奴だった ノリノリでビートを刻むファンキーなヤツだったんだな
惜しい電源を失くしました 唯一持っていた純正品である、Leonardoで
5Vピンに、なぜか12Vをつっこんでぶっ壊したので、
記念カキコ 私の実験用基板には、実験用可変電源装置の電圧設定、極性を間違えても壊れないように、
電源入力に直列にダイオードを入れ、さらに3.3Vと5Vの3端子レギュレータを入れてある。
過去に2回-15Vや+24Vの電圧を掛けて部品をパーにしてから、この方法に切り替えた。
(将来、mega32U4やmega328などでオリジナルのCPU基板を設計、製作する時の参考までに。)
(と思ったけど、ならないかもしれないな)w
ダイソーの300円、「リモコンライト(ホワイト)」
これいいねー
自作オーディオアンプのリモコンを作ろうとしてて、
アンプ側の方はマイコンで受信機作るからいいんだけど、
子機の方は、めんどくせーな、と思っていたら、
わずか300円で、小さくて軽い子機が手に入った。
赤外線通信コードは、ごく普通の、NECフォーマットだったんだけど、
なぜか、メーカ識別コードが、全部ゼロとかwwww
さすが怪しい中華品 >>42
これ色々遊べそうだよな
俺はライト側にSSRつなげてリモコン電源タップに改造した >>42
せっかくCPUでリモコン受信器作るなら、ついでに学習型にしておけば、
「リモコンライト」送信機だけでなく、色々な送信器が使えるよ。
また、たとえばテレビのそばに受信器を置いておけば、
テレビ用リモコンでテレビの電源を入れると自動的にアンプの電源も入る、
なんて事も出来るようになる。 私は学習型リモコン受信器をtiny2313(FROM2KB、SRAM128B、EEPROM128B)で作った。
持たせる機能によるが、8ピン以外の殆どのAVRでイケると思う。
写真は受光ユニットで、受信しやすい位置に置けるように本体から独立させた。
https://i.imgur.com/JzSA72o.jpg
左から操作SW、秋月で買った受光ユニット、状態表受LED
ノイズ対策に予想外の苦労をした。
(大昔に製作して記録用に撮影したもので、画像の質が悪くてゴメン) リモコン作るときの待機電力削るためにどうしてますか?スリープ?
今度やってみようと思って パワーダウン!ADCオフ!BODオフ!WDTオフ! スイッチ押して初めて導通する感じか…
一つのスイッチで電源オンとどのスイッチが押されたかの判別を同時にやれそうな気がしない
ダイオード使えばいいのか
考えてみよう… 一つのスイッチで……………どのスイッチが…………………
スイッチは1個なのか複数なのかサッパリわからん わかりにくくてごめん
複数のスイッチ(ボタン)のあるリモコンの想定です
どれでもスイッチが押されたら電源オン、続けてどのスイッチが押されたかの判定をする つーかその作りたいリモコンとやらと同種のリモコンはどう作ってんのか調べた方がはやくね?
電波だかIRだか知らんけどさー 作りたいのは室内電灯の赤外線リモコン
arduino をパソコンに繋いだ状態でリモコンとして正常に動くことは確認できた
問題は電池駆動のための省電力機構
基板見て回路図起こすなんてレベル高そうだ… 違うか
回路図起こせということではなく同じ類のリモコンを参考にしたらよいと言ってくれていたのか
ありがとう調べてみます >>57
スイッチ群はマトリクススキャン。例えば、3行x4列で12個のボタン
sleepは割り込みで解除
ダイオードとか使わなくても全てのピンの変化割り込みが取れる
データシート49ページあたり
>PCI2ピン変化割り込みは許可したPCINT16〜23の何れかが切り替わると起動します。
>PCI1ピン変化割り込みは許可したPCINT8〜14の何れかが切り替わると起動します。
>PCI0ピン変化割り込みは許可したPCINT0〜7の何れかが切り替わると起動します。
>ピン変化割り込みn群許可レジスタ(PCMSK0,PCMSK1,PCMSK2)は、どのピンがピン変化割り込み要因となるかを制御します。 >>61
割り込みは2つまで、トリガーに使える入力も2つ、と思っていたけどトリガーのピンはもっとつかえるのか!ありがとう調べてみます
スイッチ複数と言っても3つ(電源、明暗)しかないのでとりあえず内蔵プルアップで直づけ なに?最近はリモコン作るのが流行ってるの?
天井照明を手を叩くとONOFFするようなの作ってみたいんだけど、
拍手センサー?って
マイクで拾った音から、拍手をどう聞き分けしてんだろう?
周波数や波形を選別できてるんかな? 短時間だけ閾値を超えるような音を検知したらって感じがほとんどじゃね >>64
そうなん?
デカイ音にはほとんど反応してしまうような・・・
もっとスマートな方法ないかいな? >>65
拍手の波形はほんとうに一瞬だから
大きな音はたいてい拍手より持続するから意外といける >>67
そうすか
でもまあどうせだから、一瞬の波形を分析して、
拍手のパンッ!と ドンッ! ガンッ! ぐらいは聞き分けられるか
チャレンジしてみるかな
コンデンサマイクの音質と、
Arduinoごときのクロックでできるかわからんけど >コンデンサマイクの音質とArduinoごときのクロックでできるかわからんけど
正しくは
「コンデンサマイクの音質とArduinoごときのクロックと自分のプログラミング力で」
でないか? わからんけどw 前に「リズム開錠」というのを考えた事があるな
郵便受けなどの簡単なロックを1キーのタッチセンサーを一定のリズムで叩く。
例えば337拍子やドドンパなどの拍だけのリズムタッチすると開錠となる。
遅いテンポや速いテンポに追従しようとして色々悩んだ
そしてそのことはいつのまにか忘れたw そういえば昔のトラ技に特定の手拍子に反応するキーホルダーっていうのがあったな >>72
カメラユニット使ってリズムよくダンスするのもお願いします。 ATtiny13AにUSBaspから書き込むとき、
最新のArduino IDE 1.8.13でbitDuino13を使ったら
書き込み装置のメニューからUSBaspが出ないわ・・・
1.8.13からメニューが項目化されて見やすくなったけど、
なにか対処法ある? Arduino EthernetのPoEが欲しんですが販売終了になってしまったので
代わりとなる互換機がありましたら教えて下さい。
ちなみにDFROBOT製の互換機を見つけましたので、それ以外でありましたらお願いします。
https://www.dfrobot.com/product-1286.html Arduinoで一番やる気削がれるのがあのクソIDEってゆうね Aliのrobotdynってショップにあったよ
AliアプリからURLのコピペ方法がわかんねw 指パッチンはアタック音(瞬間的に音量が上がるパルス波)じゃないのか
周波数だけだと誤動作しまくるぞ、犬が吼えただけで開錠する
シンプルな電話のピポパですら2音合成して認証してる 礼の部分で動体検知必要じゃねーか
テキトー言ってんじゃねえぞ それは超音波リモコンだな、よく誤作動したという話だが 夜中に11PM観るのにズバコンで操作してるとガチャガチャ音がして親に見つかっちゃうという やばいな
和田アキ子・せんだみつお・あのねのねが出てるあの番組も見れないじゃん 粗末なIDEに肥大したコード
Arduino自体が墓地 10年以上前のマックのおもちゃで圧電スピーカーをセンサーとして使ったのがあった希ガス Power Macintosh 6100/66AV持ってたけどそんなのはやってないな
主にビデオ編集とかしてた マクドナルドのマックと、マッキントッシュのマックを間違えているところが面白い >>93
気になって電圧スピーカーをオシロにつないでパンパンしてみた
至近距離だと2.5mS,10mV幅位の電圧波形が観測できた
パンパンしすぎて手が痛い・・・・ >>97
ダイナミック(マグネティック)スピーカもマイクになるでしょ?
確か、昔の玩具トランシーバはマイクとスピーカの両用だったかと >>99
そんな事はみんなわかってるんだよ。
トンチンカン君。 Teensy 4.0をArduino IDEで使ってる人いる?
Teensy 4.0はボードマネージャから入れるんじゃなくてインストーラーから入れるんだけど
ライブラリが普通のライブラリ置き場に置かれて
他のArduinoで同名のライブラリを使うときにバッティングしてしまうので
他のArduino互換ボードも使う場合に使いづらい
PlatformIO IDEだと他のArduinoのように入れるんだけどね
ARMで高性能で結構使いやすいんだけどこの点があまりよろしくない
PlatformIO IDE使えばいいだけだが起動が重いんだよね
あと、未だにソフトリセットの方法がわからない >>79
起動が重いけどPlatformIO IDE使えばいいじゃん
Arduinoの機種によってはデバッガ用のインターフェース買えば
デバッガでステップ実行とかもできるよ
Platform IO IDEといっても実態はVSCodeだしね おれのArduino IDEはもう何がなんだかわからない状態になってるから
わかりやすいところにライブラリフォルダのショートカット作って
重複エラーが出たら片方をどこかのフォルダに移動するか削除で対処してるw Arduino使ってパルスオキシメーター作った人いますか? #include <stdio.h>
#define s_time millis() // 電源ONからの経過時間(ms)の関数。名前を’s_time’とした。
#define t_time 30*1000 // LEDの点灯時間。(30(秒)、*1000はms処理。)
自動OFFスイッチを作ろうと思いまして遊んでおります。
30秒で実験している時は上手く行っておりましたが、33秒にした途端止まらなくなりました。
該当の値をシリアルモニタで確認した所、負の値となっておりました。
#define の後ろに32000を超える値を持ってきても大丈夫な方法を教えて頂きたいです。
よろしくお願いします。 変数をintからlongにするとか
intは-32768〜32767
longは-2147483648〜2147483647 #define t_time (30*1000L)
数値の末尾に L を付けろ
型が long になる
unsigned longにするなら UL な
それと注意だが、
#define の定義が計算式の時は ( ) で括るようにしておけ
参照先でも計算式の中にあると、計算の優先順位で意図しない値になることがある ご回答下さいました皆様、ありがとうございます!
無事に止まりました。 ArduinoのSPI通信について質問させてください。
ArduinoのSPI通信機能を用いてD/Aコンバータにバイナリデータを入力し、任意の電圧を出力したいと考えています。
使用するD/Aコンバータを動作させるためには24bitのデータビットを送信する必要があるのですが、
手持ちのArduino MEGA 2560では8bitの送信しか行えませんでした。
Arduino MEGA 2560に搭載されているマイクロプロセッサが8bitであるためかと考えているのですが、
この場合、『Arduino DUEやArduino ZEROなどの32bitのマイクロプロセッサを搭載しているものであれば、
24bitのSPI通信が可能である』と考えてもよいのでしょうか。
また、Arduino MEGA 2560でも24bitのSPI通信が可能となる方法があれば、併せて教えていただけると幸いです。
よろしくお願いいたします。 >>120
8bitではできないと思い込んでいました……
ありがとうございます! コピーできないように小細工するんだよな
マジムカツク >>124
プロシュートだろ
プロしかあってねーじゃねえか
あとハム違いだ
つかプロシュートは生ハムじゃねえよ! ESP2866でもスケッチを吸い出すことは出来ないのかしら? ESP8266の中にスケッチは入ってないから
無いものは吸い出せない usbアダプターからusbケーブルを昇圧するやつにつなげて
昇圧して12ボルトにしたいんだけど
入力が1Aの昇圧するやつに使っても大丈夫か? USBアダプターから出るケーブルの電気を12Vにする
昇圧するやつの入力は1AでUSBアダプターは3Aだ 3Aのusbアダプターは15Wのちからがある。
5Vx3A=15W な
ここから12Vつくると、15W=12Vx1.25A
さかだちしても1.25A以上はとりだせない。
しかし、変換するときに減る。へんかんこうりつというやつだ
効率75%なら、1.25A * 75% = 0.9375A で1Aに微妙に足りない。
どれくらいの変換効率になるかは、昇圧するやつの説明書か
それに載ってるチップのデータシート見ろ、大抵グラフがのってる。 >>133
変換効率+安全マージンを考えるともっと余裕がほしい
モバイルバッテリー使う前提で無ければ
12Vのアダプター用意した方がいいと思う 昇圧した12V、行った先で5Vに戻されてる予感がするんだけど気のせいか? USBで電源供給すると5V無い事があってADCとか使ってると問題になる事があるから
オンボレギュレータで5Vに戻されても12Vで給電する意味はあると思う 「昇圧するやつ」というのは5V→12VのDC-DCコンバータのことなんだろ。
「入力が1Aの昇圧するやつ」ということは5V側が1Aじゃないのか? 単4電池1本で、ardiuno でLチカさせる智恵を下さい >>141
UNOとかだと、最大1A食うことになってるから、電流不足じゃね? >>142
おっと、Lチカだけなら余裕で大丈夫か?
>>141
スマソ! ssはpin10らしいのだがssが一つしかないと2つ以上のデバイスに通信できないのだが? SSはデフォルトでそう支持されてるだけでどこでも使える arduinoを遠隔操作したいのだけどおすすめの手段は何ですか?
イーサネットシールドと3G回線使えるシールドは持ってます サイトーさん
斉藤さん、聞こえますか
それではUNOの電源を入れてください >>147
もうちょっと具体的に何か書こうよ
つぶやきじゃなんだから
遠隔操作って、具体的にどういうこと?
遠隔で電源を入れたいのか
遠隔で入力接点を入れたいのか
遠隔でデータ通信したいのか
遠隔で出力を受け取りたいのか
遠隔でArduinoを見たいwのか? エスパー解釈するとOSIのどの層のどんなアプリケーションで実現するのがおすすめですか?
ってことかな ちょっとした制御をやるにはarduinoとPICとどっちが
良いですか?
理由も教えて下さい。 ちゃんとした、って曖昧すぎ
あえて制御できる・できないで言えば設計、コード次第でどちらも制御はできますよ 人に聞くより自分で両方買って比べてみる方が早いよ。
オレは両方試してarduinoの方が簡単だった。 >>152
もうちょっと具体的に何か書こうよ
つぶやきじゃなんだから
ちょっとした制御って、具体的にどういうこと?
LEDをチカチカさせたいのか
センサーの入力を取りたいのか
データ通信したいのか
モーターなどを作動したいのか
画像や音声処理をしたいのか? Arduinoのとっつきやすさは異常
そういう質問するレベルではArduino一択 その Arduino でさえ挫折するに一票!
どうせ PG 書けないでしょ? おれもArduinoに1票だが「 PG 」が何かは分からない。 >>158
主要なプログラミング言語はマスターしています。 >>154,156
だよね、どのみち安いんで聞くよりまず買って使ってみる
ダメそうだったり、もっと良いのがありそうなら買い足す、でOK
まずはポチれ、ポチって使って分からない事が出てきたら聞いたら良い クルマ選びで迷ってるとかだったら金かかるけど、
マイコンなら大人買いできる! 人生は有限
目的達成の為に遠回りしたくない
無駄な時間を使いたくないってのはあるだろ ふーん、IC見ただけでpinoutやレジスタもわかっちゃうんだ
モジュール買って、どこかでライブラリ落として
それにはいってたサンプルちょっといじって
わーいできたといってるArduino信者とは思えぬ プログラムなんか触ったこともないけど中華通販でESP8266とESP32注文して到着待ち
どこかの誰かの作ったプログラムをそのまま使い回すことしかできそうにないけど そういう飛び込みの方が上達が早い。
分からないことがあれば、直ぐに質問できる場所も知ってる。
よっぽど手付かずで Arduino板 で PIC の質問するより。。。 >>168
あくまでも>>152に対する回答なので
どういう現実を君が見ているのか知らんけどさ
>>170
それでいいよ、たぶん現状ではベスト・チョイス
わからなかったり迷ったりしたらその時考えたり調べたりすりゃいい >>155
>もうちょっと具体的に何か書こうよ
質問者はこれだけ書けばで十分であると判断して質問しているんだよ
それで不十分と思う奴はスルーしてねって感じだろ
言い方を変えると答えを求める対象者を限定している感じかな 100ワットのLED電球の光を調節したりスイッチオンオフするにはどうやる? 調節はLED電球の内部回路に合わせて方法考えろ
すべてのLED電球で動くような便利な方法は無い arduinoの5vのジャンパー線って何メートルの長さでも使える?
例えば100メートルとかできる? >>178
100〜200KHzぐらいまでの信号なら100メートルいけると思う。 5vとgndの代わりにデジタルインプットとデジタルアウトプット
使ってもいいの? すごい特殊な場合に使っていいこともあるかもしれないけど
普通はダメ。 電流制限があるからわざわざ使う意味はあんまりない。High、Low、Hi-zの切り替え使って少ないピンでたくさんLED制御とかもあるから使い方次第ではあるが。 5Vの代わりにデジタルアウトプットってのはLチカそのものだな
フォトカプラを使った絶縁回路でよく使われる デジタルアウトプットを何らかの回路を経てデジタルインプットに繋ぐというのは
キーマトリクススキャンで使うよ、その場合はプッシュスイッチを経由になる Lチカするにしても抵抗つけるやつがほとんどじゃないのか 省略して話してるだけで定格超えないように制限は必要。 arduinoのLチカに抵抗不要と思ってる人がいるのはこれのせいだと思う。
最初見たとき、えっ?って思った。
https://ht-deko.com/arduino/pic/01_02__06.jpg >>194
基板の中に内部抵抗が入ってるからね
ただ、昔はLEDの順電圧も高かったし
そこに5VならLEDが焼ける心配も少なかったと言うか… >>196
あ、ごめん
ビルトインLEDの内部抵抗と勘違いしてた >>194
相手はド素人
注意書きしてるにせよ、絵まで付けて、こんな回路を作らせないほうがいいよな >>194
その直前のページに
LEDを長時間点灯させたい場合は、図5-4のように抵抗器を使用してください
って太字書いてあるし、読まないやつが悪いわ 抵抗内蔵ってこう言う時に便利なんだな
デジタルトランジスタみたいだ >>194
言われたとおりにやってるのに、LEDが光らないんですけどっ!!
このArduino不良品ですね!
とかクレームが来るんかね こんな非常識がまかり通ってるから
Arduino民が汚物のように見られるのだ そもそもAVRの出力ポート側のほうがダメージでかそうだけど ロードセル面白いよ
Aliで200円ぐらいで売ってる >>206
素人でも手軽にマイコンを使えるようにしたのがArduino だろ?
Arduinoの誕生と普及の背景を知らないで、素人の玩具と馬鹿にする奴のほうが、よっぽど大馬鹿だわ >>203
都合のいいところだけ部分的に抜き出して貼る。
わめき散らしたあげく他人を汚物呼ばわりする。
どこかの国のマスコミと一緒の手法は、君の民度の低さの表れなのかな? >>206
そのおかげで、ド素人の俺がなんとかマイコン・電子工作できるんだからな
>>203
ド素人がいっぱいだから、それなりにできる電子工作・マイコン野郎からは
Arduino民にはあほが多いと言われるだろうな 基本的なオームの法則すら理解してなさそうなやつが更に知識の無いやつにウソを教えてる図がなあ
なんだか、料理板でカップメン作ってるような異質さだ ああ、食材を切る焼く煮るとかすっとばして、お湯入れて完成みたいな あるあるw しかし方法論的アプローチの違いで意外と
逆に気づかなかった発想があったり面白いと思うが マイコンにより詳しくない人も使えるなら、それは良いこと以外の何物でもない。
マイコンスキルのレベルのすそ野が広がれば、平均のマイコンスキルのレベルが下がるのは当たり前。
平均のマイコンレベルを見て、そのカテゴリをレベルの低い人の集まりと考えるのはバカ。
マイコンスキルのレベルのすそ野が広がれば別のスキルが高い人が参入する確率が高くなる。応用でほかの手段より広がりやすい。
ってか、マイコンも含めてITスキルが高い人は、もっとマイコンスキルが低い人でももっと簡単にマイコンを扱えるようになる
環境を作ることに熱心になればいいのにね。
そうしたら、マイコンが得意な人が、マイコン工作の中でもよりレベルの低い内容ごときで、ほかの分野の人に頼られることも
なくなって、よりレベルの高いマイコンスキルを磨くことに注力できるのにね。
かんたんマイコン環境を叩いている人にはマイコンスキルが低いことをもって他人をバカにする人がいる。あたまおかしい。 そういやシリアルポートから電源とるのはあったな。
プリンタポート、シリアルポートって今の人に言ったら、USBのこと?って聞かれそう。 Arduino は素人向けのマイコンなんだから、アホと言われても気にする必要無い
むしろ Arduinoによって、素人でも電子工作が身近になってるんだから、従来はアイデアは有っても実現できなかったことを個々に成し遂げればいい
しかも、GPS、ToFセンサ、慣性センサ、ガスセンサとか、多数のセンサ類がI2CやSPI等の共通インターフェースを介して、安価で簡単に使えるんだから、昔に比べてアイデアと実現性の距離は遥かに小さくなってる >>216
プリンタはWi-Fiでつなげるのでケーブルは不要。
今の人はUSBは電源用のポートだと思ってるんじゃないかな。 Arduinoのおかげで電子工作女子が増えた…かも パラレルって今思うとPCで直に弄れるGPIOだったの? arduinoをサーバーにしたらセキュリティって大丈夫なんですか? >>220
今は芸術関係でも電子工作が必要になる場合があるみたいだからね
NHKのドキュメント72時間で千石のやってたときに美術大学の学生が電子部品買ってる場面があったな Arduino互換機のおかげで高機能、高性能な32bitマイコンも簡単に扱える
32bitマイコンでの開発はまともにやったらかなり大変でしょうね
Teensy 4.1なんてかなり高機能でROMもRAMも多くて
尚且つRaspberry Pi Zero並みの性能あるよ あと、WiFiやEthernetが簡単に扱えるのもArduinoのおかげだと思うなぁ >>221
>パラレルって今思うとPCで直に弄れるGPIOだったの?
DOSの頃はあたりまえに弄れた。
Windows98まではポートの直叩きはできた。
XPまでは直叩きするdllを使えばできた。 Teensy 4.1 vs RPiZW
価格:4177円 1320円
RAM:1024K 512MB
ROM:8M -
ストレージ: microSD microSD
Wifi: - 802.11 b/g/n wireless LAN
Bluetooth: - 4.1/BLE
Video: - miniHDMI
USB: - microB(OTG接続)
Teensy 4.1 ttps://www.switch-science.com/catalog/6377/
RPiZW ttps://www.switch-science.com/catalog/3200/
CPU速度ではRPiZWより少し高速なんだけど
メモリは500分の1、USB、Wifi、Bluetooth、Videoなし、mp4再生支援もなし
その代わりIO関係、I2S,ADC,UART,DMAなどが豊富
マイコンとパソコンの比較になっちゃうね Raspberry PiってC言語やC++で開発するのはお手軽とはいえないな
そもそもいろんなデバイス用のライブラリが揃ってない
一から自分で書くなら苦労はないだろうけどね
Raspberry PiはPython用ならいろいろなところがライブラリ作って出してるから揃ってるんだけどね
PythonってC++と比べると遅いよね? まあ、Teensy 4.1買うような人でRaspberry Pi Zeroにも興味がある人なら
既に両方持ってるだろうけどな
俺もRaspberry Pi Zeroは持ってる
そして両方持ってない>>227みたいなのが意味のない比較をしてるわけだ 長い間日の目を見なかったTeensyが注目されて来て嬉しい
自作キーボード界隈の人達のお陰だな >>230
>>227みたいなまとめも自分が見落としていた点に気づいたりすることもあるからありがたいよ。
意味の無いと言うのは言い過ぎだと思う。
でもスペックだけじゃわからないことも多いから自分で買って比べてみる方が手っ取り早い。
最近、Teensy3.5, 4.1, Raspberry Pi Zero, Pi Zero WH, Pi 4を買って比べてみたら
Raspberry PiのGPIOが意外に速かったので驚いた。
OSやライブラリの皮を被ってるからもっと遅いと思ってたんだけどね。 木の上に直置きにして毎日電源つけっぱなしにしてるんだけど問題ない? Tone関数を使うとUnoの3番11番ピンのPWM出力に影響を与える
らしんだけど 普通にデジタルピンとしては使えるんですかね?
イーサネットシールドも使ってるし… >>237
それこそ、菅政権のモットー「自助、共助、公助」に沿った問題解決ですね
おめでとうございます >>236
>Tone関数を使うとUnoの3番11番ピンのPWM出力に影響を与える
Tone関数もPWMもタイマーを使っているだろうから
同時には使えない場合もあるだろうがな。
タイマーを使わないIO操作なら問題ないだろ。
しっかり調べるなら、ライブラリのTone関数、PWM、デジタルIOのソースコードを
見ればいいんじゃないのか。 arduinoで一度に使っていい電流は200mAらしいけど
直感的に言うとどんなものをつないだら200mA超える? MAX7219が調べると320mAって書いてあるけどなんで使っていいの?
200mAまでじゃないの?
2つもつけたらやばい? >>242-243
それはMAX7219につながってるLEDを全力で点灯させたときの値。
CONDITIONS
All segments and decimal point on
って書いてあるでしょ。 >>242
え?MAX7219の電源もArduinoのピンから取んの?
普通は電源から取らない?低電力シャットダウンモードもあるし
Arduinoのピンから取らんでも良いと思うけど うちの猫の寝床に、ペット用ヒーターを仕込んでみたいんだけど、
猫が乗っかったら、ペット用ヒーターがON(最初の3分は強、その後は弱)
降りたらOFFする
なんてのを考えてる
猫が乗った/降りたを検知するのは
どんなセンサーがいいかな? 猫の体重は3kg-7kgなので10kgのロードセルで充分なんだけど
猫が乗る前に既に暖かくなければ俺の布団に来てしまうので
結局付けっぱなしにした。
1ヶ月の電気代は11円 超初心者なのだが
MEGAの互換品で9Vの660mAのACアダプターつけると
5Vからなんアンペアまで取っても大丈夫なのかね? >>254
純正品なら内部のレギュレータが1.3Aまで。互換品はレギュレータが違うかもしれんからわからん。元電源が660mAならレギュレータの最大電流が高くても、元電源の最大以上は流せないが。 本体で使う分を引かなきゃだめじゃね?
200mAぐらい? レギュレータの最大電流にはメーカーが定めた温度条件がある
いつでもどこでも何やっても必ず最大電流を取れるなんて期待してはいかん 9Vで660mAなのに5vにしても660mAしかでないの? トランジスタ・MOSFETを使うクセを付けるんだワン! >>262
そうだよ
(9V - 5V)×660mA=2640mW=2.64W
これだけ発熱して>>260温度の話に繋がる
レギュレータがスイッチングのやつだと方式違って発熱減るがね >>249
> 1ヶ月の電気代は11円
計算したら1W程度、そんなのネコでも暖かくない 10Wで、24時間つけっぱなしで、月に200円弱、、、
工作材料費とかを考えると、制御なんぞしなくてもよさそう。
つけっぱなしにしときますわw >>271
火事にならないように、時々様子見ておこうね。 >>272
そうっすね
ひらめいた!
逆に、異常な高温になったら検知して、電源遮断する方を作ろうかな コロナ渦なので携帯できる部屋の換気計でも作ろうかと思ったけど、
一番安いCCS811でも800円以上するね。CO2センサー結構高いわ・・・ そういえば昔、こたつの温度ヒューズが切れたときにとりあえず糸ハンダで代用したことがあったわ。 切れとる時点で過熱してるぞ
火事にならなくてよかったね uno専用クリアケースを買ったもののブレッドボードのままのほうがカッコイイよね
いらなかったか ブレッドボードやarduinoがホコリ被ってしょうがないので
ダンボールBOXでプロトタイピングしてみました…
https://i.imgur.com/hUbSohx.png 君よー
走れー
まだ
怒りに燃える
闘志があるなら 自作リチウムイオン電池充電器をそのようなダンボールに入れてた
おそろしいことしてた 気になったので調べてみたら、紙より木の方が危ないっぽい。
ハンダが融ける温度でも燃えないんだな。
たしかに350℃ハンダごてでも紙は焦げるだけで燃えはしないな。
https://www.manabinoba.com/shokuiku/015963.html
木材は250〜260℃、木炭は250〜300℃など、物質によって発火点は異なります。
紙は簡単に燃えるイメージがありますが、発火点は意外と高く、450℃ほどです。
つまり紙は450℃以上になると発火しますが、それ以下の温度で自然発火することはないのです。
(なお、ティッシュペーパーや新聞紙のような密度の低い紙の発火点は230〜290℃ほどと低くなります。) よく考えるとプラスチックケースも危険なんじゃない? 引火温度・発火温度の例 (文献値)
材料名 引火温度 (℃) 発火温度 (℃)
ポリスチレン 360 495
ポリエチレン 340 350
ポリメチルメタアクリレート 338 486
スチレンアクリロニトリル 366 455
スチレンメチルメタアクリレート 330 486
ポリアミド6 413 439
ウレタンフォーム 310 415
ポリエステルガラス繊維積層 398 486
メラミンガラス繊維積層 475 623
フェノール紙繊維 − 429 塩ビ管は70℃超えくらいでグニャア…ってなったな… ポリプロピレンのような熱可塑性樹脂は融解するときに吸熱するから、
紙や木と違って容易に発火にまでは至らないイメージ
本当かどうかは分からん 安全のためのケースや配線方法、安全のためのロジックや回路システム設計についてのセオリーみたいのって
なんか良い書籍とかないすか?すごい勉強したいんだけど >>294
PPは170℃とか超えてれば吸熱は終わってる。発火はもっと高温域
ってことで熱分解して可燃性ガスが出るかどうかが発火のポイント >>296
例えば赤熱した木炭の小片みたいな火種をPP板の上に落とした場合をイメージすると、
PPが融けると同時に火種は消火する気がする
これがボール板の場合では着火しそう
もちろん一旦火がつけばプロピレンなどのモノマー・オリゴマーの燃焼熱が、
融解・解重合での吸熱を上回って盛大に燃え続けるだろうけど arduino nano every でAD変換して値をシリアルで出力するコードを書いたんだが、
arduino ideのシリアルモニタでは出力がモニタできるのにvscodeではできないんだ。
コードでは一定値以上の値が入ったらLEDが点灯するようにしてるんだけど
それが点灯するから、vscodeでも動作はしていると思う。
何がまずいんだろうか?
問題のコード→https://harigami.net/cd?hsh=f6256dec-6312-4ff4-9dca-d251d6f69e69
vscodeのバージョン
vscode1.51.1
arduino拡張機能:0.3.3
vscodeの設定
シリアルポート:arduino ideと同じ
ボーレート:115200
試したこと
vscode再起動
PC再起動
nano every の抜き差し >>298
TeraTermとかのシアル通信をサポートしているソフトで
arduinoのシリアルをモニタして正しく表示されるなら、
vscodeの問題。 将来的に特定のマウス操作を自動化させたいと思いDigisparkを使っていますが、loop処理でハマっています。
void loop(){
DigiMouse.moveX(500);
DigiMouse.delay(500);
DigiMouse.moveX(-500);
}
とりあえず動いた距離分戻って同じ位置に帰ってこさせようと単純な記述をしてみましたが、
X軸へ500、右へ動いただけで左へ戻らない状態です。
ループはしているようですが、常に右へ移動し続けてしまいます。
delayの値が問題なのかいろいろ試しても駄目でした。何が悪いかわかる方いらっしゃいますか? DigiMouse.moveX(500);
DigiMouse.delay(500);
DigiMouse.moveX(-500);
DigiMouse.delay(500);//ここにもディレイ入れてみて >>303
ありがとうございます!今度はちゃんと動きました!
delayを小さくしたらピクピク動いてかわいいですねw
ちょっとずつ複雑にして行きたいと思います。 HIDのキーボードやマウス扱えるというとTeensyシリーズも扱えるね
Teensy 4.0でできてる
ボード選択のところでUSB-Typeで指定することで
Keyboard、Mouse、JoyStick、MIDIが扱えるみたい
USB-TypeをSerial + Keyboard + Mouse + Joysticを選択すると
これらを同時に使えるみたい
USB-TypeでMIDIもしくはSerial + MIDIを選択するとMIDIが使える模様
USB-Keyboardのサンプルはここ
https://www.pjrc.com/teensy/td_keyboard.html TeensyでHIDはなんかCPU的に勿体ない気がする
digisparkやleonard、lilypad、xiaoあたりでもHID対応してるね >>306
同感
日アマでさえ3個で900円しない Digispark なのに、敢えて Teensy 4.0 はねぇ。。。 フェラーリで銭湯に乗り付ける感じですね
サンダル徒歩かチャリでええやん
みたいな まあ、その先につながっているPCのCPUもほとんどアイドル状態なんですけどね。 そのPCを操作してるおっさんもアイドルオタクだったってオチ? >>311
どこに帰るの?
そう言えば、Teensy推しのレスって、時たまあるね?
業者かな? aとbにintで0を入れて
if文でa=bなら何かの処理〜ってやつが
全く動かないんですがググレカス? >>316
if (a=b)
ってやってない?
if (a==b)
じゃないとあかんよ Pythonとかだとコーディング間違えてるぞってエラー返されて走りもしないけど
C系だと分岐の条件文として不適当な文入れてもコンパイル時点では許されちゃうんだよな >>319
だから Lint が有るんじゃ無いの?
今回のソースコードで警告が出るか知らんが >>322
Teensy推すと不都合ある?
CPUパワー必要なら選択肢の一つだと思うけど まさに教科書どおりの間違いだな
まあ、誰もが通る道だw a=f(x);
if(a){...}
の代わりに
if(a=f(x)){...}
みたいなのはオススメ出来ないけどパズル的なお遊びコーディングには使われることがあるね。 if(key1last=analogRead(key1))
みたいな式の評価とバックアップを同時にやってんのはたまに見かける そーいうのはコーディング規約でNGにするのでよろしく >>329
要求仕様は?
スイッチ数、反応時間、入力は割り込みなのかポーリングなのか等々
>>330
一番シンプルな解はそれだよね タクトスイッチを他のに替えてみるとあーら不思議…!
つまり あなたが使ってるタクタイルが特にヒドいバネだった…
と 言うこともあったりします 素人な質問で申し訳ないです
この商品ってはんだごてしなくてもブレッドボードに差し込めますか?
購入前に確認したく
ttps://www.switch-science.com/catalog/1170/ >>336
スルーホールにピンをハンダづけすればできる software resetでググると以下が出てきますがoldbootloaderのnanoだと
resetを繰り返してダメでした。unoを介してbootloaderを書き込んだら
大丈夫になりました。これってFAQ?
でも168ではうまくいかない。168で問題無く動くWatchDog教えてください〜
void software_reset() {
wdt_disable();
wdt_enable(WDTO_15MS);
while (1) {}
} >>339
それね、すぐ接触不良になるからあまりお勧めできない ブレッドボード前提なんだから当然一時的な使い方であることは暗黙の了解でしょ
ほかの方法示さない言いっぱなしは人としてお勧めできない >>342
それ使った事ある?ホント耐久性無いよ。
使った事あって勧めるのもどうかと思うが あなたと違ってなぜ接触不良になりやすいかふつうの理解力ならわかるから大丈夫
他の方法を提示できない無能のくせに商品の欠点だけあげつらっても無意味
「適材適所」を辞書で調べてから出直してね >>342 俺のおすすめは
ピンヘッダくらい面倒がらずに付けて普通に使え
だな。 >>346
はんだ付けが面倒だという理由だけではないよね
最近は面実装が増えたから、試作後はピンヘッダでない方法で実装したい場合も多い その場合>>339はいい選択肢
親でも殺されたのかよって感じで嫌ってるのが一人いるけどw >>336
しかし高いなw
俺ならこれ買って自分で足をはんだ付けする
https://akizukidenshi.com/catalog/g/gC-06070/
そうこうするうちにハンダこて代くらいすぐ出るし
ハンダ付けできるようになったらとっても便利だぞ 実装後にも取り外したいときはピンヘッダを横に付けることが多いな
メスの方も90度ピンを曲げて寝かせたり。組み込むケースが薄い時はいつもこの方法だわ
https://i.imgur.com/Z0IkhLp.jpg 3種類とも持ってるけど、どれも微妙
https://i.imgur.com/UjayxbQ.jpg
奥から順番に
・ピンのJフックがちゃんと引っかからない(リード部品に使うならOK)
・簡単に外れてしまう(ICの足とかならOK)
・穴の大きさがピッタリでないと使えない(緩々orぶかぶか)
※結論、よほどの理由が無ければ、ピンを半田付けした方が良い ピン数少なくてちょっと試すだけなら
はんだ付けせずに穴にピンヘッダー差し込んだだけでも
試せたりするけどね ボゴピン、ICクリップは、はんだの遥か先でしょ?
質問内容から分かる通り質問者は、はんだが使えない(と思われる)。
そもそも商品写真見れば、ピンが実装済みじゃないことは分かるよね?
それをあえて質問してるので、分かるよね?
ブレッドボードが実験用でもあるが、そのまま実装しちゃいたい。
ってことでは?
3.5mmジャックに500円も出すんだから、安いはんだ入門キットを
買って、失敗しながらでも頑張れ!が正解では? >>344
まあ無能で結構なんだが、使えない物を勧める無能よりマシだと思ってるよw >>340
resetが繰り返されるのならば次のコードを「setup」の最初に入れたらダメかな
cli();
wdt_reset();
MCUSR &= ~(1 << WDRF);
sei();
割り込み禁止->WatchDogリセット->WatchDogのリセットフラグクリア->割り込み許可 >>352
Jを自分で曲げ直すといいよ。
真ん中は保持力が弱くてこの用途には無理かな。
3つ目は自分で軽く締めたり緩めたりすればいいよ。
>>355
自分に工夫する能力がないくせに製品だけのせいにしてるの融通のなさ
それを無能と言ってる ウォッチドッグでリセットしたらウォッチドッグ解除しなさいってどっかのデータシートに書いてあるよ >>358
解除はsetupでやってます。だから328のoldじゃないbootloaderのものではうまく行ってる。 >>356
ありがとうございます
省略してすいませんでしたがsetupで
wdt_disable();
はやっていまして oldじゃないbootloaderの328では期待どおり動きますが168はだめなんです。 >>360
妄想で答えるが、
Arduinoライブラリ/168 bootloaderのバグか
168は別なやり方でやるんじゃないのか。
バグなら初心者が超多いこのスレのレベルを超えているから、別なところで尋ねたほうが良いな >>362
168も行けると書いてありますね。試してみます!ありがとうございます。 >>360
うーーんと勘違いかもしれないけど「wdt_disable」はWatchDogをとめるメソッドで
WatchDogをリセットするメソッドは「wdt_reset」です
WatchDogをリセットした直後に「MCUSR」レジスタでWatchDogでシステムにリセットが
かからないように設定するっていう手順を「setup」メソッドで実行しろっていうのが
168のデータシートに書いてあったWatchDogの説明から拾った内容です
「cli」と「sei」で囲んでいるのはWatchDogの設定動作中に割り込まれないためです
>>362でいければそっちの方が簡単かな >>362
>>364
どうもありがとうございました
Optibootと言ってもIDEでbootloader書き込めば良いんですよね?
signatureがちがうとbootloader書き込み時に失敗するので
confのsignatureの最後のバイトを0x06⇒0x0bに変えてbootloader書き込みには成功しました。
今度はプログラム書き込み時にsignatureがちがうと怒られるので、confを前に戻し書き込めるようになりました。
しかし実行時にはresetを繰り返すのは変わりませんでした。wdt_disableでもcli seiで囲んだwdt_resetもダメでした。 arduino nano everyの動作がおかしくなって、ADCリファレンス電圧をどうもめっちゃ吸うようになったんだが
ソフト作ってる最中、何度かやらかした接続ミスで壊れたのか、完成した回路がおかしくて壊れたのかよく分からない 先輩に媚び媚びで仕事してるくせにって言うけど、アンタ自分が媚びられないと仕事ちゃんとしないじゃん教えようとしないじゃん
媚びなかったら媚びないで生意気だの気に入らないって虐めるんだよな
クセが有りすぎる やっぱり現場のリーダーがイケメンや美人の職場はまとまりがあるからみんないい仕事するよ ATmega64 チップ単体が 100円 で売られてたけど(国内パーツ屋)、
ピッチ変換買っても、今更感があるスペックだよね?
その値段出すなら、STM32、ESP8266 が買えるよね? 惜しむほどの値段じゃないし聞く前に全部買っちゃえよ >>372
STM32は消費電力デカイし、ADCは玩具みたいに線形性悪いし、つまり子供騙しのワイヤレスユニット シフトレジスタのスケッチなんだけど、例えば8bit中2bitしか使わない場合にデータの送出を8ビット全部送らずに、2bit分の途中で終了させて動作させることが出来ますか?
うまく動作しない。 熟知しないものを自分視点で消費電力がでかいとか、おもちゃだとか言うより、
知ってるものを語って、知らないものを尋ねて学ぶほうがいいと思う。 >>376
はぁwwwっ?
>>374 のSTM32の問題は、ネットのそこら中に転がってるんですが? >>375
回答しにくい・・・
モジュールとかライブラリなしで、シフトレジスタICに送信してるなら動作可能なはず
使ってるシフトレジスタの型番や配線、スケッチが有れば回答しやすい・・
>>374
ところで、ESP32とSTM32を勘違いしてない? >>378
>>377が変なこと言ってると思ったらまさかのそれかw >>375
標準ライブラリのshiftOutは8bit固定だからダメでしょ。
myShihtOutとか作って自分でデータピンとクロックピンをパタパタさせればいいんじゃないの? >>380
ディスプレイドライバーのHV5812を二個繋げてライブラリとか使わずパタパタさせて動作はしてます。ニキシー管二桁です。
フルで40bitなんだけど、出力は0〜9とドット二個×2で24bit分しか使っていません。無駄なデータ送信は削りたい。
出来るだけ高速に表示させたいんです。
送信は前半や後半に寄せて接続して送信とかいくつかのパターンを試したんだけど、正常に表示せず。フルbit送信しないとうまく動きません。 >>378
ちょっと出先なので、資料夜になりそうです。 Arduinoやる人はpicはやるの?やらないの?過去にやったの? 個別の案件についてはお答え出来ません
じゃ無くて、それこそ人それぞれ >>381
HV5812のデータシートを読んだ範囲では、20bit送らないとだめなのでは
Strobeに連動したResetが有れば途中でも意図した動作になると思うけど、
Resetが無いので20bitx2を埋めないと前のデータが残ると思う
人間の感覚(間隔?)を考えたら40bitの送信は一瞬なので、無駄と考えずに(ICの要求仕様に合わせる)
40bitの送信を受け入れた方がいいと思う
必要で速度を上げるならほかの手段を考えてもいいかも
>コードを工夫する
>表示専用のマイコンを増設
>HV5812に対してSPIを利用する等 >>381
クリアのないシフトレジスタはフルビット送るの前提 >>386
データシートを読む限り、どこにも20bit送らなきゃだめなようには見えないぞ。
>>387
いやいや、そんなことないだろ。
Function tableみたら、
Clockに関係無く、StrobeをHでラッチされるって書いてあるじゃん。
でもまあ、実際にやってる>>381が動かないって言ってるのでそれじゃあダメなのかもね。
あと、もうやってるかもしれないけど、できるだけ高速にしたいなら2bit幅で12bit×2を送る方が速いよね。 >>388
ラッチされようがレジスタがクリアされないなら続きから入るだけだろ…
そもそも今の話にラッチ関係ないし >>389
>>381が書いてる使い方理解してる?
>そもそも今の話にラッチ関係ないし
ちゃんとデータシート見てる? 自己レス
>>388
最後の1行についてだけど、そもそも途中までしか使わないなら並列にしないとダメだな。
直列にはしてないよね。 ああ、直列でも20bit+4bitで使えばいいのか。 >>391
マイコンのpinが余っているなら、カスケード接続せずに、20bit並列に送信するってことですか?
これなら少し早くなりそうですね。
ギリギリ足りそうなので、夜に試してみます。 >>393
いや、20bit並列は配線も大変そうだし、そもそもどのにつなげるんだって話なので違います。
2つあるHV5812のData inを両方ともマイコンにつなげるということです。
でもニキシー管の反応速度がそんなに速くはないのではっていう気もしてきました。 >>394
https://pastebin.pl/view/9bd920f3
これでいけると思うわ
clockPin,StrobePinは共通、DataPinが1本増えるだけやね
void shiftOut2x12(uint8_t clockPin, uint8_t bitOrder, uint8_t dataPin1, uint16_t val1, uint8_t dataPin2, uint16_t val2)
val1とval2で与えた16bitdataのうち12bitを同時に送信したあと
Strobeパルスを送って表示に反映させればok 皆さんありがとうございます。コードまで(泣)
今日試してみますね。 >>395
ちゃんとbit orderまで実装して偉いな。
オレだったら面倒だからmyShiftOut2x12LSBFIRSTとかいう関数にしちゃうわ。 >>396
要望通りにコード出したけど
本当にやりたい事は24bitシリアル送信の高速化なんだよね?
digitalWrite()を使わずにポートレジスタを直接設定すると倍くらい速くなるよ
サンプルコード:
https://pastebin.pl/view/511da3bf
結果:
*** io speed test ***
nomal test, use digitalWrite()
loop 1000 times = 234ms
hi-speed test, use direct port
loop 1000 times = 135ms dataを2つにしたのとport directの効果がわかりにくかったので差し替え
サンプルコード:
https://pastebin.pl/view/effb9226
結果:
*** io speed test ***
nomal test 24bit, use digitalWrite()
loop 1000 times = 400ms
nomal test 12bitx2, use digitalWrite()
loop 1000 times = 232ms
hi-speed test 24bit, use direct port
loop 1000 times = 137ms
hi-speed test 12bitx2, use direct port
loop 1000 times = 45ms
12bitx2にする意義はあると思う、
direct port 12bitx2がやけに速いな、32bit演算が無くなったから? ポートレジスタ直接叩くと確かに速くはなるんだけど、
プロセッサ依存になっちゃうのがちょっと気持ち悪いんだよなあ。
Teensy4オススメだよ。
って書くとアンチが沸くんだよなあ。(たぶん1人なんだろうけど)
while(1){
digitalWrite(SIG1, HIGH);
digitalWrite(SIG1, LOW);
}
を測定したら、UNOで120KHzぐらいだったのが、Teensy4.1だと14MHzになった。
HV5812はUp to 5MHz Data input Rateって書いてあるから、
waitかけないといけないレベル。 Teensyが500円くらいなら使い捨てで組み込むんだけど4000円じゃあな
もっぱら170円で買ったESP32ですわ
30円のCH552Gも使うよ!! >>401
Mouserで買えば$25
2つ買えば送料無料で消費税も免税だから
SwitchScienceで買うよりはだいぶ安い。 と思ったら4.0だった。性能は同じだけどね。
4.1も前はそのぐらいだと思ったんだけどなあ。 Teensy4.1じゃなきゃダメな用途って思い浮かばないんだけど
DMAとか使いまくってリアルタイム画像処理とかやってんの?
認識とかはAIプロセッサK210の独壇場だよね >>388
ごめん、俺の間違いだ
直列につないでるとして、12+20bitでokだった・・・orz 399のコードを参考に、自分の動作させていたスケッチを改良してみました。
結果は下記一番下の結果が私のスケッチです。29us・・・なんか早すぎる気がする。
ハードはまだ変更できていないけど、ちゃんと表示されればいいな。
期待できそう。この速度ならフェード効果も表現できるか。
コード
https://pastebin.pl/view/c2f08fbc
*** io speed test ***
nomal test 24bit, use digitalWrite()
loop 1000 times = 400ms
nomal test 12bitx2, use digitalWrite()
loop 1000 times = 232ms
hi-speed test 24bit, use direct port
loop 1000 times = 137ms
hi-speed test 12bitx2, use direct port
loop 1000 times = 45ms
MyCode test 12bitx2, use direct port
loop 1000 times = 29ms >>406
spiで送れるんですね。速すぎる!
接続するpinはspiだと指定とかあるんでしょうか。
スケッチはまだよく分からないので、referenceとか読んで勉強してみます。 ドライブするのがニキシー管2本だけで高速に動作させたいんだったら、
74141的なやつをマイコンのピンに直接付ける方がいいんじゃないの? >>409
仰るとおりです。
ただHV5812は耐圧80Vなので、少しでもコントラストが綺麗な表示にしたくこのチップを選択しました。
組んでから、アレ?速度遅くないか?って気づきました。 HV5812が2つならSPIとUSARTでそれぞれに同時に送信すれば2バイトで済むんじゃね
クロックが16MHzだとして最速だと8MHzだから2usくらいで済むがそもそもHV5812が5MHzまでだから4MHzに設定して4usか >>408
SPIで送信可能です
unoとかの場合は11,13固定です なあ?全然関係無いんだけど 長いこと放置してたBT機器なんかを
久しぶりに使おうとすると電源入らなくなる症状って何が原因だったりするの?
BTのキーボードを3年ぶりくらいに使おうとして、バッテリも完全放電
されてるだろうと思ってUSBで通電状態で電源入れようとしても入らない
10時間くらい充電しても入らない こういう事多くない? >>413
ああ、それはよくある。
あそこの部品交換すればだいたい治るな。
部品代は数十円だから修理したほうがいいね。 arduinoに日本語を表示できるディスプレイはありますか?これとロータリースイッチを合わせて行き先表示を作りたいと思うのですが。 昔は漢字フォントのROMって8個ぐらいのセットで何万円もしたものなんだけど、
今はこんな小っちゃくなってて300円なのか・・・
https://www.switch-science.com/catalog/2273/ >>417
ArduinoはAmazonでセールの「kuman arduino用セット 電子工作スターターキット」これを購入します。
残りは
日本語フォントROM GT20L16J1Yピッチ変換基板
Adafruit 2.8インチTFTタッチモシールドv2(静電容量式)
Arduino用バニラシールドver.2(青)
Arduinoシールド用ピンソケットのセット(R3対応)
を購入して組み立て、プログラミングでよろしいでしょうか?
漢字ROMの配線は〜はわかりませんが。 >>421
あとは自己責任で。
なんでもそうだけど、よくわからないなら、WEBですがれそうなサンプルやガイドをみつけたら、
できるだけそのままのものを買って、まずはトレースすることだと思う。 >>421
>日本語フォントROM GT20L16J1Yピッチ変換基板
これ在庫ゼロで入荷未定になってるよ。そのページのリンクにある、
日本語フォントROM単体は売ってる。
あと、
>Adafruit 2.8インチTFTタッチモシールドv2(静電容量式)
が7062円というのは、かなり古いパーツだから今となってはかなりお高いのではないかと。
同じようなのがもっと安く入手できそう。 >同じようなのがもっと安く入手できそう。
よくわかってる人ならこうするね。
よくわかってない人は、接触不良を含めた配線のミスであっても、
お手本と違うものを使ったからうまくいかないのか、配線が悪いのかの切り分けが難しい。
うまくいかないときに、高確率で自分の作業が悪いのだ、と思える準備をするほうがおすすめ。
勉強や経験を積めば、安いもの、自分で選んだデバイスで工夫もできるようになる。 >>423
あまぞんなら1500円以下だよ
HiLetgoR 2.4 "TFT LCDディスプレイシールドタッチパネルILI9341 240X320 Arduino に対応 UNO MEGA
https://www.あまぞん.co.jp/dp/B0722DPHN6/
HiLetgoR 2.8 "TFT LCDディスプレイ タッチパネル SPIシリアル240 * 320 ILI9341 5V / 3.3V STM32 [並行輸入品]
https://www.あまぞん.co.jp/dp/B072N551V3/ ディスプレーは>>425の紹介された物を購入しました。日本語フォントRomはSwitch Sciencek(2個入り)でピッチ変換基盤はないので、秋月電子から購入でよろしいでしょうか?
在籍ならホワイトボードに書いた方が早いとか、紙に書いた紙を使い回せとかあるんですけど、手元のスイッチで遠くのホワイトボード在籍を書き換えできたらなと思います >>426
液晶モジュールにSDカードのスロットついた物も多いので、漢字データをSDに保存して運用する方法もあります
また、表示のパターンがきまってるなら、PCで画像として画面を作成&保存しておけば漢字ROMなしで運用もできます 今更だけど、Arduinoよりラズパイzeroでやる方が簡単なのでは? >>427
探し方わ悪かったのか、見つかりませんでした。
>>428
初心者質問スレに書き込んでもレスが返ってくるかわからなかったので。
raspberry piがAmazonのセールでやすかったら買おうと思います。スターターキットって高いのね。 tone命令で4キロヘルツの音を鳴らしてみた
スピーカーは圧電スピーカーを使った
12番ピンとグランドにブレッドボード用のワイヤーでつないだだけ
色々数値を変えて実験するのにちょっとうるさかったのでスピーカーとグランドだけ接続を外した
すると小さな音でスピーカーがなっている
グランド側のワイヤーを外すとさらに音が小さくなったがまだなっている
12番側のワイヤーのみ外した場合は全く音が聞こえない
これはどういう原理で音が鳴っているのでしょうか >>429
Raspberry Pi Zero W
https://www.switch-science.com/catalog/3200/
税込単価 1,320 円
Raspberry Pi Zero WH
https://www.switch-science.com/catalog/3646/
税込単価 1,848 円
Raspberry Pi Zero v1.3
https://www.switch-science.com/catalog/3190/
税込単価 660 円
注意:別途ACアダプターが必要
USB2.0ケーブル(A-microBタイプ)も必要
microSDメモリーカードも必要
Raspberry Pi Zero v1.3とRaspberry Pi Zero Wは一人1個までしか買えない
複数個買いたければRaspberry Pi Zero WH >>429
少なくとも>425のモジュールは両方ともスロットがついてるように見える >>432
開放してても電線が長いほうが電気流れてるってこと?
アンテナみたいな感じだろうか >>431
スレチなのにわざわざありがとうございます。とりあえずzero WHを1つ購入しました。(到着待ち)ACアダプターは昔のスマートフォンの物を使いたいと思います。 >>435
スレチだけど
Raspberry PiのILI9341用のライブラリはこれ
https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display
ライブラリのインストールは
sudo pip3 install adafruit-circuitpython-rgb-display
Raspberry Pi LCD ILI9341 Kanji表示デモ
https://pastebin.com/sKDarFLq
このデモはtakaoフォントを使ってるのでインストール
sudo apt-get install fonts-takao >>437
1970年にこのデバイス作ってたら今頃大富豪だったな >>437
ここのやつをESP32とTeensy 4.0に移植できたよ
http://www.narimatsu.net/blog/?p=10739#comment-62456
Humblesoft_ILI9341はGPIOをレジスタアクセスで直接操作してるので
そこを移植しないといけない
また、Fontxはfontx.hの
".section \".irom.text\"\n"
の部分をTeensy 4.0では
".section \".progmem\"\n"
ESP32では
".section \".rodata\"\n"
に変更したらうまく行った あと、移植したときはLCDの初期化がうまく行ってなくて
なかなか動作しなくて苦戦した 初期化というかResetね
俺が使ってたLCDのILI9341の互換品はちゃんとResetしてあげないと動かなかったから Resetはこんな感じでResetピンを操作してやった
pinMode(m_rst, OUTPUT);
digitalWrite(m_rst, HIGH);
delay(200);
digitalWrite(m_rst, LOW);
delay(200);
digitalWrite(m_rst, HIGH);
delay(200);
GPIO操作は
inline void cs_active(void){GPOC=m_cs_mask;};
inline void cs_idle(void) {GPOS=m_cs_mask;};
inline void dc_command(void){GPOC=m_dc_mask;};
inline void dc_data(void) {GPOS=m_dc_mask;};
の部分をESP32では
inline void cs_active(void){GPIO.out_w1tc|=m_cs_mask;};
inline void cs_idle(void) {GPIO.out_w1ts|=m_cs_mask;};
inline void dc_command(void){GPIO.out_w1tc|=m_dc_mask;};
inline void dc_data(void) {GPIO.out_w1ts|=m_dc_mask;};
に変更した
Teensy 4.0では
inline void cs_active(void){digitalWriteFast(m_cs, LOW);};
inline void cs_idle(void) {digitalWriteFast(m_cs, HIGH);};
inline void dc_command(void){digitalWriteFast(m_dc, LOW);};
inline void dc_data(void) {digitalWriteFast(m_dc, HIGH);};
に変更した
ESP32の場合FsFontxも移植できたが微妙にESP8266と違うので修正が必要だった
あとはいろいろ変更したと思うけど、もうどこを変更したか忘れた FsFontx.cppの差分はこんな感じ
***** FsFontx.cpp
#ifndef ESP32
#include "FsFontx.h"
***** P:FSFONTX.CPP
//#ifndef ESP32
#include "SPIFFS.h"
#include "FsFontx.h"
*****
***** FsFontx.cpp
uint32_t sjis;
if(ucode >= 0x100 && !uni2sjis(ucode, &sjis))
***** P:FSFONTX.CPP
uint32_t sjis;
if(ucode >= 0x100 && !uni2sjis(ucode, &sjis))
*****
***** FsFontx.cpp
{
fs::Dir dir = SPIFFS.openDir("/");
int cnt = 0;
while(dir.next()){
fs::File f = dir.openFile("r");
Serial.printf("[%d] %-12s %12u\n",++cnt,f.name(), f.size());
***** P:FSFONTX.CPP
{
fs::File dir = SPIFFS.open("/");
int cnt = 0;
fs::File f = dir.openNextFile();
while (f){
Serial.printf("[%d] %-12s %12u\n",++cnt,f.name(), f.size());
*****
***** FsFontx.cpp
f.close();
}
***** P:FSFONTX.CPP
f.close();
f = dir.openNextFile();
}
*****
***** FsFontx.cpp
#endif // not defined(ESP32)
***** P:FSFONTX.CPP
//#endif // not defined(ESP32)
***** あと、Fontxのuni2sjis_tbl.cの
#ifdef ESP32
const cnv_t uni2sjis_tbl[] PROGMEM = {
#else
const cnv_t uni2sjis_tbl[] __attribute__((section(".irom.text")))={
#endif
この部分はESP32もTeensy 4.0でも
const cnv_t uni2sjis_tbl[] PROGMEM = {
にした >>436
ありがとうございます。「Arduinoをはじめよう」が届きました。文字が小さいので老眼には厳しいですが、頑張ってみます。
>>437
コレ、どうやって使うのでしょうか? Z80 でさえ 1976年発表だぞ。
同年発表の TK-80 が 9万円。 SAML21でアードゥイーノを動かしている方いますか? Arduinoが届きました。日本語表示は難しいみたいなので断念。ですが、離れたところの天井灯のヒモを引く装置を作ろうと思います。LEDならリモコンがあったり集中スイッチにスイッチをつけた方が良い気がしますが。頑張ろうと思います。Arduinoとraspberry piって別物だと思ってませんでした。 ロータリーエンコーダーで質問です。
ライブラリを使用してエンコーダーを回すと、0から、プラス方向とマイナス方向にカウントしていきます。
使いたい情報は0から、プラス方向だけです。0よりマイナス方向に回した時、0のまま表示させているのですが、プラスに再度回した時、行き過ぎたマイナス方向分を回さないと0のまま動きません。0表示からプラスに回したら、即カウントするようにしたいのですが、行き詰まっております。 ライブラリ自体を使いやすいように書き換えて
どのライブラリ使ってるの? ロータリーエンコーダーを使ったことないけど…
マイナス方向に回した時に表示は0だけど変数に実の値を入れておいて
プラスに回した時にすぐに足すようにしてあげたらどうだろう… >>453
エンコーダーとか自分で実装したほうが勉強になるよ。
所詮2ビットの遷移の順序でしかない。 0以下になれば割り込み(を使う方法か知らんけど)があってもカウントしなければいいだけで
ソース提示があればもっと答えやすいね >>458
スケッチです。
エンコーダーを回すとmyEnc.read();でマイナスの結果も出ますが、表示はプラスだけにしたい。下のスケッチは0から100まで表示は出来てます。しかし0以下にマイナスへいっぱい回すと、そこから1以上にするのに同じだけプラスに回さないとずっと0なのです。
number = myEnc.read();
number = constrain(number, 0, 100);
Serial.println(number); ライブラリーに現在値をセットするなりリセットするなりする関数とかありそうなものだけどな number_befor = number_after;
delay(100);
number_after = myEnc.read();
if (number > 0) {if (number_befor > numbar_after) { number-- }}
if (number < 100) {if (number_befor < numbar_after) { number++ }}
Serial.println(number); >>459
なにをincludeしてるかが大事なの
myEncはどのライブラリですか 「マイナスだから無視」判定してるところで前回の値を取っておけばよいのでは? >>459
「constrain」のソース探すと「hardware\arduino\avr\cores\arduino\Arduino.h」で
マクロ定義しているみたいだけど、内容は3項演算子でくらべてるだけみたいだから
number変数の定義が「unsigned」か「byte」なんじゃないか? >>454
ありがとうございます。Switch Scienceって発送が早いですね。月曜日の昼に発注して、火曜日の夕方に届きました。Amazonですら明後日なのに。 >>466
この方法だと"EncPos = EncPos_Offset"の時"0"をSerial.printするから
エンコーダが動いた時だけ数値を表示して300ms後"0"に戻るような気がするけど
違ってたらごめん。 別におかしくないが
抜粋すると
int32_t EncPos = myEnc.read();
if ((EncPos - EncPos_Offset) < 0) { EncPos_Offset = EncPos; };
if ((EncPos - EncPos_Offset) > 100) { EncPos_Offset = EncPos - 100; };
エンコーダが動いても動かなくても300ms間隔で数値を表示してるぞ クリック感のあるロータリーエンコーダーでクリック感毎にカウントしたい所、
単に4カウント毎だと取りこぼしかチャタリングなのか割り込み使っても途中でずれてしまい
左右どちらに1つ回しても反応しない状態になる事があってどうしようかと思ってたんですが
アイドル時間でリセットしてしまえば良いのか 工作のアイデアを思いついた!
手でひねるタイマーの古い電子レンジが1台あって、
これをロータリーエンコーダと7セグとリレーを使って秒単位、分単位にON/OFFできる装置を作ろう!
ロータリーエンコーダのプッシュボタンでスタートとか! >>470
リセットは極力行わないほうが取りこぼしは少なくなるよ
millis()で経過時間得るのにリセットしようとは思わないだろ? >>466
オフセット式で自分のプログラムに組み込んで目的の動作が確認できました。
皆さんありがとうございました! >>472
反対側にずれた時の事を思えばそうなんでしょうけど…
11になった時だけ過去8bitを比較して0x4bか0x87かだけで見るのはまた取りこぼしとは違う次元になりますよね >>474
00 01 11 10 00と綺麗に進行するわけではなくて山の途中の戻りもあるよ
00 01 11 01 11 01 00 みたいな >>475
クリック感、4ステップ単位で動いて欲しいからそれは多分問題にならないんと思う
それよりもチャタリングか取りこぼした時に丸々捨てる事になるのが 色々やってみた結果、
詳細に拾って内部カウントは速く正確に、現在地は2bit切捨てというのが一番精度よかったよ 古いスマホを3GIMみたいに利用できないかな…
データSIMだけ用意してさ… やっぱ3G回線が使えるといいよね >>478
それなら古いモバイルWiFiルーターを安く買ってきて
ESP8266やESP32と組み合わせるといいと思う >>479
あ!一つwifiルータも余ってるな…
でも遠隔地の田んぼで使えるの? >>480
えっ!?
遠隔地だから3Gで通信したいのでは?
提案してるのはESPとWiFiルーターをセットで設置することなのだけど
ESP→WiFI→3G→インターネット→PC等
まさか、WiFiルーターを自宅側に設置して離れたESPから飛ばそうとかじゃないよね・・・・ >>480
1,2kmくらいならLoRaがオススメ 距離とデータ量にもよるがな
920MHzでメッシュもあり 田んぼって必ず自分ちに隣接してると思ってないか?
田舎エアプか? 逆にめちゃくちゃ離れたとこに田んぼあるって想像できないけど >>485
自分の畑やら田んぼ迄軽トラでうん十分とか普通にあるよ
そもそも辺り一面田んぼの地域とか全部一人の物じゃなくそれぞれ別で何処からかやってきてやるから
隣接する田んぼが誰の物か知らないて事も普通にある都会も真っ青な疎遠ぷり >>481
ごめんごめん寝起きですっとぼけてた…w
wifiじゃなくて古い無線LANルータが余ってるんだったよ… 3GIMは1台持ってて運用中だけどエライ高かったからなあ…
25000円越えだよ… 安い中古スマホをUSB HID繋いでテザリング設定してWifi接続
Wifi通信しないと自動切断されるから、いろいろ面倒くさいな
BTではテザリング開始できるかね? >>485
説明しよう
戦中まではその地区の豪農の元、小作人が田畑を借り作物を育てていた
戦後、GHQの命令で小作人が作業していた田畑はその小作人の所有する所となり、細かく分割され現代のような形になった
だから自分の家と田畑が遠いことはよくあることで、逆に家の隣に広い田畑を持っているお宅は昔からの豪農で戦中も自分で耕していた真面目な農家の可能性が高い 田んぼを分割する奴はばか
東海地方の方言のたわけ物は田んぼを分けてしまったばかのことを言う usb-host ch375 ちゃんと使えた人おる? RXDとGNDだけの接続でUARTモニタを作りたいと思っています。
RTS/CTSなどのハンドシェイクなしですが、ボーレートの自動検出はできますか?
STM8/32ではそういった機能があるようです
STマイクロニクス:開発のヒント 自動ボーレート検出機能
https://www.stmcu.jp/technical/hint/no-026/ そういう機能は自分で作ればよくね?マイコンってそういうものでは 適当に最初に送るSyncパターンを決めてタイマー使って1bitの長さを測るだけだよ RXDだから「送る」じゃなく「受け取る」では?
送信側に操作が必要だといってるの? >>503
そう
送信側に細工なんもなしで自動ボーレートはUARTの仕組み的にできないだろう
そもそも
>>499に貼っている奴だって
>決められた1文字を受信すると、自動的に通信速度を検出し、UARTのボーレートを自動的に設定することができる機能です。
>具体的な文字は、「最初のビットが‘1’の任意の文字」、「最初のビット列が’10xx”の任意の文字」、「0x7F」、「0x55」の中から選択できます。
という送信側の条件が必須なわけ ふーん
俺なら暫く観測して最短長で暫定のボーレート検出して
化けてれば倍の速度にするような操作するな
「またくできない」というより「検出」と「UP」の2回操作でできるわけだし
頭固すぎ そんな信頼性のない方法でもいいならよく使われるボーレート総当りでいんじゃない ボーレート確定するまでの間は
化けたデータを受信し続ける可能性あるやん
化けるのを許容する用途か、
後段で化け検出なりすることも考慮しる それを自分で決めるんだよ
I2CとかSPIと同類だと思ってないか?
UARTは遥かに低次元だぞ >>504の送信側の条件が必須なやり方では対応の機器間でしか駄目でこまっただし
>>505の通信開始からしばらく化けるのを許容するようなやり方では
用途が限られてこまっただよな
>>508
>何をもって正解とするのさ
俺は>>505の化けてればでも、送られているビットパターンが不明なのに
正解かどう判断するんだと思った。 未知の速度でデーターが流れててそれをモニタする場合
最終的には人間による判断になってしまうが
300bpsから総当たりで試すより
パルス計測して「こいつは間違いなく57600bps以上」といった
サポート機能つけると無駄な総当たりをスキップできるという事じゃないの Nextionモニタと接続して遊んでます。
スライダーを使いたい場合
NexSlider h0 = NexSlider(0,4,"h0");
これはarduinoIDEで記述しても大丈夫でしたが、
モニタに数値を表示したく、
NexNumber n0 = NexNumber(0, 1, "n0");
とarduinoIDEで記述した所エラーが出てしまいます。
何かヒントを頂きたいと思います。
勿論答えだと嬉しいです。
次のフォルダのライブラリITEADLIB_Arduino_Nextion-0.7.0を使用中:
C:\Users\Documents\Arduino\libraries\ITEADLIB_Arduino_Nextion-0.7.0 (legacy)
exit status 1
'NexNumber' does not name a type; did you mean 'NexSlider'? >>515
意地悪かもしれんがヒントと言われたのでヒント
>'NexNumber' does not name a type; did you mean 'NexSlider'?
訳>'NexNumber' は型名ではありません; 'NexSlider' のつもりでしたか? >>516
>意地悪かもしれんが
確かに意地悪だな
実のところお前は
'NexNumber'と書いたのにコンパイラーが'NexSlider'ではないのか?言ってくるのがヒント
だよと言いたいんだろ。
で、俺も見習って意地悪書き込みしよう。
>>515はゆとり教育をしっかり受けた奴の質問で
こんな感じ。
printf("hello \n"); としたら英語でprintfなんてねーぞ!と言われた
どうして?
一方、普通に教育を受けたArduino超初心者の質問の仕方は
>>1の
>回答者はエスパーではありません。状況が分かるように詳しく書きましょう
>詳しく書いてくれないと、答える方も困ってしまいます。答えようがないのです
ほんとそうだよなということで、エラーのでる最小限のコードを全部書くと
int main(){
printf("hello \n");
return 0;
}
としたらprintfなんてねーぞ!と言われた。どうして?
これならお前らは上から目線で回答するだろ。 変な人が沸いて閑古鳥ですが、引き続きArduinoをお楽しみください。 Arduino楽しいよね
最近はMEGAとか使わずに 如何にコンパクトにしてUNOに
収めるかってのが面白い 最近のゲームもいいけれど
ファミコン時代みたいに限られた容量の中で工夫するって感じでさ
昔のゲームクリエイターはスゴい ならtiny2313+フルアセンブラなんてのも楽しいからやってみな ATmega328単体でやろうかと考えてたけど
tiny2313+自作AVRライターを冬休みの課題にしよう 割り込みでメモリ操作命令しか使わないならステータスレジスタは退避しなくてもいいよね?
inpushpopoutで6サイクルも食うし >>521 tiny2313+自作AVRライター
自作するならリセット端子などの外部接続回路を無視できるI/O切り替えタイプはどうですか?
メカスイッチ手動方式とリレー自動方式とが紹介されています。
https://rio2016.5ch.net/test/read.cgi/denki/1566099702/
>>522
変化しないなら保存する必要はありません。 俺の冬休みの宿題は、
観葉植物の簡易温室の、温度制御システムの改良にするぜ
※XIAOー(UART)ー>obnizー(Wifi)ー>ラズパイ(nodejs)ー>クラウドへデータ送信
Arduino互換の Seeed XIAOで
温度センサー入力(I2C)、ヒーター出力(SSR)、クーラーファン出力の制御 200円ぐらいで出来そうなんだけど、それだと意味ない!マイコン!マイコン!
https://aliexpress.com/wholesale?catId=0&initiative_id=SB_20201224225756&origin=y&SearchText=XH-W1219 そうそう、無駄にいろんなマイコンを使って、
面白ければいいのさw
ラズパイ以外は使わずに寝かしてたやつだから
ここらで使ってやらんと、ってのもある >>524
無駄の方が多い案、の例を示したんだよね? 実験用の電気炉などで温度調整のためのPIDコントローラなんてのがあるけど、
おかしな設定で使うと発振したりするんだけれど、そういうのをマイコンで
手軽に安定な制御とか・・・・できるんだろうね。 発酵食品を作るために、8年前に作った温調器
以来、家族はこれで8日に1回のペースで4リットルづつヨ-グルトを作っている
https://i.imgur.com/4Go1K42.jpg
CPUはmega168、温度センサはLM35
バージョンアップまで含めると、これで2ヶ月ほどの「楽しい電子工作ライフ」を送れたw ケースの加工とかも大事だよね
最近はパソコンでラベル作るようになって多少見栄えが良くなった
やはりタッパーはちょっと… 常温で作れるヨーグルトがあるんだけど知らないほうが幸せだろうな >>535
>やはりタッパーはちょっと…
俺、>>533のように金属加工できない・3Dプリンタないから
見栄え悪くてもタッパーでケースがほとんど。
電電板の工作人の多くは3Dプリンタでケース作っているんだろうがな >>538
タカチノケースいいよ
自分は最近は木板使ってる 金属加工は小型の卓上ボール盤と万力があるだけで全然変わる。
卓上ボール盤で空けた穴はハンドドリルで空けた穴とは
比べモノにならないくらい美しい。
まぁ、ネジで隠れちゃうんだけどw LEDをQIコネクターメスに差し込むと微妙にゆるいのですが、ぴったりのコネクターにはどのようなものがありますか?
ジャンプワイヤの中身が3年くらい使ってるとボロボロで通電しなくなった、イメージとしてはこんな感じです
品質の高いものか劣化しにくいものはありますか?
http://higukenn.wp.xdomain.jp/wp-content/uploads/2019/08/DSCN4716-768x513.jpg
ブレッドボードに差し込み年単位で利用することはそもそも可能ですか?
原因不明のエラーが出やすい気がしています。
何方か教えていただければ幸いです。 ジャンパーワイヤーは使い捨て(゚∀゚*)ノ ⌒ ゚ ポィッ 「磁石に付かないジャンプワイヤー」で検索してください
幸せになれます >>541
QIのオスにLEDをハンダ付け、ですかねえ。
ブレッドボードはテスト用だと私は思っています。 秋月ってこれをソケットって呼んでて、両端オスピンとか書いてあるんだけど、
ソケットっていうのはメスの方じゃないのか?
https://akizukidenshi.com/catalog/c/cdiprpp/ ありがとうございます
>>542
耐久性は購入から何年くらいでしょうか?
>>543
ググってみましたがバンジージャンプの記事とかでよくわからなかったです
ただ、これをクリックすると他の記事が出たり検索結果は人によって違うのかな?
>>544
LEDを凹になってるものに差し込むとQIの凸にくらべ細いようで時々接触不良を起こしてしまって困っています 特にIRとかだと見えず気づくのに遅れたり・・・
毎回ハンダは用意するのが大変でできれば圧着ペンチみたいなもので簡単にできればと思いますが半田以外に何かいい方法ってありますかね? >>547
そういうことなら、QI用のオスのコンタクトをLEDの足にカシメるってのはどうですかね。
https://aliexpress.com/item/32902219069.html
まあでもハンダこて買ってハンダ付け覚える方が後々絶対便利ですけどね。
特に配線の耐久性が気になっているなら全部解決しますよ。 ターミナルブロックとか、ICクリップとかで挟むとかw
https://akizukidenshi.com/catalog/g/gP-08450/
自分もハンダするのオススメ
LEDの足ぐらいの熱量ならUSB半田ゴテが便利よ
安いしコンパクトで温度上がるのが速いし、電源オンから30秒以内でハンダ付けできるよ
アマゾンで600円→ /dp/B07557ZB6K/
AliExpressだと400円で買える >>549
ああ、安いワイヤーって鉄線だったのか。
たしかに安いやつは磁石に付くね。サンハヤトの高いやつは付かない。
抵抗やコンデンサの足も磁石につくやつがあるんだけど、これ全部捨てるか・・・ ググってみたんだけど、部品のリードに鉄が含まれてるのは普通のことみたいだから捨てなくて大丈夫なのかな? >>552
コンデンサや抵抗のリードが鉄+メッキなのは一般的なことですよ
>抵抗やコンデンサの足も磁石につくやつがあるんだけど、これ全部捨てるか・・・
ギャグだと思ってスルーしてた >>523
ありがとうございます!
参考にさせていただきます >>553
恥ずかしながら、真面目に書いてました。
リードはジャンパのヨリ線よりだいぶ太いから大丈夫なんですかね? >>555
抵抗とか本来何度も付け外しするものではないからねえ
ジャンプワイヤのように使ってたらすぐ疲労して折れます ありがとうございます
ググっていて気になったのですが、秋月のサイトでも通電不良が多いとありました。
これって断線仕掛けてると考えるとその時通電しても1時間後に使ったら動かないとかあり得るようなきがしています
https://akizukidenshi.com/catalog/g/gC-05159/
この手のトラブルって発見に意外と時間がかかって私はすごく嫌な不具合なのですが皆様は気になりませんか?
今は、LANケーブルは20年くらい余裕で持つし何より中古だとタダ同然
それで作るのが良い気がしてきています
もしくは信頼性のおける物があればそれを購入したい
>>548
LEDの足の方を加工するのですね 使い回しもできるし便利そうですね
長く使うものは半田考えてみます
>>550
ハンダって意外と簡単に取れませんか?単に下手なだけかもしれないけど・・・
>>549
ネオジムを近づけてみましたがくっつきませんでした
必ずしもこれが原因ではないかも >>559
マイコン関連スレや初心者質問スレでブレッドボード関連の相談の多くは
配線の不良によることが多いですね
あとブレッドボードの挟む力が弱い事での接触不良
気になる人は、サンハヤトとかのブレッドボードに単芯の電線で配線してるケースも多い
https://www.sunhayato.co.jp/material2/ett04/item_816
(俺は好きじゃないけど、このタイプは不具合出にくい) >>559
ブレッドボードの接触不良はみんな気にしてると思うよ。最近の中国製は特にね
だからブレッドボードもジャンパワイヤも安物を定期的に買い換えるか、少し高価なものを使う
接触不良を嫌って、試作もブレッドボードを使わずにユニバーサル基板にハンダして試作する人もベテランの人に多いし
>ハンダって意外と簡単に取れませんか?単に下手なだけかもしれないけど・・・
そんなに簡単には取れないと思うけど
よくある原因の1つは、ハンダだけ溶かして母材を加熱してない事が多いね
母材(LEDの足とか、ケーブルの線とか)をきちんと加熱してハンダを融着させないと、ポロッと取れちゃう >>559
その秋月のは自分も大昔に買ったけど使ってません。
頭が太くて横に並べて挿せない上に導線が腐ってる。
上に書いたコンタクトのオスメスを買って自分で作ってます。
使ううちに折れるとかなら別ですが、簡単に取れるのは間違いなく半田不良です。
折れるのは動く部分で、これは熱収縮チューブとかで補強すれば防げます。 接触不良は大抵ピンヘッダーがブレッドボードを痛めてる気がする
若干割高でも丸ピン使うべき >>543
手持ちのワイヤーを全部調べてみたら、磁石に付くやつ8割、付かないやつ2割ぐらいだった。。。
知らない方が幸せだったかもしれないが、知れて良かった。
相場に比べて異常に安い部品を買っちゃダメってことだね。 ジャンパワイヤが抜けやすいのはターミナルブロックで多少改善するかな ターミナルブロックも普通の配線を挟むだけだと、
いずれぐらついて抜けるよ。
配線をハンダで加工して固くすると抜けることが無い。
初めてなら入門キットで良いので、ハンダ購入が近道。 ポリスイッチってどういう場面で使いますか?電子工作ではあまり使いませんか? >>567
電源回りがちょっと寂しいなってときに使ったりします。 ブレッドボードでうっかり配線間違ってワイヤーの被覆を溶かした事がある様な人は
その時電源に直列にポリスイッチ入れとけばポリスイッチが発熱するだけで助かる そういえば、試作・実験のときにうっかり短絡したりしますね。そういう時に便利ですね
電源周りが寂しいときがちょっと分かりません・・・ ジャンパーピンって片付けた後にどこからか1本出てくるよね >>572
ある日いきなり足裏に刺さるまでがデフォ メロディーICを挟んどくのも、荒みがちな実験室がほのぼのする。 鉄より線はジャンパは、少しずつ破断してくるね
高いけど、サンハヤトの買っとこ >>574
今年最終の「採用したくなるアイデア」をありがとう! LED+RのRの抵抗値って、
例えば500mAのポリスイッチなら520mA流れる計算でいいの? 普通にLED光らせるときと同じように計算すればよいのでは。その場合ならIf=20mAで。ポリスイッチが働いたら非導通とみなして。 >>582
ポリスイッチ500mA
・トリップ電流
・遮断電流:40A ってのは
500mAぐらいの回路を保護したいんだけど、
さすがに1A以上来たら、ブチ切れるよ
40Aまではがんばるけど、それ以上はお漏らしするかも
って感じ ポリスイッチは、高温状態が維持されるから「切れた」状態が続いて、電流がなくなったら、冷えてまた導通する。
なので、普通のヒューズと違って、切れた状態でもけっこう電流が流れるよ。
ホールド電流はここなら切れない、という電流。トリップ電流は、切れる電流。遮断電流は、これ以上流せない電流。
あと電圧も制約があるから選択は注意が必要。
ホールド電流に関しては通常設計で流す電流よりは多めに選ぶ。
温度が上がって初めて「切れる」わけだから、温度上昇するためのタイムラグがある。
寒ければたくさんの電流を流さないと切れないし、暑いと小さい電流でも切れる。
でもポリスイッチの電流に過剰な期待は禁物。
https://www.mouser.jp/datasheet/2/240/Littelfuse_PTC_Rline_Catalog_Datasheet.pdf-1021735.pdf
たとえば RXEF010 ホールド電流0.10A トリップ電流0.20A となっているけれど、(P160 TableR3)
P167 Figure R15 (20℃での、電流と切れるまでの時間) の 線B を見ると、トリップ電流で切れるまでの100秒かかることになっている。
P158の Figure R1 の 温度依存性のグラフを見るとその電流も温度で変わることがわかる。
ポリスイッチは商品名だけど、これは「特別なヒューズ」ではなく「正特性のサーミスタ」と認識する方が良いと思う。 >わかりやすい
でも500mAの回路の保護に500mAのホールド電流のポリスイッチを考えなしで採用しちゃだめですよ。
どこのスレだったっけ。1Aの回路に1Aのヒューズを使う、みたいな話もありました。 >でも500mAの回路の保護に500mAのホールド電流のポリスイッチを考えなしで採用しちゃだめですよ。
すみません。ちょっと特殊な話なんで、撤回します。
通常は500mAの回路の保護に500mAのホールド電流のポリスイッチで問題はありません。 このサーキットブレーカーっていうのも、ポリスイッチと同じ特性?
ボタンが付いてるから、すぐ切れるのかな
https://aliexpress.com/item/1000005696145.html 瞬断っていうのは一瞬切れることだから瞬断とは言わないのでは >>590
「瞬断」は字面から個人が意味を自由に想像してはいけない言葉だと思います。
ttps://ja.wikipedia.org/wiki/瞬断
瞬殺は、相手を一瞬で殺すイメージで、相手は死んだままですが、
瞬断は、「瞬間」のあいだだけ切れて復帰する現象を指します。
サーキットブレーカーは切れると自分では復帰しません。
瞬間とか一瞬とかは言葉としてはあいまいだし具体的に何秒なのかは、時と場合でいろいろですね。
>>589の「すぐ」はどれぐらいを意味してるのかは、これだけでは分からないよ。
一般的なサーキットブレーカーなら、電流次第で秒オーダー以上の時間がかかって切れることもあるし。
「ボタンがついているから」は「すぐきれるのかな」という推測の根拠でしょうか。 言葉の定義の議論は色々ありますが、>>590さんありがとうございました >>561
ハンダ勧める人が多いけど、アポロなどムーンショットプロジェクトでも使われた
歴史と伝統のあるワイヤーラッピングってどうなんだろ?
ハンダよりも品質が安定して、簡単に解くことも付けることもできるらしい
実物見たことがないから分からないけど、ハンダを使わないでしたいとか
接触不良で悩むことも無くなりそう 「ワイヤラッピング」でggって出てくるwiki通りと思う 湿気と水没、どちらが腐食しやすい?
https://tsutsuik.co.jp/blog/20190610-865/
>鉄が錆びるということは、鉄が酸化して酸化鉄になるということですが、
>酸化に不可欠な要素が3つあります。水・酸素・塩分です。
>この内ひとつ〜ふたつの要素を絶つことができれば腐食を最小限に抑えることができます。
ブレッドボードとジャンパーピンの湿気から起因する接触不良は、
乾燥剤を入れた密閉された箱に保管しとけば、多少は防げるんじゃね?
ブレッドボードとジャンパーピンの形状変形からくる接触不良は、丁寧に扱うしかないか >>594
ディスクリート部品やピッチ変換基板のハンダ付けは必要だし、
ラッピングソケットをユニバーサル基板にハンダ付けする必要もある。
多層にわたった配線の、下層で変更が発生したら組み換えは容易ではない。
手動のラッピングツールでは信頼性は低かったし、
電動でも自動皮むきタイプでなければ作業効率は低かった。
自動皮むきタイプのビットと電動ラッパーを揃えようとしたら、
そこそのステーション型のハンダごてが買える価格になった。
今でもツール売ってるみたいだけど、めちゃ高いね。 >>594
抵抗器の足とかICやマイコンの足とかもラッピングするの? >>598
ワイヤーラッピングというものを見たことすらないからどうなのかと思って
ただ、くるくる巻いただけでハンダよりも信頼性が高い(宇宙船で使えるレベルに)とかあるし
ハンダのない環境でもし気軽にできるならいいと思って
>>597
インターネットが発達する前の話なのかほとんど情報がなくて
手動ラッピングツールどころか、道具使わずに巻く程度だと全くだめなのかね?
LEDの足とかに巻きつけるとかどこまで信頼できるんだろ?
あと画像見る限りどう考えても半田よりも信頼性低そうだけどアポロで使えるとか驚いた >>599
ワイヤーラッピングは線が食いつかないといけないから手巻きじゃちょっとだめだね 宇宙船のラッピングの必要性と、はんだ付けが下手なのでラッピングするのでは目的がちがう。 他のスレで紹介したばかりなので、既に見た人は読み飛ばして下さい。
> 私は「ラッピング配線ユニバーサル基板+ブレッドボード」で試作している。
> 回路に応じてラッピング配線を変更し、必要があればブレッドボードにも部品を取り付け、
> ジャンパ線で両者を接続している。
> ラッピングポストは秋月で売っているもので代用。
> https://i.imgur.com/AZ8eDU3.jpg
> 電源逆接続保護用にダイオードを入れ、5Vと3.3Vの3端子レギュレータを基板裏面に取り付け
> RS232変換ICとコネクタ、液晶表示器接続コネクタ、リセット回路、発振器、SW入力、LED出力などは作り付け固定
この基板はAVR用だけど、別にPIC用もある。
何事にも一長一短あるけど、このハイブリッド方式の最大の弱点は「QFPは面倒」かな。
接触抵抗の問題は感じた事が無い。 >>594
アポロなんて言ってないで現在はどうなのか調べた方がいいよ。
人口衛星の回路の配線を半田付けする職人さんの映像をちょっと前に見た記憶がある。
ワイヤーラッピングしている個所は見当たらなかった。 >>603
面白そうなので興味があるのですが、
ブレッドボードと比べたときの利点はどのあたりにあるのでしょうか?
実装密度とかモジュール化とか動作周波数とかかなと思ったのですが、
それらもブレッドボードとあまり変わらないような気がしたので。
ちなみにわたくしのラッピング経験は、30年ぐらい前に大学の授業で
TTL ICでCPUを作るときにやったことがある程度です。 ブレッドボードとジャンパーピンの相性が悪いね
ブレッドボードとピンヘッダはあんまり接触不良に遭遇しないわ
https://akizukidenshi.com/img/goods/C/C-00167.jpg
nRF24L01+モジュールとか、ブレッドボードでは動作しないのもあるから
そういうのに向いてるのかな。ハンダしたほうが早いけどw ラッピングみたいなムダに重くなるものは飛ぶ機械には向かないだろ しかしね、ワイヤラッピングを一度体験してみたい、っていう人がいたとして、どんな工具を勧めるのだろう。
試作屋さんのドアを開けたら、当たり前のようにブルルンカチン、みたいな音が満ちていた時代は、わりと安価なツールもあったのに。
Aliなら安いのがあるかな? インサーキットテスターのピン配線は、まだラッピングしてるのかな。 >>605
私にとっての最大のメリットは「作業時間の短縮」ですね。
ユニバーサル基板とブレッドボードを接続する線が長めになるので、そのへんが少し気になる。 >>606 ブレッドボード側はラッピングでは接続していません。
>>608 画像右端の手巻き用工具でやっています。
ではこれで。 >>608
vapeのコイルを巻くジグ流用できんかね
ちょっと太いけど 接触不良改善のアイデアひためいた
ブレッドボードの中の端子とジャンパーケーブルのピンのどちらか、
もしくは両方を磁力化させて、接触不良の解消を図る
・・・無理かなぁ >>613
スマホの充電ケーブルとか電気ポットに似たようなのがあるな。
磁化してるのは端子自体じゃないし、目的も違うけど。
昔はマイコンのそばに磁石を置くなんて怖くて考えられなかったものだ。
カセットテープとかフロッピーとかあったから。磁気バブルメモリは知らん。
でもスピーカーはわりと近くにあったな。 >>614
そう言えば、全部で3個持ってるスマートウォッチのうち、2つの充電器がマグネット式だな みなさん半田ゴテはどんなの使ってますか?
ぼくは中級者程度なんですが ベタな白光のFX-600の
スケルトンタイプと633ってコテ台です
割と気に入って使ってます >>616
中古で買ったFX-951と、補助的にFX-600
FX-951は満足感があるけどコテ先が高いのが難点。
いろいろ揃えたくなってFX-600が2本買えるくらい使ってる。 中華製T12-951はんだごてステーションのパチもん
https://i.imgur.com/b4x9bLz.jpg
右はT12-Kが付いてAliのセールで1007円だった。T12-ILSを245円で追加した。
左はこて先3本セットで1726円だった。OLEDになっただけで機能にほとんど差が無い。
ケースはプリント、電源はACアダプタ。現在はこの2本が主戦力。
907のこてが302円だったので、ぷろみにで制御部をつくった
https://i.imgur.com/mc0lRs0.jpg
ヒーターにこて先を装着するタイプは急激に温度が下がった時の反応が鈍かったり
機動力に欠けるので全然使ってない。プラ加工用のホットナイフに改造したい。
あとはしゅっ太郎先生やステンレス用のごついのたまに使います。 K型って使う? キットの付属何処もK型だったからそのままK型使い始めたけど
どうにも使い難くてILS注文した >>617
>>619
やっぱステーションタイプはカッコいいなあ
ぼくもコテ先一つしかないから揃えなきゃ…
>>618
この台良いよね…
コテを戻す時のジャキン!って音が気持ちいい >>620
俺はK型が一番使いやすい
周囲に聞くと少数派のようだがな T12-Kはいいよ、3ピンコネクタ同時に加熱できてスルッと抜けるし
両手持ちでsop8のICもはずせる。
PCのマザボからPowerMOSFETやインダクタコイルも取りまくり
細かい所はILS >>624
K型いいよね、俺は細かいところもKの先端でやっちゃう
点、線、面全部対応出来るので便利 デザインナイフとかに慣れた人ならあの形がいいのかも知れない
でも俺は0.5mmピッチをKではできないよ、他の所に触れてしまう
やっぱしILSに頼ってしまうわ
B型もあるけど出番なし、BC型推しの人はいたような気がする
中華こて先はすぐ劣化すると聞いてたけど、Auto Power Offのせいか半年使っても全然大丈夫そう
Dashの頃はつけっぱなしで2時間忘れてたとかよくやってリフレッサーのお世話になってた >>624
あーなるほど…
多ピンのはめちゃちゃ苦労してギッタギタに
しちゃうことが多いしすっごいイライラするw >>626
スルーホール部品メインならBC2が定番なんじゃないのかな。
0.5mmピッチだと細いのが欲しくなるけど、熱容量が小さくて使いにくくない?
どこかのスレではKかD24で引きハンダがいいという意見があった。 屋外に設置してるArduinoがどうも調子悪いんだ
I2Cで温度センサー(BMP280)つないでるんだけど、
温度データがとれない(ゼロが返ってくる)場合が多くなってる。
気温が低いと、I2Cが調子悪い、そんなことあるのかな?
気温は、−1℃ぐらい 気温差で熱膨張・熱収縮を繰り返した為に
接続部分が劣化して接触不良を起こしているとか? i2cのsdaプルアップ抵抗交換してみ
温度膨張率の差による電極剥離 I2Cモジュールってなんでそれぞれにプルアップついてるんすかね
Hostに1個だけあればいいのに
10kでプルアップしてるモジュール10個つけたら1kプルアップになるじゃないすか 他のノードにプルアップ抵抗が付いてない場合も想定して、全部に付いてるんでしょ?
だから個々の現場で、寄生容量を配慮して、不要な抵抗を外せばいい
足りない時に抵抗を追加するのは、場所的にも、コスト的にも、時間的にも、面倒くさい
https://www.macnica.co.jp/business/semiconductor/articles/analog_devices/127585/ >>633
10kΩでプルアップできてるのは確認した
チップ抵抗とかをグニグニいじってみても、特に問題なさそうなんだけどなあ
ちなみに、GAOHOUブランドの、GY-BMP280ってやつ
まさにこれ↓
https://okiraku-camera.tokyo/blog/?p=5291
(せめて、HiLetgoにしとけば良かったか?) >>638
プルアップ抵抗値測定したときの条件は正しいか?
測定温度-1℃かそれより低く
cpu電源ピンとcpuのsdaピンとの間で測定
念のため言うがプルアップ抵抗自体のピン間で測定するんじゃないぞ!w
現象再現してる状態で確認しないと意味ない お世話になります。最近arduino始めたものです。
初めての書き込みです。色々と調べてこちらに辿り着きました。怒られるのを承知で書き込みします。
SeeeduinoでパワーRGB LEDを制御したいのですが、できません。
arduino互換とのことでサンプルを元にプログラム&配線しておりますが出来ません
Seeeduinoにした理由はスペースの関係で小型のプリント板が欲しかったからです。
パワーRGBにしたのは発光量が欲しかったからです。
宜しければ参考になる、配線方法とプログラムを教えてください >>640
経験上、サンプルへのリンクとあなたが配線した現物の写真をアップするのが一番の近道です。 arduinoの3本のPWMピンをLEDのR・G・Bピンにつないで、各ピンをanalogWiteで調整するだけ
パワーLEDなので20mA以上流したい場合はトランジスタかmosfetが必要 >>641
それから回路図だな
>>642
そう、マイコンのポート直でLEDを駆動してるんだろうね 御指導ありがとうございます。そうです。直接繋いでやろうとしてました。色々と調べたのですがパワーLED RGBは自分には難しそうです。
ちょっと話はズレるのですが
パワーLEDRGBをarduinoを経由しないで、調光(グラディエーション)できる商品はあるのでしょうか? >>644
最終イメージが分からないからレスし難いけど、例えばアマゾンの↓こんなヤツをハッキングするとか?
/dp/B07TD28RBY/
https://i.imgur.com/bu2e5X5.png arduino関係なくなったのにarduinoスレに居座るのか… ここからどう再びarduinoに誘導するかがお前の腕の見せ所 最終的に比較して決めるんだろうからいいんじゃね。
パワーLED制御なら調光可能なLEDドライバーモジュール使うのが電流制御もできて安全。PWM入力で調光してくれるのもある。RGBだと3系統いるけど。 1個1円ぐらいのS8050買っとけばいいよ。700mAぐらいまで流せる
https://aliexpress.com/item/32693630867.html
3円でフルカラーパワーLEDが扱える
抵抗セットも買っとけ 222円
https://aliexpress.com/item/1005001954147571.html
トランジスタ・mosfetは覚えたほうが便利。そんなに難しくない 5V電源で350mA流す場合、R=6.6Ω/1W, G,B=3.8Ω/1W
3.3V電源では350mA流す場合、R=8.6Ω/2W, G,B=5.8Ω/1W
(トランジスタでは0.7V降下しG,Bが点灯しないのでAO3400とかのMOSFETで計算)
1Wのでかい抵抗も必要なんじゃないか
まあトランジスタ2個で定電流回路組めば1/4W抵抗でいいんだけどな たくさん解答や御提案を頂きましてありがとうございます。目がウルってきました。
3WのパワーLED RGBとseeeduinoを買ったのですが無駄にしないように頑張ります >>645
ここまでは不要なんです。3WのRGBなんです。 色々と勉強に、なりました。USBケーブルを切断してそこから5Vを取って、3WのLED RGBの青に直接接続したら、最初は良かったのですが、時間が経ってから壊れてしまいました。
シロウトに難しい_| ̄|○
間に抵抗を挟まないとダメなんですね 3Wだと全点灯で1A流れるから
500mAまでのUSB2.0
900mAまでのUSB3.0
どちらも壊れてしまうよ
USBポートがなんか調子悪いPCの完成 みんな最初は壊すw
失敗して痛い目にあって覚えていく 大いに失敗して学ぶべきだと思うが
経済損失は少ないほうがいい
100均で330円の5V-2.1A電源を買って実験すべき >>652
なぁんだ、3Wなの?
だったら、秋月で1個数10円のパワトラに、ベースとコレクタの電流制限抵抗を足して、あとはマイコンでPWM駆動すれば、安くできるじゃん
https://akizukidenshi.com/catalog/g/gI-10232/ ”LEDの制限抵抗など不要です”とArduino経典にでも載ってるのか >>658
発光と言う共通性だけから、(初心者の)質問者が、LEDも通常の電球と同じだと思ってるだけでしょ?
そう言えば、小学生のとき、電池と豆電球の平・直列接続の組み合わせ問題があったけど、あの豆電球をLED+抵抗にしたら、初心者でも、最初からLEDには抵抗が必要だって刷り込まれないだろうか? このパーツがあればできると回答してる奴が制限抵抗入れてないのが問題なんじゃね 初心者の方へ
偉そうに書いてる奴らも初心者の時は、何も分からない赤子のようなものだった
生まれたときから制限抵抗は必要だと知っていたかのように書いてるが、
中級・上級になってもそういう人間になってはいけない オームの法則すら知らないのがうようよいそう.
巣から出ないでくださいね. 会話して詰めれば良いことだからなぁ。回答する側としてはデータと要望はきっちり出してくれないと答えようがないけど。機能が欲しいのか部品を使いたいのかとか。
質問者そっちのけで長々書くとノイズにしかならんしな。 >>663
初心者熱烈大歓迎スレですよ
あなたみたいな人間がここにいたらストレス溜まるでしょ?
初心者に余裕のある対応が出来る人が質問に答えてくださいね
ここは知識披露や知識自慢をスレではありません 確かに、どや顔で簡単にできるぜって言ってる奴が、重要なパーツ忘れて、
案の定、初心者が同じ事情でLED壊してるってのは危惧すべきかも知れんね。
俺がArduinoとブレッドボード手に入れて最初に作ったのは、
LEDに抵抗つけて熱圧縮チューブでシュリンクしたものだったよ、今でも頻繁に使う。
そういうのがスターターキットに付いてたり、入門ページで最初に作れと書いてあるといいな。 そこまで手鳥足取りしない方がいい
LED程度の段階で一回壊しとく方がいい 俺の場合は小坊のころ目の前で導線の被覆がワラワラと融けていくのを見て
ちゃんとやらんと電気って怖いなと身についた 質問です。
リチウムイオンバッテリーで3.3Vのプロミニを動かしたいのですがVCCに直接バッテリーを繋いでも大丈夫でしょうか? リチウムイオンは満充電で4.2Vだからダメ!
3.3Vレギュレーターのレギュレーターを間に入れて! 電気的にプロミニが破壊される事は無いが
バッテリーに保護回路が付いてないと大丈夫じゃない
あと3.3Vで16MHzは保障されてないので8MHz版にしたほうがいい
俺の328U-PHは3.3V-16MHzでも動作してるけど無保証 3.3Vのプロミニか、8MHz版しかないよな
大丈夫じゃね もし、そのまま3.3Vのセンサーでもつなげたら・・・ダメ! こういうホビー向けのマイコン基盤みたいな奴は、昔は日本も得意だったような気がするけど、
最近はもうNECも日立も東芝も余裕がないのかね?
オープンソースもそうだが、日本発がないのはさびしいよねえ(イチゴジャムぐらい?)
割と経済でもテクノロジーでも落ち目だったはずのイギリスやイタリアにも負けてんのはちょっと
がっかりだよ。 日本の半導体事業はアメリカに叩き潰されたからな
自動車産業は生き延びた 日本で5000円のボードキットが、深圳じゃ200円だ 日本で1年かかる製品が、一月かからず店に並んで、価格は10分の1 >>677
バカか
自動車もEV化では世界の最後尾で、投資家には相手にされていないんだぞ。 Tsla Li Nio Xpev などなど
EVベンチャーの株価総額で、日本の自動車産業の総額超えとる 国策でガンガンEV奨励してるとこと、内閣が老人ホームと化してるとことの違い
10年後には国内自動企業の多くは中華に買収される >>681
当時の話だバカ
知識披露はブログでやれ >>681
それな
最近の日産セレナのCMは音楽入れる金もなくなったみたいでナレーションと映像だけになってて草枯れてもうた >>683
観光族ジジイの二階の指示で、菅・加藤・西村の三馬鹿ジジイがコロナ感染拡げちゃったしな
これじゃ、東京オリンピックも幻と化すのは確定だわ
まぁオリンピック村を感染者隔離や治療に使えば、少しは役立つか? >>687
実際、ドイツのメルケル首相は、物理学の博士号持ってるからね スミマセン、教えてください。
書き込み済みのpro microから、中のプログラムを取り出すことはできるんでしょうか?
中華製のusbハンドブレーキが壊れてしまい、中を見るとホールセンサーとpro microで制御されていました。pro microに書かれたプログラムが分かれば自分で修理できるかも?と。 >>692
読み出すにはAVRリーダ/ライタが必要なので専用の機器かもう一台Aruduinoがあって、
Pro Minのヒューズが読み取り不可に設定されていなければICSP経由で読み出せると
思うけど
EEPROMの呼び出しとかで検索すると色々出てくるよ
あと>>669と同じ人ならば、VCCにリチウムイオンをつなぐのはダメだけど、RAWって
ピンにつなげばLDOを経由して3.3Vが電源として供給できるはずなんだけどな
Pro MiniはSparkfunのArduino Pro Mini 328 - 3.3V/8MHzのことならば次のURLで
https://learn.sparkfun.com/tutorials/using-the-arduino-pro-mini-33v
Poweringって項目に3.3V以上ならRAWピンにつなげって書いてある
ただし、これは本体の動作のためなので、ICSPの接続の場合にはICSPの接続元から
3.3Vを取り出して接続する必要があるよ >>693
>>694
御回答ありがとうございました。
吸い出しは不可能では無いんですね。それが分かっただけでも良かったです。
おかげ様で内部プログラムと思われるコードが海外のフォーラムにあったので、それを流し込んで無事に直せました。お騒がせしました。
あ、私はリチウムの質問をした方ではないです汗 もうそんなになんのか
趣味でやってるなら意地を張る必要も無いし好きなボード使えばいいんじゃね
俺はESP32もSTM32もG552も使うけど、
買ってきたモジュールやデバイスの動作確認にはNANOよく使うし
Tiny13/44で何かする時NANOで開発する事が多いわ
FMラジオとか簡単なものなら省電力でOLEDも使えるpro-miniとか候補にあがる
最初に買った中華UNOはMPUはぎとられれてジャンク箱だけど
NANOやPro-miniの在庫がいっぱいあるしなあ Nano使いやすいよな。俺もNanoがブレボにずっと刺さってる xiaoもパワフルで好き
ピン少な目だけど足りなくなることは余りない いつのまにかCortex-M4F搭載の新型Nanoが出てたんだな
Cortex-M3のDueは浮動小数点が遅くて微妙だったがM4Fならいろいろ楽しめそう >>703
NanoだとTennsy 4.0と同じような価格だな
Tennsy 4.0ならCortex-M7で倍精度浮動小数点にも対応してるぞ
FlashもRAMも多いので漢字のフォントなんかもFlashに入っちゃう AWGをみていてふと思ったのですが、
American Wire Gauge (AWG) はなぜ対数での表記なのでしょうか
普通にミリメートルやインチ単位で表記したほうが簡単そうですがどんな意味があるのでしょうか? >>704
ちょっと調べたが動作周波数が600MHzもあるのか…
GPIOもかなり速いみたいだから高速ADCを繋いでSDRを作るのもいいな
問題はタイマーや通信系がうまく使えるかだろうな 初めてArduinoで何か作りたいんですが、
電子工作に役立つようなツールを作りたいんですが、
何かお勧めありますか? 最初にオススメなのはISP_Writer
スケッチ例にArduinoISPがあるからそれをNanoとかUnoに入れるだけ
あとはソケット類との配線、これがあるとTiny13/44/85とかも読み書きできるよ
右のやつは12Vでチップリセットできるよう少し改造したもの
https://i.imgur.com/TuPKeXL.jpg
あとはリモコンのコード解析機、スケッチはどこかに転がってるとおもう
赤外線受光とリモコンのセット 150円〜
https://aliexpress.com/item/32980564005.html
これは必要になったら組み立ててるなあ
他によく使ってるのが、AD9833モジュールでDDS信号発生器、270円〜
https://aliexpress.com/item/1005001387313547.html
オーディオ装置や自作フィルタ回路のチェックとか作っておくと結構出番がある
モーター使った電子工作が多いなら回転数計る装置
高周波方面なら周波数カウンター
温度や電圧をロギングする装置も自作装置の動作監視にいいかも知れないが
それぞれ専用の測定器なり使ったほうが良い結果が得られると思う >>708
詳しい解説ありがとうございます。
でも初心者なので良く分からないのですが、
ISP_Writerと言うのはAVRに書き込むツールですか?
もしそうならUNOのICソケットに挿して書き込むのと同じですか? >>705
等比数列のラインナップにしたときに、インチやミリ単位だと、
必ずキレイじゃない数字のオンパレードになるからかな。
E96の抵抗値の番号表記は便利ではないけど、これは抵抗値を設計でも
回路の読み解きでも実際に使うしね。 麺の細さもゲージじゃないけど、一定間隔に何本入るか?であらわす。 Arduinoでトレイルカメラ的なものを作るのは可能でしょうか?
・モバイルバッテリーか充電池で動作させる
・人感センサーを使い、センサーが反応した時間を記録する
・その記録を電波で飛ばす(なるべく長距離。可能なら500m超)
・電波を飛ばすのは特定の時間帯だけとし、数分おきにデータを飛ばすことで
バッテリーの消耗を遅くする
・記録をスマホで受け取る >>713
素早い回答ありがとうございます!
知識が無いのでESP32-CAMの商品説明を読んでも正直チンプンカンプンですが、
カメラとセンサーがあって電波が飛ばせるのは何となく分かりました
作れることが分かったのでこれからArduinoの勉強がんばります >>714
老婆心ながら、どんどん買ってきてさっさと人様のスケッチ走らせるが吉よ >>715
欲しい物が作れる、ゴールがある、と分かったのでモチベーション上がりました
モノが予想外に安くて驚いてます。5000円は覚悟してたのに1250円て・・・
失敗して壊しても財布に優しい値段なのでチャレンジしやすくて助かります >>716
500m超は別にしてその他はまず確実に実現可能ですから
まずは実践、をお勧めしますよ Raspberry Pi+Webカメラ(USB)で、「motion」を使えば、似たようなものが作れるが、
これは、コストが段違いに安いな。
(ラズパイだと電源問題もあるし)
いい時代になったものだ 以前、Orange Pi Zero + Webカメラ で作ったわ。
質問者さんの当初の予算ならお釣り来るね。
逆にESP32-CAMではモチベーションが上がらんw スマホ使えば500mとかケチなこと言わずに飛ばせるよね。 >>721
スマホでトレイルカメラ作れる?
センサーつながる? Arduinoのセンサーで得た情報をスマホで飛ばすってことでしょうか?
野生動物の調査の為、複数箇所にトレイルカメラを設置したい→単価を抑えたい→自作
山の中に設置してそこから道路まで数百メートル飛ばせれば見回りが楽かなぁという考えだったので、
長距離飛ばせるのは非常に魅力的ですがスマホ複数台は価格的に無理そうです・・・ 数百メートル必要ならモバイル回線がないと無理だろう 100m以上無線で飛ばすとなると技術的には可能でも法律的にNGだから難しいね
レーザー通信なら500mいけそうだけどロケーション考えると設置が大変そう ぼくは今だにXbee使って1km弱飛ばしてる…
ネットワークも作れるよ 法律の問題もあるんですね・・・
少し調べてみましたがアマチュア無線の免許を取ったところで無理そうかな
設置箇所を道路近くに絞るとかで何とか工夫してみます 今回の話題だと接続はこんな感じ?
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周するのにどれだけの時間がかかるんだろう。 おもしろいぞwもっとやれ
>>816は、
「できるだけ自力で解決するようには心がけてきたのですが、」
なんて見え透いたこと言わず正直に
サボってて無勉強ですが、なんとか明日の宿題を誤魔化したいんです。
とかのほうが良かったなw
区間幅を決定するための要素を見つけるために、多変量検定するってのはどうだろう?
ポインターへのポインターみたいになりそうだけどな え、なんかめっちゃ宿題だと疑われてますね
紛うことなき本心なのですが
まあおかげさまでおおよそ解決したのでもう大丈夫です
>> 823 825 827 828 829 830
皆さんお手を煩わせてしまって申し訳ありません
大変助かりました、重ね重ねお礼申し上げます
>書籍の名前をなんで書かないの?
もし書いたら実際に書籍を確認までして回答してくださったという事でしょうか?
そうであれば失礼しました。
まさかそこまでしてくださる方がいらっしゃるとは思わず書かなかった次第です >もし書いたら実際に書籍を確認までして回答してくださったという事でしょうか?
>そうであれば失礼しました。
そやで。
仮にその本をもってなくても、いまどきは書籍のサポートページもWEBサイトにあるし、
どういうテーマで書かれているかとかがわかれば、対象のアナログ信号が何なのかも類推できることもあるし。
今回は>>823さんに感謝。っていうかKY039で調べるぐらいはするべきだったかな。
質問する人は、自分が知ってる情報が回答者に必要かどうかがわからないことが多い。
だからこそ、自分で必要かどうか決めないで、どんどん出してほしい。 ArduinoにスイッチやLED等つないで工作してあり、USBから電源を取っています。
このシステム全体の実際の消費電力をテスターで測ってみたいのですが測る方法はありますか?
USBに挟む電圧チェッカー(?)みたいなの売ってるみたいですがせっかくならテスター使ってみたく・・・ 簡易的なら100円ショップでUSB延長ケーブル買ってきて
適当に真ん中あたり被覆むいて電源線を切断して電流計を入れる arduinoって電源ラインに抵抗が入ってなかったか?
そこにテスター当てれば測れるかも >>804
geeetechのVS1053B Stereo Audio MP3 Player Shield ですか?url読めませんでした。
チップ抵抗みたいなのがついているので、avr-->sdは分圧か電流制限抵抗つけてるのでは? 前から思ってたけど、この手の基本的な知識に乏しい質問者って
「Arduinoで○○したいのですが」とほぼ意味の無い事書くよな
ArduinoスレなんだからArduinoで何かやりたいのは当たり前で
NanoとかEveryだとか32U4とか具体的な機種名出さない
そして具体的なコード求める >>835
usbケーブル割いて電源線切って
そこにテスター挟めばできる
テスター次第だがmA単位測れるものならok
ELPAとかがテスターにつながるICクリップ売ってる、これ使うとかんたん >>836
>>840
手近に余ってたケーブル切って測れました!
ありがとうございます。 イーサネットシールド2をメルカリで買ったんですけどMACアドレスのシールがついてませんでした
調べる方法ってありますか? MACアドレスなんて同じネットワークと境界のルータから見て一意なら困らないんだから自分のネットワークに存在するMACアドレス調べて適当に決めれば実用上はまず困らんぞ。
前のモデルではMACアドレスの指定無かったぽいし Windows updateしたら再起動の度にDigisparkが不明なデバイス扱いされるようになった
刺し直すと認識されるようになるんだけど ルーターの管理画面やログでMACアドレス見れるけどそれじゃダメなん? >>850
此方もmac不明のシールドはルータで確認してたね >>846
もう答え書いてあるけど
ethernet shieldでmacアドレス付いていない奴は
自分で好きな値設定したらいい。
ttps://ht-deko.com/arduino/shield_ethernet2.html
あたりとかに例が出てたよ。
で使うmacアドレスだけど個人的にOUIを持っている人は少数派だから正しくやるならローカルユニキャストmacアドレスを指定すればいい、例えば分からなければ
06-00-00-00-00-01
とかでもいいと思う。複数台使うなら末尾の数値をインクリメントしていきゃいいかな。 使ってないpcとか壊れたLANカードのアドレス書いておけば良いと思う MACアドレスは必要とあれば、Microchipから1つ単位で買えるしね。
実験だけなら、ネットワーク内で重ならない適当なものを選べば。 法律に縛られてるわけじゃないから好きな値を使えばいいんだよ
ルーター越えると意味を持たない極めてローカルなものだし
発行した年月日埋め込むのがオススメ 家から200mほど離れたところにある温度をリアルタイムで家のPCに表示させたい
この場合、どのような方法がオススメでしょうか?
当初、家のPCにArduinoとUSBをつないで、そこからLM35までケーブル(余っていたLANケーブル)で
繋ごうと考えたのですが距離がありすぎて誤差が発生して微妙でした 予算は?離れたところの電源は?
途中の経路は住宅街?田畑とか?
ぜひ、ドコモのIoTプランの人柱になってくれw >>857
単に導線の抵抗が問題だとしたらオペアンプ一個で解決すると思う
テスターで図った場合は正常値だったりしない? LANケーブル引けてるならPoEでPCでも何でも使えると思うよ。 あっちで電源が取れるならArduino設置してRS422/RS485通信が現実的じゃねえかな >>866
王道はそれだろうな。
ただ目的が低頻度温度測定ならonewireもいい。安いし。
気象観測で実績もあるので、屋外用センサユニットも色々ある。 422とか485なら信号に電源乗せてセンサー側で電源取り出したらトランスかなんかでDCカットしちゃえば2線で電力も供給できるよ どうせお遊びなんだから1日でも動きゃそれでいいでしょ
経年劣化もカミナリもないものと見なせばいい >>870
pcにつなぐならそうもいっておれん
これくらいはしたほうがいいかも。
http://pond.gladstonefamily.net/surge-protection.html
もちろん落雷には対応無理。
コンセント用サージプロテクタでもいいかな? >>871
wwwwww
ついでに宇宙線対策もしとけ >>872
arduinoから無線ならなんかあっても大したことないから良いかもな。 十分にノイズ対策と電圧調整した5Vがあったとして・・・
それを+5V端子に入れてADCのリファレンスをinternalにしたときと、分岐させてリファレンス端子にも入れてリファレンスをexternalにしたときってADCの値などに影響するのでしょうか?
(どっちがよい?) 質問なんですが、
Arduinoのチップを買っても、自分でブートローダーを書き込む必要があるんですよね?
ブートローダー書き込み済のチップも売っているようですが。
そんな面倒な事せずに、メーカーは最初からブートローダーを書き込んだチップを製造すれば
いいと思うんですが、どうですか? >>877
ブートローダーが要らない用途には単なるメモリ食いだとか、書き込み工程が余分にいるとか、アップデートサポートが面倒、ユーザーに書き込んでもらえばよくね?とか。 >>877
>メーカーは最初からブートローダーを書き込んだチップを製造すれば
>いいと思うんですが
製造すると言うより、「書き込んで売れ」って話だよね。
Arduino ユーザーの割合なんてそんなに多くないだろうし
そのためにチップのコストアップになるのは無駄じゃね?
ちゃんと公式の書き込み手段もツールもあるんだから本来はそれを使うべき。 Arduinoのチップってなんや
AVRなどの汎用マイコンのことか?
それならそれはArduinoのチップじゃない
そもそもArduino専用のチップなんて存在しない
汎用のマイコンを使って作られた製品だ Arduino使いたいなら書き込み済みの高いチップを買えばいい。
書き込みの手間がかかってるんだから高いのは当たり前。 >>878
解説ありがとうございます。
>ブートローダーが要らない用途には
そう言う用途があるんですか。
知らなかったです。勉強になりました。
でも、その場合、どうやってブートするんですかね? >>882
AVRならリセットで普通に0番地から実行される(だっけ?しばらくやってないので忘れた)から、そのように書き込めばいい。
そもそも、ブートローダーはブートローダー無しでどうやって立ち上がるのか? >>882
ブートローダーは言ってみれば自身に対する書き込み機プログラム。
だから外部の書き込み機から書き込むなら不要だし、シリアル通信でサクッと書き込みたければ必要。ただしarduinoのハードのようなusbシリアルインタフェース付きボードなどが必要。
https://synapse.kyoto/tips/bootloader/page001.html
こちらとか読んでみて。 >>884
情報ありがとうございます。
昨日からArduino始めたので何にも分かってませんでした。 イーサネットシールド2も4日くらいで通信が不安定になるような
ソフトリセットじゃ改善しない不具合みたいなのがあったような…
ウチのも5分毎に通信するのが不安定になるから日付変更でFET使って
物理的にリセットかけてる… >>885
(こないだの宿題学生さんかな?w)
Arduino=特定のICチップというものではない、
と最初に理解しておくのは大事だな
いずれ、
ARM系でも、Arduino IDE が使えたりするのはなんでだろう?
とかにも疑問を持ってくれ 「トヨタ車買ったんだよ」と言ってるおっさんと一緒
カローラなのかレクサスなのかまったくわからない 車種によっては取り付けできない部品もあるだろ
カローラって今もあるの? Raspberry Pi Picoも、Arduinoになるもんなwもうわけわからん ATTinyCore更新したらAT90S2313用自作パッチが消えてしまったでござる
Gitとforkしたら取り込んでくれるかなあ
でもその労力考えたら毎回パッチあてたほうがめんどくさくないような
日本人はあまり見かけないけど公開ライブラリのforkとかしてる人いる? arduinoのプログラミングは
main()を使う書き方と使わない書き方があるようですが、
なぜですか? いやmainは全部にあると思うが… 例えば使わないやつってどれ?例を示してみ setupとloopを使ってmainが隠れてるパターンを使わないと言ってるのかな
何もかも自分でコントロールしたければsetup/loopを使わずに自分でmainを書けば良い
普通はそんな必要ないからArduino作法に従って準備されているmainから自分で書いたsetupとloopを呼び出してもらう Arduinoをはじめよう、最初にLチカやってみようで
ArduinoIDEに最初から入っているスケッチ例のBlinkを読み込むと
setup()とloop()だけでmain()は無い、他のスケッチ例もmain()は無い
他のプログラミングに慣れた人は最初はこれに戸惑うかも知れないね >>898
mainがあろうがなかろうが、
セットアップとメインルーチンの概念はあるわけで、面食らうことなんてあるん?
ループ構造がなければsetupをmainとすればいいだけ。 main()はプロセスが終了してOSに制御が戻る事を前提にしているが
loop()は戻ってこない、というか戻るべき場所は無い
将来ブートローダーが進化してプロセスの並列化やタイマー起動などをサポートすれば
戻るという事が重要になるが
そういった概念で設計されているのだと思う >>900
戻る場所か。
arduinoは電源オフ(コールドスリープ含む)しかないな。 まあ、少し他言語の知識があるやつなら、
ああ、どっかのmain()が呼び出してくれてるのね。こりゃ親切なことで。
ってすぐわかるだろけどね。
ただ、本当に、Arduino IDEで、プログラミングを習い始めました
って場合は、main()ってなんすか?
「VisualStudioで、C#プログラム書けます!(キリッ)」ってのも、
実は、main()どころか、WinMain()なんて深い海の底だろうね
面倒なことが隠匿されているのは、どっちがいいのやら スタートアップルーチンが何呼び出すかだけの話でしょ 気になったので、opti boot.cみてみた
void appStart() {
watchdogConfig(WATCHDOG_OFF);
__asm__ __volatile__ (
#ifdef VIRTUAL_BOOT_PARTITION
// Jump to WDT vector
"ldi r30,4\n"
"clr r31\n"
#else
// Jump to RST vector
"clr r30\n"
"clr r31\n"
#endif
"ijmp\n"
);
}
ユーザーアプリにjumpしてるだけだぞw
ブートプロセスが引き継がれてそのまま実行されていました。 俺は、jumpなら「制御を移す」、callなら「呼び出す」って言い分けてるから
お前ら見るとすごい違和感感じるわ >>902
他の言語ったってC系だけじゃね?
BASICもFORTRANもPascalもLISPもHaskellもJuliaもFORTHもPerlもRも。
nimはC系だけどmain()使わない。
Rust と Go は使うか、C系だな。
Pythonは習慣的にmain()使うけど必須でもない。 >>907
そうだな
訂正
「フォームアプリケーション(.NET)」ばっかり作ってると
main()なんて意識しないよな、ってことで 俺はスタートアッププログラムがsetup()をコールして、その後、loop()にジャンプ
になっていると妄想していたんだよな。
で、main()を使う書き方があるって初めて知って、なんか妄想と違うなっているんだけど、
main()を明示的に書かない場合の
setup()、隠れたmain()、loop()の呼び出し関係ってどうなっているんだ? main.cppってのがあってmain関数の中でsetupを呼び、for(;;){}内でloopを呼んでる
IDEから上手く使えるのかわからんが、main.cppをスケッチにコピペで追加してserialEventRunの行を削除したらコンパイルは成功するな マイナーなArduino互換機使ってるとArduino coreやライブラリのソース見ないと
使い方すらわからなかったりするけど、みんなソースみたり
grepで検索したりしないのかな? Arduinoではないけど発売されたばかりのRaspberry Pi picoなんかも
SDKのリファレンスがあまり詳しく書いてないのとまだ情報が少なすぎて
ライブラリのソース見たり、grepで検索したりしないと使い方わからないこと多いね UNOでattachinterruptを使うとバタバタ呼び出されまくって使い物になりません。
周囲のノイズを拾うのでしょうが、HIGHと認識される電圧はどの程度のものでしょうか?
非常に低電圧でもHIGHと認識されるようですが・・・ PIN2に何も刺さない状態だとバタバタしないのですが、10cmの導線(終端は開放)をつないだ瞬間バタバタします どなたか検証できる方がいればお願いしたいです。
私のUNOが壊れているのか・・・ >>914
High / Low の識別は電源電圧の 1/2。
ピンにプルアップ指定するか、外部に抵抗付けろ。 >>914
抵抗でもバタバタが収まらなかったら
0.1uF(104)-10uF(106)のコンデンサをパラで入れる
値を変えながら試す >>915
なんでわざわざノイズ拾いやすい状態を作るんだ >>918-921
解答ありがとう、参考になりました。
ちまちま試してみます。 >>910
loopの変数スコープには最初少し悩んだ。明示的にloopがないので、loop()内で宣言した変数が毎回クリアされそうでstaticつけんでいいのか?とかw >>924
この世にはローカル変数を使わず
グローバル変数だけを使う人が存在する >>925
グローバル変数使うなら問題ないと思うけど。
setup() で初期化して、loop() で使うんでしょ?
>>923 は loop 内のスコープを気にしてるんだよ。 >>924
いや、普通の関数だと呼び出すたびに変数内容はクリアされ、初期値があればその値にされるでしょ?
loop()という見た目関数なのもそうなのかと。
loop(){
int x=1;
hogehoge();
}
は、
int x=1;
while(1){
hogehoge();
}
なのか、
while(1){
loop();
}
loop() {
int x=1;
hogehoge();
}
なのか
実際の動作は前者ですよね? >>909
>main()を使う書き方があるって初めて知って
俺も知らんかったw
たぶんここ見ている人の7割は知らない。 >>927
あれ?ぐぐってみたら後者だとされてるな??
なんで俺のスケッチ今まで無事に動いてるんだ?? >>930
理解した。
なんか他のバグで勘違いしてただけなんだろうな俺。
今までうまくいってたのはloop重ねるごとに保持してほしい変数はたまたまglobalにしてたんかな。
お騒がせした&恥ずかしい 今まで気にしてなかったけど
loopの中で
int i;
i++;
でシリアルに出力すると延々と1になるな
staticを付けるとカウントアップする
mainでloop関数が繰り返し呼び出されてるから当たり前なんだが、なんとなくloopの最終行の後に最初の行に戻るようなイメージが頭の中に出来てた >>932
auto変数の初期値はCの仕様上不定だけど
0に初期化してくれてるんだろう。
でもそれを当てにするのは間違い。 >>933
loop内で初期化したらstaticの有無の差を確認出来ないから初期化してないだけだよ オレはloop()の中でfor(;;)で回してたけど、
>>911 を見ると serialEventRun を呼んでるから良くないのかもね。 使用時間を保持したいです
PCでクリスタルインフォを使うとHDDやSDDの稼働時間が見れますが、あんな感じです
一定時間ごとにeepromをカウントアップすればいいと思いましたが
もし万一eepromへ書き込み中に電源が切れちゃった場合どうなるんでしょう?
書き込みはキャンセル(その分カウントされないので誤差になる)?消えてしまう?
宝くじや飛行機事故に遭う確率より低いとかなら無視して大丈夫かなと思いますが… >>936
キャパシタとかかまして
外部給電が切れたら書き込み終えて終了するようにする?
または2セット交互にチェックサム込みで書き込んでやるとか。
今どきの内蔵EEPROMって、書き込み回数どれくらい行けるんだろ? >>936
mktemp(3) を使って二重化する。検索するとなんなりと出てくると思う?
復帰時にそれなりの作り込みが必要だったり、テストする環境を作るのが面倒
だけど、完璧に実現することは出来る。
>>937
> 今どきの内蔵EEPROMって、書き込み回数どれくらい行けるんだろ?
以前、ここでだと思うけど一生使っても使い切れないとの計算が出てたような。
秒単位で書き込みとかしてれば別だけど、普通のログなどのように10分単位、1時間単位
だと問題なかったはず。 >>936
eeprom更新は消去(0xffにする)書き込みといったフェイズで行われます。
途中で電源が切れると消去の状態で中止になる場合が考えられますが、
人間の感覚でいうととてつもなく速く行われるので
その確率は万が一でもなく、億が一でも無く、それ以上かと。
それでも慎重に扱うデーターはチェックサムを付けて、それが正しいデータであるか検証します。
また、データエリアを10個用意して順次書き込みを行うと、
EEPROMの寿命を延ばすと共に、正しくないデータがあった時に1つ遡れば大きなデータ喪失を回避できます。 >>938
それでも例えばATMegaので10万回、一年もたせたければ5分に一回以上は書き込めない。頻度によってはSSDみたいに書き換え場所まんべんなく使うとかしないといけないかもね。(実際にはもっと持つんだろうけど)
増える一方の累積稼働時間なら>>940みたいに10個と言わずEEPROM全域にチェックサム込み変数とって、最初に全て0クリアして、全域調べて一番小さいデータ領域を書き換える、値利用時はチェックサムあってる一番大きな値を使う、とか? >>942のサイトからまぁ2000万回として…
同じアドレスに10分に1回保存したとすると常時稼働で380年しか持たない いや、エンジンオイルだ
>>942
しかしすげえなPIC
だがPICでarduinoってあるのか? PIC32MX
わざわざ使う価値があるのか疑問な代物だが 同じMicrochipのSAMならArduino公式や互換機にもたくさん採用されてるね
SAMはAVRとどうように旧Atmelがやってたものだけど >>876
回答いただけなかったのでコチラほかで聞いてみます。 ラズベリーぱい ぴこってそのうちarduino IDEで書き込めるようになるんでしょ?
使うのはそれからでいいやね。 arduinoをwebサーバー化したらどんなセキュリティ対策が必要でしょうか?
17歳JKです やさしく教えて下さい >>951
サーバの機能と情報の価値によるね。
arduino + sdカードリーダでhttpサーバ作るとして、限定したリクエストのみに応じて特に機密性の無い定形ファイルの内容を返すだけの機能しか実装しないのか、本物のhttpサーバ同等の機能をもたせ任意のスクリプト実行できて扱うデータに貴重なものがあるのか。 PICO太郎のせいでうかうかしてられないなライバル出現 RP2040搭載のArduinoが出るらしいが
Raspberry Pi picoでArduinoが使えるとは誰も言ってないからね
AVRだってブートローダー焼かないとArduino使えないんでしょ?
ArduinoからRP2040搭載ボードが出るとしても
Arduino価格で3000円くらいはするだろうし
picoで簡単に動くようにはしないと思うけどどうなんだろうね ブートローダー書き込めば使えるでしょ。CPUだって特別なものじゃないし。 基板にセキュリティチップを載せて公式基板以外では動かなくするとか? >>951
arduinoで大したことできないからセキュリティいらん はじめまして。
今年から電子工作を始めようと思っている者です。とりあえず何かを作ってみたいという気持ちだけはありますが、調べようにも右も左も分からない状況です。全くの素人は何から情報を得るべきでしょうか?まずは広く浅く知識をつけて作りたいものを考えたいと思っています。よろしくお願いします。 >>960
エレキットとかみたいな、組み立てるだけから始めるのもあり。 Arduino で何かしたいっていうのなら、Arduino スターターキットで始めたら?
電子工作したいなら>>962の通り。
工作例はwebでもYouTubeにでもたくさんあるよ。 >>960
温度計・湿度計付き時計とか作れば
LCD、OLED、7seg等、表示器を変えたりしていろいろ学べる レスありがとうございます!
エレキットですね。購入します。その他に教科書的な物でおすすめがあれば教えていただけないでしょうか? >>960
工作を楽しむか、モジュール+プログラムで遊ぶか、で違うかな。
arduinoにこだわらず電気工作なら他の人おすすめのエレキットとか。
arduinoとの組み合わせなら、まずは単体で動くLチカ、つぎにライブラリやサンプルがついてるシールドやキットの類を買って遊ぶ。
こういうのとかいいかも。
Grove Beginner KitでのArduino入門
https://lang-ship.com/blog/work/grove-beginner-kit-01/
上のようなkitで慣れてからそれを自作に置き換えるのがいいかな >>966
レスありがとうございます!
作りながら知識をつけていく感じでしょうか。手頃なキットを探して早速1つ作ってみようと思います。ありがとうございます。 seeeduino XIAOの話できるひといる?
電源をUSBコネクタ経由かピン経由にするかで挙動が変わるんだが
何か情報ないですかね >>968
まさにこれからピン経由で電源取ろうとしてた。
具体的にはどう変わるの? >>968
以前試した時は特に挙動は変わらなかった
もうちょっと情報がないとわかんないと思う 回路図を見てみた。
5Vピンから給電するとUSBhubに給電されないから
serialが使えないかも >>973
そのシリアル、USBに繋がないと使えんし、繋いでいたらUSBから給電されるからいいのでは?
というか何が問題が言わずに情報収集ってどーよ? すまん途中送信してしまった
IRremoteでリモコンのボタンを押したらLEDをON/OFFしてるんだけど
USBでPCにつなげた状態だと確実にON/OFFできるんだけど
いざピン経由で電源につなぐと3回に1回くらいしかON/OFFできない 電源がおかしいとか?
USBからバラ線で電源とってVinから入れたら動いたりして 電源は他に乾電池とUSB充電器試したけどUSB経由だとちょっとまともになる(反応が2回に1回くらい)
なのでUSB-Serial絡みなのか?と疑ってるところ
スケッチ内ではSerialは使ってない 3V3の電圧をUSB給電の時と外部給電の時で計測してみては?
電圧が変わるとクロックが変化して38KHzが正確じゃなくなるのかも NEC方式か、AEHA方式かわからないけど
単位時間 T がギリギリなんだと思う
安ものリモコンだと、けっこういいかげんだからな
給電によって、微妙にずれるのかも
ライブラリに、単位時間 、3Tとか8Tとか、微調整できる変数はないか? PIN経由の電圧足りないんじゃない?
俺の中華ESP32もUSB経由で給電してるとちゃんと動作するけど
3.3Vや5VPINから給電すると無反応で
3.3Vにリポバッテリーで3.7Vかけたときと5Vに5.5Vくらいかけてやったらちゃんと動作したよ その5V外部電源がどんなものか次第かな。詳細を書いてみない? 試したのはATX電源、乾電池4.5V(1.5V単3x3)、USB充電器(5v/2A)
USB充電器はUSBケーブルのコネクタ経由と、ばらした線からピン経由の2通り >>984
どのarduino使ってどのpinから電源いれてるかとか書いた方が良いのでは。 PCと接続した時と同じケーブル?
バラした奴は別として、USBコネクタへの接続ケーブルは大丈夫? arduino Unoを使用してます。
搭載のUSBにてシリアル接続したときにarduino側がリセットかかるんですが、これをかからないようにすることはできませんか? >>987
書き込みのためにシリアルのDTRを使ってリセットを掛けているので、簡単なのはRESとGNDの間に1uF10uFくらいのキャパシタを付ける事かな
DTRからRESETに繋がってるパターンを切断してもいいが(切断用のパターンがあるはず、はんだジャンパで戻せるようにもなってる)
ちなみに上で書いたとおりシリアルからスケッチの書き込みのために必要な機能なので、殺すと手動でタイミング合わせてリセットしないと書き込めなくなるよ デジットの移転セールで50円LCD買ったけど、
https://eleshop.jp/shop/g/gG5G411/
Arduino(AVR)で直接動かす作例って、海外含めてあんまないね・・・
検索がヘタなのかもですが、日本ではここぐらいかな。他にどこかありますか?
http://awawa.hariko.com/avr_lcd_drive.html 作例はいっぱいあるけどPICやAVRで、arduinoではヒットしないかも
こことかわかりやすい
AVR 汎用I/Oポートで直接LCDを駆動する
http://awawa.hariko.com/avr_lcd_drive.html やっぱり少ないんですんかねw
PICはまだ使えないですが、AVRはatmega168、attiny13,44,88はなんとか使ってるのでそのサイトを参考にします
やっぱこういう部分はPICの方が作例多いですね PICの作例から自分の使ってるマイコンに置き換えて動かせるようになると
いろいろと捗るぞ このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 142日 10時間 19分 2秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。