サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
ehbtj.com
知っておくと便利なちょっとした回路を色々紹介します。 部品点数がそんなに多くなく、ICも専用のものはできるだけ使わないようなやつばかりです。 理論的な解説はほとんどしませんので、回路定数をちゃんと決めたいときは参考URLを貼っておきますので見てもらったほうがいいと思います。 私も時々使うので、備忘録として残しておきます。 よさげな回路があれば随時追加していく予定です。 電源系 逆接続保護(ダイオード) 逆接続保護回路は非常に重要です。 逆接続というのは、直流の電源のプラスマイナスを逆に接続してしまうことです。 そんなことしない!と思うかもしれませんが、どんなに注意を払っていてもうっかりが起きてしまうことがあるのです... 特に自作ではその真価を発揮します。 DCジャックやUSBコネクタといった極性をどうやっても間違わないコネクタを使う場合は不要ですけどね。 ダイオードには順方向電圧があるの
そもそもメッシュネットワークって何がいいの? 普通のWi-Fiは電波の届く範囲は限られていますので、中継機を使って接続できる環境を広げます。 それで隅々まで電波が届いたらいいのですが現実的には難しいこともしばしば... 大量に中継機を設置したらいいですが、こちらもコスト的に厳しいこともあります。 あとはSIMをつけてどこでも3GやLTE回線で接続できたらいいですけど、規模が大きくなりますしコスト的にもあまり... そこでメッシュネットワークです。 メッシュネットワークであればWi-Fi環境下でなくても、近くのノードと通信できればバケツリレー形式でデータを目的地まで運ぶことができます。 1つだけインターネットにつながるところ(ルートノード)を作っておけば、他はインターネットにつながらなくても情報をルートノードまで持ってこれれば問題ありません。 また、どこかに障害が起きてしまっても代替経路を確
Arduinoでセンサの値を受け取るなどのプロトタイピング的なことをすることは多いですが、そのときに嫌でもついてくるのが「信号処理」です。 別に生データを見るくらいなら特に気にすることもないのですが、それを使って解析するのであれば「それらしい値」が必要です。 自前でプログラムを書いてもいいのですが、面倒じゃないですか。 だったら素晴らしい有志の方が公開しているライブラリを使わない手はありません。
プリント基板の業者ではよくElecrowを使っています。 個人的に早くて安い印象がありますが、品質が悪くなってきてると感じたので違う業者を探し中です。 大きな傷とシルクスクリーンのずれ プリント基板を発注し始めた頃はElecrowもそこまでひどくないと思っていたのですが、つい最近Elecrowに発注した基板が届くとでかい傷があるし、シルクスクリーンが微妙にずれていました。 前まで気にしてなかっただけでしょうか、やたらずれてるように感じます。 キズは7枚中2枚に、ズレはすべての基板です。 これくらいのズレは許容範囲なのでしょうか。 基板としては機能しますから問題ないと言えばないのですが・・・ 気にしだすとどうもダメみたいで。 この事をElecrowに問い合わせると、キズは輸送中に付いたということで作り直してくれることになりました。 キズは一番上の基板じゃなくて重なってる中の基板にあって、緩衝
スイッチサイエンスの記事ではPanasonicのNT-W50-Sというオーブントースターを使っているようですが、私はその後継機種であるNT-T500-Kを使いました。 こちらも上下にヒーターが付いていて1300Wの高火力です。 オーブンにしてはちょっと高級品です。 もったいない気もしますが、一度も使わず改造します。 改造と言っても外装を開けて、ヒーターの線を外してSSRを割り込ませるだけです。 1.25sq程度の125℃耐熱電線を使いましたが、ガラス編組チューブがあればもっといいと思います。 簡単だと思ってたんですが、ほぼすべてのネジがタッピングネジなので再固定は苦労しました。 全部普通のネジを使っていてほしかったです... 改造が終われば今度はコントローラの製作です。 これもスイッチサイエンスの製品である「リフロートースターコントローラーキット」の回路を真似します。
ESP8266(ESP-WROOM-02)やESP32(ESP-WROOM-32)は小型でWi-Fi接続ができて非常に便利なのですが、電源周りをしっかりとする必要のあるデバイスです。 電源がひ弱だとWi-Fi接続できなかったり、リセットを繰り返したり不安定になってしまうのでしっかりと対策しなければなりません。 大容量コンデンサを接続 よく挙げられている対策としてこの方法があります。 470uFくらいの電解コンデンサをESP8266の近くに取り付けます。 これだけで解決する場合があるようですので、不安定ならとりあえずやってみる対策です。 あまり大きすぎると突入電流で逆にだめになってしまうので要注意です。 あと、配線は短く太くしておきましょう。 長くて細いとそこが抵抗になってしまいます。 パワーオンシーケンスの確保 難しい言葉ですが、しっかりとしたリセット回路を組みましょうということです。 実
Arduinoは大抵の基板に搭載されているボタンを押したり、RESETピンをGNDに落としたりすることでリセットをかけることができます。 また、Arduinoにはオートリセット機能があり、プログラムを書き込むときやシリアル通信を開始したときにもリセットされます。 リセットがかかればスケッチの一番最初から実行されますし、変数も初期状態になります。 それをハードウェア上のボタンを押さずにソフトからリセットできるなら便利だと思いませんか? ここではArduinoでソフトウェアリセットをかける様々な方法を紹介していきます。 アセンブラで記述する この方法はアセンブラのジャンプ命令を使ってプログラム実行位置を先頭に移動させます。 これはUnoやMega、Leonardoではちゃんと動きますが、DueのようなARMコアでは動きません。 コードは以下のとおりです。 void software_reset
「鍵閉めるのが面倒、ホテルみたいにオートロックだったらいいのに」とふと思ったので自宅ドアのスマートロックシステムを速攻で作ってしまいました。 鍵の開け閉めにはRFIDカードと内側からのボタン操作に対応しています。 セキュリティ的な配慮として、登録しているカードのみで開けることができるようにしています。 鍵の駆動はサーボモータと決めていたのですが、サムターンが隠れてしまうのが嫌だったので歯車などを使った機構を少し考えました。 でも「ボタンで開けられたらいらないよな」ということでサムターンを完全に覆ってしまいサーボで直接駆動できるようにしました。 直接駆動であっても外側からは鍵で簡単に開け閉めできるので半自動という感じです。 制御部 先に機構部もついている制御部をお見せします。 とりあえず早く動かしたかったので、Arduino Pro Mini を使いました。 ボタンは青がオートロックON/O
アナログ電圧計のサイズがそこそこ大きいので、時・分・秒を表示するとなると時計としてはそこそこ大型になります。 もっとレトロなデザインのメータを選ぶと雰囲気が出ていいかもしれません。 制御部 制御部はArduinoなどを使うと非常に簡単です。 電源回路も入っていますから、はんだ付けも少なく済むでしょう。 外部からDC12VをVIN端子から供給するとして5Vも3.3Vも生成されますからね。 簡単な原理 例えば「時」のメータを表示するにはRTC(リアルタイムクロック)などから情報(0-24)を取得してPWM(0-255)で出力すればいいのです。 analogWrite(hour_pin, map(rtc_hour, 0 , 24, 0, 255)); 上記の hour_pin はアナログ出力(PWM)できるピンで、 rtc_hour はRTCで取得した現在の「時」情報です。 「PWMは方形波なの
やっぱり大きなバージョン変更時は色々と不具合があるものですね。 WordPress のプラグインや PHP が動かなくなりました。 気付いたところから直していますが、結構あってビックリです。 Category Order and Taxonomy Terms Order Fatal error: Uncaught Error: Using $this when not in object context in /wp-content/plugins/taxonomy-terms-order/taxonomy-terms-order.php:136 Stack trace: #0 上記のようなエラーを吐きます。 このエラーでサイト全体が死にます。 これの対処法は該当ファイルの136行目のコードをコメントアウトすればいいようです。 add_action( 'wp_ajax_update-cus
今までオシロスコープはDSO Quadを使っていたんですが、結構不満があったので思い切って据え置き型のオシロスコープを買ってしまいました。 ネットで見る限り、結構評価の良いRIGOLのDS1054Zというものにしました。 これは帯域幅が50MHzという仕様ですが、ゴニョゴニョすると100MHzになっちゃうすごいやつです。 どこで買おうか迷った挙句、少しでも安くということでAliexpressで購入することにしました。 Aliexpressだと記事作成時は48000円でした。 まぁこれくらいの差なら国内で買ってもよかったのかもしれませんね。 ポチってから数日経って荷物を追跡してみると、「通関手続き中」が2回表示されていました。 これは二次通関に入ったということで、開けられてしっかりと調べられ関税が取られます。 でかいしそこそこ高額なものなので当たり前ですが税関に引っかかります。 通知が来るま
FRAMは日本語では強誘電体メモリと言います。 「RAM」とついていますが、不揮発性メモリの一種です。 FeRAMと呼ぶのが一般的らしいですが、FRAMなどとも呼ばれます。(サイプレスの商標です) EEPROMよりも圧倒的に書き換え可能回数が多く、書き込み速度も速いのが特徴です。 そんなFRAMをArduinoで使ってみました。 EEPROMは一般的に書き込み寿命は約10万回と言われています。 1秒毎に同じアドレスに書き込みするとなると1日ちょっとで寿命がきてしまいます。 それに対してFRAMの書き込み寿命は100兆回です。 とてもつもない回数ですよね。 ただし、FRAMの仕組上読み出しでもデータが消えます。 ユーザ側はそれに対して別に制御する必要はないですが、読み出しでも書き込みを行うことになります。 それでもちょっとやそっとでは100兆回を超えないと思うので安心ですね。 今回使うFRA
私は毎朝目覚めが悪いのでどうにか改善したいと思い、起床時をすっきりさせるために何か無いのかと探していました。 そうしたら「光目覚まし時計」というものを発見しました。 フィリップスから出ていますが、これがポチるのをためらうくらいには高い・・・ 他にも色々ありましたが、安くても10000円くらいしますね。 それで買ってみて気に入らなかったらなんか嫌なので、じゃあ作っちゃおうという判断に至りました。 作るとそれ以上にかかることは分かっているんですけど、楽しいから別に構いません。
RFIDはだいぶ世間には広がっていますが、最近になって(?)電子工作界隈にも扱いやすいモジュールが登場しました。 DIYでドアロックに使ったりと結構面白そうです。 私はMFRC522というICを使ったRFIDモジュールでRFIDタグとして真っ白のカードと青色のキーホルダーが付いているのを買いました。
8月上旬にWindows7からWindows10にアップデートしました。 ドライバとか困るなあと思っていたのですが、案の定エラー出てるし・・・ ProlificのPL2303はWindows8以降サポート対象外になってました(ノ∀`)
温度センサや加速度センサなどの出力値はアナログ値であろうとデジタル値であろうとブレブレであることがほとんどです。 そのままでは使えないので必要な信号成分を取り出さないといけません。 アナログ出力のセンサの場合はフィルタ回路を組んでやってもいいですが、柔軟な対応ができなかったりします。 そこでソフトでフィルタを作ってやるとスマートにノイズの除去が可能になります。 センサ入力などにフィルタを使う場合、ノイズ除去がほとんどですのでそれによく用いられるローパスフィルタ(LPF)を紹介します。 前説 2Hzの正弦波に適当な雑音(白色雑音ではありません)を加えた信号を入力します。 それをArduinoとProcessingで作った簡易的なオシロスコープで入力と出力がどうなるかを見てみます。 Arduinoだとディジタルフィルタ出力の離散的な信号が連続信号に見えて非常に便利です。 最初にアナログローパス
現在は専用のIDEを使わず、標準のArduino IDEのボードマネージャーからインストールするようになっています。 ESP8266モジュールをブレッドボードで使えるようにする ESP8266モジュールはブレッドボードでは使いにくいです。 ESP-12は2mmピッチですのでそのままではユニバーサル基板でさえ入りません。 ブレークアウト基板はAdafruitでも発売されているのでそれを買うか、自分で作るかです。 基板にESP8266もくっついていますが10ドルくらいします。 私はもちろん・・・自作します。 Arduino IDEでプログラムを書き込む 設定等 書き込み回路は下図のようになります。 GPIO0が肝のようでこの端子をGNDに落とすと書き込みモードに入るようです。 Arduino IDEの設定は次のようにします。 ボードはGeneric ESP8266 boardを選択します。 な
なにこれひどい。 私はMacTypeを使ってるので綺麗になるはずなのですがなぜか汚いんです。 あと、歌詞がなぜか斜体で個人的に見づらくなりました。 というわけでiTunesのフォントを変更して綺麗にしてみました。 まず、以下のファイルを開きます。 iTunesのインストール先/iTunes.Resources/ja.lproj/TextStyles.plist デフォルト(32bit)であれば、インストール先はC:\Program Files\iTunesのはずです。 一応バックアップ取ってその中にあるフォント名を変更します。 デフォルトは"Segoe UI"と"Segoe UI Semibold"になっているみたいです。 これが原因みたいなので、ざっくり全部変更します。 変更するときはiTunesを閉じてからにしてくださいね。 とりあえず「すべて置換」が使えるテキストエディタ(私はNot
使い方はいつもどおりで、ダウンロードして解凍したフォルダをlibrariesフォルダに入れてください。 そしてプログラムに #include <Utility.h> と書けばOKです。 Arduino UNO用に作っているのでMegaなんかではほとんどの関数が動かないと思います。 ライブラリの関数は以下の6つです。 また、システムクロックが16MHzの前提で話していきます。 void setPWMFrequency(uint8_t pin, int divisor) 関数名の通りArduinoのPWMの周波数を変えます。 setPWMFrequency(11, PWM_DIV32); 第1引数はPWMの使えるピンの番号(3, 5, 6, 9, 10, 11)です。 それ以外を指定するともちろんスルーされます。 第2引数は分周比を指定します。 分周比は定数を用意していますのでそれを用いたほう
用意するもの ESP8266 モジュール ×1 Arduino ×1 Arduinoの開発環境 その他(USB-シリアル変換モジュール、ブレッドボード) ESP8266のモジュールは現在AliexpressやSeeed Studioなど海外のショップでしか手頃に購入できるところを把握しておりません。 Amazonでも売っているみたいですが非常に高いですね・・・ ESP8266の電源電圧は3.3Vなので通信の電圧も3.3Vが望ましいですが、Arduino Unoなどの5Vでも大丈夫なようです、たぶん・・ 実際に使用するときは安全も兼ねてレベルシフト回路などをはさみましょう。 USB-シリアル変換モジュールはデバッグ用です。 これがなくてもやろうと思えばできますが、あったほうが確認しやすいです。 Arduinoのテストスケッチ Arduino用のライブラリは以下のところから頂きました。 注意点
以前からあったらいいなと思っていたプラグインをようやく見つけましたので、試験的ではありますが実装しました。 「WP Likes」はブログ内だけで完結するFacebookの「いいね!」ボタンみたいなものです。 今ではTwitterやFacebookなどのアカウントを持つ人が増えました。 それに伴い、効果はあるかわかりませんが、ソーシャルボタンを設置しております。 でもそれらのアカウントを持ってない人だっていますし、「参考になった」「役に立った」としてもわざわざSNSで拡散するのが面倒くさいと思う人もいるでしょう。 私もそういうのが面倒くさい人のでソーシャルボタンはあってもあまり使っていません。 そんなこともあって当ブログはソーシャルボタンは控えめにしております。 ちょっとは広がってほしいとは思っておりますが・・・ この「WP Likes」であれば、ただカウントされるだけですのでログインの必要
温度計作っている時に湿度も測かれたらいいなあと思って部品とかモジュールを探してました。 しかしどれも高かったり、測定回路が複雑だったり、そんなに高精度じゃなくてもいいのにやたら高精度だったりします。 苺リナックスに売っているSHT-11という湿度センサは2000円もします。 秋月に売っているHS-15Pという湿度センサは500円します。 まだ許せる値段ですけど、センサの回路が結構複雑です。 直流じゃなくて交流って面倒だし回路が大きくなってしまいます。 もっと安いのはないかなーと探していると、見つけました! DHT-11というセンサです。 aitendoだと300円、結構安いのでしょうか? DHT-11は精度は期待できないみたいですけど、目安として使いたいのでこれに決定です。 インターフェースは1-Wireというもので読んで字のごとく1線式です。 面倒くさいなーと思いましたが、困ったときのA
ここではlibusb-win32-devel-filter-1.2.x.x.exeをダウンロードして下さい。 libusb-win32のインストール libusb-win32-devel-filter-1.2.x.x.exeをインストールして「Filter Wizard」を起動します。 インストール後に出てくるウィンドウの[Launch filter installer wizard]にチェックを入れておけば、それが起動されるのでチェックを入れておきましょう(デフォルトで入っています) このウィンドウで[Install a device filter]にチェックを入れて[Next >]を押します。 Device Selectionというのが出てきますので、[Description]の項の[AVRIPS mkII]を選択して[Install]を押します。 するとインストール成功のダイアログが
私は安ければ品質は気にしない性格ですのでAliexpressで買いました。 中国から輸入するので時間はかかりますがかなり安いです。 私は10個セットで約10ドルのものを買いました、1つ当たり約100円でかなり安いです。 ちなみに、届いた時はほとんどのモジュールのピンヘッダが曲がってましたよ(´・ω・`) モジュールに搭載しているICにはnRF24L01とnRF24L01+がありますが"+"のが機能的に色々と向上しているみたいです。 下位互換はあるみたいなのでどっちでもいいのかなと思います、たぶん。 このモジュールは1対1の双方向通信しかできないらしいです。 スター型の1対nや、メッシュ型などは無理だと思われます。 そういう通信はXBeeなどに任せましょう。 Arduinoのスケッチ 今回はArduino公式に載っているライブラリを使って通信します。 とりあえず上記URLよりMirfライブラ
正式名称はわかりませんが、「Breadboard Adapter」とか「Breadboard Breakout」で検索すると出てくる2列ピンのやつをブレッドボードに挿せるように変換してくれるやつです。 Raspberry PiとかAVR ISPなど専用のやつはあるんですが、Adafruitとかでしか売ってないのでちょっと高くついちゃいます。 そこでよく使うピン数のものを自作してみました。 言いやすいように作るものを「ブレッドボードアダプター」としときます。 作り方は、はんだ付けのしやすさを考慮したつもりです。 必要な物は、オス-オス(ピンヘッダ-ピンヘッダ)であれば 2列のピンヘッダ ユニバーサル基板 だけです。 メス-オス(ピンソケット-ピンヘッダ)であれば 2列のピンソケット 1列のピンヘッダ ユニバーサル基板 が必要です。 ピンヘッダは秋月などで売ってる細いピンヘッダだと長さが足りま
調べてみるとdigitalWriteは実行するのに44サイクルかかるらしいです。 他にもdigitalReadやpinModeなんかも結構遅い感じでした。 そこでAVR寄りの書き方にすることで自分なりに高速化することにしました。 高速化の原理? 高速化するといっても簡単にいえばArduinoの冗長なプログラムを短くするだけです。 Arduinoはご存知の通り、ATmega328Pが搭載されています。 そのATmega328PとArduinoのピンの対応付けは次の図のようになっています。 ICの11番ピンのPD5はArduinoのディジタル5番ピンに割り当てられています。 AVRのプログラムの場合はレジスタを制御することによってこういうピンの状態をHIGHにしたりLOWにしたりできるのです。 Arduinoはレジスタ制御をうまいこと隠すことによってわかりやすいプログラムになっており、互換性の
以前にArduinoのオシロスコープを紹介しましたが、どうもサンプリング速度が遅すぎてアナログ回路には向きません。 オシロスコープはほしいけど高い・・・ というわけでパソコンでできないかと探していたらありました! これは結構いいかも? このソフトを使うとマイク端子に信号を入力するだけでパソコンがオシロスコープ早変わりです。 1MHzの波形とかはさすがに測定できなさそうですが、可聴周波数程度なら全然問題なさそうです。 あとDC結合はありません、AC結合だけです。 しかしこのままでは、入力インピーダンスが低い、高電圧をパソコンに入力すると壊れるなどの問題があります。 そこでバッファ回路を挟む方法があります。 そのバッファ回路をあり合わせでつくった結果がこちら。 できるだけ安くするために入力をRCA端子にしています。 ケースは百均のアルミ製の名刺入れです。 中身はこんな感じになってます。 相変わ
XBeeを紹介しているサイトを見てみると私にもすぐできそう・・・ でしたが、これがなかなかできない。 悩んで丸1日程度かかりました。 というわけで覚え書きとして残しておきます。 この記事はXBeeでLEDを遠隔操作することだけを目的とします。 普通はトランスペアレントモードなどでシリアル通信をするのがいいかもしれません。 用意するもの XBeeモジュール ×2 XBee用2.54mmピッチ変換基板 ×2 XBeeエクスプローラUSB XBeeシールド Arduinoとその開発環境 その他(ブレッドボード、電源、LEDなど) 無線通信するためにはXBeeモジュールは最低2つ必要となります。 今回のXBeeはシリーズ2です、それ以外ではできないと思います。 変換基板は自分ではんだづけしてください。 今回選んだ変換基板はレギュレータがついていますが、ついていない場合は3.3Vのレギュレータを外付
Spartan-3AN スタータ キットの覚え書きを書いてたら、ちょっと前に買ったDE0-Nanoのことを思い出しました。 しかし、書き込み方法を覚えてないっていう・・・ というわけで、今度はDE0-Nanoに書き込むための覚え書きです。 とは言っても全部マニュアルに載ってますけどね。 QuartusⅡ Web Editionの起動と新しいプロジェクトの作成 QuartusⅡを起動して、メニューの[File]から[New Project Wizard...]をクリックします。 これをクリックしたらこんなウィンドウが出るはずです。 とりあえず、[Next >]をクリックします。 こんな画面になるので、プロジェクトの名前とかを適当に埋めていきます。 今回の名前は「test」にしました。 埋めたら[Next >]を押します。 [Finish]は押したらダメですよ! 「Add File」というペー
このページを最初にブックマークしてみませんか?
『なんでも独り言 | 電子工作とか「つくる」のが好きな人の日々』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く