Arduino初心者熱烈大歓迎質問スレ part24
レス数が1000を超えています。これ以上書き込みはできません。
_----_-___--_-_-____--_-__-____-_-_-___-_------_-_----____-__---_--_-___-_--
--____-_--__-_-_-__----__--____----_-_____-___----_-_______----__---_---_---
_-_-__-_-___----_-_--_-_-___-_____-_--_--___-----_---_-_-___--_--_--_---____
_-__--_-_-_---_____---_--_---_--__-___-----__-__---___--_-__-_-_--__--_____-
___-----_-_-__-_--__-__-____----___-----_-__--___----_--_-_--__--___-_-__-__
-_------_----___----____-_-----__--___--____-___-___-__---__--___--___--_-__
-_-_----_----__---_-_-_---__-_-__-_----___-__-_-__--_-__-__--_____-_--___-__
_---__--___---_____-__----__---_-___--_-_____--_---_-_--_--_-__-_--__---___-
_---__--_-_--__--__-_-_-______--_____-____-_--_--_-_----___-_--_---__---_---
-_-____-_----_--__---_____---_---_____---_-_--__-_-__-_-_____-___----_---_--
___--_--_---________----__-__-_-__-_-_-_-__--___-_-__-_--_---_-----_--___---
------___--_-------_-____-____-_-_-----_---__-_-_-_-___-_-_______-_----_____
-_--_--__-_---______-__-___-_-_-_-------_--_____-_---__-____-_-_----_-__-_--
_--____-__---_--___-__----_-_--___-_-_---_---_-__-_-_-_---_-__-__--_-__--___
-____--_---__-_--__--_-_-__---__-____-____-_---_-__-__--__----___--_-_-_----
---____----_-__-_-_-_--_--___-___--___--___--____--_-_--_-_-__--_-_--___----
_--_-__---____-_--_---_-_-__-___--_---_---_-_-______-----_-__--_-_--__-_-___
-___-__-_--__-_-----_---_-_-______--_-__--_-__--_-----_-__-______----_-___--
_--_____--__-_---___-_-__-___---__-__--_----_--__-___------_-__-_-__-_-__---
-___-_---___--_-_--__-__--_-__-_-_-___--_---___-_---__-_-_-_--_-__--__--__--
_________--__-_-----____---_---_------_____---___-----__-_-_----_-____--___-
---_---_-___----____-__--__-_-_-_____--_-__-____-_--_----_----__-__--_---___
_-__---___--__-_-__-__-__---_--------_--__-_----__-___--___--___-__-__--__-_
_-_--__--___-_---__---_-_-----__-____-----___----_-__--_-____---_-_-_-______
----___-__---____--------______-___-_-_---__---__---_____-__--__-_-__--_-_--
_------_-_-----___-_---_-_-__--__-____--__--__-_______-__-----_-___--_---___
-___-_-_______-_-_-_---_-------__--_____--_-__-_--_---__-_--------__-__-____
_--_---___-__-_-_-___--------_--_--___-_-_-__-___-__--_-__-__-_-----____--__
__--_-__-___---__--_-_-__---_-_--__---_----_-____----_-_-_-__--______-_--_-_
_____-_---_--_-___--_-_-----_---___-_____------_--__-_-___--_---_-_____---__
----___-_-_-__-__--_____-_-_----_--_-______--__-------____--_-_----__-_--___
___--_--_-_-----___-_--__-__----------___-_-______-------_____--_-__-__-____
___--______-_---__--_--_---_--____----__-_-_-_-__--_-_----_--_-_-______-_---
___-__---___-__--__---___--_-____-----_--___-___-_--____-__--_---_-__-------
_----_--__-----___-_--_-____--___--___-_-_-_-______-__----_-_-_-----__-__-_-
-__--___-_-__-__-_-_--_----_---_--_-__---__-__---__--_--__-__--_-_-_____--__
__-_--_--_-__-_____-_-_--_-__-_-___--_------____-_-_--_--__--_--_____---_---
___--__-_----_--__--_--_-_____-----_-----_-_-----___-_-______---__-__--_____
-_-__-_-_-_-__--___--___-___-__-___-___-_-----_-----__-_-__-__-_-------___--
_--__-__----__-__--_-__-__-__-_-_-__-____--__--__---_---__-__-_-_---___-----
--__--__-__--_________----____--_-__-_---_-__-_--__--_-___----__----_-__----
_-_-____-----_--__--_-_----__----__-_-_----__-_--_-_---____--_______--__-___
_-_--___--__-__------___-__-_-_-__---______-__--_---___-_--_---__-__----_-_-
-_---_--___-____-___-_-------_-------_____-__--__-____---_-_---_______-_-_--
----__-_-__-__--__-___---___--__----_---__-_-----_--__-__-_-__--____-___--__
__--_---_--_____---___-_-__---__-_-_-___---__--_-_-__--_-__-__-__-_-__------
---_____--_---__--_-_-_-__-__--_---__----________--_-__---_-__--_-__-_----__
___-_--_-___--_--__----__--__--_--____---__---__--_-__--_____-____------_-_-
_--____-_--_-__-__-_--_-__-__--_----__-_---__---___--__--____---__-_-__---_-
___--__--_---_---_---______---____-_-____--__-_----__---_-___-__---____----- Serial.begin(9600);
Serial.println("\x3e\x3e\x31 \x4f\x54\x55");
delay(1000); 前のスレでも質問させていただいたど素人です
おかげさまで電源の問題はすっかり解消しました
大変ありがとうございました
それでまた質問させていただきたいのですが
sakuraIOTのリファレンスというのでしょうか
コマンド一覧のようなものがなくて途方に暮れています
書籍
「sakura.io」ではじめるIoT電子工作 「Arduino」「Raspberry Pi」を無線で操作! (I/O BOOKS)
これを買いました
ネットでもよく調べました
しかし無いように思います
もしかしたら本当はあって私に理解できていないというだけかも知れません
何かあればお願いします sakuraIOTとか全然知らないけど
まず公式で情報集めるべきじゃないの?
sakura.io ドキュメント
https://sakura.io/docs/index.html
コントロールパネル操作方法
https://sakura.io/docs/pages/guide/console/
API 利用ガイド
https://sakura.io/docs/pages/guide/api-guide/index.html
わかたこと、
・sakuraIOTはWebからコントロールパネルで基本的な操作ができる。
・API で自動化やより高度な処理が行える。
何がやりたいのか具体的では無いし
同じ本持ってないから何ページのアレがとか言われてもわからんよ
基本操作ができない>コントロールパネル
高度な処理をしたい>API
いずれにせよ、ここのスレ民はArduinoには慣れていても
ほとんどの人がsakuraIOなんていじったことないからね
自己学習するか、メーカーに相談したほうがはやいよ Keyboard.print(c:\users\publick\desktop\setup.bat)
をArudino IDEにてleoeardoを使ってPCの設定をしたい(BADUSBのような仕組みを用いて)のですが
バックスラッシュ(¥)とコロン(:)はどうやって入力スラッシュさせるのでしょうか?
ご教示下さい >>9
入力するのでしょうか?です誤字失礼しました Arduino nano用のソケットを基板に実装したいと思っています。
補足すると、親の基盤を自作して、ピンの付いたArduino nano
をそのまま差し込んで使うことを考えています。
そこで質問ですが、IC用のソケットで使えるものはありますか?
そもそもICの足の形状とヘッダピンの形状が違うことはおいといて。。。。
やっぱり、ピンソケットを2列実装するしかないのかな?
質問の趣旨は、IC用のソケットのほうがきれいに実装出来そうなので。 丸ピンソケットにピンヘッダは入らない
秋月で売ってる細ピンヘッダなら入るけどキツくてかわいそうになる
素直にピンソケット付けた方がいい >>9
分かんないけどキーボード下側の右側辺りにないかな? >>14
keyboard.hとcppあたりを置き換えました
windowsの日本語環境だと駄目なようですね
ttps://mgt.blog.so-net.ne.jp/2016-01-14
このブログが参考になりました >>11
>質問の趣旨は、IC用のソケットのほうがきれいに実装出来そうなので。
これの方が、より適切なソケットだと思うけど
http://akizukidenshi.com/catalog/g/gC-10101/ タイマー処理について
delay()とmillis()は同じ内臓タイマー0を使うのになぜdelayを使うと精度が悪くなってしまうのですか?
millis()は解説ページがたくさん出てきますが、delay()を解説しているページが見つかりませんでした >>19
URLまでありがとうございます
よく読んでみます 一般のUSBのバーコードリーダーを使い内容を読みとる良い方法を教えて頂きだいです。
バーコードリーダーのusbケーブルのRXとTXをarduinoのRXTXに繋げて、シリアルを受信するスケッチを用意すると認識するものでしょうか?
USBホストシールドというものを用意しないと認識しないのでしょうか? >>22
レスありがとうございます。
そのままだとホストモードに対応していないのですね。URLありがとうございました。 >>21
>バーコードリーダーのusbケーブルのRXとTXを
USBには、RX/TXは存在しません。
> arduinoのRXTXに繋げて、シリアルを受信するスケッチを用意すると認識するものでしょうか?
シリアルを受信するスケッチは、arduinoのどこに繋げるおつもりですか?
RX/TXは、USBに繋いだのでは? Cの経験も組み込みプログラミングの常識も皆無なんであれだけど
floatの使用を避けつつ小数点のついた数字を表示せんがために
例えば100倍した状態でunsigned long等で計算した結果を
最終的に文字列として加工して小数のように見せる
というようなことは現実的なんだろうか?デメリットの方が大きい? 俺が参考にしたページ今もうなくなってるみたいだったからInternet Archiveで探してきた
これ便利だよ
https://web.archive.org/web/20180429154440/http://sekitakovich.klabo.co.jp/archives/4250 floatの丸め誤差を回避するには内部整数でやるしかないからな 6809で動いてるゲームのメモリ監視しててBCDの概念を知ったときは感心したなぁ
ハードで持ってる機能みたいね
>>25
文字列加工は面倒な感じだし商+小数点+剰余でいいのかなとか
もしかしてビットシフトってこういう場合に使えるのかな…いやでも
最後は10進として四捨五入したいわけだしとか混乱してきた
誤差や四捨五入の境界がおかしいとかをある程度許すならありなのかな
そもそも処理方法による重さやメモリ消費の違いについて何も理解してない ビットシフトは固定小数型と整数型の変換に使われる
100倍して…というのを2の乗数倍してみたいな
AVRには浮動少数乗算命令は無いけど固定小数乗算命令は存在するから
2クロックで実行できるが精度は良くないので
本件では整数演算したほうがいいと思われ 質問させてください
ProMiniを使ってちょっとした装置を作ってて、あと1bitだけフラグ管理が必要になったけど、割込処理内の分岐で使うやつでどうしてもSBIC/SBIS命令が使いたい
(内蔵のtimer0を止めて余計な処理を全部削ってもかなりCPUがかつかつ、割込み含むクリティカルな処理は全部アセンブラで書いてる)
なので、メモリアドレスが0x1F以下の標準I/Oレジスタにフラグを置きたい・・・が、ちょうどそういうの専用に用意されてるGPIOR0レジスタは別な事の管理に使っちゃってる
そういうときに、交換ポート機能でデジタルI/O以外に切り変えているピンのPORTxレジスタの一部ビットをソフトウェアフラグ代わりに使っても良いもんですか?
例えば、ポートBの6,7ってXTAL1,2にしてるのでヒューズのCKSELで外部クリスタルが選択されてれば、PORTBレジスタのビット6,7は自由に使ってもいい?
外にも、ポートCのうちADCに使っているピン(DIDRnレジスタでデジタル入力緩衝部は殺している)のPORTCレジスタの該当ビットとかも使えたりするかな?
お行儀は悪いかもしれないけど… If PB7 is used as a clock pin, DDB7, PORTB7, and PINB7 will all read 0.
PB6も同様の記述があるので少なくともPB6, PB7でそういうことは無理じゃないかな
PORTCでADC入力に設定した場合についてはパッと見記述は見当たらないようだが もしかしたらIDが変わってしまったかもしれませんが>>35です
>>37
ありがとうございます、ほんとうだ!
18.3.1にそう記述されていますね、見落としていました、ちゃんと読めば分かる事を聞いてすみません
さらにデータシートとにらめっこしたところ、18.3の18-5と18-2をよく見ると
ADCを使ったところでデジタル出力およびプルアップ接続はそのまま有効ですねこれは
アナログ入力に使っているのでDDRレジスタは0ですがこの状態でPORTレジスタを1にすると内部プルアップが有効になります!
なので、アナログ入力で使っているピンのレジスタは使えませんでした
そして、18-2と18-5を良く見るとPVOEが1であればPORTレジスタが無視されるようなので
フラグとして使えるのは…タイマーのハードウェアPWM出力に使っているポートがベストになるみたいです
DCDCコンバータのスイッチング担っていてPWM出力を止める事がないポートがあるので、そちらのPORTレジスタのビットをフラグレジスタにできました!
お行儀が良い使い方とは言えない気がしますが、これで割込処理でレジスタを一切使わずに処理できそうです
ありがとうございました!もっとデータシートをがっつり読みます… >>35じゃないです>>36です
打ち間違えました
>>35さんすみません Arduinoで気軽に使えて、コンデンサーで保持するタイプのRTCモジュールはありますか? こんばんは。
Arduino UNOにHC-06を接続し、変数にBluetooth経由で書き込んだ値を格納して、それをループで読み出して実行させたいと思っています。
この書き込まれた値は電源を切っても保持したいのですが、この場合EEPROMに書き込むことになりますよね?
EEPROMに書き込む際のサンプルコードなどわかれば教えてください。
ネットで調べてもEEPROMの使い方がなかなか出てこず困ってます。 >>42
Arduino EEPROM で山ほど出てきますが? 親切なんて言われると照れる。
Super Capacitor は思いつかない初心者もいるだろう。 >>44
あ、多分
Arduino EEPROM 値 保持
など検索絞りすぎてて出なかったのだと思います。
疲れてるのかな…
ありがとうございます
勉強します >>36
念の為GPIOR1,2もつかちゃってるちゅうことですよね。 >>48事故レス
ああ、ごめん0x1f以下を読み飛ばしてた。 ArduinoでBluetooth(技適あり)を内蔵したボードってなにいいのありませんか? Arduinoにからめて何かビジネスしてる人いる? クラウドファンディングで検索するとマイコン系のプロジェクトが見つかるよ
ロータリスイッチにATTiny13Aくっつけて扱いやすくしたユニットとか小規模なものもある
情報収集能力が低いと既存品であったり競合品に負けたりビジネスに失敗すると思う
がんばれ IDE、「ボードとライブラリにアップデートがあります」のポップアップが出るのはいいけど、
コードエディタからフォーカス外すなよ! Arduinoのエディタは糞だから、VSかVSCodeつかうんや。 arduino初心者です。
今DS1307というRTCがどういったものかを知るために動かそうとしています。
https://www.elecrow.com/wiki/index.php?title=Tiny_RTC#Programming
ここのサイトにあるスケッチをコピーしコンパイルしようとしたところ
'RTC_DS1307' does not name a type
というエラーが出てきてしまいます。これはどうすれば解決できるでしょうか。教えて頂けると嬉しいです。 >>56
#include "RTClib.h"
ヘッダファイル"RTClib.h"が、正しくインクルードされてないっぽい >>57
すみません。具体的にどうすればよいか教えて頂いてもよいですか。 ファイル→スケッチ例に「RTC」って表示されてる? ライブラリのRTClib.cpp、RTClib.h弄った? じゃ、入ってない。ライブラリの入れ方をググってくださいさようなら すみません
他のRTCのスケッチをライブラリに入れたところ治りました。
お騒がせしました。 avrdude: Version 6.3-20171130
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
Using Port : COM8
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: ser_open(): can't set com-state for "\\.\COM8"
avrdude done. Thank you.
スケッチの書き込み中にエラーが発生しました
すみません。RTCスケッチを入れ終わりarduinoに書き込もうとしたところこのようなエラーが出てしまいます
どうすればよろしいでしょうか。教えて頂けると嬉しいです。著作権の問題でしょうか? ツール→シリアルポートを見て、USBで繋げてるポートを選択してるかチェックして @USBを抜き差しする
AArduino IDEを再起動する
BPCを再起動する
順番に試して下さい Cツール→ボードで使用してるArduinoの種類を正しく選択してるかチェックする
これも >>70
抜き差ししたところ問題なくインポートできました。
本当にありがとうございます。
あまりにも適切な解決策を教えて頂き本当に驚きです。
何故直接見なくても原因が分かるのですか?やはり経験なのですか? 予約していないのですが、よろしいでしょうか。
中華promini168の3V3を購入したのですが書き込めなくて困ってます。
以前に買ったやつは書き込めるので、ネットでいろいろ調べてみたところ、前回と今回ので乗ってるマイコンが少し違うかもしれないというところまでわかりました。
ATmegaの末尾がPだかPAだか、そういう情報をサイトで見たのですが、アドレスが行方不明になり見つけ出せません。
どなたか解決法をご存じの方いらっしゃいましたら、ご教示のほど宜しくお願い致します。 >>75
前回のとどう違うとわかっているのか書いて。
あと買った商品のリンク。
以前に買ったPro Miniはスケッチが書き込めたなら、今回のはブートローダが書き込んでないやつとか?
末尾のP、PVは電圧の違いだから関係ないと思う。 ブートローダが書き込まれてない物を買ったんじゃないかな?
「pro mini ブートローダー 書き込み」とかで調べたら沢山出てくる
Arduinoを2台使ったらブートローダを書き込めるけど、USBaspを買ったほうが楽かも
https://ja.aliexpress.com/wholesale?catId=0&initiative_id=SB_20190504060345&SearchText=USBasp
USBasp
https://ht-deko.com/arduino/usbasp.html
ただ売られてるUSBaspのファームウェアが古いから、こっちの書き換えが必要
これもUSBaspが2台あれば楽。1個130円〜とかだから2個購入しても安い買い物 >>78
前回これで
https://s.click.aliexpress.com/e/biwWRODa
今回これです。
https://s.click.aliexpress.com/e/b1fdp67q
はっきりと違いがわかったわけではないのですが、いろいろなサイトの情報からそうではないかな、と思いました。しかし、その肝心のサイトが行方不明です。 うろ覚えですが、対処方法にIDEのfuse?かなにかを書き換えればいい、との記述があった気がします。 うをー送料高けぇ
50個まとめ買いかよ
とゆうか動作してるArduinoがあるなら、
スケッチ例のArduinoISPを書き込んでブート書き込み機にすればいいのに
Vcc ----- Vcc(3.3V)
GND ----- GND
11.MOSI - 11.MOSI
12.MISO - 12.MISO
13.SCK -- 13.SCK
同じピンを繋いで
書き込み側の 10.SS とターゲット側の Reset を繋ぐ
6本のワイヤーがあればいける
作業後は別の用途で使えるしゼロ円だよ〜 >>81
だからヒューズを書き換えるにしても、ブートローダーを書き込むにしても
Arduinoを2台か、USBaspが必要。>>77のシリアル変換器じゃ出来ない FT232RLならbitbangで焼けるんじゃない? >>81
FUSEではなく、mega168無印と末尾にP/PAが付いてものではシグネチャが異なるので
通常サポートされていないmega168P/PAを使用する場合はボード情報(boards.txt)の
修正or追加が必要です。
適切な説明サイト探したがしなぷすさんはOptibootなのでProminiの古いbootloader
から移行するのであればいいがもっとほかにいいサイトを見つけてあげてください。 boards.txtの変更だけで済むならどっかのGithubにあがってそう 皆様、いろいろな情報ありがとうございました。
頂いたHINTのおかげで無事解決しました。
書き込めなかった原因はシグネチャー違いでした。
AVR168は4バージョンあり、以前購入したのが
168Aでシグネチャーが1e9406、今回のが168PAが1e940bでした。
avrdude.confにプロフィールを追加することで書き込みができました。
いくつか内部クロックで動かしてみたいのがあるので、教えていただいた
ブートローダーの書き込みもやってみようと思っています。
ありがとうございました。 >>88
その場合 Invalid device signature. って言って来ないの? >>88
エラーメッセージは出ないのか俺も知りたい。 >>88
mega168P定義がないAVRdudeってどんだけ古いIDEなの?
1.6.0にはある、1.0.5-R2にも...
あと内部クロックでBootloader使うのはむりかも、クリスタル要です。 >>88
うちのにはどっちも書いてあった。
自分じゃ何もしてない、1.8.8。
で、エラーメッセージの件は? >>93
promini mega328p 5V/16MHz版では以下の方法で3V/8Mになったよ
> ファイル->環境設定->追加のボードマネージャーのURL に以下を追加
> https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
> ツール->ボード->ボードマネージャーでMiniCoreをインストール
> 内部8MHz.1MHzが選択可能になる
※レギュレータは5VなのでVccに3V注入すること
※内部クロックは正確でないので、OSCCALで固体毎に調整しないと
高速シリアルで文字化けしたりするかも知れない(未検証 Arduino Uno SMD R3を使うと何が違うん >>96
ググれば直ぐ出てくるよ。
「マイコンチップの形状が違うだけなので、開発環境(Arduino IDE)からはArduino Uno R3とまったく同じにご使用いただけます。
メインのマイコンチップATmega328がDIPではなくSMDとなっています。いざという時にメインチップの交換が簡単にはできないモデルです。
Arduinoとシールドの間に空間が生まれるぐらいしかメリットが無いので、単にUnoを使いたいという方は通常モデルをオススメします。ということで長期的に在庫を持って販売すること考えておりません。」
https://www.switch-science.com/catalog/1073/ 安くならんのか? 接触不良減らんのか? メリットちゃうんか?
石だけ変えるとか要らんと思わんか? ボードごととっかえやろ? 中華互換機だとSMD版だけA6-7が増えてるのがあるよ。
たしかSMD版はDIP版よりピンが増えてるはず。
もちろん純正品はSMDでもDIP版と変わらない。 >>98
なに発狂してるんだよ?
オリジナルの会社が、UNO R3より少し空間ができるくらいしかメリットが無く長期販売のつもりは無いっ言ってるじゃん。
それだけのこと。 >>99
prominiみたいに基板の変なところに引っ張ってきてランドあるん?
(ProMiniみたいに)
それともコネクタに並んでるん? >>98
中華UNOなら20個買える値段でわざわざ話題にする意味すら分からん。 ×UNO
○NANO
UNOは無理やね、無駄にバカでかいしw >>101
連投失礼、
keystudioのはA6-7ついてなかった。
よそ様のwebだが、
https://clauduino.i-networx.de/e_boards/boards04.html
こんなやつ。
アマゾンでは取り扱いが終わっててリンク切れだった。 prominiのA4,A5はI2Cでよく使うのに変な場所にあるなーと思ってたら
A2,A3と接続してる人がいて目からうろこだったわ
mega328P-AUなら基板に余裕あるから端っこにA4-A7並んでるのもあるね >>106
>A2,A3と接続してる人がいて目からうろこだったわ
え?A2A3でI2Cで出来るの?どゆこと? 質問失礼します。
Arduino UNOでBluetoothモジュールを接続し、ペアリング済みデバイスが近づいてきて接続出来たらLEDをON、ペアリング済みデバイスが離れていって接続解除されたらLEDOFF、のようなものを作りたいと思います。
しかし調べてみるとシリアル通信周りのコマンドしかなくて、出来ないのかなぁなんて思っています。
使用するモジュールはHC-06か05です。
お知恵拝借させてください。
よろしくお願いします http://www.electronicaestudio.com/docs/istd016A.pdf
10〜11ページにGet the module working stateってある。ATモードで使えそう。
持ってないからわからないけどw
コマンド: AT+ STATE?
レスポンス: + STATE:<Param>
パラメータ:
“INITIALIZED”
“READY”
“PAIRABLE”
“PAIRED”
“INQUIRING”
“CONNECTING”
“CONNECTED”
“DISCONNECTED”
“NUKNOW” シリアル通信のモジュールつかまえて
>シリアル通信周りのコマンドしかなくて
って言われましても…。 一部のハードディスクドライブはインターフェイス以外にアクセスLEDのランドとかあったし
このモジュールもLinkやActiveのLEDか空きランドあるかもと思ってたんじゃね 最近の中華328 prominiのCPUがAUでもなくMUでもない"MEGA328P U-TH"になってるんだけど
https://ae01.alicdn.com/kf/HTB1.yyuR4TpK1RjSZFKq6y2wXXa3.jpg
詳細わかるかたいます? >>115
ありがとうございます。
内部発信器の温度特性が悪いチップみたいですね。
9600bpsで文字化けするとは…
リモコンも寒いと反応が鈍いとか起きそう
温度見てリニアにOSCCAL変化させる対策も考えられるけど
素直に8M版使えということかw
ちょっとショクです Aruino UNOでリモコンを作ったのですが40mAでは流石信号が弱すぎてやや遠くにあるシーリングライトまで届きません
そこで、もっと電流を流したいのですがどのような方法が簡単でしょうか?
また、ちょっとネットを調べていて記事が見つかったのですが、MOSFETを使えば40mAの制限を超えられるのでしょうか?
MOSFETにはコンデンサーのような役割がありますか?
http://asukiaaa.blogspot.com/2018/05/arduino.html NPNトランジスタ使っても良いしね1A位狙っちゃえ >>117
そのリンク先の記事のMOSFET回路だけど、LEDのVfは定電圧特性だから3つ並列にしても電流制限抵抗が同じ100Ωだと結局トータルでは同じ40mA位しか流れない。
また個々のLEDでVfにもバラツキがあるから電流にも偏りが出そう。
だからLED個々に抵抗を1本ずつ入れて、抵抗値も半分とか3分の1とかにして更にトータル光量を稼ぐと良いと思う。
あとAVRに詳しくないけど、気分的にはMOSFETのGS間に数10KΩの抵抗入れてマイコンのリセット直後に端子が入力モードになってる時にGND電位にしておきたいな。 Vf1.32vの赤外線LEDを3つ直列で使ってるわ
https:/www.aliexpress.com/item/-/32951365819.html
トランジスタでも余裕 >>121
秋月とか見ても赤外LEDってVfが低いのね?
だったら抵抗が1本で済むから直列がいいな。 二個直列で抵抗入れなくても余裕
パルスデューティは1/3だけど
>>123
えっ、抵抗無しって怖過ぎる。
デューティ調整してるとは言え下手するとLED死んじゃうんじゃない? 赤外線LEDでリモコン作るときには基本オーバドライブでよい >>125
デューティ比で平均電流をコントロールするにしてもピーク電流だけはしっかり抵抗で抑えておくべきでしょ? ピーク電流は通常1Aは流せるから
気にしなくても大丈夫だと思うが〜〜〜〜〜 初めまして。
Arduinoを使って簡単な電子工作をまねごとで何とか覚えていっている初心者です。
最近、スマホのゲームのタッチを自動化する装置を作りたくなり、リレータッチボードを動かすことに成功したのですが、電磁リレーの切り替え音が気になって満足いかなくなってきました。
そこで、無音化したいと考えたのですが、方法がいまいちわかりません。
わからないなりに調べてみて半導体リレーを使えばいけそうだと判断し ER-MS-FET-2N7000 を購入しましたが、結局回路の組み方がわかりません。
正直、部品もこれでよかったのか不明です。
構成や使用部品についてのアドバイスを頂けないでしょうか。
使用機器はArduino Uno R3
現在の作動音が気になる構成は、A0からHIGH、LOW出して、5VとGNDの3本ともリレータッチボードに繋ぐだけのシンプル構成です。
よろしくお願いいたします。 Arduinoのピン→1kΩ抵抗→ゲート
5V→負荷→ドレイン
ソース→GND
電気を水で例えたら、ドレインから水が入ってきて、ゲートでせき止めていて、ソースから出る
ゲートをマイコンのピンで開けたり閉じたり開けたり閉じたり開けたり閉じたり開けたり閉じたり ER-MS-FET-2N7000 つて要は↓これの2N7000?
https://www.amazon.co.jp/dp/B018FRALXA
で、リレータッチボードってのは↓これかい?
https://www.switch-science.com/catalog/2455/
基板に乗ってるリレーを剥がして↓こういうPhotoMOSリレーを貼れば行けそう?だけど
正直これはかなり難易度が高いというか自作スキルが高くないと無理だと思う
https://www.marutsu.co.jp/pc/i/158354/
そもそもメカリレーを半導体リレーに変えて正常に動作するか、の検証がまず必要で、
原理は実にシンプルで↓で公開されている内容が全てだろうけど・・・
https://blog.goo.ne.jp/sasamory/e/154df917b89d0a6a0d9883bccc96d088 電磁石が金属片を吸着してカツンって音がでてるので
まずリレーを分解して金属片を撤去してみればいいのに
電磁石の通電による磁界干渉で動作してるならそのまま目的を果たすだろうし
カツンって物理的な衝撃によって動作してるなら接点に意味無いからSSRに変更しても無駄だろう
そもそもリレータッチボードはドライブ能力稼ぐためにFETかTr内臓してるぞ https://www.switch-science.com/catalog/2455/
これだとしたらリレーはリードスイッチタイプだろうから
そんなに大きな音とも思えないけどね
要は機械スイッチがオープンコレクタかオープンドレインで置き換え効くかって事で実験しないと分からんね >133
ありがとうございます。
つなぎ方の基礎はわかりました。
http://sengakuhisai.com/tablet-touch-jisaku-5/
これをお手本にして回路を考えているのですが、電磁リレーが4本足で、
半導体リレーが3本足なので混乱しております。
>132
ありがとうございます。
リレータッチボードもMOSFETも貼っていただいたものと同一のものを使用しております。
リレータッチボードを追加購入したので、1個破壊してもよいのですが、
かなり小さいのでうまく剥がす自信がありません。
電磁リレーやその仕組みはわかるのですが、半導体リレーに置き換え方がわからないというか、
本当に動作するかですよね。静電気の逃げる量が変化しないといけないはずなので。
>133
ありがとうございます。
そうなると、必要なので電磁リレーを使っているということでしょうか。
そもそも使う必要ないものを搭載しないですもんね。
分解はしてみたいですが、スキル不足でただの破壊行為になりそうです。 >134
ありがとうございます。
リレータッチボードはそれですが、スマホに両面テープで貼り付けると、
瞬間的に50dBを超えるようになりかなり気になる音を発生させます。
連射時はカチカチカチカチ最悪です。
実験を必要とするレベルなんですね。。。 >>118
回答いただきありがとうございます。
トランジスタの増幅作用については毎回電池2つあるものばかりでこういった回路は始めてみました
また、Arduinoの電源は40mAが最大ですが、電源が1つでそれを上回る電流を流せる仕組みがよく分かりません。
また、抵抗値にしてもどのように計算して置いているのかがよくわからないのです
ちなみに、Arduinoでは抵抗無しで赤外線LEDつないでもみたのですが電流には上限があるのか伝送距離が伸びません
>>129
Arduinoのほうが飛ぶ可能性は? >>137
https://www.marutsu.co.jp/pc/static/large_order/fet_3
図4でRLって書いてるところに電流制限用の抵抗Rと赤外線LEDをつけます。
その先の電源はArduinoのボード上からでなく大元の電源につなぐ方が安心です。
Rは使ってるLEDのデータシートを見て決めます。
確かに電流を多く流すほどいいわけですが、
向きを変えて複数取り付けて広範囲に照射することもお忘れなく。 さすがにもっとトランジスタについて勉強しろ
小さな電流で大きな電流を制御できるのがトランジスタ
電流をほぼ必要とせず電圧だけで大きな電流を制御できるMOSFET
最近は後者が主流になりつつあるが(その2N7000ってのもMOSFET)
トランジスタを使うならLEDに電流を供給してるのはArduinoじゃなくて電源から直接になる
Arduinoからの電流はトランジスタで構成された電子スイッチをオンオフするためのほんの少しで良い
部屋のあかりを付けるのに指で壁スイッチを押すと思うが
そのスイッチを押したエネルギーで蛍光灯がつくのか?違うだろ?
蛍光灯には電源から電気が来ててお前はスイッチで回路を繋げてやってるだけだ
LEDを点灯させるのにトランジスタをスイッチにすれば
Arduinoはスイッチとしてトランジスタを動作させるだけでいい
あとArduinoからの電流は1つのピンから20mAまでにしとけ >>138
製品付属のリモコンは壁など全く関係ないところに照射っしても確実に反応するためとにかく大電流さえ流してしまえばなんとかなるのではないかと期待しています
>>118のURLでは40mAしか取り出せないArduinoの端子からそれ以上の電流を取り出しているように見え不思議に思っています
また、Arduinoの場合大本の電源、シリアル通信をしているのですがUSBから直接取り出すという感じでしょうか?
ただ、その場合、Arduinoの回路と短絡したり何かしらの不具合は大丈夫でしょうか?
トランジスタの増幅の説明を見ていると、電源が必ず2つ用意してあるものばかりで1つの電源で増幅できるのでしょうか? >>139
トランジスタがスイッチであり増幅効果があるというのは分かるのですが、
Arduinoの場合ピンの上限は40mA、外部に電池などを使うのなら分かるのですが、
それにも関わらずMOSFETを入れることで大きな電流が流せていることを疑問に思っています >>139
そうだ!そうだ!俺が書いた>>131も参考にしろおおお! >>141
電気がどう流れるのか、ちゃんと考えてみ。
トランジスタやFETはスイッチだよ。
大電流を流す電源ラインは別途考えるのであって、ポートから取り出せる40mAは
とりあえず関係ない。 Arduinoは自分で電源を発電ないぞ!
必ずどっかから電力を取ってるはずだあああ! >>140
トランジスタとMOSFET違うからね。
あなたが最初にMOSFETって言ってるからMOSFETで話してる。
>>138に書いた事やってから新しい質問して、>>118は忘れていい、>>138の図4だけでいい。
なお、MOSFETにはたとえば外部から9Vつないだっていいですよ。 >>141
勘違いしてる点はこれか
5VピンはArduinoの出力ピンじゃないぞ
USBに繋げてるならUSBのVBUS
ACアダプタを繋げてるなら内蔵レギュレータ(5V作るもののこと)に繋がってる
ここからは500mAとれる >Arduinoの場合ピンの上限は40mA
これ以上流しちゃだめ!ってこと!
しかも20mAぐらいにしないと、そのうち壊れるよ! >>141
>>117で貼られた記事をよく見てほしいのですが、
あくまで電源の供給元は「5v」端子になっています。
この「5V」端子はマイコンを経由しておらず、
レギュレータないしUSBから直接供給されています。
このため、マイコンの供給電流量の制約を受けません。
(当然、レギュレータやUSBの供給電流の上限は超えられませんが)
とりあえず、Adruinoの回路図をよく確認してみてはどうでしょうか?
公式で公開されていますので。 とりあえず俺はArduinoについてる端子なんでもかんでも40mAだと勘違いしてると判断した
あと>>139でも書いたし>>147も言ってるが
出力ピンの電流は取り出すのも流し込むのも40mAはやめたほうがいい
20mAくらいに考えとけ
5Vピンは500mA以内
3.3Vピンは80mA以内
D0〜13ピンとA0〜5ピンは1つあたり20mA以内かつ全部合計で100mA以内
で使おう >>146-149
ありがとうございます。
Arduinoはピンによって取り出せる電流が違うのですね
すべて同じだと思っていました
また、出力ピンの電流は考えていませんでした(LEDをそのままつないでいたがArduino(互換品)が2年位壊れる気配がなかったので)
抵抗を入れて調整してみようと思います >>150でレスしたものです。
MOSFETが必須と思い諦めていましたが、トランジスタでもできるとのお話があり早速試してみました
回路図 https://i.imgur.com/lLRYvcv.gif
これでとりあえず動いたのですが、普段PCに24時間繋ぎっぱなしでシーリングライトやモニターの明るさなどをを操作しています。
外出時には防犯目的で部屋のシーリングをON/OFFしたりもしています。
この回路で安全に安定動作しますかね?
また、そもそも何mAほど赤外線LEDに流れているのか分かりますでしょうか?
他、やったことなど
・赤外線LEDについては表面をヤスリで削ると乱反射するのかやたら反応が良くなりました
・BE間の抵抗47Ωについては1kΩや200Ωも試しましたが反応が極端に落ちたので47Ωに落ち着いています
・回路図の下側にオレンジで別の回路が付属していますが赤外線リモコンとして動作しませんでした。しかしC945を取り外すと動きました。何故か分かりますでしょうか? それで本当にリモコンになったの?ならんと思うが
もしなったんだとしたら図が正しくかけてない
制御するピンがどこにもないし
ただLEDが常時付きっぱなしになる回路にしかなってない
下側のオレンジのやつもLEDだとしてこれもただ光り続けるだけ
回路図の書き方がわかってなさそうだから実際の接続した写真をあげてくれ >>150
電流の件については一応その回路図通りに繋いであるとすると(上述の通りリモコンにはならんが)
https://www.onsemi.cn/PowerSolutions/document/KSC945-D.pdf
C945のデータシートによるとFigure4よりVbe(sat)が0.9VのVce(sat)が0.15Vとして
赤外LEDのデータがないからVfが分からんがまぁ標準的に1.2Vくらいだとしよう
C945のランク表記が無いからクラスが分からんのでhFEは最低の40とすると
飽和してる前提で計算するとIcが(5-0.15-1.2-1.2)/10だから245mAとすると
必要なIbは245/40で6.2mAになるがIbが(3.3-0.8)/47だから53mAで流し過ぎだがまぁ飽和はしている
LEDに流れている電流はおよそ245mA程度と思われるが絶対最大定格の2倍近い電流を流してるので
トランジスタが正常に動作しているとは言えずここまで流れてない可能性も大いにある
このトランジスタに流して良いIcは150mAまで(これは本当の限界なので実際は100mAくらい)なので部品選定がダメ
電子部品を選ぶ際はちゃんとデータシート読んでスペックを確認しないと >>152,154
すみません
図については見様見真似で書いた感じになります
回路本体については今は無理なので後ほど必要であればアップしますがこの図よりも見づらい気がしています
Arduino PIN 3.3V というところが38kHz変調のON/OFFのリモコン信号を与えている場所になります 説明不足ですみません
オレンジは黒い回路がない場合にはシーリングリモコンとして動作しました
その後、それを取り外して黒の回路単体で遠方のシーリング動作を確認
最後に合体させるとオレンジの回路が動かなくなりました
利用頻度は1日5回程度です
LEDについては無抵抗で発光させるという方もいましたので、同じ半導体ならトランジスタでも大丈夫かとも思ったのですが危険でしょうか?
とりあえず熱くはなっていないようです(昔破裂させたことがります><)
Ibは200Ωをつけると飛距離が短くなったので47Ωにしています この部分を小さくすればもっと流すことが出来ますかね?
部品については手持ちの部品の中で一番Icが大きいものを選びました ネットを見るとIcがA単位のものが昔と比べ廉価にあり欲しくは買ったのですが送料が高くとりあえず断念しています
また今の回路で必要十分な飛距離のリモコンとして動作してしまったので新しくトランジスタを購入するか迷っています
>>153
昔マイコンという言葉を知った頃に入手したものがあったので、とりあえずトランジスタということでつなげてしました
NEC A1546というジャンク部品も合ったのですが動作しませんでした
可視LEDをつけてみると動作が緩慢なので拘束の切り替えに対応していないように見えました > LEDについては無抵抗で発光させるという方もいましたので
否定レスが付いてるのもちゃんと見よう
> 47Ωにしています この部分を小さくすればもっと流すことが出来ますかね?
>>154がせっかく計算式と理由書いてくれてるのに
> 同じ半導体ならトランジスタでも大丈夫かとも思ったのですが
> 新しくトランジスタを購入するか迷っています
買うならFET買えよ、トランジスタは手元にあったからだろ
都合の良い所しか読まない
&理解できないと読み飛ばし
&聞いてもいないのに誰も興味ない昔語り 趣味の工作だから細かいこたー気にしてない
三個直列は弱いなじゃあ二個でどうだ!で決めたんよ
一個はバッチリ焼き切れたよw
後はおまじない程度でLEDの近くの5Vラインに電解コンデンサ入れておこうぜ >>160
チミは5Vの回路を高圧回路と同等の注意を払って扱ってるのか
「羹に懲りて膾を吹く」って知っとるか 一時的には使えるかもしれないけどLEDは劣化するよ
白色LEDをパルス点灯させたけど3か月程度で急に暗くなった >>154
2SC945まだ活きてるんだ!?
セカンドソースが出るほど需要があるのかね?
しかも有難うございますの通販サイト見たら別メーカ(こっちが本物セカンドソーサ?)も出してるし。
横から申し訳ない。 >>162
どのくらいの期間パルスで点灯?
あと何mAくらい流し続けてた?
>>157
5Vですが火吹きますかね?
>>156
肯定も否定もあるし1Aくらいまでは行けるという話も前スレであったから正直わからん
ただ、オリジナルのリモコンよりも発信は弱いからまだ出せるんじゃないかという気もしてる
その計算はすごく助かった
ただ実際にはまだ飽和していない可能性もあるのかと思って質問した感じ
もちろん、新しく買うなら規格通りのものを買いますよ!せっかく詳細なレスまでもらっていますし適合部品を買います!
しかし、このまま使えるなら余計な出費もないし、このまま使えるなら助かるなと思ってる。そんな文意で書いています。
また、そのため、どの程度この工作にリスクが有るかが気になっています。
あと、家を探してたらC1815がたくさん出てきてこれに置き換えようかとも思ってる。
規格品を買えと言っても近くにそういったショップが有ると便利だけど(東京旅行したら時普通にショップの置いてあってびっくりした)
何か作る度に適合部品を買うのって現実問題としてかなり大変な気がするんだけど、みんな大量の在庫持ってるの?
>>158
LEDにコンデンサー入れるの?どういった効果があるの? >>165
こんな感じで、コンデンサの機能を知っていれば自ずと解るのでは
しかし容量がでかすぎると電源を繋いだ瞬間の突入電流が過大になるので要注意
まあ壊しながら学べば良いと思うよ
でもそれを部品のせいにはするなよ
ツクモガミにたたられるからな >>166
トランジスタやオペアンプの低周波系回路の動作が理解できないような初心者はAC100V直結の回路は作らない方がいいよ。
本人はもちろん家族も感電したり発火や火事になる危険もあるから。
最初は電池駆動かACアダプタから後の回路から始めた方がいいと思う。 そうか、ここArduinoのスレだったね。
うっかりArduinoとは直接関係無い話になってしまった。 ArduinoでAC100Vのルームランプ点灯したいとか考える奴もいそうだし
全体的な注意としてはあったほうがいいよ
148> 出力ピンの電流は取り出すのも流し込むのも40mAはやめたほうがいい
148> 20mAくらいに考えとけ
154> 47だから53mAで流し過ぎ
質問者> 47Ωにしています この部分を小さくすればもっと流すことが出来ますかね?
20mAにしとけってのが53mAなのに更に増やそうと考えてる
まったく他人のいう事が耳にはいってない
そして1個10円もしない部品ケチる
Arduino壊して思い知ればいいと思うよ 市販リモコンのIRLEDには1Aとか流してるよ。全然OK。 初心者は熱烈大歓迎だけど話を聞く気がないバカは歓迎してないんだよなぁ >>171
どうでもいいけどアンカーの付け方間違ってるよ。
> まったく他人のいう事が耳にはいってない
質問者はオームの法則さえ分かってない気がする。
話は変わるけど以前店頭でラズパイマガジン見たとき実体配線図だけしか書いてないのに驚いた。
ただ配線する為だけで回路論的動作を理解する為の情報が皆無って。。。 Arduino使いには電気/電子関係者だけじゃない人が多くいるからね
美術系とか・・・ >>175
そうね。
当初はイタリアで工学系の学生実習の安価な教材提供から始まったらしいけど。
それを越えて広まった証拠かも知れないな。 >>174
引用符だよ、アンカーより流れ掴みやすいだろ
2人に注意されてんのにバカなこと考えてるのがよくわかる > 実体配線図だけしか書いてないのに驚いた。
キットもそんな感じだろ
興味沸いた人だけ動作原理調べたり改造したり自作回路に応用したりする
少なくともここで質問してる初心者は1歩踏み込んでると思うよ
ただ他の人の話を理解しようとしないのはNGだな
わかんない部分は質問すればいいのに >>171
すみません。そちらにも制限がありましたね。その件は完全に失念していました。
154を読み、とりあえず今はなんとか赤外線LEDの電流を大きくさせようと躍起になっている最中でしてArduino側の回路の制限を失念していました。
玄人の人であれば常に全体の制限を意識できるのでしょうがLEDを発光させる回路を考え教えていただいた計算結果がどのように出るのか考えており頭がいっぱいでした。
また、Arduino側についてはその程度では壊れないという感覚がどこかであったのかもしれません。
といいますのも、今まで抵抗無し(あっても10Ω)で2年くらい赤外線リモコンとして使っていましたが壊れていなかったりします。なぜだか分かりますでしょうか?
また、容量オーバーの場合Arduino及び回路はどのようになりますか?無人状態で使うため安全面も気になっています。
また、それであれば、トランジスタを2段にした場合にはどのようになりますか?
トランジスタそのものは150mA(最大)ですが購入するまえに、なんとか今のトランジスタでやりくりしたいと思っています。
とりあえずLED2個と抵抗がある部分についてLED1個にしましたが、純正のリモコンと比べて飛距離があまりでません。
その理由も知りたく思っています。
また、オレンジの回路が動かない理由は分かりますでしょうか?
部品破損についてですが、もちろん、破損しないほうが良いですがArduinoはAliで安く買ったため1個120円程度で結構な数があり、
トランジスタは昔袋で買ったようで大量にあり、最悪実験中に壊れても構わないので可能な限り新しい部品を買わないでやりくりしたいという事情もあります。
>>167
コンデンサーは電気を貯める機能がありますので、LEDの点滅が緩慢になる感じでしょうか?
ただ今回はリモコン信号なのでパルスが崩れてしまって使えない?
小さい容量であれば充電を停止した瞬間に貯めた電気が一気にLEDに流れ込むため大電流を得られる?
こんな感じでしょうか? >>178
関連性が全て頭にあって、わからない場所が明確に分かっていれば初心者ではなく上級で質問すると思う
正直、何が分かってないのか分からないんだよ
頭のいい人は、読み飛ばし無く全て記憶して総合的に理解出来るんだろうけど
私などは読めばだいたいわかった気がするけど、実際には理解から抜け落ちていたりする
先生の話を聞いて理解して板書も完璧、授業が終わってミニテストをしたら、お前何聞いていたんだとかよく言われてた
こんな頭の悪さなんですまん >>179
> 玄人の人であれば常に全体の制限を意識できるのでしょうが
トランジスタを使うと、Arduinoを破壊しないよう気をつけて設計しないけいけないけど
MOSFETなら2mA程度でスイッチングできるので設計が楽
値段も変わらないのでTrからFETにおきかわってきている。
> トランジスタを2段にした場合にはどのようになりますか?
良い着眼点です。1個のパッケージに2段のトランジスタが内臓されたものもあります。
> トランジスタそのものは150mA
1000mAでLEDを駆動したいのに150mAを購入するの?
参考:
MOSFET 2N7000 TO92 20個 送料込み84円(1個あたり2円)
https://www.aliexpress.com/item/-/32492820331.html
MOSFET AO3400 SOT23 50個 送料込み94円(1個あたり2円)
https://www.aliexpress.com/item/-/32693830483.html
SOP223 DIP 3pin 変換基板 20個 送料込み84円(1個あたり4円)
https://www.aliexpress.com/item/-/32837202533.html
AO3400は4Aまでドライブできるのでオススメ
チップ部品なので変換基板があると扱いやすい >>180
それは記憶に頼ってるからだろう
テストじゃないんだから、情報をテキストにまとめたり
回路図と一緒にフォルダに入れておいて
使いたい時にまた見ればいいんだよ トランジスタにしろFETにしろLED電流増やした効果がでてないのにそこを詰めても意味ないでしょ。
どういう回路でどの程度の効果があったかわからんのに、いろいろ試すからわからんようになるのでは。
遠距離で動かない場合、軸がずれて受光部にあたってない可能性もあるので検証するときには気をつけて。 >>183
ブログについて、試行錯誤を書いても初心者過ぎて多分誰の役に立たないし混乱させるだけでアドバイスも貰えない
出来上がったものや、ネットで見つからない廃盤になったリモコンの生信号は公開しています
需要はほぼ無いですが私自身がどうしても欲しくネットになかったので公開しています
IR信号分かるだけで万単位節約できることもありますしね
>>181
トランジスタ150mAにつきましては、上で書いたのですが昔たくさん買っておりまして自宅にあるのでできればこれで済ませたいと思っています
20年位手元にあり未だに使いきれていません
MOSFETも多分少しずつ使うため容量の大きな物が欲しいです 願わくばモーターを動かせるほどの汎用性があるとありがたい
Aliについては偽物が多くできれば、いつか東京か大阪へ行った時にでもまとめて買いたいと思っています
ただ本当に安くからあるのですね!ここまで安いとは知りませんでした。
チップについてはブレッドボードでそのままつかえるものを探しています
お薦めのMOSFETはありまでしょうか?
>>182
上で数値を教えてもらったので回路図の横に書いたりしています
ただそれでもArduino側の制限を見落としていました
>>184
一応、実験では抵抗を落とすと効果があり、最終的には47→10Ω、発光側は抵抗なし更にLED1つまで無茶させています
ここまですると、伝送距離が目に見えて伸びました。目標としては90度異なる方向に向けても純正リモコンのように反応するようにしたく思っています
軸については確かにシビアですね 今回はLEDにヤスリを掛けて表面を荒らしています
これをすると乱反射するためか0.5-1mくらいであればLEDの方向に左右されず確実に反応するようになっています
ただそれでも買ったリモコンにはまだ遠い感じです >>185
応答する角度を広くしたいなら、広角LEDを使うか複数LEDで照射範囲を広げるのが効果的。
結局距離が不満なのか応答範囲が不満なのか?狭角照射LED1個使って出力電流調整で応答範囲を広げるのは無理。 麦わら帽の広角タイプが120度だね、ラウンドが30度
設置型リモコンだと上下角が足りない感じになるので
ラウンド2個を左右に1個を上に向けてるわ
95mAで8畳の3.6mをフルカバーできる感じ Arduinoを最近始めたものです。
Arduinoとは直接関係ないのですが
回路図を見ているとトランジスタの周りに本来ならいらなさそうなコンデンサが入っていることがあります。
多分理由があると思うのですが、その理由はどのような本を見れば勉強できるのでしょうか? 回路図見ないとわからんがスピードアップコンデンサか直流カット用かな。トランジスタ系の本かアナログ回路の本、トラ技の回路集の号とか。 >>190
ありがとうございます。
抵抗と並列に入っていました。スピードアップコンデンサというのですね。
アナログ回路の本を探してみたいと思います。 >>187-188
反応範囲も距離も両方共市販リモコンレベルにしたいと思っています。
手持ちのLEDを調べてみますと半減角15°でした。確か言われるようにこれは狭すぎますね。
ただ、複数つけても思ったよりも角度が広がっていません。15度ではそもそも限界がるのでしょうか?
私が出力にこだわっていましたのは今の市販リモコンは90度、270度、180度、床面や壁面などどの方向に向けても
リモコン(シーリング、具体的にはRE0206)が反応するので単純に角度だけではないと思っているところがあります。
LEDの数は3つなのですが全て並行で前向き。しかも、飛び出ているわけではないのでリモコンを上から見てもLEDは見えないのです。
そうしますと、市販リモコンは乱反射した光で受信しているようなので出力がべらぼうに高いのではないかと想定したのです。
ただ言われてみますとそもそもの角度がないと乱反射も微妙かもしれません。
半減角の大きな赤外線LEDは具体的にどのようなものがありますか?
調べ方が悪いのか良さそうなものが見つかりません・・・
一応見つけた最も大きいものがこの辺りでした 半減角30度
もっと良いものがありますかね?
http://akizukidenshi.com/catalog/g/gI-13204/ 最近ArduinoMega2570+DraginoYun買って勉強し始めたジジイです
玄関のスマートロックをIFTTTでコントロールするため、KeyPADでパスワードいれるとIFTTT Webhooksにアクセス 特定キー押したときのみ指紋認証 FPM60起動して指紋認証でWebhooksアクセスさせます
100均9V箱型電池駆動させたのですが、24時間持たずに電池切れになりました。Arduinoてこんなに電池食いなのでしょうか?基本ほとんどKeyPAD入力町のLOOPしているだけなんですが・・・
24時間中まともに使ったのは1-2回です あと上記構成で httpsにアクセスする方法紹介しているホームページあったら教えて貰えないでしょうか? httpは通るけど httpsが通らないorz >>196
スリープしないでループし続けたらあかんでしょ。
PICでも電池切れるわそんなの。 >>198
ありがとうございます
スリープというコマンドあるんですねググったら見つかりましたこれで試してみます 赤外線led麦わら帽子ライト940nm 5mmクリアレンズ 100個 送料込み887円
https://www.aliexpress.com/item/-/32773572088.html
10個パックがみあたらねえ
照射角が4倍の120度になるって事は、光が16倍の面積に拡散されるということ
これは主に暗視カメラの光源として大量に使用されているようだ ゴムかぶせると弱くなるじゃん
ただでさえ拡散して弱くなってるのに
一般的なラウンド型 0.3W
ストローハット型 0.5W
こちらは3W、明らかに投光用
3ワット赤外線パワーled 940nm 放熱板付 10個 送料込み423円 (1個あたり42円
https://www.aliexpress.com/item/-/32863967545.html
そして専用のレンズ 15/30/45/60/90/100度 1個30円
https://www.aliexpress.com/item/-/32463089165.html
こっちに60度,120度あったけど放熱板追加しないと
https://www.aliexpress.com/item/-/32953182050.html
俺は2SC1815で普通のラウンド型3個直列で満足してるけど
極めたいならどうぞ、結果もみてみたいわ オリジナルのSS8050なら1.5A流せるんだけど中華の安っいパチモンS8050は全くわからんからな。あたりを引けば1Aくらい流せるかもしれないしハズレなら0.5A流せるかどうか
パチモンが嫌なら秋月の2SC2655Lあたりは安くてそこそこ流せる(2A0.9Wで10個100円)からいいかも。東芝オリジナルではなくUTCだが全く不明なやつに比べたらそこそこ信用できるだろう リモコン程度の周波数でもBJTをエミッタ接地でスイッチングすると遅いからデューティー
がかなり大きくなるぞ。FETに変えるかPWMのデューティーを変えるかした方がいい。 SS8050とSS8550は日本語の作例を殆ど見かけませんね
やはり入手製と再現性がネックになるのかな
といわけでArduinoのあるご家庭には大抵1個はある
ステッピングモーターのドライブ回路にULN2003が乗ってます
これは500mAのダーリントン(2段組Tr)が7個はいってて
IC全体で2Aまで制御できるもの、この入出力を4個束ねると
手持ち品で強力なものができるかと
もちろん7出力にそれぞれLED3個直列にして21個ドライブもできると思います。 >>205
そんなことは無いと思うね。ふつうのTrで38kHzまで問題なくドライブできるぞ。 >>206
トランジスタ大量に余ってる場合、それを並列にしたら大電流が取り出せるだろうか?
>>200,203
本当に麦わら帽子ライトなんだな
日本語で見つからずどのLEDかと思ってた
パワーLEDはいつか買おうと思っています。ただ、市販のリモコンは普通(麦わらですらない)LEDで実現していますし、できればそれを入手することなく実現させたい
>>194
研究できるほどのスキルは無いので・・・
>>195
そうなんだけど、同じ条件で市販ならできても、自作で作ったリモコンは角度を90度も変えると動かないんだわ >>203
あとパワーLEDを使ったものはメルカリで自作した人が出してる
ただそこまで大掛かりにしなくても市販リモコンは実現してる
どんなトリック使ってるのか・・・ 昔ちょっと調べた限りだと市販リモコンは1/5〜1/3デューティくらいで0.5A〜1A流してるだけだと思うけど(2SDトランジスタとかが多かったかな)
あとトランジスタのパラはリモコンのような低電圧では難しいかな、
パワーアンプで大電流のやつが入手困難とかコストがかかりすぎるとかでパラにするのはよくあるけどその場合は電圧に余裕があったりエミッタに小抵抗入れてバランスとったりするからな >>208
手持ちのLEDの型番は?前に言ってたっけ?ID変わってるから読み返すの面倒くさい。続けるなら名前入れて。
市販のと同等のが作りたいなら市販の奴がどのくらいの性能か具体的に調べろ。直線での到達距離、反射物がない場合の応答角度。
それを無視して反射物がある状態での性能をどうこう言ってもなぁ。 まず既製品の蓋開けて、何アンペア流してるかオシロで調べてからだな。 arduino pro miniの書き込み用アダプターで困っています。
AE-ATMEGA328-MINIとアダプター(5V専用)を今まで使っていたのですが、
3.3vで動く純正のpro miniを使いたいと思い、下記のアダプタを購入しました。
DSD TECH SH-U09C USB - TTLシリアルアダプター + FTDI FT232RLチップ
アダプタを5v側にし、純正では無い方には書き込めた事もあるのですが
1回しか書き込めず、
アダプタを3.3vにして、純正品3.3vにUSBホストシールドminiと繋いだものへ
書き込みを何度も試したのですが、
書き込む事ができませんでした。
ピンの繋ぎ方は下記の様に繋いでいます。
pro mini アダプター
BLK GND
GND CTS
VCC VCC
RXI TXI
TXO RXO
GRN RST
配線の順番を変えてみたりしたのですが
配線が違うのか、アダプターの買うものを間違えてしまったのか
判断がつきません。
すみませんが宜しくお願いします。 信号レベルが3.3でもVccは5Vの変換モジュールもあるので電圧も測って
あとリセット信号がDTRの場合とRTSの場合もあったような >>214
>>215
レスありがとうございます。
シールドと離してみて書き込みを試してみましたがうまく書き込めませんでした。
電圧を測ってみたのですが約3.3vでした。
DTRとRSTの場合があるのですね。
書き込みに成功している記事の写真を見ると
アダプタにはDTRの文字がありました。
DTSの文字が書いてあるアダプタを買うべきなのでしょうか。
電圧を測らなくて大丈夫という先入観から測ってみるという事はやった事が
無かったので勉強になりました。
ちなみに3.3vのものに5vのアダプタで書き込むと
どちらかが壊れたりするのでしょうか? ProMini単体は3.3V版って言っても8MHz動作になっているだけで5Vでもそのまま動作する
(ちなみに5V版は16MHzで動作するようになっている→載ってるMCUの仕様で3.3Vでは16MHzの動作は保証されていないため)
なのでProMini単体ならぶっ壊れたりすることはないが、接続したシールドや周辺回路などが5Vに耐えられない場合はそちらが破損する可能性はある
アルファベット3文字の単語が各所で間違っていて正しく読み取れないが
232CにあるのはTXD・RXD・DTR・DSR・RTS・CTS・RI(DTSとやらは存在しない)
>>213でGRM<>RSTとか書いてることをかんがみると
RSTなんてのは232CにはないがこれはArduino側のリセット端子のことをRSTと言ってることがあるので混同しているか?
(RSTはたぶんReSeTの略で、RTSはRequest To Sendの略だからRTSとRSTに関連性はないぞ)
適当に調べるとArduinoの書き込みでリセット信号はDTRでやってるっぽいのでGRNにはDTRだぞ >>217
レスありがとうございます。
RSTとRTSの事を混同していました。
DTRというのが標準的な場所に見つからず困っていたのですが、
アダプタにL型ピンを付けれそうな場所がありました。
下のリンクが持っているアダプタの裏面の写真です。
https://imgur.com/a/SPfw5qk
標準的な使い方ではないかもしれず心配なのですが、
中央左側にL字ピンを付けて
DTRのジャンパー線を繋げれる様にして使うとのはどうでしょうか? >>218
あなたやあなたの買ったボードの都合は一切関係なく
以下のようにつなぎます。
シリアルモジュール - Arduino Pro Mini
GND - GND
VCC - VCC
TX - RX
RX - TX
DTR - GRN >>219
レスありがとうございます。
ピンの繋ぐ組み合わせを分かりやすく書いて頂き
助かります。
この並びになるように
アダプターの事を調べながら試してみたいと思います。 replace文でこんなエラーが出ます。
「no match for 'operator=' (operand types are 'String' and 'void')」
String temp="ABCDEFG";
temp=temp.replace("A","B");
なんで? temp.replace("A","B");
でイケました なんか not in sync とか出て書き込みができなくなったなーと思っていろいろいじってたんだけど、IDEを古いのにしたりUSB-TTlを別のチップのにしたりドライバーを古いのにしたりUSBaspで直接書き込んでみたり…
なんてことはない、結局ジャンパーワイヤーの接触不良だった、中華のデュポンワイヤとかいうフラットケーブルにコネクタ付けたような奴は安いからよく使うけど消耗品と考えて時々接触を確認したほうがいいな
特にメスコネクタの接触不良が多いような気がする >>225
だよね。
ケーブルとコンタクトが樹脂部から抜ける方向にずれ易く、ずれた結果外目はしっかり刺さっていてもピンに対してコンタクトが適切な深さまで差し込まれていないことが多い。んで樹脂部じゃなくてケーブル持って差し込むようにしている。単純に断線していることもあるけどね。 ジャンパ線のオスがブレッドボードから抜けやすくて困ってます。なんかの拍子に5vとGNDが一緒に抜けてショートしたりしそうで・・・
皆さんどんな対策してます? ジャンパの接触不良は結構ハマるからな…負のスパイラルに
ほんとはジャンパもブレッドボードも良質のものを使えばいいんだけど安さは正義だし
まあ自分が使っているものの品質をよく把握しておいてそれなりにメンテするくらいしか
こまめに導通チェックしたりバネを調整したり(時間がある人ならブレッドボードもジャンパもある程度調整できる)
思い切って窓から投げ捨てたり… 安もんのブレッドボードはターミナルブロックとかの太いピンも気にせずに挿せるところがメリットだねw 中華の束売りのデュポンワイヤとかLCD接続に使うと
ちょっと曲げたら写らなくなるよな
デュポンコネクタとハウジング買って自作ケーブルにすると
中華材料でもびっくりするくらい安定したケーブルができるよ
オスはピンが軟弱なので自作の意味はあまりないけど、メスコネクタは全然違う
USB-ピンヘダケーブルとか、I2C,SPI,ICSPなどのよく使うケーブル
LCD接続ケーブルは自作オススメ
あとブレッドボードは消耗品だから調子悪くなったら交換だけど
分解してペンチで締め直したりズレ修正するという奥の手がある もう俺はブレッドボードは信じない
ネジ式の端子台でいくぞ ヒロセのHIF3シリーズのバラ線用コネクタのピンなどは、
https://www.monotaro.com/g/00955439/
たまにピンをハウジングから抜き出して、細いドライバーなどでバネ材を押し、
接触圧を強めている。
前に同じような事をブレッドボードのピンでやろうとしたのだが、
秋月で購入したブレッドボードは接着剤が強力過ぎて分解できなかった。
なので「ブレッドボードは消耗品」という考えには賛成なのだが、
他の穴なら使えるかもとか、太いリード線ならOKかもなどと考えて、
貧乏人の私には交換タイミング(諦める)が難しい。 テンプレに何も情報ないスレだな
tinkercad arduinoシミュレータ
https://www.tinkercad.com
arduino 日本語リファレンス
http://www.musashinodenpa.com/arduino/ref/
他になんか入れるべきものあるかね テンプレって毎回聞かれるようなもの記載でいいの?
たとえば・・・
○USB差し込んでも反応しません→奥まで差し込め
○arduinoに直接ホニャララ繋げてもいいですか?→定格の概念とトランジスタによる増幅やドライバーの紹介
○arduinoにホニャララ繋いだのに動きません→おま環すぎてわからん。つないだもなの詳細及びそれ使うために書いたソース見せろ。最低限聞く側が情報開示しないと予知能力でもないとわからん
この辺が毎度繰り返される内容だよね AVRスレ、Arduino互換機スレ、ESP8266/ESP32スレのリンク
nanoのbootloader新旧ある件
レギュレータ能力の問題
>>219
くらい? 質問するときは回路図か書けなければ実体配線図それも書けなければ繋いだ写真を載せろ
プログラムが関わるときはスケッチの内容も書くこと
とか 最初は純正品買え
激安中華品はブートローダー書き込まれてないものもあるから
いきなり躓くぞ
とか >>236
互換品はCH340ドライバが必要
最近のWin10は入ってる
互換品はレギュレータが違うのでVinにかけていい電圧は12V以下が無難
5V、3.3v、GNDに流していい電流はどうの
digitalWrite早くするには、
analogRead早くするには
とか >>238
ブートローダー書き込まれてないのに
当たった事がないんだが本当にあるんかいな? 動くarduino、もしくはAVRISPか同等品を用いてブートローダーを書き込みます
でも最初は何がわからないのかがわからないと思うから素直に純正品購入したほうが良いと思うよ USBasp(安いよ)+AVRDUDE(GUI版もあり)でOK >>243
自分の場合は日アマで買った中華Nanoが全部ブートローダが入って無くてUSBasp買って↓ここのサイトを見て書き込んだ。
https://ht-deko.com/arduino/usbasp.html
このサイト本当に有りがたい。 クローンとか暇な中高生のおもちゃだろ
中古arduino純正品買って検品するほうがマシだ 10個単位でおとな買いして組み込んで消費してくもんじゃないの?
bootloader入ってなかったら別の店で当たりがでるまで引くと一気に復活するよ
今まで買った中華パーツ5万円くらいだけど
これ全部スイッチサ○エンスとかで揃えようとすると30万くらいになるよ
秋○なんか安いけど送料考えるとやっぱ3倍くらいになる
初心者がクソ高いパーツ掴まされて、それは用途に合わないよって言っても
もったいないからと未練たらしくなんとか活用しようとしてるの見かける度もやもやする 俺もシナパーツは買う、てか今は買わざるえないものが多いが、
arduinoクローンはそれ自体をいじって楽しむおもちゃだと思う 定評のある互換機買えば初心者でも問題なかろ
特にアマゾンで売ってる奴買えば問題ない、
aliとかでえたいのしれない店から買うのは初心者にお勧めしないだけで yellowとかpinkとか買えばええ
マルツやスイッチサイエンスの互換機でもええ 作例としてUNOが用いられている事が多いので
みんな最初はUNO買っちゃうみたいだけど
DIPの挿せない互換UNOなんてでかくて使いにくいだけなんで
その後はNANOやPROMINIやMICROばっか使ってるって実態もどこかに書いてほしい
好きな物買えばいいんだけどな UNOはいろんなシールド試せるから教材には良いんでないの? UNOの引き起こすシールド地獄はまるでサラ金地獄
最初にUNOを購入するとバカ高いシールドを買ってしまうよな
100円のパーツが基板に乗っただけでなぜ1500円になってしまうのか
NANOとデバイスをブレッドボードに刺してワイヤー結線するよりも
はめこむだけなので簡単だし間違いは無いけど、
I2Cは4本の線でつなぐとかプルアップを体験として学べるし
シールド2個と同じ予算で10個以上のデバイスが買える
つまり10歩も先にいけることになる。
新規の方はシールド地獄にはまらないよう願うばかりだ >>254
たかだか10円もしない抵抗コンデンサを並べて配線するのにも1時間かければ、数千円を
使っているのと同じってこともある。
市販シールドで学習や実験・評価が捗るなら結局オトクかも。
モノ作りをしたいのか、それとも、モノ創りをしたいのかでも変わってくるんじゃない? 生のマイコン使うのが面倒でArduinoに逃げて来たはずなのに気づけばシールド生基板に部品半田付けしてたりインラインアセンブラモリモリなライブラリ自作してたでござるの巻 それもまた一興
最短距離で目的地に着くのもよし、遠回りしてやっと目的地に着くもよし、途中で遭難するのは困る >>253
シールドなんてあんな高いもの誰がかうんだ?
とかずっと思ってたんだけどあれだけ市場あるってことは売れるんだろうな・・・価格より機能よりお手軽さが勝つユーザー層は確かにいるってことで・・・
unoが生き残ってるのもサクラとかが配置互換出してるのもそう言うことなんだろうねぇ >あれだけ市場あるってことは売れるんだろうな
まっとうな分析 半田付けやプログラミングをしたことがないユーザ層が結構Arduinoを使い始めてるって J( 'ー`)し「今日な、でんでんタウンいったらタケシの好きそうなモンあってん・・」
タケシ「カーチャン、これUNOじゃん、俺の欲しかったのはRaspberry...」
J( 'ー`)し「・・・」
タケシ「・・・いや、ありがとな、大切にするわ」
こんな感じで普及してるんやろ ハード未経験のソフト畑の人が始めるにあたって。
半田付けや電子回路特有のお作法(プルアップとか、コンデンサとか)は一つのハードル。
もちろん、やってみりゃそんな難しいものじゃないんだけど。
論理ばかりだった人にとっては、信号線を本体とセンサーに繋ぐ以外に抵抗つけてプラスにつなげるのは「???」ってなる どこで質問したらいいかわからなかったのでここに
GoogleHomeからESPの赤外線LED又はサーボを制御してスマートホームしたいです。
IFTTTとBlynk使えばできるかなと考えたのですが、実際にしている人たちはBlynkをwebhookで叩いて直接ピンに出力し、Lチカしている人ばかりです。
webhookで関数を実行させることはできないのでしょうか?
よろしくお願いします。 他の人と同じようにピン叩いて、ピンの状態をトリガにする関数用意したら? webhookで重い処理実行すると、処理終了までWebが無反応になって
httpリクエストが積み重なってオーバーフロー引き起こすとか?
割り込み処理と同じようにフラグだけ立てて後で処理するみたいな
対応が求められるんじゃないのかな >>269
最悪それでいいよね。
ピン状態を変数のフラグとして扱うだけだし。 268です
引き続き調べてたらVirtualPinって概念があるみたいで、それ使えば物理ピンに頼らなくていいっぽいです。
調べ不足でお騒がせしました ラズパイより見た目が好きだぞarduino
ラズパイみたくこれといった略称がないのがもったいないな 「これなんて読むんだ」は残しておきたいから、略称はあえて無し
愛称は「センパイ」
イメージキャラは、バカボンの本官さんみたいなおっさんの
目が無限記号にプラスマイナスになってる感じでお願いします。
じゃなくて、AVRアセンブラがぜんぜんわかんねーよ
bitset 定数,定数 を
bitset 定数,レジスタ に変更したいだけなのに
sbi I,I に対するニモニックがわかんねー
もしかしたらレジスタにロードしてOR演算したあとストアすんのかな 何故今時アセンブラなのかはさておき
察しの通りレジスタのorで演算するしかない > 何故今時アセンブラなのか
AVRのような小さな8ビットCPUではアセンブラでしか出来ない事があるからに決ってるじゃあ〜りませんか。
「アセンブラを制する者はCPUを制する」という言葉を知りませんか?
・・・
知るわけないか、たった今、私が作ったんだからw >>275
しかないですか…
DigiSparkでTvtest+TvtPlay用のリモコンを作る
↓
アナログボタンの反応がおかしいのでデバッグしたい
↓
I2CのLCDをつけてみる
↓
5pinのアナログポートが使えるけど2.5V以下になるボタン押すとリセットする
↓
I2Cあきらめて、BasicSerial3にする
↓
デバッグできてリモコンは完成
↓
このままだとTiny13AやTiny44の時困る。なんで使用ピンがライブラリ定数埋め込みなんだよ!
↓
BasicSerial3をいじろうと思い、アセンブラのお勉強をはじめる
↓
引数にピン番号を追加し、r20に入ることがわかる
↓
sbi I,I を sbi I,r20 にしたい←いまここ >>277
アセンブラの話の前に
A0が2.5V以下になるとリセットされるのはRSTDSBLヒューズがプログラムされてないだろ
そもそもGPIOポートじゃなくてマイコンのRESETピンになったままだ
Digisparkは専用ブートローダーが入ってるから書込みにRESETピンを必要としないし
ヒューズでRESETピンは殺されてGPIOになっているはずだ、純正品ならね
基板だけパクってブートローダーだけ書いてヒューズが適当なのは中華クローンの特徴
きさまクローンを使っているな!?(別に悪い事じゃないがw)
ICSPライタ(別のArduinoでも良いしUSBシリアルでもいい)でヒューズ設定をちゃんとすれば中華クローンでもA0もちゃんと使えるぞ
んでアセンブラの話
sbi A,bはIOレジスタの任意ビットを1にする命令でAがアドレスでbがビットでどっちも即値
これのビット位置がレジスタに入ってるとすると、その値が例えばsbiのbで4だったらレジスタの値が4(0x04)なのか0b00010000(0x10)なのかでちょっと変わるが
基本的には対象のIOレジスタの値を汎用レジスタに読込してORで該当部分を1にしてIOレジスタに書き戻すっていう処理になる
sbiが使えるアドレス相手なら命令的には in → or → out で出来る
もし↑で書いたビット位置を示す十進の値がレジスタに入ってるならORする前にビット位置にしてやらんといかんが…
注意するべきなのは汎用レジスタってのは有限で色んな事に使われてるし使い方にある程度のルールがある
in命令で読み込む先の汎用レジスタがそのタイミングで使っていいものかどうかをよく確認しないとそれ以降のプログラムがめちゃくちゃになる可能性がある
基本的にはコンパイラは最低限のレジスタしか確保しないし(当然だが)その後即値が入るとか演算結果が入るとかで値が上書きされる奴を使う事になる
レジスタの使用状況が一切わからないもしくは汎用レジスタの値どれも破壊したくない場合は
inの前にpushを入れてoutのあとにpopを入れてもともとの値を保存・復帰してやったりしないといけない(一時的にスタックメモリ(=RAM)に送る動作) >>278
書きなぐりに詳しいレスありがとうございます。
ご推察の通りパチモンですw
bootloader最新に更新しようとしたらよくわからなかったので保留してました。
ICSPアダプタは作ったんですが、DigisparkではなくただのTiny85になってしまいそうなので
もう少し情報集めてトライしたいと思います。
push,popでレジスタ保護するのは了解です。あまりやると貴重なRAM食いつぶすので
r25,r23,r21とかの使われてないの活用する方向でやってみます。 >>279
今Digisparkとして使えてるなら、ブートローダーを書き変える必要はない、ヒューズのRSTDSBLを1から0に書き変えるだけ
(RSTDSBLをプログラムするとICSPは使えなくなる、ICSPはRESETが必要なため=高電圧パラレルライタを作るか買うかしないとDigisparkとしてしか使えなくなる)
>あまりやると貴重なRAM食いつぶすので
pushした時点で1バイトスタックメモリを喰うが、3命令後にpopするならpopした時点でもうその1バイトは解放されてるわけで、この追加だけで食い潰すなんて事はないだろう
スタックオーバーフローは関数を再帰呼び出ししたとか、グローバル&ローカル変数でRAMを9割使ってるとかじゃなきゃ殆ど起こらんと思うよ
>r25,r23,r21とかの使われてないの活用する方向でやってみます。
使ってもいいかってのは「プログラム全てを通して」って意味だから、今自分が弄ってる部分だけじゃないぞ?
今変更している関数で使って居ないレジスタは別の関数やメインルーチンの値を持ったままになっている可能性がある
そこを破壊してしまうとその関数を呼び出したときやメインループに戻ったときの挙動がおかしくなるからな
その番号は呼び出し使用に該当するが、もしアセンブラがインラインで書いてある場合は関数呼び出しじゃないので…
Arduino言語(C言語)で書いてあるスケッチを含めて全部をコンパイルしたelfファイルをavr-objdumpに -d コマンドで渡して
スケッチ全体をコンパイルした後のプログラム全体のアセンブラソースをチェックして本当に使っても良いかチェックすれば安心
そのライブラリを実際に見たわけじゃないから俺には分からんが、アセンブラ部分の書き方や呼び出し方法によっても使っていいレジスタが変わってくる
もしそのアセンブラ部分がインライン構文で書いてあるなら空いてるレジスタは自分で確保しない限り無いと思っといた方が安心
.Sファイルとかでアセンブラ関数として定義されてるならレジスタインタフェースの規約で呼び出し使用になってる奴は破壊してもいい
(C言語側とのやり取りが呼び出し保存なのか呼び出し使用なのかがレジスタ番号によって決まってる)Atmelの資料AVR32027.pdfを見よ
ちなみに、もし割込み関数の場合はいつどこで呼び出されるか分からんので規約関係なしに全てのレジスタは保存しなければならない すまんtiny85の高電圧はパラレルじゃないわ高電圧シリアルだ
ピンたんねーしな BODの設定は乾電池駆動の場合、1.8Vでいい?OFFでいい?
@OFF
A1.8V (1.7?2.0V)
B2.7V (2,5?2.9V)
C4.3V (4.1?4.5V) BODの設定は乾電池駆動の場合、1.8Vでいい?OFFでいい?
@OFF
A1.8V (1.7-2.0V)
B2.7V (2,5-2.9V)
C4.3V (4.1-4.5V) >>283>>284
動作保証が1.8Vからだしちゃんと動いて電池切れたら止まって欲しいなら1.8Vで
マイコンの動作保証はなくなって正しく機能しなくなるかもしれんが
動けるとこまでもがいて欲しいならBoD禁止でいんでね
そもそも1.8Vだと4MHzまでしか動かん(保証内で)がその辺は大丈夫か?
クリスタル用の発振器も全振幅モードだと2.7V以上無いと駄目だし
内蔵RC発振器に設定した上で分周してやらんとあかんのでは
措置済みで余計はお世話ならすまん >>280
> ICSPはRESETが必要なため
なんとなくそんな危険な匂いがしてましたw
> 1バイトは解放されてるわけで
すぐ開放するからっても割り込みがあれば、スタック積んだとこに更に積まれるわけで
なんせ63byteしかないですから
>もしアセンブラがインラインで書いてある場合は関数呼び出しじゃないので…
それはそうですね
今いじってるのは
extern "C" {
void TxTimedByte(char, char);
}
で定義された関数なので、1つ目の引数はr25+r24、2つ目はr23+r22へ渡されます。
値が入る前のr22-r25は当然保存されていると思われます。
charなので上位byteのr25,r23は0が入ってて自由に使えるはず。
そして1ビットシフト命令しか無くてくじけました…
スケッチで定義してもスケッチより先にコンパイルされてしまうので
苦肉の策で、プラットフォーム毎に使用ピンを設定するようにしました。
こんなかんじ
#if defined (__AVR_ATtiny13__)
#define UART_Tx 3
#elif defined (__AVR_ATtiny44__)
#define UART_Tx 2
#elif defined (__AVR_ATtiny85__)
#define UART_Tx 1
#elif defined (__AVR_ATmega328__)
#define UART_Tx 0
#else
#define UART_Tx 0
#endif >なんせ63byteしかないですから
Ttiny85だけじゃなくて、Ttiny13Aでも使うので63byteです >>286
ん?ビットシフトで挫けたってどういうこと?
どういう処理が書きたかったの >>286
オマケの話だが
3バイト以内のスタックならpush/popを使わずにout/inでGPIOR0〜2レジスタに避難する小技もあるぜ
GPIORnはその名の通りプログラマが自由に使っていいIOレジスタだ
フラグを持たせたりグローバル変数代わりに使ったりしてもいい
しかもin/outが使えるからRAMよりも1クロック早くアクセス出来る
さらに一部のGPIORはsbi/cbiの対象アドレスに有るからフラグに使うとsbic/sbisで高速分岐したり…
まぁ今回は空き確定のレジスタがあるから退避する必要はないが小技として書いておく ごめん13Aで使いたいんだったか
13AにはGPIORはないんだすまない
まぁ余談って事で許せ >>291
そういうのは無いんじゃないかな
実機デバッグもArduinoじゃなくてただのAVRとしてAtmelStudio使わないと出来ないし
JTAG対応のAVRを積んだArduinoが出たらワンチャンあるかも? 質問があるのですが、
X-CTUでArduino側のXbeeモジュールを動作させるとき、認識しなくなったのですが、
http://blog.prhyzmica.com/?p=110
このサイトの、3.Xbeeまわりで詰まったこと
にある、
ArduinoのリセットとGNDをつないでショートさせる
と言う部分を実行すると動作するようになったのですが、なぜこのようにすると動作するようになったのですか?
理屈がわからないので教えてほしいです。 Xbeeボロボロだな
なんでWROOM02や32買わずにこれ買う人がいるのか不思議だ >>293
ワイヤレスプロトシールドの回路を見たけど、けっこう危ういものに見える。
1本のUARTを共用するのだし、仕方がないか。
https://www.arduino.cc/en/uploads/Main/arduino_WirelessShield_SD_v3-schematic.pdf
UNOのUARTが、Xbeeと、UNO上のUSBシリアルの両方に繋がっているものだから、
XbeeとUNO上のUSBシリアルを通信させるときには、UNOのUARTは無効になっていないといけないということだろね。
そのためにはリセットが簡単な方法なんだろう。 >>296
293です。
教えて頂き、ありがとうございます。 そういえば、
UNOのRESETをGNDに接続しといて、TX,RXピンにつなぎたい物させば
USBシリアルとして使えるという裏技があったな
ちょっとどこいったかわかんないって時には覚えておくといいかも知れない。 つーーかarduinoの大嫌いなところは唯一のuartを書き込み&デバッグ用に占有したままな所 >>299
常に通信しているようなプログラムは確かにだめだし、書き込み時、外さないといけないけど、TXにシリアルプリンタつないだRXを割り込みピンにしたりして使ってる。 >>299
逆に言えばArduinoが普及した理由でもあるわけだな。
単体のマイコンとシリアル変換ICで実装してみれば初心者にゃハードルが高いとわかること。
嫌ならマイコン単体でやれよ、なぜArduinoに文句たれてる、馬鹿丸出しだぞw >>299
328PB使えよ
UART2個付いているぞ >>304
まぁarduino出た当初には存在してなかったからね
今ならまぁそれならいいと思える >>302
馬鹿でもなんでもいいわ
せめて644pだっけ?もう型番規則忘れたwあの辺使ってuart1つはユーザーに開放して欲しいと思う
まぁあの辺のマイコンじゃ書き込む環境も一括りにするのはあの当時じゃusb対応マイコン少なかったし難しいのは重々承知の上で、やはりuartは1つは欲しいところだと思う >>307
元々は大学の格安のマイコン実習用から始まって音楽とか非エンジニア向けのコントローラとして広まっていった開発環境だからコストが一挙に上がるICEが使え無いのはしょうがないね。 むしろ、
追加でART欲しいならソフトウェアでやってね
ハードな方は初心者のために取っといてやって
というスタンスなんだろ。
文句言うだけの無能のことは眼中に無い。 >>307
arduinoのオプションでjtagice互換のやつとか安く出してくれればよかったと思う
avr dragonみたいなやつ ADCのマルチプレクサのようなCH切り替えをUARTにも付ければよかったんだと思う
スケッチのアップロード時にはDTRからResetパルスが送られるが
これに同期してUARTの入出力をデバッグCHに切り替える
ブートローダーの終わりかスケッチの先頭でユーザーchに切り替える
というふうなシールド作って独自のブートローダー書けば解決できそうな気がする
ESP8266みたいにgpio1本犠牲にして内部でそれをやるという手もあるよな ESPでradikoが聴けたら10個ぐらい作ってると思うわ
ffmpegのESP版があればなあー 音声のデコードはデコードICに任せたらいいけど(radikoのコーデックHE-AACなのでAACに対応できれば)
swfから鍵の抽出とかrtmpのストリームとかespには荷が重そうな気がする その手のネット端末は、2000円で買える中古のスマホ買うのが最安だろうな いつもはArduino as ISPでbootloaderを書き込んだりしてるのですが、
FT232RLを眠らせておくのはもったいないと思い情報を集めて
avrdude-serjtagとavrdude-GUI-1.0.5でFuseBitの読み書きまでできました。
これは本家avrdudeに取り込まれたと告知にあったので、
avrdude.confを見ると id = "arduino-ft232r"; と定義されていました。
ところが、
ude.conf -c arduino-ft232r -p m328 を実行すると
avrdude.exe: error: no libftdi or libusb support. Install libftdi1/libusb-1.0 or
libftdi/libusb and run configure/make again.
上記エラーとなり、
https://forum.arduino.cc/index.php?topic=543678.0
こちらのトピでもavrdude6.3でft232r動かないと言ってる人がいます。
ArduinoIDE1.8.7 のavrdudeはversion 6.3-20171130でした。
1.8.8なら動くとか修正パッチがあるとか情報あれば教えて下さい。 >>321
それなw
結局、radiko専用スマホが最適解www >>322
エラーメッセージにある通り基本FTDIのドライバーなどが組み込まれていません。
ソースを入手してビルドすれば使えます。 >>324
レスありがとうございます。
本家に組み込まれたと書いてあるページもあり
avrdude.confに設定はあったので
組み込まれていないのは残念です。
FT232Rは非常手段として残しておいて
いつものArduino as ISPを使います。
gui-toolは便利そうでしたが、6.3に対応していないようでした。 AVR用のツールだがftavrwguiをダウンロードしたらええよ ftavrwgui に一致する情報は見つかりませんでした。
・キーワードに誤字・脱字がないか確認します。
・別のキーワードを試してみます。
・もっと一般的なキーワードに変えてみます。 ftavrw-gui
約 120 件 (0.32 秒) 前スレ
>>205
>>857
あたりに回答があるよ >>332
QFPのものもあるよ。
DIPは次のようなことじゃないかな?
DIPのものはソケットで付いているから、抜き差しが前提になってるわけだし。
・UNOで試作してから、DIPを抜いて自分の基板に載せかえる人の需要
・I/Oは外部の危険な信号に接している。万一、壊れたときに載せかえられることに安心を感じる人の需要 まぁまずブートローダー書き込んで差して使うというのがやりやすいってのはあるね
次に万が一壊しても差し替えられる unoは試作・実験マシーン!
組み込みはPro mini micro! 母艦から発進したPUはprominiの1/4のサイズ
コンパクトで高性能! 組み込みに最適
つか14pinくらいで充分だよな 十分、あるいは充分というのは自分に対して言えるのであって、他人に対して言えることなんて滅多にないよな。 お、おう…
別に押し付けるつもりはなくて、ちょっと同意が欲しかっただけなんだからね! Arduino化したESP32の質問です
HiLetgoRのESP32開発ボードを使っているのですが
ENボタンでリセットするとシリアルの出力が異常なデータになります
電源のリセットや書き込み時のリセットの場合は正常です
https://i.imgur.com/7NWz5nq.png
何か解決方法はありますか?
プログラムは以下の通りです
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.println("test");
delay(1000);
} ESPは使った事無いけどsetup関数の初期化がミスったとかシリアルのデータフレームのビット位置がずれたとかリセットで変なゴミビットを拾ったとかかな?
ボーレートを9600やsetup関数の最初に数秒のウエート関数入れても病状は変わらない? >>340
回路図は?
プルアップしてコンデンサでプルダウンもしないと不安定。 原因が判明しました
ESP32が起動時にブートメッセージを76800bpsで出力するのが原因でした
不具合ではなく正常な仕様なのでとりあえずこのまま使うことにします
>>341-344
アドバイスをありがとうございました >>345
原因判明おめ。
こう言うとき安物でもオシロかロジアナが有れば直ぐ分かるんだけどね。 >>346
は?
ボーレイト違いなのに気付いてなかったのが原因なのに?
どうやったら直ぐ分かるのか解説よろしく。 >>347
オシロ、ロジアナで見れば期待している信号かどうかわかるでしょう? >>346
>>348
正論なのになんか変なのに絡まれてて可哀想(^^; esp使う時は76800でシリアルを使うようにすれば解決なのです。
ちょっと辺な値だけどね… 寧ろ多pinのArduino出して欲しく
1280pとか >>349
多分オシロ使ったこと無いんだど思う。
勿論シリアル端子の波形見るだけでもレートが変わったのは分かるけどRIGOLの数万円の入門モデルでさえプロトコル解析できるのに。。。 ESP8266/ESP32は起動時にシリアルに吐くの散々FAQじゃないか
あと、専用スレあるので、そっち行った方がいいと思う。 遊びレベルなら中華の800円ロジアナとpulseviewでも
ボーレートが違うくらい即わかるんだよなぁ >>353
普通のオシロじゃ無理クナイ?ストレージオシロかロジアナじゃないと。素のオシロってまだあるよね。安いやつとか。 HTMLから文字列を抽出したいんだけど、
HTMLパーサーの良いライブラリってある? >>357
まぁ今時は普通のオシロって存在しないに等しくてオシロ=DSOって状態ですからね
そしてプロトコルアナライザも当然みたいな。
アマゾンで1000円くらいのezfx2使ったキャプチャのやつでさえプロトコルアナライザ使えるし。
analog discoveryやdigital discoveryなんかでもarduino使いには十分な帯域あるしこの辺は持っていてもいいかと。 >>360
目的と予算書かないと答えようがない
テクトロで100万も出せばいいじゃんってなっちゃう >>360
1000円程度なら
HiLetgo 24MHz 8チャンネル USBロジックアナライザ
とか。
1万台だとlap-cとかかなぁ
3万出せるならanalog discoveryかdigital discoveryのどっちか
lap-cはごにょごにょ出来るのとお手軽な価格ですごく売れたイメージがある
持っていて損はないと思う ロジックアナライザがあるとRFリモコンのシリアルにどんなの流れてるか見れるなあ
古いアナログオシロとDSO150しかないや、
FPGAのキットでなんか作った記憶があるけどどこいったかわからん
ESP8226でロガー的なもの作ってみようかしらん >>363
オプティマイズのやつかな
あれも当時ありがたかったね
今時でああいうの出せばオープンソースで盛り上がった気がする
といっても今ならlap-cでいいじゃんと言われりゃそれまでだけど 超音波センサーのus-020ってのは、
どこにも売ってないんでしょうか?
出来るだけ距離が長いものを使いたいです。 オプティマイズのロジアナって EZ-USB を使ったものだったんじゃなかったっけ。
今、巷にあふれている1000円ロジアナはそういうものだし。
当時と違うのは sigrok みたいな使い易いソフトが存在することかな。 >>371
あらためてカメレオンUSBを調べてみたら、CPLDと組み合わせた製品だった。
今の1000円ロジアナは、EZ-USBだけだ。絞ってるな。 arduinoIDEのフォント変えたらめっちゃ見やすくなった
preferences.txt を開きエディタフォントをメイリオに変更
editor.font=Monospaced,plain,15
↓
editor.font=Meiryo,plain,15
コンパイル結果とか出るとこも背景黒で眼にキツイんで
\Arduino\lib\theme\theme.txt を開き
console.font = Monospaced,plain,11
console.color = #000000
console.output.color = #eeeeee
console.error.color = #E34C00
↓
console.font = Meiryo,plain,11
console.color = #ecfffc
console.output.color = #000000
console.error.color = #aa3300 raspberry piのraspbian上でarduino IDEを動かすと安上がりだけど、非対応のモジュールなんかがあって悲しくなった >>374
すんません 非対応モジュールって、マイコンハードウェア?ライブラリ?ラズパイのモジュール? ヒューズ書き換えをミスってpro miniが文鎮化した
↓このブログの通りやってもチップIDが0xFFFFのままだわ
「レンガにしちまったpro miniの救出作戦。mega328pヒューズリセッターに挑戦(^^」
3.3V8MHzのpro miniだからダメなのかな。もう諦めたほうが良いかな・・・ >>376
なんかこのやり方の部品費でProMini(中華)買えそうやなw 自分はやったことないけど、このブログにあるようにターゲットのPB6/Xtal1にどう接続するかがカギっぽいな 俺も飛ばしたことがあるわ
内部クロック使用かなんかで繋がんなくなったような…だいぶまえなんで覚えてないけど
2年寝かして、こないだ捨てた
スッキリ!!! AUならいけるけどMUは無理だな
ああ、オシレータ外したほうが早いか 俺もリセットスイッチとタンタルコンデンサ取って捨てるわ
https://i.imgur.com/AaV4SwS.jpg
スッキリ! >>383
取るところにまだ未練がw
スパッとすてちまおうぜ! じ、実はうちにも書き込めなくなったPro Microが…
捨てますね。 実際の所、どんな爆弾残しとるかわからんもん使って後で泣くよりすぱっと捨てた方が精神衛生上いいよね。 今時タンタルってことは相当な昔に製造されたんだろうね >>386
若い頃無茶やったせいでpin8の入力だけおかしくなったNANOがいるんだが、
ICSP教官として新兵のめんどうみてもらうつもりだったけど退役かのう >>387
どういう理由でそう判断を? 割とよく使われているけれど。
↓こういうこと?
https://lab.fujiele.co.jp/faq/1027/
コンゴのことは不安ではあるけど。 >>383
良い判断だ
でも外した部品も多分使わない おれは外した3x6のタクトスイッチをピンソケットにハンダ付けして
ピンヘッダに差し込んで使えるタクトスイッチにした > ピンヘッダに差し込んで使えるタクトスイッチにした
私も過去に同様な物を作ったことがあります。
ふと、デバッグ時に、他の人はどんな小物治具を使っているのだろ?と気になり、
参考にしたいと思ったので、とりあえず、私がこれまでに必要になる度に作り、
蓄積してきたものをアップしておきます(一部ですが)。
https://i.imgur.com/u5y3bQ2.jpg
左上のICクリップにはソケットを挿して使用します。
右上は圧電ブザ-で、PC画面を見たままでH/Lを判断できるので便利です。
水晶とC2個をまとめて3Pヘッダにハンダ付けしたものもあります。 >>392
小物の接続ってミノムシクリップで作ることが多かったなー(除 中華クリップ)
H/Lモニタ用にLEDとか圧電ブザーの線付きは面白いですね HLモニタ用のLEDは足の長いまま1本ずつ熱圧縮チューブでシュリンクして
ブレッドボードの両端のVccかGNDに繋いでるな
sopのFETに足つけたものとかもよく使う
あと、I2Cの分岐コネクタも作ったけどほとんど出番無いw 小物類の冶具は頻繁に出番はないけど ここぞと言うときにあると作業が捗るね
自分の場合は テスター棒の先っぽを変換するやつが活躍する場面が多いかな ああ確かに、テスター棒にミノ虫やICクリップや針やらアタッチメントというか
ミノ虫で色々はさんでるわ
「ニードル・アームッ!」とかつぶやきながら あのブザーってどういうシチュエーションの時に使うの? >>399
デューティなども音の違いで分かるとは思うが、
普通は単に出力レベルのH/Lじゃないか?
(ブザーは音の有無で、LEDは点灯するかしないかで、テスターは数値で) 自励式ならともかく他励式だとまともに鳴る範囲は限られるけどな ArduinoもしくはATTinyで抵抗計測器みたいなのを作りたいです。
テスターで測ればいいんですが、それすら面倒臭くて、
2つの穴にスポッ!と入れれば、抵抗値が表示される、みたいなものを作りたいです。
しかし、Arduinoを用いた電圧計の作成事例はたくさんあるのですが、
抵抗計は見つかりません。何かいい方法はあるでしょうか? 海外ブログで「Resistance meter Arduino」で検索すれば幾つかありました。
ありがとうございました。また何かあればよろしくお願いします、 そんなに面倒くさいなら、テスターのリード線をその「2つの穴」につないでおけばいいんじゃないか?
ていうかあるよなそういうの。 すいませんプログラムの事で教えて下さい。
シリアル通信で文字列入力でLED点滅したいと思い、下記のページ(arduinoの部分)を試しました。
https://algorithm.joho.info/arduino/python-serial-led-string/
1文字しかできないと思っていたのが
2文字以上の文字列でLEDが光り良かったのですが、offの文字を入力してもLEDが消えません。
何度も入力で切り替える事ができるようにするにはどうすればよいものでしょうか。
よろしくお願いします。 >>407
ほんとだ、ソースコピペでoffと入力しても消えないね >>409
そうなんです。offのあとにonと入力してもledが光らなかったりします。 Arduinoの入門書とキットを買って、一通り終えました。
ここから先って、みなさんどういう方向に進んでます?
1)適当にセンサーつけてIoT機器として遊ぶ
2)サーボモーターとか使ってロボット的な何かを目指す
3)より高度な制御を目指してラズパイ方面に進む dataというchar配列をもとにStringを作ってるけど、そのときにchar配列は0終端してなくていいのかな?
なにか文字があるときにavailableになって実行されるんだし、data[i]が0になることがあるのかな? >>410
色々やってみたけど分からない。。。
Arduino内蔵のLEDじゃなくて、外付けでLEDと抵抗を付けたらいいのかも >>413
夜遅いのに色々試して頂きありがとうございました。 >>412
レスありがとうございます。
on0とoff0をコマンドにするという事でしょうか?
助言にそっていないかもしれないのですが外部LEDはoffにはならなかったです。 >>407
まだArdruinoのC言語にさほど詳しくはないんだけど、
> if (i > 10 || data[i] == '\0') i = 0;
これだとdata[10]にまで書き込んじゃうのでは。
あと、配列dataを\0で初期化しなくていいの?
offの後にonを入れたら、onfになったりしてない? >>411
Arduinoで実用的なモノを作る
売ってるものだと買ったほうが安いになっちゃうからね
俺が作ったのは
1)温度センサー2個とファンをつけて部屋の天井付近と床の温度差が7度以上あれば
ファンをまわす。かしこいサーキュレータ。バーグラフのグラデ表示が綺麗。
冬場は大活躍したが、夏場に真っ赤になってるバーグラフ見たくねえw
2)エアコン、照明、コンポなどのリモコンを1つにまとめたマルチリモコン
3)0.25mA精度で消費電流を表示する装置
4)サイン波など発生する装置。プリセットボタンで63Hz,400Hz,1kHzなどの
よく使う周波数を呼び出せる。加速式ロータリーエンコーダーでマニュアル操作も快適
5)「何時になりました」と自動でしゃべる時計、作業に熱中して睡眠時間が減る事が
少なくなった気がするようなしないような…
他にも作りかけのものがいっぱいあるよ
アイデアを実現する手段ができたので、あとは実現するだけだ 実現性の検討してるときが一番楽しいね
通勤中にスマホで下調べして帰ってきたら1時間くらい開発を繰り返して2週間に1機能追加を目標にチマチマやってる >>407
なんかいまいちプロトコルがはっきりしないけど区切り文字はあるのか/ないのかとか'o'のあとにだいぶ時間が空いて'n'が来ても'ON'として処理するのかとか
区切り文字がある(例えば\nとか)あるならそこまで読み込んで処理すればいいけど
区切り文字がないならオートマトンとか使ってちゃんと状態遷移を考えながら文字解析しないと何やってるのかわからなくなっちゃう
区切り文字がない場合の一例として自分ならこう処理するかな
https://i.imgur.com/g2Ks6lP.png >>416
>>419
>>420
レスありがとうございます。
夜遅いのにも関わらず考えていただいてありがとうございました。
プログラミングはまだ経験が浅いのですが、
アドバイスを見て少しずつ理解したいと思います。 >>417
どれもなかなか面白そうですね。
1) 扇風機に自然風のような強弱揺らぎ機能をつけよう、と考えた事はある。
2) すぐにでも作ってみたいと思った。
市販の学習型リモコンはSWが多すぎて、うちの認知症気味のオバァチャンには難しすぎるので。
3) 何のためのものか、目的、用途が不明です。
4) 秋月のDDSキットで同じようなものを作ったけど、ロータリーエンコーダに加速機能は持たせなかった。
周波数を素早く変更できるように、+1、-1する桁の位置を指定できるようにしたけど、
プログラムを追加して加速機能を組み込んでみるかな。
5) 市販の目覚まし時計に発声機能を組み込んだら役に立つかも。
音声で測定値を読み上げてくれるテスターを作った事があるけど、実用的では無かった。
参考になりました。実現したらまた発表して下さい。 >>418
俺の場合は、生活の中での不便を解消するためにやってるから
不便に思う事がある
↓
便利にするアイデアを考える(PCのソフトウェアだけで解決する場合もある
↓
実現性の検討:計測やデータ収集、デバイスの検討
↓
試作
↓
デバッグ:使用してみると手直しが必要な事が多い
↓
完成
一番楽しいのは、アイデアが実現した瞬間=試作品の完成で大きな達成感を感じる
次に最終的な完成で満足感かな、アイデアを考えるのも楽しいけど
実現性の検討の段階はあまり楽しめてないw
うんうんうなってる感じ >>423
発表会の印象だけが残ったのかな?
Arduinoの入門書とキットを終えたら、どういう方向に進むかだけど
最終的には、自分の作りたいものを自由に作る
まずは模倣から入ってもいいと思う
大抵のモノは先駆者がいると思うので、面白そうなものを見つけたらマネしてみる。
そして自分のアイデアをちょっぴり盛り込む
やってるうちに何でも作れるようになるよ(そんな気になるw 3)0.25mA精度で消費電流を表示する装置
用途・目的:Arduinoをバッテリー駆動した場合の微小な電圧を計測する
・市販のUSBテスターとかだと表示が9.99、10mA以下は表示しない
・V,A計測にマルチテスター2個占有される
・クリップとかじゃなく、入力、出力があって電源の間にはさむわかりやすい装置がいい
・本当にsleepできてるのか確認したい
以下、計測結果
Mega328P AU 3.3V 8MHz 4.8mA (BuitinLED 1.5mAを含む)
Mega328P MU 3.3V 8MHz 4.8mA (BuitinLED 1.5mAを含む)
Mega328P U-TH 3.3V 8MHz 4.3mA (BuitinLED 1.5mAを含む)
Mega328P U-KR 3.3V 8MHz 4.3mA (BuitinLED 1.5mAを含む)
Mega328P MU 3.3V 1MHz 2.0mA (BuitinLED 1.5mAを含む)
Mega328P MU 3.3V 16MHz 7.5mA (BuitinLED 1.5mAを含む)
Tiny44A 3.3V 8MHz 2.0mA
Tiny13A 3.3V 9.6MHz 1.0mA
雑感:
さすがTiny13、Tiny44Aもなかなかいいぞ!
U-KRはちょっぴり省電力じゃなかった
クロック下げるのが最も有効 >>420
うん
実は自分もそのメソッドあるはずだよなと思ってたw 変数dataをクリアしてねえじゃん
そのまま実行してonを送ると光るだろうね
そしてoffを送っても消えないだろうね
dataには「onoff」が入ってるもゆ コマンドの終端が定義されてねぇとか
間違ったコマンドだろうが正しいコマンドだろうが実行したらコマンドバッファから消せよとか
そのへん リモートロック「アケルン」が欲しいけど高いので、ニセモノの「アケタルン」を作ったな。 400円のHDMI切替器を改造して、切替えた後にWinowsの窓がちっこくなたり
マルチモニタがいちいち反応しないようにできたが、
2万円くらいしえたEDID保持タイプに2〜6千円クラスが登場して一気に価値が下がったw
つかそれらの劣化版でしかない、そういうプロジェクトもままある 429さんのブログとても参考になります。
夜遅いのでお時間が大丈夫な時に教えて頂きたいのですが、
文字列でdelayを使わないLED点滅切り替えができないかと調べるとtimer2というライブラリを利用する方法にたどり着きました。
ただほとんどのページの方法がloopが空白になっているのですが、loopにはコードを書かずに別に書くべきなのでしょうか? loop内は好きに他の処理を書けばいいよ
それとは別にLEDはタイマー割り込みで点滅するよ >>435
>>436さんのおっしゃる通りです。
loop内とTimerの処理は独立しているので、簡潔にしたいサンプル・プログラムではloop内が空っぽの例が多いだけです。
ある文字が来たらTimerを動かし、別の文字でTimerを止め、また別の文字でTimerのタイミングを変える。
こんな内容をloopに書けばいいと思います。 >>436
>>437
レスありがとうございます。
アドバイスから書いてみたいと思います。 >>429
>1文字ずつの方法のうまくいかない理由は未だにわかりません。
パソコン側は何を使って"on"や"off"のメッセージを送ってるんでしょう?
Pythonのプログラムはよくわからないですが、そこのサンプルだと
コンソールから
on
と入力すると、
ser.write(flag+".")
で、シリアルポートから
on.
が出力されるように思います。
受ける方は、終端文字として
0
を待っています。
試してないですが、'\0' を待つ代わりに '.' を待つようにしてみてはどうでしょうか。
// 文字数が10以上 or 終端文字なら終了
if (i > 10 || data[i] == '.')
{
data[i] = '\0';
i = 0;
}
else
{
i++;
}
パソコン側がターミナルソフトだと
on[enter]
と入力([Enter]はエンターキー)すると、
on\r
や
on\r\n
が送信されます。行末の改行コードは設定できるものが多いと思いますので、\rだけにしておいて、
Arduino側で終端文字として \r を待つようにしてはどうでしょうか。 あ、だめだ。>>439の改変だけだと、前回のデータでstringを作って返してしまう。
終端文字を受けていないときは、空の文字列を返すようにしないと。 >>407
このブログのソースが間違ってるんじゃないの? どこが間違ってるのか知りたい気持ちもあるけど、
>>429のリンク先ですでに別の方法で解決できてるから、そのサイトのコードの間違いを考える気が起こらない。
サクッと的確に指摘できる人もいまのところ登場してないようだし…。 もしかして「的確に指摘」って動くコードを提示することなんかな?
そんなアホなことないよね? >>442
わざわざフローまで書いてくれてんのに
理解できない部分を読み飛ばすのはどうかと思うぞ
正解はReadStringでいい
可変長のコマンドを逐次評価する意味がわからないよ
”1”とか"2"みたいな1文字コマンドなら逐次評価の意味あるけど
例題が悪いとしか言えない
あと、ReadStringは改行押されるまで戻ってこないから
入力中でも温度計測やLED光らせる処理する場合は
割り込み使うか、自分で入力ループ作ってやりたいしょりもやって
"\n"きたらコマンド解析して実行する必要がある pro microにロータリーエンコーダ―つないでHIDデバイス作ったのですが、0-255とか0-1023の出力でWin10の音量を直接制御する方法ってないでしょうか?
キーボードとして動かしてvolume up/downするのではなく。。。
win10の仕様を調べれば出てきそうな気はするのですが、どこを調べれば良いのか判りません。教えてください。 >>446
Win10のプログラムを自分で書くって事になるけど
マルチメディア APIとかいじればできると思う まあ初心者のうちは「自分のやりたいこと」だけに目が行きがちだけど、特に「人が操作するもの」「外部から何らかの入力があるもの」を作るときは「想定外の操作/入力にどう対処するか?」っていうのが大切になってくるんだよね。
「ライブラリを使って効率よくプログラミングする」ことは大事なことだけどライブラリの動作をしっかり把握していないとワナにはまったりするし…
場合によってはライブラリに頼らず自分で処理を書くことも大事、ただし「書いたとおりにしか動かない」というお約束で。 だから、
Serial.readStringUntil()
だと言ってる。
終了。 >>445
わざわざリンク先まで明示してるのに読み飛ばすのはどうかと思うぞw >>445
>正解はReadStringでいい
と断言してる割にはその後のつけ足しが長いのおw
>>452
何だ、Serial.readStringUntil()知らんかったのか、アホだのおw 自分の無知を棚に上げて
>理解できない部分を読み飛ばすのはどうかと思うぞ
と上から目線w
>>ID:bU3Ljzzp = >>419 の予感w >>449
ここで偉そうに書いてる人がArduino語に精通してるとも限らんことがよくわかったね。
私も含めて初心者のみなさんは、普通に検索した方が早く最適解が見つかると思うよ。
https://ch.nicovideo.jp/yugata/blomaga/ar1177727
それは別にしても>>445みたいな上から目線にはヘドが出るね。 >>447
有難う御座います。
MMDevice APIってやつですかね。なんとなく出来そうな事は判ったのですが私にはまだハードル高そうなのでエンコーダーで我慢しときます。
元コメの日本語判りにくくなってましたが、ロータリーエンコーダ―ではできたけど、可変抵抗使った0-255とか0-1023とかのアナログ入力でコントロールしたかったと言う事です。
蛇足でした。 くだらないことで喧嘩するのはやめようよ、わたしはID:bU3Ljzzpじゃないよ
アルゴリズムをよく練ることはすごく大事なことだと思うよ、そこで練習問題
あのフローを書いたあと実際にスケッチを書いて走らせてみたけどちょっとした不具合が2か所見つかった(まあどうでもいいかもしれないけど)
仕様は
・とにかくどんな文字時でもランダムに受信する
・そのランダムな文字の中に'on'という文字の並びがあったらLEDをつけて'off'という文字の並びがあったらLEDを消す(当然連続していること)
・区切り文字/終端文字/改行文字などは不要
・タイムアウトはないので'o'の後に10秒でも20秒でもたって'n'とか'ff'とか受信してもちゃんと'on'/'off'と認識する
・'on'や'off'の文字の並びの前後にどんな文字が来てもちゃんと'on'/'off'だけ認識して他の文字は無視するする、ただし'onoffon'のように受信した場合はそれぞれ'on'と'off'と'on'として認識すること
さあだれかあのフローのバグ(2か所)を見つけないか?
正解の発表は今夜の1時 >>457
Serial.readStringUntil()で済みだって言ってんだろ、馬鹿なのか?
そして、その仕様はクソだ、終了。 >>457
>アルゴリズムをよく練ることはすごく大事
そうそう大事大事、ずっと練ってろw あの程度のフローチャートを嬉々として書いてアップしてるオヤジが
同類の電々ジジイ仲間以外からはガン無視されてて不憫。 >>461
そんなに卑屈になるなよ。
何だかたくさん書いてるあなたのことを感心して見てたのにw Arduinoが存在していなければ
今こうして電子工作にハマることはなかった
ありがとう!Arduino! >>407の質問者が求めていたものは>>429のリンク先で満たされている。
>>435を見る限り質問者はもう次の段階へ進んでいる。
情けないのは未だにちまちま小出しにして四の五のやってるジジイども。
>>461の悔しそうなレスが皆の涙をさそう。 readStringUntil() で終端文字を受ける直前でタイムアウトになったらどういう動作をするのだっけ。
終端文字を改行文字にしておいて、
送る側が、off\n のつもりで off まで受信したときにタイムアウトするとか。 offエンターって入れるのに何秒かけるつもりなの? あ、違うか。
oが届き始めてから\nが届き終わるまでの話か。
どうやって試すか思い浮かばんなあw
逆にどういうケースでそれが気になるのか知りたいわ、教えて>>465 >>467
ArduinoIDEのシリアルモニタしか知らないの?一般的なターミナルソフトならキーを押すたびに送信されるから無限大まで可能だが? >>468
質問者の挙げたサイトのPythonのスクリプトによる送信を前提にしてるんだけど知らなかったの?
そもそも何の話してるの?
ま、それは置いとくとして、あんたの言う無限大まで引き延ばすシチュエーションを説明してみてよ。
どの局面でその想定が生かされるの? Arduinoが存在していなければ
今こうして電子工作にハマることはなかった
恨んでます。Arduino。 >>468
>無限大まで可能だが?
何が何でも自分の主張を通したくて可能性と必要性の区別すら出来んかw
誰でも書けるちゃちなフローチャート1枚、そんなに認めてほしかったんかw
不憫よのう。 >>467
たとえば、
4個のLEDをあるパターンでチカチカさせている。
コマンドをうけたらチカチカのパターンを変える。
というような場合にreadStringUntil()が使えるのかなって、思った。 >>469
>質問者の挙げたサイトのPythonのスクリプトによる送信を前提にしてるんだけど知らなかったの?
ターミナルソフトで送信するのであっても、Pythonスクリプトで送信するのであっても、
文字列の途中でタイムアウトになる可能性はあるよね?
長い時間を設定していたとしても、タイムアウト直前に文字列が送られ始めることもあるのだし。 シリアル送受信は奥が深いよね
あらゆる送信パターンを考慮すると。
俺はループして、終端文字がくるまで1文字ずつバッファ的なstringに追加していって、終端文字が来たところで何かしらの解析に入るような感じでつくってる。
バッファが空じゃない状態で終端文字が10秒以内に来なかったらタイムアウトでバッファ捨てるみたいなのも入れてる。 最初からon/offなんて文字列で送信せず、
それぞれ一文字にしとけよって言ったら
この話終わるよね? >>472
使える
その程度の疑問がわくレベルで>>473を書く馬鹿は自分の無知を恥じるべき
>>473
可能性はいつもあるがその蓋然性は限りなく低く想定する必要性はゼロ
これ以上反論したいなら空論でなく具体例を示せ
>>474
readStringUntil()を知らないだけだろw
無知は無敵だからな
>>475
そのとおり
ちなみにその場合でもreadStringUntil()のスケッチが流用可能
Arduino語を知らない、学ぶ気が無いなら、
このスレで初心者に自分の狭い引き出しで見つけたゴミのようなフローを押し付けるの止せ 別に自分はゴミみたいなフローとまでは思ってないな
動作確認したスケッチを張ってくれとは思うけど
ただ、ここで延々と議論を続けて、管理者の知らないところで
参照元Webサイトを晒上げるのは、質問者も望んでいないと思う >動作確認したスケッチを張ってくれとは思うけど
それは思うけど、その技量、というかArduinoの知識は無いのかなとは思う。
そうでなきゃただいやらしいだけだよね、上からで。
きっかけとなったサイトに関して言えば、上のブログの人の記事を見る限りでは、
スケッチも動かないPythonも動かないで、どう見ても初心者の参考にはならないっぽい。 >>477
だってまさにそのフローをやってんのがreadStringUntil()なんでしょ、違うの?
自分でStream.cppを見てみたらいいと思うよ。
それをわざわざ持ち出して上から語ってるだけなんだから「ゴミ」でしょ。
貼られたフローチャートがというよりは貼るヤツがゴミ。 >>479
今回の用途ではいらないと思うけど、
readStringUntil()で同期的に処理するのが適当でない場合はある
例を挙げると、シリアル入力が2系統ある場合かな
そんな場合あるんかと思うけど、手元のArduino入門にしっかり
サンプルが載ってるんだわ ここでたむろしている電々ジジイの知識レベルで思いつく程度の処理なら
もうとっくにArduinoのライブラリに組み込まれていると思うのが普通
よっぽど自分に自信があるのかArduinoを知らないのかなめてんのかわからんが
偉そうにしたり顔で語るやつを見るとあーあって思うし邪魔でしかたない プログラミングについては他で勉強すればいいんだし
回路設計の話のほうが聞きたいわ
はんだ付けを初めて気が付く、老眼の進行の早さ
よくみえへん・・・ >もうとっくにArduinoのライブラリに組み込まれていると思うのが普通
非同期的に文字列を受信する方法が提供されていたっけ。 >>484
それはすごいですね、さすがArduinoです。 >>483
Arduino 特有の回路設計の勘どころってあるのかな?
プログラミングの方が、Arduino 特有の話がありそう。 >>486
Arduino特有というより、コンパクトかつ効率的にまとめるための
部品の情報がほしいな
いまESP32の開発キット使ってゴニョゴニョしてるけど
デバイスとしてスッキリまとめたい
ブレッドボード上だけで完結するのはイマイチ ブレッドボードで組むとなんかの拍子に線抜けて悲しいことになるから・・・ readStringUntil() なんだけど、これ、どういう使い方するんだろうな。
受信待ちでメインのプログラムが止まっていてもいいようなケースって
稀じゃないかな。 Lチカみたいに直接制御するのじゃなくて、独立して動いてる
FMラジオモジュールの周波数を変えるとかならいいんじゃないかな
シリアルならWebサーバーのように複数のリクエストを同時に受けたりしなくていいし シリアル通信はデバッグのとき以外は使わないなー
他に使いみちあるの? ReadStringUntilもsetTimeoutで終端文字列が来ない場合の最大待機時間設定できる(デフォルトだと1000ミリ秒=1秒とかクソ長い)
設定してるボーレートによってちょうどいいタイムアウト時間を設定してやれば良いんじゃないの、例えば8N1の9600bpsならだいたい1ミリ秒/1バイトだから2ミリ秒に設定するとか Serial.setTimeout(2)
mega328PのUARTは2byte分まではFIFOを装備してるわけだし取りこぼしはほぼないでしょ?(もし仮にソフトウェアに自前でリングバッファを用意してないとしたとしてもハードウェアが装備)
そんでavailableで確認チェック→なにか来てればReadStringUntilで読み込むとかにしとけばまぁそれなりのレスポンスで可変長文字列の取得に使えるんじゃね
マイコン業界では1ミリ秒はクソ長いとかいう人はArduinoじゃなくてAVRとして使える人だしそうしてください >>494
送信側の仕様に左右される
一つの文字列がまとめて送信されるなら問題ない
ユーザーがキーボードで一文字打つたびに送信されるような仕様だったりするとアカン >>494
長々書かんでも一部の粘着以外はそれとっくに理解してる(26文字) >>495
まさか主要なターミナル・ソフトでCRやLFの送信方法知らんとか?
それとも1文字タイプするのに何時間もかかるとか? >>492
普通はそっちを先に思い浮かべるよね、loop内なんてUI系にしか使わんから
割り込みを使いこなせない人かな? >>497
CRやLFの送信方法と、>>495が言ってることは別なんだけどな。
>>494が言ってることを踏まえてのことだし、人間がキータイプする限りは何時間なんて
言わなくても問題になるよね。
>まさか主要なターミナル・ソフトでCRやLFの送信方法知らんとか?
いろいろな主要なターミナルソフトを知ってるみたいで頼もしいね!
俺が使ってるTeraTermが古いのかな。行単位で送信する方法がわからないよ。1文字打つごとに出力される。
>>495が言ってる「一文字打つたびに送信されるような仕様だったりするとアカン」を回避する設定を教えてくれると嬉しい。 >>ID:Q1ifHZDO
ターミナル・ソフトの使い方も知らずにSerial.readを語ってたのか。
こりゃ驚いたわw
人は恥を捨てると何でもできるんだな。 >>499
Arduino SDKのシリアルモニタは、テキストボックスに文字を入力した後で
SENDボタンでまとめて送信するけど、あれは一般的なターミナルの
動きではないよね
世の中のターミナルがそうだったら、viエディタなんて使えるわけがない
気になったのでReadStringUntilがタイムアウトを起こすとどういう動きを
するのか確認してみた
タイムアウトだと、戻り値にはその時点でバッファに入っていたすべての文字が
返るとともに、バッファはクリアされる
なので、戻り値を連結して使えばコマンド文字列が途切れることもないわけだけど
際限なく連結するわけにもいかないから面倒くさい >>502
>コマンド文字列が途切れる
その心配、どういう場面で必要?
入力者が心臓発作で死んだときとかか? >>503
setTimeoutって引数はlongだろう?
ひと文字打つのに2147483.647秒以上かかるって死人以外に考えられんよなあw
まあ、ターミナル・ソフトの設定方法すら自分で調べてみようとせずに、
その前提で物を語り、他人に押し付けてくるあたり、人間性に欠陥があるとしか思えんから死人より迷惑だがな。>>ID:Q1ifHZDO >>503
例えば文字列で「on」という命令を一文字ずつ送ったときに
「o」と「n」の二つの文字列に解釈されて
命令が無効になってしまう
以下のコードは>>494の書いたことをもとに実装したものだが、
「on」+SENDでは通るが
「o」+SEND+「n」+SENDでは通らない
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.setTimeout(2);
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available()>0)
{
String str = Serial.readStringUntil(';');
if(str.equals("on"))
{
Serial.println("ACCEPT");
}else{
Serial.println("DENY");
}
}
} 普通に質問です。
PCのスピーカーにダイソーの300円スピーカーをつないでいるのですが、
よく電源を切り忘れます。
そこで、音声乳力があれば即座に電源ON、
音声乳力が数分間なければ電源OFF、
電源OFF時はマイコンをスリープさせておいて、外部割り込みINT0、INT1の2,3ピンで
スリープ解除させたいです。
2,3はデジタルピンですが、PCにの音声乳力を感知できるのでしょうか?
また、オペアンプなど必要になるのでしょうか? >>506
基本事項を学び直してから出直しなさい。
いろいろおかしすぎて説明できません。 >>507
音声がマイコンのON/OFFの閾値を超えてるかどうかですね。
そのスピーカーで調べてみてください。 >>505
>setTimeoutって引数はlongだろう?
長いtimeoutを設定すると、timeout が発生するまで戻ってこないのではないの?
いつコマンドが送られてくるかわからない場合に長いtimeoutを設定して、
loop内でreadStringUntil()を呼んだら、 readStringUntil() が loopを独り占めだね! >>503
前提として、timeout を長く設定していいと考える人と、そうでない人の違いじゃないですかね。
なにかにつけ、なんだか罵倒だけして詳しく語ろうとしない人ってコミュニケーションが成立しないので困ります。
詳しく語れば、自分のボロも出ますので、メリットありますよ。 >>509
そもそもターミナルの改行設定に関係していると思ってる時点で
とても恥ずかしい勘違いをしていると思う
いま話しているのはシリアル通信の話で、このサンプルに
CRもLFも出てきていない
このスケッチは改行なしの設定を前提にしている 罵倒するヒマがあれば >>514みたいに伝える努力をする方がいいのにね。
仲悪くなくコミュニケーションする方がスキルアップができると思うのだ。 >>501
>ターミナル・ソフトの使い方も知らずにSerial.readを語ってたのか
えー? 俺が>>499で書いた
「行単位で送信する方法がわからないよ」
を見て
「ターミナル・ソフトの使い方も知らずに」になるの?
ターミナルソフトの使い方がわからないんじゃなくて、TeraTermで行単位で送信する方法がわからない、って話なんだけどな。
何かのソフトはまあたいていの状況でうまく使えている場合に、ある操作、設定がわからないときに
「そのソフトの使い方もしらずに」とは言わないよな。
これは、
「Arduinoのシリアルモニタみたいな、1行ごとの送信という流儀なら、
timeout を小さく設定していても readStringUntil() でも問題は生じにくい、って話」
に乗っかったことなんだ。
CRもLFも関係ないのだけど。 >>475の通り、コマンドなんか一文字で渡せば必要十分で
Timeoutを伸ばすより副作用だって少ないわけで
無駄話だってのは承知している
でもなんていうか、職業プログラマとしていうけども
「これを使えばらくちん!」って知識を覚えるのは楽しいけれども
仕事に本当に役立つのは
「そのらくちんなツールに裏切られる条件」のほうなんだよ!( ノД`)
だからついつい熱が入ってしまうんだよな >>465はプログラムを作る上で知っておかなければならないごく自然な疑問だと思うのだが。
それに対する反応が理解できないなあ。
どうやったらそんなに遅く入力できるのかといった次元の話ではなく、プログラミングでは
起こり得る全ての状態に対して動作を決めておく必要があるのだと思うけど。 >>517
応用が効かないとか、ひとつ憶えになったら自分を苦しめるとかありますね。
>>518
>どうやったらそんなに遅く入力できるのかといった次元の話
それは、Timeoutを無制限に長くしていい、という前提というか、文化のもとでの
考え方なんでしょね。 >>ID:Q1ifHZDO
>>512を読めば、あなたがreadStringUntil()の使い方すら調べていないことが明らか。
なので他のレスもまともに取り合う価値は無く、これ以上は時間の無駄と判断します。
>>514
あなたは未だにあの動かないスケッチの話をしてたんですか。
それは失礼しました。 >>512
面白いねえこの人
readStringUntil()がなぜUntilとついててでなぜ引数が必要なのか考えないんだね
何でSerial.read, Serial.readString, Serial.readStringUntilという一連の関数があるの? 真夜中発表の練習問題の答えってもう出たんだっけ?乗り遅れたか >>521
全然話が違うよ。
>>512で言ってるのは、 readStringUntil() の引数文字が来るかどうかじゃないんだけどわかってないな。
readStringUntil() を呼び出したときに、たとえば、何も文字が送られてこないケースだよ。 いや
俺も楽しみにしていたがトンズラした模様
にしても>>429のブログで完結してるのにここの連中はよくやるw
もういいからStream.cpp読めよと >523は IDが変わったけど、俺です。
>>520も>>521と同じような錯覚してるな。きっと。
>>512に対して
「指定した終端文字が送られてきたら戻ってくるのがreadStringUntil()だ」
という視点に固まってしまってるような気がする。 横からだけど
>readStringUntil() を呼び出したときに、たとえば、何も文字が送られてこないケースだよ。
それは呼び出す以前に処理しておくべきの問題。
あんたの前提が変だから永久に話がかみ合わない。 >>525
>「指定した終端文字が送られてきたら戻ってくるのがreadStringUntil()だ」
>という視点に固まってしまってるような気がする。
だってそうだもの。
そうでないならその関数は不要、readStringでいい。 わざわざメモリさいて終端コード指定してreadStringUntil()の機能を前提としないなら無意味。 >>526
>それは呼び出す以前に処理しておくべきの問題。
そうなんだよな。
たとえば、Arduino側から何かに対してデータをリクエストして、プロトコルにおいて
「リクエスト受信後○○m秒以内に、コレコレのレスポンスを返す」
というふうに決められているケースでは、タイムアウト付きでreadStreamUntil()は簡潔に使える。
でも汎用のコマンド待ち受け用に使うのにはあまり良い選択じゃない、と思うんだ。 >そうでないならその関数は不要、readStringでいい。
いやいや、readString() も文字が送られてこないケースでは、いたずらにtimeout待ちをしてしまいます。 ターミナルのCRとかLFとかでいろいろ言ってた人は、理解の行き違いに気づいてくれたかな。 そもそもそういうケースで使うものです。
あなたが勘違いしてるだけでreadStreamUntil()の引数の意味は他に無いです。
老婆心ながら、人としての印象保ちたければ、話をこれ以上そらさない方がいいですよ。 文字が送られてきてもtimeout待ちをするんですけどね。readString() >>533
これ、発端はArduinoからリクエストするわけではない、コマンド待ちの応用に
readStringUntil()でよし、って話なったんですよ。 >>534
こいつ、無能なくせにへこたれないなw
身近にいなくて幸せだわ。 >>490の疑問については ID:SUuf8O1Y さんのおかげで>>529で解決しました。ありがとう。
ここですね使いどころは。
マシン相手のレスポンス受信なら、途中で途切れるリスクは(人間+ターミナル相手に比べると)
低いから>>506のような心配も軽いわけだし。 >>509の>>506に対する評価はどういう理由なのか謎。
せっかくのソースなんだし、どこがどうだ、って話をすればいいのにな。
俺は、試行の趣旨からいって、readStringUntil()を呼ぶ前に、受信バッファのチェック
しているのは、悪くないと思う。 >>539
そりゃあ良かったじゃないか。
何がどう解決したのかさっぱり分からんが、良かった良かった。
次からはReferenceちゃんと読めよ。 >>540
いろいろ前提が不明だね。
送り側の終端コードの設定が不明だしSENDって何だよって話もある。 >>541
っていうか、ソースコード見て議論してるよ。 >>542
SENDは同一IDの>>502を見れば、Arduinoのシリアルモニタの送信ボタンだと思われますよ。
俺の環境だと日本語表示にしてるので「送信」ですけど。
わさとタイムアウトさせたときの検証だから、そのソースの中のreadStringUnit()
の引数文字にはたぶん意味なし。 >>543
>ソース見て議論
それどのレス?
ここまでソース見てない議論ばかりでしょうに >>544
それ、おかしい。
”;”となってるから全部通らないはず。
シリアル・モニターで終端に”;”なんて選べない。 >>546
ソース見てればわかると思うのですが、指定した終端文字が来なくてもタイムアウトで
終わるんです。この実験はタイムアウトさせてるわけなので。
readStringUntil()の当該部分のソースですが、次のようになっています。
-------------------------------------------
while (c >= 0 && c != terminator)
{
ret += (char)c;
c = timedRead();
}
-------------------------------------------
timedRead()は、文字を受け取ることができずにタイムアウトすると、-1を返します。 >>542
セミコロンを終端文字にしたのは、シリアルモニターの設定は改行なしにして
実験するので、timeoutを20秒とかにのばした時に途中で切り上げるには
別の文字じゃないと都合が悪いから。
SENDは送信ボタンの意です。 >>549 ご本人登場ですか、乙
じゃ
>例えば文字列で「on」という命令を一文字ずつ送ったときに
>「o」と「n」の二つの文字列に解釈されて
>命令が無効になってしまう
はどういう意味っていうか前提? >>546
CRやLFを入れると、送信ボタンを押したときに必ずそれらがついてしまう。
oとnを別々に送信したい場合は、改行なしにしておかないと
o\rn\rとか送信されちゃう。
タイムアウトを20秒にした時でも、セミコロンにしておけば
o+SEND+n+SEND+;+SENDで
タイムアウト発生前にonを送信できます。
(セミコロンは自動で除去されます)。 >>548
わざわざありがとうw
それは私でもそう書くので…。 他人が書いたソースコードを読み切るのって難しいものです。
読めよオラオラって感じの人自身も読み切れてないことも多いと思うんですよ。
そんな感じの人がちゃんと読めてなかったら恥ずかしい思いをするかもしれません。
一緒に読み解こうぜ、って感じで取り組めたらいいですね! >>550
タイムアウトの値を20000にした時と、2にしたときで、それぞれ
1)o+SEND+n+SEND
2)on+SEND
の動作を比較してみてください。
シリアルモニターの改行コードは改行なしに設定してください。
20000の場合は20秒待たなければいけないので、待てない場合は
入力可能な最低限の時間まで短くするか、最後に;+SENDしてください。
2にした場合には、oのあとnを入れる前にタイムアウトが発生し、
oだけが判定処理に送られてしまうので、DENYになります。
次の判定時にはnしかバッファに残っていないので、やはりDENYになります。 >>554
そりゃ、スケッチの挙動はその通りなんだろうけど、2msにする必然性を知りたいですわ。
何故そんな極端な設定にしてまで、その結果生じる不都合を想定する必要があるのかってこと。
普通じゃそんなこと起こらないでしょ? >>555
2msにした理由は、>>494が書いたことがもとになっています。
実際、2)のように2文字同時に送った場合
2msでもACCEPTになるわけで、短すぎるわけではないです。
電子工作ではバイナリのサイズも問われるので、
あまり予防的な処理に注力すべきではない、というのも
理解できます。
ですがI/Fの部分は他人との分業も多く発生するわけで、
仕事なら仕様書を書かないといけないケースも出てきます。
これをやられたらマズい、というのは、把握しておくべきかと。 全然関係ない話なんだけど。
ブレッドボードみてたら、これにLCDつけて
適当な配線をいろいろ生やして
時限爆弾解除ゲームとか作れないかな・・・とか・・・
寝ます。 >>556
申し訳ないですが、何言ってるのか全然分からないです。
2msにしてタイムアウトになる場合について聞いてるんですけど?
なぜそんなに短くする必要があるのかと。
>2にした場合には、oのあとnを入れる前にタイムアウトが発生し、
>oだけが判定処理に送られてしまうので、DENYになります。
と書かれている件です。 えーっと、ターミナルソフトの設定で、まとめて送信する設定にした場合と、
1文字ずつ送信する設定にした場合がごっちゃに語られてて、意味が全くわからないです。
そもそも、どちらの場合ももっと長い時間設定でいいんじゃないかと思います。
短くする意味を知りたいです。 >>557
あ、もう結構です。
どうでもいいことだと思えてきたので、上のレスもすべて取り下げます。
おやすみなさい。 個人的には、Arduino限定じゃないですが、キーボードやシリアルから
期待する書式の文字列を取得する関数を作るときは、それをコールしたときに
・その時点で取得できていたら、その文字列を返す
・その時点で取得できてなかったら、即もどってくる
って感じにしています。
2m秒にしてあるのは、そういうことができればなあ、という目的なんじゃないですかね。 > >2にした場合には、oのあとnを入れる前にタイムアウトが発生し、
> >oだけが判定処理に送られてしまうので、DENYになります。
> と書かれている件です。
>>554の、「2にした場合」を「2)の場合」と読んでしまうと混乱してしまいます。
「2m秒にした場合」ですね。たぶん。
それならDENYになる理由がわかると思います。 >>561
それなら今度はreadStringUntil()を使う意味が無い
なぜreadStringUntil()を使ったスケッチを出してきた?
ずっと傍観してるけど、もう永久にループだなw
自分で何が問題か気付くまで放置するしかないなこの人は
>>562
はあ、日本語が通じてない模様w
2msにしてタイムアウトする理由じゃなくて、
なぜ明らかにタイムアウトしてしまうような設定にするかを聞いてるんだと思う
>なぜそんなに短くする必要があるのかと。
>そもそも、どちらの場合ももっと長い時間設定でいいんじゃないかと思います。
>短くする意味を知りたいです。 たぶんねえArduino側じゃなくて、ターミナルソフトの設定が出来ないんだと思うよ、この人
だから無意味にスケッチをこねくり回してる
>>468, >>499, >>516
そうでもなけりゃreadStringUntil()の存在意義を全く理解してないかどちらか
いずれにしても私の理解の範疇には無いわ >>563
>なぜreadStringUntil()を使ったスケッチを出してきた?
あとから来た人にはわからないかもしれないですが >>537で書いた通りですよ。
話がループしているのは、コマンド待ち用途にreadStringUntil() を勧める話が
あったことを認識していないからじゃないですかね。
>なぜ明らかにタイムアウトしてしまうような設定にするかを聞いてるんだと思う
それは>>556で説明されています。 >>564
実際のところ、通信まわりは自前で作ることが多いので、readStringUntil()の使いどころは、
ピンときませんでした。>>539で書いた通りですよ。
>readStringUntil()の存在意義を全く理解してないかどちらか
>いずれにしても私の理解の範疇には無いわ
これはすごいですね。
「readStringUntil()の存在意義を全く理解してない」ことはあなたの理解の範疇にないぐらい
あり得ないことなんですね!それぐらいreadStringUntil()の存在意義は理解されて当たり前のことである、と。
readStringUntil() の存在意義、使いどころ、使わない方がいいところなどを教えていただけませんか?
よく分かっている人の説明は勉強になりますよ。 というわけなので、
readStringUntil()を使い、ターミナルソフトをその仕様に合わせれば済み
ハイ終了。 >>567
>>429でそれを理解した質問者はもうとっくに居ないのに
理解力が無い連中は140スレも消化してまだ屁理屈たれながら堂々巡り
なかなか大変ですw >>564
それたぶん図星だね。
にしても、>>516の
>何かのソフトはまあたいていの状況でうまく使えている場合に、ある操作、設定がわからないときに
>「そのソフトの使い方もしらずに」とは言わないよな。
は泣く所だぞ、ティッシュなしには読めないw
ちゃかしちゃいかん。 なんでこんなぐだぐだやってんの?
長々とやってる割にecho backの有無も出ていないようだけど >>570
なんでってお前、理解力が無い奴ばかりだからに決まっとろうが
分かりきったこと聞くなや
で、echo backがどうしたって? ブルドーザー工作基本セット買ってきて
組み立て終わってスレ覗いたら
まだやっててワロタw
あげくターミナルソフトの使い方がわかってないとか
よくわからんいちゃもんつけられてるしw
しょせんハードウェア同士で一対一でシリアル通信するのに
CR/LFもエコーバックもねえよw
Arduinoとパソコン通信()でもするつもりかよw
やりたきゃやればいいけど、やらなくても別に誰にも迷惑かけないだろw
バイトストリームが流れてきてバッファが受け止めてくれてる、
もともとただそれだけだろうよ、シリアル通信ってw
送信側と受信側での取り決めに齟齬がなければ何でもいい、そうだろ?
だもんでこっちは初心者らしく、ステッピング&DCモーターモジュールと
ESP32-DevKitでWiFiリモート制御にチャレンジしようと思いまーす!
たーのしー! とりあえずシリアル通信云々の流れ飽きたからよそでやってくれない? コンポジット出力はArduino本体だけで出来るん? カメラのビデオ出力(コンポジットの黄色いやつ)を無線で飛ばしてテレビに映したーい
RF 315/433MHzとか、2.4GHzのnRF24L01とか、bluetoothとかで送受信できる? >>578
これでおk
電波法については知らん
https://www.あmazon.co.jp/dp/B005HMM5MM/ref=cm_sw_r_cp_apa_i_muSdDbCT1QSE6 >>579
そうそう!これです!
これを手持ちのパーツで作りたいのです!
これってどういう仕組なんだろう・・・ >2.4 ghz アナログワイヤレス 7 インチカラーモニター
>動作周波数: 2400-2483.5 mhz 標準: 2370 mhz
>伝送距離: 50 メートル
>圧縮フォーマット: MPEG 4 ビデオ
>送信周波数: 18 dBm
>伝送速度: 12 Mbps
>FHSS: 周波数ホッピングスペクトラム拡散
>ホッピング率: 1200/S
2.4GHz帯っていうのは検索で出ました
Mpeg4の圧縮伸張とか、8ビットマイコンじゃ無理だわ・・・ >>575
お前が来なきゃいいだけだろ、真正の馬鹿 >>581
ESP32にカメラの付いたモジュールもあるが
こういうのはRaspberry-Piだな AdafruitのHUZZAH32ってESP32モジュールが
リチウムポリマー充電対応で便利みたいだね
自走するロボットとかだとArduinoをバッテリー駆動しなきゃ
いかんのだけど、電源の確保って思ったより大変みたいで 屋外で6時間に1回5分だけリレーを動作(灌漑ポンプを動かしたい)させたいんだけどArduino(Aliexpressの格安互換機)って屋外においておくと腐食する?
長期間屋外においてる人がいたらその対策とか教えて欲しい
あと100VからUSBの5Vに変換して使う予定だけど、万が一の暴走や発火を考えてヒューズとか使ったほうがいい?
やってる人いたらアドバイス貰えるとありがたい バイクに2年ぐらい取り付けてるけど、特に問題ないなー
ACアダプターにヒューズ入ってるからいらないんじゃね? >>585
腐食とか気にするんならコーティング剤とか売ってるよ >>585
一度は切れたログ取りのために普通のヒューズ入れておいて切れたら内容によってはリセッタブルヒューズでもいいだろうし
まぁどこまで何を考えるのか目的がわからないけど
構成によってはwdtも設定したほうがいいだろうし
arduinoってwdtのライブラリとかあるのか知らないけどw >>585
水廻りだとヤバイんじゃね
手ごろなタッパ入れて配線のとこはホットボンドで密閉推奨
ガーデンライト3年経過してもきれいだった
ちょっとでもスキマあると虫が侵入するので注意な >>585
ヒューズは100V側に0.2Aをいれたほうがいいと思う
5V-2Aと仮定して >>585
中途半端な密閉は湿気入って結露したりでろくな事がない。作ったやつで山頂からデータ飛ばしてるのがあるんだけど中華ナノで2リットルペットボトルを被せてるだけなんだがノーメンテで3年目。
wdt設定してるが今のところ一度も落ちずに連続稼働中。 初心者質問です。やさしく教えてください。
3~5接点のロータリースイッチ5個ほど同時に使いたいのですが、他のスイッチとの兼ね合いでピン数節約の為アナログ入力を使おうかと思ってます。
可変抵抗器をイメージしてこんな回路で組んでます。
https://imgur.com/YfrGDLm
ロータリースイッチ一個につき一回路使い、アナログ入力範囲に応じてスイッチ位置を判定しようかと思うのですが、どんな問題が考えられるでしょうか?
ネット調べるとこんな回路が紹介されていたので私の回路では何か問題があるのかとおもうのですが。。。
https://synapse.kyoto/tips/ResDiv/page001.html >>592
とりあえず思ったのはスイッチを操作して遷移中の値が不定である
人間から見たら一瞬でカチッとなっててもマイコンから見たら相当な時間、想定されない信号が入力される
んで、そのスイッチがノンショーティングタイプなのかショーティングタイプなのかで対策が変わってくる >>592
問題ないと思う。
アナログ入力は時間かかることだけ
わかっていれば。 >>592
ディジタル入力なのにアナログを使うのはちょっと気持ち悪い
私なら74HC148あたりを使うかな
スイッチ複数押したらどうなる? >>595
ロータリースイッチは複数押せないだろう >>593
ショーティングタイプの時は、遷移時低抵抗側、ノンショーティングタイプの場合、遷移時最低抵抗ポジションですね。
ショーティングタイプの方がよさそうですね。
>>594
用途上問題無い気がしますが注意してみてみます。
>>595
596さんの言う通り問題無さ気です。
初心者には汎用ロジックIC?はハードル高いです。
マトリックス回路で補完しようかとも思ったのですが、配線が面倒なので今回は抵抗分圧方式でトライしてみます。
皆さん、ご回答有難う御座いました。
最近ギスギスしてたので不安だったのですが、みなさん優しくてホッとしました。 >>599
Arduinoを使うけどプログラミングはする気無い
って最初に書くべきだな
普通はそう思わないからさw >>599
どっちも微妙に違う
ショーティングタイプのときは遷移時は並列抵抗になるから中途半端な電圧になる
ノンショーティングのときはその回路だと最低抵抗ではなくハイインピーダンスになる >>596
6V1Wの中華ソーラーをTP4056中華モジュールにダイレクトにつないで18650をパラで3本。
昼夜問わず10分おきにLoRaで3キロ先にデータ送信。 >>592
下側のurlの関連ページに「I/Oピン一つで読めるキーパッドの設計サービス」ってあって抵抗値計算できるみたいだよ。 >>605
ロータリースイッチ使用で>>592の繋ぎ方なら全部同じ抵抗でいいだろ… フルカラーLEDで電球の色を再現するってできるんでしょうか?ネットで探しても見つからないです。。 >>591
森の奥で三年間放置されて、半分コケにまみれてそれでも健気に動いてるとこ想像して萌えた >>608
電球色のledと同等のものならできる。電球色 色温度 rgb 変換 とかで検索したら出ると思う フルカラーLEDといっても、一般的なものは三原色LEDでスペクトルがRGB固定なので、完璧に近い再現は難しい。
何しろ、オーディオで言えば3バンド・グラフィックイコライザーで音色を調節しているみたいなものだから。
プロ向けの多バンドなグライコのように、多色LEDによるフルカラー表示を作ればいけるでしょう。 青と黄色しかない白色LEDをバックライトにした液晶モニタ以上には再現できるでしょ フルカラーLEDってPWMで16bit階調ぐらいまで出たらいいね 市販のほとんどのフルカラーLEDコントローラーが、RGB各256階調ではなく各8階調から多くても16階調なのがな。
モニターディスプレイでのフルカラーと比較にならないな。512色モードや4096色モードのノンディザ表示と一緒。 >>612
音は鼓膜が無段階に受信できるけど、錐体細胞はRGB固定なんだしいいような気もする 単にオンオフするだけでもpwmは作れると思うですけどpwm対応ポートとそうでないポートの設計上の違いって何なんですかね?
専用タイマが用意されてるとか? >>617
カウントダウンタイマーと紐づけされててハードウェア的に処理してるんじゃないかな。 ハードウェアPWM(AVRのタイマーの機能の1つ)がついてるポート
値を指示したら任せっきりで良いからALUが他のことに注力できる タミヤの工作キットの戦車にAdafruit HUZZAH32と
DCモータードライバーモジュールをのっけて
いざ走らせようとしたら「ピプー」とか謎の鳴き声を上げて
前進しません
重量過多なのかと思ったけど直結したら元気に走ります
もしかしてこれが半田不良ってやつなんでしょうか >>620
マイコンボード側かモータドライバ側かとか、問題箇所の切り分けはやった?
また、モータの仕様を充分満たしたモータドライバの仕様かとの確認も。
モータとモータドライバ各々のメーカーと型式はなに? >>617
Arduinoの元になってるマイコン内部の問題。
どのピンにも自在にタイマーが接続できるならいいけど(そういうマイコンも世の中にはある)、
特定のタイマー出力は特定のピンにしか接続できない仕様だし、
搭載されているタイマーの数もピンの数より少ないから、PWM出力の出来ないピンがある。 いつのまにかtiny1シリーズのコア出てるんだね、まだ開発中だけど
名前がmegaTinyCoreてどっちやねん!w
かなり多機能な次世代チップだしええね >>621
DRV8835です。
>>622
ラズパイマガジン用のキットに入っていたものなので、
・モーターをほかのものに変更・・・ダメ
・電池ボックスを単2x2から単3x4に変更・・・OK
(直結は単2x2でも動作)
といった感じで、どうやらモータードライバーが3Vでは足りないようでした。
とりあえず目に見えてあかんかったモーターのはんだ付けを
やり直した後、電池ボックスの変更を行い、元気に動くようになりました。
キャタピラーが転回時に外れてしまう問題を直して、次は
超音波測距センサーで激突を防ぐ機能を入れるつもりです 時計に変化を付けたくてTM1637の4桁7セグで縦スクロールを試してみました。
以下、ボタンを押すと表示されている数字が上にスクロールアウトし、
乱数によって新たな4桁の数字がせりあがってくるスケッチです。
/* TM1637 scroll test */
#define SW_1 2
#define TM1637_CLK1 A2
#define TM1637_DIO1 A1
#include <TM1637Display.h>
TM1637Display clockdsplay1(TM1637_CLK1, TM1637_DIO1);
uint8_t segdt1[] = { 0, 0, 0, 0 };
uint8_t segdt2[] = { 0, 0, 0, 0 };
int dt1, dt2;
void setup() {
pinMode(SW_1, INPUT_PULLUP);
clockdsplay1.setBrightness(5); // vule 0 to 7, true/false
dt1 = 1357;
setnumsegdt(dt1);
clockdsplay1.setSegments(segdt1);
}
void loop() {
if (digitalRead(SW_1) != 1) {
randomSeed(millis());
dt2 = dt1;
dt1 = random(9999);
setnumsegdt(dt2);
clockdsplay1.setSegments(segdt1);
for (int i = 1; i < 4; i++) {
delay(120);
for (int j = 0; j < 4; j++) { vroll(j, i); }
clockdsplay1.setSegments(segdt1);
}
setnumsegdt(dt1);
for (int i = 0; i < 3; i++) {
delay(80);
for (int j = 0; j < 4; j++) { vroll(j, i); }
clockdsplay1.setSegments(segdt2);
}
delay(200);
}
} // --- 続き、関数部分
void vroll(uint8_t n, uint8_t k) {
// bit3->bit6->bit0 / bit2->bit1 / bit4->bit5
if (k == 0) {
segdt2[n] = ((segdt1[n] & _BV(0)) << 3) | ((segdt2[n] & _BV(6)) >> 6) | ((segdt2[n] & _BV(3)) << 3)
| (segdt2[n] & _BV(2) )
| (segdt2[n] & _BV(4) ) ;
} else {
segdt2[n] = ((segdt1[n] & _BV(6)) >> 3) | ((segdt2[n] & _BV(6)) >> 6) | ((segdt2[n] & _BV(3)) << 3)
| ((segdt1[n] & _BV(1)) << 1) | ((segdt2[n] & _BV(2)) >> 1)
| ((segdt1[n] & _BV(5)) >> 1) | ((segdt2[n] & _BV(4)) << 1) ;
segdt1[n] = ((segdt1[n] & _BV(6)) >> 6) | ((segdt1[n] & _BV(3)) << 3)
| ((segdt1[n] & _BV(2)) >> 1) | ((segdt1[n] & _BV(4)) << 1) ;
}
}
void setnumsegdt(int n) {
segdt1[0] = clockdsplay1.encodeDigit((n / 1000) % 10);
segdt1[1] = clockdsplay1.encodeDigit((n / 100) % 10);
segdt1[2] = clockdsplay1.encodeDigit((n / 10) % 10);
segdt1[3] = clockdsplay1.encodeDigit(n % 10);
segdt2[0] = 0; segdt2[1] = 0; segdt2[2] = 0; segdt2[3] = 0;
}
//--- ここまで
vrollでbit演算してるのですが、もう少しスマートな記述とか方法は無いでしょうか ここじゃなくてcodepadかpastebinに貼れよ >>611
ありがとうございました。必要な情報見つかりました。 今のarduinoってWi-fiデフォで繋がる?
ラズパイでリモート開発に慣れちゃったからarduinoでもできないかな >>631
WiFi付きのArduino(Aliで見かけた)もあったはず
ただ簡単にできるかは知らない >>631
arduino yunとarduino uno wifiならデフォルトでwifi機能があるが、搭載されていないarduinoでもxbeeとかで簡単に追加できる >>631
ESP32とかのWiFiチップはそのまんまArduinoチップとして動作するので
ESP32使ったArduino互換機買ってきて使ってる
aitendoで1000円とかからあるよ
リモートでPCからスケッチを書き込むのって、Xbee使ったときしかできないよね?
Xbeeは単なるWiFiって感じじゃないなあ ググれば誰でもできるこの世の中ばってん、決してトップランナーにはなれまっしぇん。 おお!久し振りに見たらreadStringUtil(笑)ブーム終わってんじゃん。
長かったな。
平和になってよかった。 readStringUtil か。マジ(笑)だね。 AliからUSB-TTLが届いた(CH340G)、すでに別のやつを持っていたが面白そうなので買ってみた
https://ja.aliexpress.com/item/32979859167.html
「ArduinoProMiniのピン配列と同じ」「ピンヘッダでなくピンソケット」なのでブレッドボードもジャンパーもいらずにProMiniに差し込むだけ、ジャンパーによる接触不良の心配もいらない、着脱簡単
比較的安いのでProMini使いさんにはオススメ
https://i.imgur.com/EtxqKu2.jpg M5stickCもここでいいの?
外部ピンが8個あるけど、
これって、M5StickC本体への電源供給用として使えるのかな?
参考サイトがあったら教えてほしいです。 まだ情報が少ないので自力で調べる力と英語を読むくらいはできないとしんどいのでは?
情報の多いunoで先に遊んでみるとか
https://docs.m5stack.com/#/ja/core/m5stickc
5V INPUTとかわかる? あちゃんでいいののUSBバージョンってさあ
・USBから給電はできるけどスケッチ書き込みはできない
・穴が小さくてピンヘッダが刺さらない
まあ安いからいいんだけど、USBなしのほうだけでよかったわ >>642
レスありがとうございます。
おお、5V INPUTありますね。
これが本体への供給端子か。
レギュレーターICで5V作って、
本体に供給できそうですね。
お手数おかねいたしました。 すげえな、その程度のことすら自分で確認してなかったのかw RTC DS3231 は2ppmで月差5-6秒のはずなんだけど
1日2-3秒も進みます。これおかしいよね?
使用ラブラリはDS3231 Real-Time Clock (c) 2014 Korneliusz Jarzebski Version: 1.0.1
AGING_REGは0x00でした。
読めなかったのでライブラリ改造:readRegister8()をprivateからpublicへ 安い中華製はフェイク品なので当たりはずれがあります。
1日2-3秒ならましな方かな。 俺の知ってる限りの情報だけど
中華の3231のフェイクチップは見分けめちゃ簡単だぞ
出回ってるやつ何種類か調べたけどフェイクチップはどれも矩形波出力(SQWピン)が1Hzしか対応してない
本来はコントロールレジスタのRS2とRS1で1Hz/1024Hz/4096Hz/8192Hzの4種類から選べるハズだが
フェイクチップはこのレジスタをどう設定しても1Hzしか出力しないからやってみ?
ちなみに温度データの読み込みには対応しているが周波数には何の影響も与えないぜ!TCXOでもなんでもない >>648
INPUT 5Vが本体への供給なのかわからなかった
USBがわりになるのか不明だった >>651
SQWサンプルスケッチがあったので切り替えてオシロで見てみました
ものっそゆれてますが1Hz/1024Hz/4096Hz/8192Hz切り替わっているようです。
aging offsetレジスタに 0x28 セットすれば3.5sec/day遅れるはずなので
これで様子見てみます。
ありがとうございました。 ds3231の偽物も存在するのか
恐ろしいなチャイナパワー ふぇええ〜
中国からやっと届いたMP3デコーダーボードが
ピン全部倒れてる上にうまく再生できないよう・・・ >>651
>ちなみに温度データの読み込みには対応しているが周波数には何の影響も与えないぜ!TCXOでもなんでもない
これは、フェイクのDS3231について書いたものだと思うけど、
温度制御クリスタルオシレータの本来の意味だったら、正規DS3231がTCXOって言ってるのは微妙に違和感があるな。
おそらく正規品でも発振周波数は変わらず、温度による周波数変化をカウンタで補償しているはず。
NXPの PCF2127 は、TCXO っぽい構成図になっているけど。
DS3231のような水晶内蔵のものだと、水晶のばらつきの補正 + 温度補償 になっていると思う。
怪しい DS3231 にはフェイク品もあるだろうけれど、水晶のばらつきの補正がしきれなかったNG品が流れてしまってる
っていうことはないだろうか。 >>657
すみません。ウソですね。ちゃんとTCXOしてました。
何かと混同してたみたいです。 https://datasheets.maximintegrated.com/en/ds/DS3231.pdf
32kHz TCXO
The temperature sensor, oscillator, and control logic form the TCXO.
The controller reads the output of the on-chip temperature sensor and uses a lookup table to determine the capacitance required, adds the aging correction in AGE register, and then sets the capacitance selection registers.
32kHz温度制御発振器
温度センサーと発振器とコントローラで構成
チップの温度をセンサーで読み取り必要な静電容量をテーブルから呼び出し経年補正レジスタを加味して静電容量を選択
ブロックダイアグラムにはオシレーター&キャパシタアレイが装備されているとある
周波数をいじってるのでは?? 使ってない0SIMカードあるからIoT機器作りたいんだけど、
AliexpressなどでSIMカード使えるチップセットってある? 年差10秒の水晶式腕時計GSを作っているセイコー社がRTCを売り出してくれれば
現行品をはるかにしのぐ高性能なものになるのか? (値段はともかく)
https://www.grand-seiko.com/jp-ja/about/movement/quartz
経年補正も可、と書いてある。 クォーツで1年でプラマイ10秒は本当に凄いけどズレるのは気になるな
GPS Module NEO6MV2 とか3ドルくらいであるし安くて正確じゃないかな?
家で時計使ってるけど結局全部電波時計にしてしまった
15年経っても0.5秒すらずれない 電池交換以外完全にメンテナンスする必要がない
全くずれないのは快適だから今更クォーツには戻れないだろうし需要がなさそう
GPSがもっと普及すれば受信精度も上がり安くなって快適ってきがする Aitendoの電波時計モジュール買うよりESPでタイムサーバーから時刻合わせした方が安上がりだと気付いた 室内だと電波時計の電波入りにくいからクロックの精度がいい奴の方がいいわ
電波時計は結構その辺が酷いのが多い 電波時計ってアンテナらしいものもないのによく長波JJY拾えるなーって思う 電波時計分解するとコイル蒔いたのがあるからそれかと
あと電波の入りが悪いといっても1ヶ月に1回でも拾えばいいわけで、めったに受信しないけど時計ずれないわ
GPSなら衛星だから中山間地でも拾いそう(やったこと無いけど) >>667
無理やりスレ合わせすると、ntpから時刻取得して疑似電波出すやつ8266で作るとかどうよ。売ってるのは1万以上するし。 JJY受信ブースター
3階立ての我が家の屋上に置いた、aitendoのJJY受信モジュールで受信、復調して、
1階の実験室までRS485形式で15mほど復調信号を伝送し、
tiny2313でBCDビット情報からデコードして、時刻、年月日やビット履歴を画面に表示し、
さらに、JJY形式の変調電波をtiny2313のカウンタで作り、
RS485ドライブICでバーアンテナから放射。
https://i.imgur.com/aziBIGW.jpg
勉強のためにGPSでも動くようにしようと思って、
秋月でGPS受信モジュールを買ってきたけど
我が家の電波時計が正確になったので、やる気が起きず、そのまま放置中w 実用目的というよりも電子工作のヒマ潰し。
JJYやI2C液晶は初めてだったので、結構、長期間楽しめた。 >>661
こちらで質問したものですが、
ドコモのSIMカードが使える格安のモジュールって売ってないものでしょうかね? 携帯の電波を発する機械ってWiFi以上に厳しい技適が必要なんじゃないの? >>675
格安ってどれくらい?1万クラスならある。技適は簡単な申請で半年使えるお墨付き貰える。これやれば絶対捕まらん。やらんでもまぁ捕まらんけど。 >>672
自宅でstratum 1のNTPサーバ立てられますね。 >>677
10ドル以下くらいであれば嬉しい、中古の激安スマホより高いものだとArduinoではなくスマホで開発したくなってしまう
あと、スマホは中国へ持って言ってもそのまま使えた(若干設定が必要)し、逆に中国で使えるモジュールって日本でそのまま使えないのだろうか? >>672
すげーな、詳しく
俺も簡単なJJYリピーター作ろうと思ってるけど挫折中 >>640
そもそもProMiniに書き込み用L型ヘッダつけるのがナンセンスじゃね?
書き込み装置にポゴピンつけた奴作っとけばええ
P75-E2が50本で100円くらいで買えるし >>680
手軽にJJYブースターを実現したいなら、
CPUの機能をクロック源に(下記ブロック図のOSC部分、プログラムリスト参照)
限定する方法はどうでしょうか。
https://i.imgur.com/TUdVoKP.jps
ブロック図では子局が2台しか描かれていませんが、必要に応じて子局台数を増やせます。
私は沢山手持ちしているRS485トランシーバICでバーアンテナをドライブしましたが、
パワーMOSTFETなども使えると思います。
私が作ったものとは回路構成が異なるので、製作する際には動作確認の予備実験を行って下さい。
40/60KHzのOSCとしてのカウンタの設定(CPUはATtiny2313)
ジャンパーで40KHz、50KHzのどちらかを選択。 必要に応じて微調整する。
;----- timer1_CTC free run for carrier 40KHz at 20MHz OSC
; output to PortB_3
; WEST = 165:60.23KHz, 166:59.91KHz, 167:59.52KHz
; EAST = 248:40.16KHz, 249:40.02KHz, 250:39.84KHz
ldi YL,0b01000000
out TCCR1A,YL
ldi YL,0b00001001
out TCCR1B,YL
ldi YH,HIGH(249) ;40.02KHz at 20MHz
ldi YL,LOW(249)
sbis PinB,_SW_F ;SW short ?
rjmp Sel_Freq ;Yes
ldi YH,HIGH(166) ;No, then 59.91KHz at 20MHz
ldi YL,LOW(166)
Sel_Freq:
out OCR1AH,YH
out OCR1AL,YL
L1: rjmp L1
; 何だよ! 疲れたのかな?
MOSTFET → MOSFET 3Dプリンタなくてもポゴなんちゃらっていうの簡単に作れる方法は >>688
普通にユニバーサル基盤の切れ端で良くね
あとはピン配置が揃ってるUSBシリアルモジュールにピンソケットの代わりにつける >>682
さんくす、ためになるな
送信をバーアンテナでやってるんだね
またあとでくわしくみてみる >>688
細長いユニバーサル基板を2枚重ねてゴムで縛る 適当なスペーサーと基板2枚と輪ゴム使えばポゴピン数本なんて整列してはんだ付け簡単やで プログラムしたいだけなら特殊工具の自作は必要ないし、ハンダ付けさえ必要ないよ。
https://i.imgur.com/n4apfbHl.jpg
一瞬じゃなくしばらくシリアルモニターもしたいなら輪ゴムも必要だけど。 そんなスルーホールにもケーブルにも負担がかかる上に不確実な方法でやりたくない >>687
きれいにできてるねえ。
3Dプリンター買おうかな、他にもいろいろ便利そうだ。 >>699
具体的にどれのこと?
あと、未だに「つ」とか書いてて恥ずかしくない? 平仮名とカタカナしか書けないゆとりだったか、相手して損したw >>703
で、テストピン(チェックピン)で何をするんだっけ?
ひょっとしてプローブピンと間違えた? >>704
そうなんだよ。
テストピンが何だかわからんから問いかけたら
「つ」に触れちまったもんで狂犬が発動したでござるw Arduinoに最初からOLEDが実装されているボードある? 人間の手による0〜20cm程度の直線運動を、離れた場所にあるサーボ・モーターに送る仕組みを考えています。
無線か優先かでNANOかESPかですが、とりあえずArduino系のマイコン・ボードを使うことだけ決めています。
まずは、手元の動きそのものをどうとらえたらいいかなんですが、どんな方法があるかアイデアを教えてください。
動体と非接触な方が好ましいです。
よろしくお願いします。 いろいろ思いつくんだけど、書くのやめた。
どうせあれこれ言って言うこと聞かなそうだから。 直線運動ならスライドバーをエンコーダーで読み取るか距離センサーでいいと思うんだが
たぶんやりたい事と書いてる内容違うんだろう、意思疎通できなそうなので触らぬが吉 PCが要るがLeapMotionと言うのを使えば出来そう。
ただ方式も決まってないのにarduino決め打ちだからねぇ、厳しいんじゃ無いかな。 みなさん、ありがとうございます。
>>712
Potentiometerというので回転のデータを得てるんですね。
>>716
>スライドバーをエンコーダーで読み取る
>距離センサー
検索してみます。 人感センサ付けて、常に人の方を向く扇風機とか作ったら面白そうでは!
ラテン系の俺は寒いの嫌いなので嫌です >>725
|
| 彡⌒ミ
\ (´・ω・`) また髪の話し・・・
(| |):::: おっと、俺の早とちりだった。
(γ /:::::::
し \:::
\ コモンモードラインフィルター用のインダクターって
スイッチング電源に使えますか? promicroを研究中です
ttp://okiraku-camera.tokyo/blog/?p=8092
のスケッチを改造して、かえうちみたいなのを作るつもりです
私のスペックは、VBAがちょっとできるくらい
具体的には、USBKBとPCの間に入れて
CAPS→左CTRL
CTRL+H→BS
CTRL+M→改行
と置き換えるだけのものを作りたいのです
上記のスケッチをどういじればいいか、どなたか教えてください >>729
全くのスレチになるけど
CAPS→左CTRL
CTRL+H→BS
CTRL+M→改行
だけならautohotkeyでなら25行くらいでできそう。 反応ありがとうございます
1 ハードウェアで実現した方が楽ちん
2 出先で有線USBKB+アンドロイドタブレットで作業することが多い
なのです みなさん開発って何でやってます?arduino IDE?
vs codeとかだとインテリセンスが効くみたいですけど感触を聞きたい USB機器を作りたくてUSB2.0の仕様書を読んでたんだけど
177ページの7.2.4.1に突入電流の定義があって容量性負荷は10uFまでって書いてない?
Arduino Unoとか47uFのケミコンがでーんと載ってるけど・・・ええんか? >>732
今はarduino IDEでもインテリヤクザ効くよ >>733
デバイスが遠慮するルール < ホストに要求されるルール
ですかね。
デバイスは最初は100mAまで、ネゴのあとで500mAまで引っ張れる、みたいなルールも
あったと思いますが、いきなり500mA超を引っ張るものもある一方で、
ホスト側もそれを許す構造になっているのが普通になってるし。 単相100V650Wの汲み上げポンプをArduino+リレーで駆動させたいと思ってるんだけどリレーって何を選べばいい 誘導負荷か。ゼロクロスなSSRとサージアブソーバーで良いのでは? >>736
突入電流があると思うので
負荷電流が20アンペア以上の手頃なやつ
あと直接駆動出来るリレーも有るが、多くのリレーはarduinoで直接動かせないので注意して ありがとうございます
SSRは考えたのですが放熱が大変そうですが気軽に650Wもいけますかね? >>738
ありがとうございます
リレーの場合、20A流せるものとなると、探し方が悪いのかArduinoの電源5Vでは足りないことが多く困っています
この場合、昇圧回路を作ったりしてリレーを動作させるのでしょうか? >>740
ごめん、電流値に関してはモーターの種類によるから3倍じゃ足りないかも・・
一応モーターの仕様も調べてみて
リレーを駆動する方法は色々有るけど、容量のでかいのだと5Vのは少ないね
5VのリレーもArduinoのIOからは直接駆動出来ないので、簡単な駆動回路を作る必要がある
例えば12Vの電源を用意して、Arduinoにはレギュレーターで5Vを供給する
リレーにはトランジスタを使い12Vで駆動するような回路を作る
結構簡単な回路でできるから調べてみて それ盤屋の仕事だな
電磁接触器とか、電磁開閉器とか言う名前のでっかいリレー使う。100v単相 電磁開閉器 一時的にはパワーリレーでも行けるかもしれないけどすぐにへたるだろうな
長期的にはこんな奴使うんだろう、Arduinoで直接駆動出来ないから一旦普通のリレー駆動してその接点でこれを駆動するとか
https://www.monotaro.com/p/0107/7466/ >>740
回路図としてはGoogleで「マイコン リレー トランジスタ 回路図」等で検索すると出てくる
回路の例では2SC1815とか使ってるけど、もう少し出力の有るトランジスタのが良いかも・・
あとダイオードは必ずショットキーバリアダイオード(ファーストリカバリーダイオード)を使うこと
他にもAmazonとかでマイコンから直接動くようなリレー基盤が安く売ってるのでそれに大容量のリレーを繋ぐのも有かな そういや5v1AのUSB電源で1815つかって動かせるリレーで一番でかいのってどれくらいのがあるんだろね。
12vなら幾らでもデカいのあるんだろうけど。 >>741
ありがとうございます
情報後出しですみません。ArduinoはAliの安い互換機を使ってるのでUSB5Vよりも高い電圧は書けたくないという事情があったりします
また、電源12Vを用意するのってけっこう大変じゃないですか?5VだとUSB規格でどこにでも転がっていますが12Vはなかなか見かけないです。
MosFetが手元にありましたのでそっちで頑張ってみようと思います >>746
12Vはたくさんありますが5Vタイプで15A行けるようなものはとりあえず見つからないです
USB電源から気軽に動かせればいいですね >>747
Arduinoに載ってるレギュレータに12Vかけたくないって意味かな?
中華だとAMS1117-5.0か
せっかくArduinoにはPWMとADCが付いてるんだしDCDCコンバーター構成したらいいんでは?
インダクタとトランジスタとダイオードとコンデンサで構成できるでしょ
そしたら5V繋ぐだけで12Vのリレー駆動できるでしょ >>748
5Vで20Aのリレー山ほど有るぞ
もともと100Vのポンプ動かすなら100Vの電源確保じゃん、安いアダプターで12V用意すればいいじゃん
PSE問題有るけどAliなら200円以下で送料無料の買えるじゃん
天才でない限り手間かコスト(もしくは両方)はかかるぜ 物理スイッチにラジコンサーボつけたらUSBでなんでもオンオフできるよ!!!!! >>750
もしよければ、5Vで20A扱えるリレーについて具体的な型番を教えてもらえるとありがたい
上で教えてもらったサイトで見たのですが見つけられない><
>>749
具体的にはこちらになります
https://www.aliexpress.com/item/32666011543.html
送料込み 2.81ドル CH340+MEGA329P
かなり前にこのスレでどの場所か忘れましたが、高い電圧掛けると煙が出たと聞いたいので5Vでと考えています
また、5Vであればスマホに付属していた信頼性の高そうなUSBアダプターなどから気軽に5Vが取れるので不測の事態もある程度避けられるかと思っています
残念ながらそこまでの知識がないので・・・
こういった物を使えば一応12Vは作れるかなと思ったりしています
送料込み0.4ドルくらい
https://www.aliexpress.com/item/32477478565.html
ただ5Vで駆動するものがあるならシンプルになるのでトラブル無くできそうでいいですが・・・ >>752
ネタ扱いっぽいですが、実際、真面目に良さそうな気もするのですがどうなんでしょうね?
特に、そのあたりにあるスイッチでも気軽に15Aは行けるし汎用性も高い
>>751
まぁそれだけ動いてくれれば実用上は十分かな
とはいえ今回リレーが壊れてやたらと野菜が萎れていたので気づきましたw
定期的に井戸から水を汲み上げて圃場に散布したいと思っています >>753
サイト>スマホで見たの?
まあスマホで見れるがPCで見たらすぐに絞り込みができるともう
(スマホでも見れるし絞り込める)
RSコンポーネンツで5V20Aのもので20種類出てきた
高い電圧をかけて煙が出るのあ違う原因があってだと思う
まあ5Vが良いなら5Vでチャレンジしよう
あとAliでも5Vのリレー直ぐ見つかるよ(品質は不明だが)
https://ja.aliexpress.com/item/32836198919.html >>754
20A,30Aのリレーじゃ厳しそう
モーター負荷は定格に対して5倍位見とかないといけないし、
単相モーターの力率は0.4〜0.6で13A位。ざっと65A定格が必要。
条件に合うリレーがあったとしてモーター負荷を想定した物じゃないと接点が直ぐにダメになります。溶着して出っ放しを許容できるなら良いけど。
結果 >>743 の言う様に電磁接触器にした方がいいです。両切りにできるし。
あと遮断時、モーターの逆起電力によるアークもあるので既存の系にサージ対策が無ければ追加が要りますね。 >>755
暑さでボケてた RS online左のは絞り込みだったんだな
500円くらいからHongfaという会社の基盤実装タイプが大量に出てきた
秋月のとても安くて良さそう!
Aliについては普段はよく使うけど100Vは不安だからやめておく
ところで、20Aって半田+基盤の構成で流しても大丈夫なのだろうか?
VVFとかで20A流すならリングスリーブで1.6mmではなく2.0mmの銅線使うくらいだし >>757
タイムスイッチ TB31109K の半分の時間(7分)で電源が切れるものが必要だから自作なんだけど
ちょっと違うものを修理した時には OMRON LY2 12VDC を使った ヤフオクで400円くらいだった
データシートにはAC110V 10A (抵抗負荷)
AC110V 7.5A (誘導負荷 (cosφ=0.4)) このようにあるから65Aのリレーはいらないんじゃないな?
出しっぱなしは井戸が枯れてモーターが焼け付くから可能な限り避けたいけど、タイムスイッチ TB31109K みたいなものは一般的なリレーが入ってないかな?
これではないけどモーターで使うこと前提のタイムスイッチを分解したらオムロンの小さめのリレーが入ってた >>756
動作必要90mAに信号5mAだと、
PC給電===>USB+Arduino+リレー基板構成で、
ACアダプタ無しの動作試験やデバッグは可能なのか。
ちょっと便利かも。 >>759
モーター負荷は突入電流が長く続くのでより条件は厳しくなりますね、私なら定格に対して抵抗負荷は70%、誘導負荷は40%、モーター負荷は20% を設定します。
OMLON リレー データシートのくだりで書かれた、誘導負荷定格は開閉容量であって抵抗負荷からのディレーティングでは無いですよ。 「長く続くモーター始動時の電流」から回路を保護するのにPTCサーミスタを使うかな?
PTCサーミスタが動作した時点で始動に失敗しそうな気がするんだが。
抵抗を使う方法も、真空管のヒーターだとか電球だとかならありなんだけど、
モーターでは使ったことがないな…。
>>761
タイポだけど「OMLON」って怪しい偽物感があっていいなあ。
そういや、スイッチの「MULON」がオムロンのパッチもんだと思っていたことがありました。
ごめんなさい。 https://www.aliexpress.com/item/32804747718.html
このENC28J60つかったイーサネットモジュールをprominiにつないでhttp鯖を立てると、
最初はいいのだけど、数時間たつと無反応になってしまいます。
メインループでLチカやってて、そっちは動いているのだけど、LANのほうが死んでいて
パケットを送ってもつながらず。
なにかこのモジュールについて情報有りませんかね? >>770
何で最後のエル1文字だけが2バイト文字?
ENC28J60買った直後にESP8266使い始めて部品箱の肥やしだわw すいませんお邪魔します
質問ですが
プログラムの変数名に漢字って使えますか? int 変数=0;
エラー
stray '\345' in program
無理だ 直接Arduinoの質問では無いのですが、
https://i.imgur.com/vcQHTkJ.jpg
https://i.imgur.com/V2klEWB.jpg
こう言った取り付け用のネジ穴が無いモジュールはケースに収める場合
どうやって固定したら良いのでしょうか >>779
ひだりのOLEDは両面のクッションテープで貼ったり接着だったり丁度それが収まる隙間作ってはめ込むとかするね。
右のならつまみガワにある板に穴あけてケースにネジ止めするとかその板はずしてネジ穴流用するとかじゃね? >>779
透明なケースで無ければグルーガンも良いよ、失敗したらやり直しできるし。 夏休み初日
arduinoスターターキットが届き
ご満悦 >>782
>arduinoスターターキット
どれ? smraza s26キット
部品取りとして考えても安かったんよ 初心者質問です。
arduinoで自分の電源をオフする回路が作りたくて調べていたら、このサイトにたどり着きました。
https://www.instructables.com/id/Arduino-Microcontroller-Self-Power-Off/
そこで質問です。
https://imgur.com/wbH5VAG
この画像で、
@で電源ON
AにHIGH信号が入り、N-MOSFETがON
Bに電流が流れてP-MOSFETのG電位が下がってP-MOSFETオン
Cが導通するので@回路に関係なくAruduinoの電源保持
までは理解したのですが、Dの回路も流れてしまって無駄に電力消費しないのでしょうか。 >>786
この回路だとAをONにしている(マイコンが起動している)間はDが流れるからその通りだが
こういうのはリモコンとかでボタン押されたら信号を1つ発して即オフになる様なものに使うことが多いから
起動してる時間はミリ秒レベルとかで、積算消費電力は凄まじく少ないでしょ >>787
有難う御座います。
と言う事は、AをオンのままArduinoを動かし続ける場合でも、R10kの抵抗値が十分大きければ無視できるレベルと言う理解でよいでしょうか。 無視できるかどうかは設計の君が決めることだ
値を増やせば消費は減るがノイズに弱くなる
実験したりして見極める >>789
丁寧に教えていただき、ありがとうございますmm
早速実験してみます!!! ネコの手みたいなのが出てきてトグルスイッチオフするのかと思ったらちごた Elegooの初心者きっとが届いたので今やってる。 レッスン終わって次に進むときはUSBブッコ抜いていいのかな。
安全に切り離すが出てこないけど。 もちろんブッコ抜いていいけど
抜かなくてもそのまま次に進めばいいんでは? 次は部品刺すみたいなんだけど、びりびり来ないのかな。
チュートリアルには気をつけろとか何も書いてないけど。 よく見ると線を手で抜き差ししてつけたり消したりしてみろと書いてある。
恐るべし中国。 どのキットのどれやってんのかわからずに書かれても…
そもそも質問なのか独り言なのか?
独り言ならよそでやってね。 >>798
感電して死ぬかもしれないから、遺書書いとけ >>799
どのキットか知らんが、火傷や失明くらいは可能性あるからな。
ママやパパと一緒にやらなきゃダメだぞ、坊や。 中華製のスターターキットのCD-ROMに「Arduinoをはじめよう」の英語版PDFが収録されててビビった >>809
平気で特許や著作権法違反をする中国
アメリカが激怒する理由がよく分かる
トランプには徹底的に戦って欲しい 「漢字」
漢字(かんじ)は、中国古代の黄河文明で発祥した表語文字 >>812
競合製品を設定すると自ずと似てしまうあるある
人間の特性なのでどの国がどうとかないと思われ ルーツは別の所にあってパクッたのが早いか遅いかの違いだったり。 ミラジーノは壊れないミニクーパーが欲しい人が喜んだ。 今気が付いたんだけど、Arduinoシリーズって外形がはっきりしないものが多い。
買ってから箱作れってこと? >>817
OSのWinとMacがそれだね
ルーツはゼロックス >>820
それ中華版コピーボードの話でしょ?
オリジナルのサイトには回路図、イーグル、DXFファイルがあるよ
https://store.arduino.cc/usa/arduino-uno-rev3 >>820
形としてはUNOが標準じゃないかな
ケースもいくつかAmazonで売ってるけども
ラズパイみたいに単独でPCみたいに使うことはできないし
単独でケースに入れる状況はあまりないかも 3dプリンタでぴったりのケース作るのが楽しいんだよな >>820
>外形がはっきりしない
言ってる意味がわからん
ふにゃふにゃなわけでも無かろうにw
ボードごとに統一されてないって意味かな?
>>824
そうね、Arduino+モジュール(+電源)で組んでからスキャンして
その絵を下に置いてBlenderで3Dデータ作るのが定番のスタイル >>825
DXFとか普通に置いてあるのかと思ったらなかったって意味でありんす。 >>823
ケースはWavesのスタックケースというのを買いましたよ。
届くまでタッパーに穴開けて使ってます。
裸で使うのはちょっと抵抗あったので。 >>822
UNOのDXFはコピッたんだけど、ほんとにボードの外形しか書いてない。
コネクタの位置と高さくらい書いてあれば満足なんだけど。
Nanoに至ってはDXF自体なかった。 >>ID:WZM/cU84
外形の3Dデータが入手できないって意味だったのね。
そんなにきっちり作らないからなあ。
横にセンサー付ける、上にLCDが載る、バッテリー積む、外部電源にする、
NanoだったりPro Miniだったりする…。
結論として、私の場合は3Dプリンターしかないってことになりました。 >>833
3Dでもらっても困るんだけど、普通に2Dで三角法で書いてあると助かるよね。
先に箱注文できるし。 Arduinoはよく考えられてると思うんだけど、学習用、ホビー用として作られてるんだろうなあ。
十分実用に使えると思うんだけど。
まだ三日しか使ってないから良くわからんけど、なかなかよくできてると思って感心してる。 >>835
まあ学習用だろうね
細かい制御するには少し物足りないところもあるけど課金のチカラでシールド付けることによってどうにかすることができるということが学べるからね ボタン入力があると外部デバイスにシリアル通信でデータを送信をするスケッチを書いていて、2つ知りたいことがあります。
1、例えば、UNOとLeonardoで外部接続用のシリアルポートの宣言が異なり(serialとserial1)ますが、
デバイスを問わず、シリアルポートを利用するスケッチを楽に共通化する方法は無いのでしょうか。
デバイスの判別用のifdefを定義するしか無いのでしょうか。
2、同様に、デバイスごとに利用できる入力ピン数とピン番号が異なりますが、
スケッチを共通化するための最大公約数的なものがわかる資料はないのでしょうか。
それとも、実行するスケッチ内で入力ピンを特定可能なのでしょうか。 使いそうなやつのピン配置をエクセルの表に書き出せばいんじゃない? >>839
Leonardoはきっとハードウェア・シリアルが複数あるんでしょ
区別のために番号振ってる
UNO系は1つなので区別の必要が無い
つまり、ソフトウェアで実装すればいいだけのこと。
Arduino スフとウェア・シリアル
でググってみてね。 ×スフとウェア・シリアル
○ソフトウェア・シリアル ごめん、
>Leonardoはきっとハードウェア・シリアルが複数あるんでしょ
は間違いでした、どっちも1組みのようです。
ただ、結論としてはソフトウェア・シリアル使えば融通が利くということで、同じです。 ソフトウェア・シリアル使うとポート割り込みできなくなるってのがあったな
複数のボタン入力やロータリーエンコーダ、キーマトリクスなど併用する場合は
注意が必要 >>841
どうもありがとうございます。
sotfwareserialは確かに融通が効くのですが、一部のボードで利用できないようです。
また、RXで利用できるピン番号を選ぶようなので、結局ボード毎の利用可能なピンの問題に帰着してしまいます。
softwareserial類似のaltsoftserialのソースも見ましたが、ボードの判別と条件分岐がモリモリでした。
なので、もうちょっと良い方法がないか探しています。
試してみるつもりですが、存在しないシリアルポートも利用宣言してしまう、というのはありなのでしょうか。
2の入力ピンはユーザがシリアル経由で設定して、eepromに保存したものをsetupで読み出し、
入力ピンとして設定するようにすればどうにかなりそうな感じがしてきました。 Arduinoは義務教育じゃないんだぞ!
自分の好きなものを作ればいいよ >>847
Lチカの次は自立型ロボットドローンだな。
絶対やれよ。 アクションカメラでPWM受け付けるのが
あるからシャッター制御してくれ 異なるボードをターゲットとした外部通信用シリアルポートの指定ですが、答えを見つけました。
各ボード用のpins_arduino.hで定義されているSERIAL_PORT_HARDWAREを使えば良いようです。
ボードごとにserial、serial1と外部通信用のポート名が定義がされています。 >>845
SoftwareSerial.cpp の下記の部分ってそういう意味では?
#if defined(PCINT0_vect)
ISR(PCINT0_vect)
{
SoftwareSerial::handle_interrupt();
}
#endif
#if defined(PCINT1_vect)
ISR(PCINT1_vect, ISR_ALIASOF(PCINT0_vect));
#endif
#if defined(PCINT2_vect)
ISR(PCINT2_vect, ISR_ALIASOF(PCINT0_vect));
#endif
#if defined(PCINT3_vect)
ISR(PCINT3_vect, ISR_ALIASOF(PCINT0_vect));
#endif
https://forum.arduino.cc/index.php?topic=454555.0;wap2 でも
その様に言われている。 そのへんいじるとmega256やmega328PBとかのシリアル2つあるチップで困るんじゃないの?
各種ボード対応したい時はスケッチにifdef入れて切り替えてるけど
頻繁に使うようなものであればラッパークラス書いてハードシリアルとソフトシリアル自動判定してもいいかもしれない
けどどっちが手間か考えるとそこまで至らないんだよね
どのみちデバッグ出力の制御入れてるし >>852
https://forum.arduino.cc/index.php?topic=454555
無関係なピンの割込みまで使えない仕様ってことかな?
もしそうならクソだな。
読みが違ってたらゴメン。 >>852
自分がやった範囲では、
Softwareserialを使うと、
PCINTが使えなくなったので、
下記部をコメントアウトしたカスタムライブラリ作っちゃって
PCMASK2下のPin4で割り込み使った
#if defined(PCINT2_vect)
ISR(PCINT2_vect, ISR_ALIASOF(PCINT0_vect));
#endif
2,3pinはこれ無しでSoftwareserialと共存する気がする。
私も手探りなので、間違ってたらスマソ アマゾンでElegoo Mega2560スタータキットいまタイムセールになってるよ。 Megaって基板がでかすぎるし
そのわりにMCUがショボすぎない?
Dueならまぁ… UNOしか持ってないからMegaって凄いのかと思ってた。 自分が2560を選ぶときの理由はI/Oの数(特にシリアルの数)かな。 MegaはUnoがそのままでかくなったみたいな感じのやつ
8bitのMCUが16MHzで動き、ROMが256K RAMが8K GPIOが70本 ADC16本(10bit) 外部割込6個 シリアル4個 SPI1個 I2C2個
Dueは頭の性能からして違う
32bitのMCUが84MHzで動き、ROMが512K RAMが96K GPIOが70本 ADCが12本(12bit) 外部割込70個 シリアル4個 SPI1個 I2C1個
他にCAN通信1個とDAC2個(PWMじゃない完全なアナログ出力)を持つ、ただしEEPROMを持たず、電源が3.3Vである
ちなみにUnoを同じように書くと
8bitのMCUが16MHzで動き、ROMが32K RAMが2K GPIOが20本 ADC6本(10bit) 外部割込2個 シリアル1個 SPI1個 I2C2個 megaは3Dプリンタで良く使われてるんじゃなかった? 俺はTinyとMega328までで、それ以上はESPにIO拡張しようと思った unoだと赤外線リモコンの解析プログラムでメモリ不足で後半を取りこぼしたことがある。 >>865
そう。原因わからなくてmegaにしたら一発で解決。 リモコンの液晶に表示されてる設定と齟齬が無いように毎回全部送るからなぁ オフタイマーのコード解析してたら
どうやら時間になるとリモコンからコードが送られているようで
リモコンを布団の下に隠すとタイマーは動作しなかった
まさかのまさかだったよ うちのエアコンもリモコン押してから2秒後くらいに反応するんだけど、キャプチャしたらすっげー長い信号出しててびっくりした。 >>869
初めて知ったわ
それ一般的な制御方法なのかな?
俺のエアコンだと暖房からの電源オフコマンドと冷房からの電源オフコマンドが違ってたせいで冬に暖房に切り替えたら電源オフできなくなったことがあったよ そいえは最近Loraやってるんだけど、TTNとかMKRWAN1300とかの話をするスレはあるんだろか
ラズパイのゲートウェイとかクッソはまって無駄に時間を使ってしまったんだが…
(何とか解決はしたが) >>871
T芝だよ、他のはシラネ
オフオマンド違うとかもあるのかー
エアコンはカオスだなw うちの東芝のリモコンWH-D5Bはボタンを離すまでコマンドを送らないから
本体にしばらく向け続ける必要があるよ nanoより小さくて最初からヘッダピンが実装されているのはありますか? >>869
すべてを統括するリモコンが神。なくしたらエアコンは付いてないのと同じ。 >>869
富士通のはそうなってなかった。
本体にタイマー機能が入ってて、リモコンでタイマー操作すると本体のタイマーがセットされてたわ。 >>878
パナソニックもそんな感じかな
家のリモコン直ぐに時刻が初期化されるけど、
タイマーは機能してる うち、日立だけど同じなのかな
タイマーオフがリモコンからとか、結構ショッキングだわw え!赤外線リモコン?それとも無線式?もし赤外線リモコンなら仕様上アウトでしょ? >>876
テレビやレコーダーその他諸々基本的に同じ >>881
単純にコストダウンのためだと思う。
リモコンに時計表示をつけるのなら、それで制御すれば本体のタイマー機能いらなくね?
って感じで。
タイマー機能いらなかったら、本体の制御マイコンのクロックは安いセラロックで済むし。 うちの富士通のエアコンも、タイマーは本体側だよ。
>>885
タイマーといっても、エアコンの場合、1時間後、6時間後、みたいな設定であって、
「8月29日20時23分にONする」みたいなことじゃないなら、だけど…
・6時間後が、±5分になったからといって怒るひとはいないと思う。セラロックで十分じゃないかな?
・商用電源に繋がっているのが前提だし、周波数さえ合わせば、必要なら高精度な時計も作れる。 >>871の例も多分そうだけどだいたいのエアコンは本体側にステータスを持っていなくて、リモコン側がステータスを管理してる
冷房と暖房で電源オンオフのコマンドが違うのも現在の設定をリモコン側で覚えてるからだろうね
ユーザからしたら冷房オフだろうが暖房オフだろうが同じ電源ボタンだけど >>871の
>俺のエアコンだと暖房からの電源オフコマンドと冷房からの電源オフコマンドが違ってたせいで冬に暖房に切り替えたら電源オフできなくなったことがあったよ
1. リモコンで冷房ONにする。
2. エアコンに情報が届かない状態で、リモコンのOFFボタンを押す。エアコンは冷房運転継続、リモコンは切ったつもり。
3. エアコンに情報が届かない状態で、リモコンの暖房ボタンを押す。エアコンは冷房運転継続、リモコンは暖房のつもり。
4. エアコンに向かってリモコンでOFFにする。冷房運転中なのに、暖房OFFコマンドを送るのでOFFにならない。
こんなことってあるのか?
限りなく設計ミスみたいな気がするけれど、こういう仕様にどんなメリットがあるのだろう。 除湿だと加熱冷却同時に行うから、かどうかは知らんけど
コントローラーが個別になってるんだろうな >>890
特に意図は無く、発売してから問題に気付き改善したってことじゃない?
これを売る前に誰か疑問におもわなかったのか?って商品は結構あるわけですし 328pじゃなくて、間違えて88買ってたことに今気づいた……( ;∀;) よく見ずにNANO買ったら
ATMega328PじゃなくてAVGA328P(LGT8F328P)だった
専用のボードマネージャーでだいたいいけるけどSPIでエラー吐く 三洋のはボタン押すごとにバカ正直に全部送っていたなぁw
リモコン取得の外気温
冷房/暖房
設定温度
タイマーoff/on時間
などなど。 WAVGAT Nano Same as ATMEGA328P
って書いてあるのが読めなかったことは置いとくとして
大して売り上げもなく値段も高いヤツをなぜわざわざ好んで買うかねえw > よく見ずにNANO買ったら
極端に安いとかならもっとよく見たんだけどな
STM32じゃない事だけ確認してぱぱっと買っちまったよw 最近はMLFパッケージで基板片面に全部実装されてて裏がまっさらな奴しか買ってないな。
何かに組み込むとき裏面を気にしなくていいからとっても重宝する。 >>897
写真でも良く見るとチップの刻印が見れるな 堂々とスーパーディスクのラベルを出品するようなモンかw 最近はアマゾンで安いボードや部品やキット大量に衝動買いしては手付かずだわw
プリント基板もkicadでデータ作っただけで満足しちゃう
何やってんだろ、俺? 自分もaitendoで買ったキーパッドキット
はんだ付けだけして動作確認してないわ
だってはんだ付けしたかったんだもん ちょっと前にあったDACつきの328Pもどきはその後どうなったんかな? >>904
プラモかよ
自作PCかよ
パーツ物色したり作ってる時が一番楽しいのあるあるだわ Arduinoとセンサモジュールで気温とか測るとして
回路やスケッチは別にして、実際の配線とかケースとかをみんなどうしてるのか
人様の作例を見て勉強させてもらいたいんだけど
この人の作品は参考になるよっていうおすすめのサイトはないでしょうか
よろしくお願いします 特定個人のブログとかはここでは話題に出しにくいからやりたいこと定めてそのワードでググったほうが早いよ >>897
ありがとう。 これは見分けにくいな。
わかって見ればSame as..と書いてある、、つまりそのものでない と言えるが、知らないと、、
いつも同じ表現とは限らないしなぁ。 >>909 >実際の配線とかケースとかをみんなどうしてるのか
おすすめのサイトは思いつか無いけど、
私の場合は、
適当な大きさのプラケースを買ってきたり、
入魂の力作ならタカチの高級アルミサッシケースに入れたり、
自分用で据え置きなら手持ちのアクリル板を2枚切りだしてボードの上下を覆うだけだったり、
状況に応じて色々ですね。
金属ケースにパワーデバイスを取り付けて、放熱板代わりにしたこともある。
ほとんどの場合、操作パネルのツマミやスイッチやLEDにはラベル文字を入れています。
アホなのですぐに操作方法を忘れるw
電子工作のケース作りもプログラミングや回路設計と同じように楽しい。
そうそう今思い出した、昔、温度センサLM35DZのプローブを作った事がある。
シャープペンのノック部分を取り外して、ケーブルをハンダ付けしたセンサとCとRを押し込み、
エポキシ接着剤で固めた。
https://i.imgur.com/SnTL9qb.jpg >>909
M5StickCならバッテリー付きで本体もセンサーのHATもケース入りで、本体にHATを挿すと一体化出来てスマートだからよさそうだと思ったんだが、本体にセンサーのHATを挿すと本体の熱がセンサにもろ伝わりロクでもない数値しか出なかった
なかなか難しいね >>911
作例を見てたら衝動的に3Dプリンターをポチってしまいました。
その他の皆さんもありがとうございました。 pro microでHIDデバイスを作っているのですが、PCからのアウトプットで、pro micro側のLEDを光らせるなどの制御はできるのでしょうか? arduino leonardoを使って、
0.015秒(出来ればピッタリ)で、6つのデジタルピンの入力の有無を走査して、結果を配列に入れていく動作をloopさせたいのですが、このloop速度だとarduino の処理速度は間に合わないでしょうか?
考え方や調べ方を教えていただけませんか?
走査する速度が遅くて1loopの間に収まらないんじゃないかとか思ってしまうのですが、考え方とか調べ方が分かりません…
超初心者ですみません >>921
配列に入れるのではなく、Flashメモリーに入れる でした ROMに書くの??マイコンのROMはあんまりそういう使い方はしないと思うけど…
外部にFLASHROMのなんかチップをつけるんかな?I2CとかSPIとかで
まぁ、記録は置いといて、走査の方を心配してるなら、1つのデジタルピンの配置をAVRのポートに合わせれば
1バイト(8ビット)のポートの値をSRAM(メモリ上)に取り込むなら最低限INとSTSが要るとして3クロックかかるわけだから
16MHz動作なら1回あたり0.0000001875秒で取り込み終わるじゃん
記録に30クロックくらい要してもまぁ1秒の間に8ピン分のデータを50万回くらいはデータ取り込めるんじゃない?w
(保存先は置いといてね) >>921
>6つのデジタルピンの入力の有無を走査
楽勝、CPU的には居眠りできる、鼻歌交じり。
>結果を配列に入れていく
この方が時間かかるけどそれでも楽勝。
ただし、>>922を読んでも実際どこに書いてそのあとどうするかがイメージできない。
いずれにしても保存の方が圧倒的に時間かかるからこっちがボトルネックになることは間違いない。
もっと具体的に質問して。 > 0.015秒(出来ればピッタリ)で、6つのデジタルピンの入力の有無を走査
うん
> 走査する速度が遅くて1loopの間に収まらないんじゃないか
うん
走査だけで言うなら0.015秒の間にそれ1000回やっても間に合うよ
上の二人も気にしてくれているが保存の方が問題 >>909
屋外の温度計測するためにイーサネットシールド+センサー組んで電源はPoeで供給
キャップ側を切ったペットボトルを被せて庭木(日の当たらない場所)に縛り付けてる
中華のやつなので耐久性もわからないから仮設のつもりだったのだけど、もう2年半ほど動いてる
屋内用のLANケーブルを屋外で露出配線してるのでケーブルの紫外線が当たる部分がそろそろヤバそう >>929
それだとボトル内窒息して外気温度と差が出ません?
筒に屋根付けてファンで強制排気というか通風させてるのはどっかで見たような unoをいじり始めて楽しさにハマっていて、自作したいと思っています。
素のAtmegaにブートローダを書き込む方法はICSPからですよね?USB-シリアル経由でも出来ますか? シリアル通信でプログラムを受けとるプログラムがつまりArduinoブートローダなので無理
ICSPで書き込みがしたいなら
UNOあるならUNOでArduinoISPを作るのが簡単(改造なしで出来るけどUNOに328Pが必要)
UNOから328P抜き取った脱け殻でLUFA使ってAVRISPmkIIを作ることもできる
(この場合は328Pは要らない、UNOのボードだけでいい、ただし改造することになる) リンク先のPDFに作り方もパーツリストも載ってる。 >>927
未来人に米するなよ
余計わからなくなるだろ 中華から2.2TFT液晶ILI9341を購入したのですが画面真っ白のまま上手く表示できません。初めに3.3V駆動を理解しておらず5V直結させていたので壊してしまったのでしょうか?
互換ナノを使用して抵抗分圧で表示させようとしています。 >>919
HIDキーボードに見立ててCAPS,NUMとかのLEDを操作できるよ
凝ったモノにするならPC側でデバドラ書く必要がある nanoでロータリーエンコーダー9つとボタン6つだけのMIDIコントローラを作りました
だけど肝心のケースが見つけられないです
横長(横270mmほど)で奥行きが短い(50mmいない)のを探してます
タカチと秋月と共立のサイト見たけど該当するようなのはありませんでした
タカチ以外に他にどんなメーカーがありますか?
横長ケース売ってる所あれば教えてください
パソコンのキーボードの奥に置いて使いたいです
https://cdn.mos.cms.futurecdn.net/d2343567d9b125cb28b5182a05bc7d97-480-80.jpg
樹脂ケースでこんな感じのサイズのを想定してます そんな変な形のはないんじゃない
自分で作った方が早そう 塩ビやアルミの角パイプとエンドキャップで作ったらいいんじゃない? >>938
プラだけど
ケーブルタップ敗戦を隠すケースはどうかな
W270 D80 H100のものがあるみたい >>937
情報有難う御座います。
PCからのアウトプットを受け取れるライブラリとかスケッチ例など有りましたら教えていただけませんでしょうか?
良く使うkeyboad.hなどには含まれていない様で、探しあぐねています。
ゲームパッドの様にバイブレーションの信号を受信できるような例でも結構です。 簡単なのはアクリルボード切り貼り
高いけどキレイにしたいなら3dcadでデータ作ってDMM
安くしたいならアキバとかで3Dプリンタの時間貸しとかもある >>939
長いのは見かけないですか…
>>940
それだと長いのあるけど逆に高さも奥行きも狭いから肝心のパーツ納められないかも
>>941
コンセントボックス隠す箱だと高さが高いかも
H100だと高すぎるかな
キーボード奥に置くから300-500mm以内に収めたい感じです
あるといいなぁってイメージはこういうのの長手方向がもっともっと長いのです
http://akizukidenshi.com/catalog/g/gP-13518/
http://akizukidenshi.com/catalog/g/gP-12050/ 3Dプリンタで何でも済ませちゃうようになってケースDIY力が落ちた気がする今日この頃 タカチのSWシリーズだそうですが、2列目の右にある黒色の長いタイプ
高さが低いのでパーツ収まるか不安だけど、長さは130mmらしいので倍の長さがあればベストです
https://www.takachi-el.co.jp/assets/attachments/images/sw_01_20190412180841.jpg ロータリエンコーダーとスイッチが入るだけなら
ケーブル穴あけて3個連結すれば?
パネルにアルミシートかカーボン調シート貼ってレタリングしたらそれなりに見えそう 3Dプリンタ買えよと言いたいところだが
270mmはいずれにしても1発じゃできない長さだったw そんなに資金があるならアクリル屋さんでコの字に曲げたの作って貰うよなw >>949
>そんなに資金があるなら
って、うちのは2万円くらい。
もう完全に元を取ってるくらいいろいろ重宝してる。
もっとも、ケースしか作らないならその発想になるかも。 アクリルのオーダーメイドで
270x50x40で見積もったらだいたい3000円だった送料はシラネ
ttps://www.hazaiya.co.jp/estimate/casebend.php カーポート用角たて樋
材質:ASA樹脂 寸法(mm): 45×30×1800
https://www.monotaro.com/g/02640774/ >>953
エアコンのダクトカバーは見たけどコレは気がつかなかったよ
30mmにカットして2分割したら側板になるね
6個も作れちゃう! >>947
>>951
それがいいのかなぁって思いました
>>953
おお!サイズ的によさそうです
ただ側面からパーツを収めなきゃいけないので、部品の取り付け大変そうですね
けど一本前進しました!
>>953
>>954
電子部品用のケースだけじゃなくそういう探し方したら希望に合うものが見つかるかも知れないんですね
勉強になりました
ダクトカバーだと上下に分割出来るから部品の取り付けも容易だろうし > 部品の取り付け大変そうですね
底面に穴あければよくね? >>938
そういうのを鈑金で作ろうと
下記を買った私が通りますよ
ホーザン(HOZAN) メタルベンダー 板金折り曲げ機 角度メモリ付 K-130 Arduinoをはじめたいのですが、標準としてどのボードを購入するのが良いでしょうか
最終的にはAVRのネイティブなバイナリで使いたいと思います
PICやルネ、STMなど他の機種は使えます PICやルネ、STMなど他の機種は使えるのにその質問を自己解決でけへんの?
よく使えるようになりましたねw Arduinoだって最終的にはAVRのネイティブなバイナリで動いてる。 >>960
まだ日本語マニュアルがない時代のAVR単体とか出始めのUNOだったかな?を少しかじったことはあるのですが、
今は選択肢がとても多いようなので、選択の助けになればと質問させていただきました
ご意見いただけると幸いです >>963
Arduinoに使われてるAVRが何種類あるかくらい調べられっだろ
そのデータシート全部読んでから質問あったら出直せ ふつうにシールドの種類が多いUNO R3でいいんじゃないの
性能やI/Oが不足するCNC用途ならMega
WiFiやBLE使いたければESP32とか
バッテリー駆動させたければAdafruitとか
小さく収めたければaitendoのあちゃんでいいのとか
純正のArduinoで決める必要ないと思う 俺はNano推し、UNOと性能ほぼ同じでコンパクトで安価
シールドに頼らずブレッドボードであらゆるデバイスを接続できる
たぶんSTMの周辺デバイスも活かせるはず
3.3V系のデバイスが多いならProMiniの3.3V/8MHz版
いずれもATMega328なのでソフト的に互換性がある UNOはちょっと高いよね
正直、中華の互換機でもPCと接続するときのUSBシリアルのドライバが
違うくらいで純正と何も変わらんので中華UNO互換機で十分ではある
あくまでリファレンス機として使う一台を純正から選ぶならUNOかなって
あちゃんでいいのは安くていいよ
ATMega328使用でUNO互換のスケッチ使えるし
チップと合わせても300円くらいだから、回路を組むたびに
使いまわししなくて済む
まあはんだ付けは覚えないといけないけども 中華prominiの168が120円、328が150円に値下がりし
チップ単体より安くなってしまった >>968
大量に作るし人件費は安いとしても、何で安いのか。
倒産会社から買い叩いたとかかなぁ。 中華328prominiは基板の色が青と黒があってちょっとずつ違う
青:328P-AUが乗っててA4-A7pinが中にある、ちょと高い
黒:328P-MUやU-THが乗っててA4-A7pinが端に移動してる、ちょと安い
自分の買い物メモから328promini購入価格調査
2017 青265円
2018/05月 青199円
2018/12月 黒193円
2019/03月 青188円
2019/05月 黒164円
2019/08月 黒150円
150円はよく探さないと見つからないと思う
セールの値引きいれると120円になった
2年間で半値になったと思うと色々考えるが
10個単位で買って使い捨てにできるのは嬉しい >>972
こっちのだとI2Cでよく使うA4,A5は端っこにあるし
オシレータの交換が楽なので3.3V/8M版に改造しやすい
https://www.aliexpress.com/item/33051711057.html >>974
それ、いいねー
FTDIコネクタのピンをパターンカットしてI2C用に改造して
0.91インチのOLEDを直接はんだ付けしたら結構イケるんじゃないかと思ってたところだわ >>973
話の都合上10個で計算したので別に一個からで買える >>978
AliExpressの魔窟がお前を呼んでいる
抗うな パソコンをSSDにしたらカリカリ音無くて
寂しいから
キーボードのscroll lockのLEDをアクセスランプにするツールを使って点滅させ
arduinoで、scroll lockのLEDのオンオフを取得して
ランプ点滅と、DFplayerの再生トリガーだけやりたいんだが
参考になるページ見つけて、色々やってるけど
どこを抜き出して良いのか
http://okiraku-camera.tokyo/blog/?p=8036
手元にあるのは、これです。
https://5p.io/content/images/2015/12/Digispark-Pinout.png 300円でPro Micro買って書いてある通りやればいい
理解できたらDigiKeyboard.hの改造かな >>981
わからんわからん言うヤツに限って教科書通りにやらない。 >>981
何これ
こんな小さいArduinoあるの?
なんて名前? ちっこいのはDigispark
ATTiny85搭載で簡単にUSBキーボードが作れたりする
けどFlashは8kしか無いし夢が膨らむと色々大変
ちょっと調べたけど、status_LEDはPCからのコマンドを受信しなきゃいけないけど
Digisparkではそれが省略されて送信Onlyになってるくさいのでかなり手を入れる必要がありそう
TrinketKeyboard入れたらできたという情報もあったので貼っとくけどTiny85に収まるかわからん
https://github.com/adafruit/Adafruit-Trinket-USB/tree/master/TrinketKeyboard これでいいじゃんw
http://tsukachan777.blog.fc2.com/blog−entry−8.html http://make.bcde.jp/arduino/赤外線リモコンを作る/
これと同じ繋ぎ方したら赤外線受光器の発熱が凄くて煙が出るんですけど何がいけないですか? >>990
同じ部品を使ってないとかじゃね?
買った受光モジュールのURLと、配線込みの画像をアップ >>990
Datasheetみたら赤外線受光器のpinは
左から out, GND, Vcc になってる。Vcc, GNDが逆
LEDは50Ω-100Ωくらいの抵抗いれろ。UNOが壊れる 買ったモジュールはロームのRPM7138-Rです
上のurlのとデータシート見比べてたらGNDのピンが違ってたみたいです
差し替えてみます >>992
かぶった
どうもありがとうございます
抵抗は270オームのしか無いんですがこれでも大丈夫ですか? >>994
LEDのVf=1.3Vと仮定してすると
270Ωだと14mAで光が弱くなるから
2本パラにして135Ωにすると28mA
計算難しいならテスターで計ってみてや
とにかく40mA以下にしないと壊れる Arduino IDEのスケッチの外部エディタ編集とファイル名と格納されるディレクトリに
自由度があるのかないのか、いつまで経っても分からない
タブの扱いも全然わからんし 質問なんだけど、良いやり方があるか聞きたい。
OLEDを使って、センサーの値をスクロールする折れ線グラフで表示してる。
ボタンで別のセンサーの値も画面を切り替えて表示させたい。ここまではできた。
引っ掛かってるのは複数のグラフのスクロールスピードを別々にする事。一つのグラフなら、delayで調整するだけだったのに、二つ以上のセンサーの値を取得しつつ、更新スピードの違うグラフを切り替えたい。やっぱり時間を図ってif文を使うのが簡単かな? こんなんでいいんじゃないの?しらんけど
sensor_A=5;
sensor_B=10;
~~~
if(条件式)
sensor=sensor_A;
else
sensor=sensor_B;
~~~
delay(sensor); このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 156日 21時間 58分 36秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。