火曜日, 1月 19, 2016
Arduino: ステッピングモーター
モーターの種類はいろいろとありますが、回転の位置を指定できるサーボモータが一般的です。
ここではあえて価格の手ごろなステッピングモーターを使ってみました。
ドライバ回路はトランジスタで組んでみました。
モータの配線がやっかいで、順番を間違えると振動するだけで回転しません。
日曜日, 1月 17, 2016
Arduino: リレー回路を組む
今週リレーが届きました。Arduino ではリレー単体で動かすことはできないので、トランジスタを使って回路を組む必要があります。週末まで放置してあったわけですが今日組んでみました。
モジュールもいいですが、リレー単体だと安くまとめ買いできます。トランジスタひとつで動くわけなので、やる気があればモジュールでなくても動きます。逆流防止のためのダイオードと抵抗を使います。
作ったモジュールはこれ。
作ってみて便利だと思ったのはこのデュポン・ジャンパー線。短く切って端子をカシメると便利です。
クリップをつけることもできます。
あと、部品の足がブレッドボードのピッチと合わない場合があります。こんなときはユニバーサル基板を切ってピンヘッドをつけるといいです。しっかり固定することができます。
月曜日, 1月 11, 2016
Arduino: 距離センサーを使ってみる
超音波距離センサモジュールが届きました。さっそく使ってみます。Arduino の出番です。
モジュールとなっているこのセンサーはトリガー・ピンへパルス信号を送り、反射して帰ってくる超音波をエコーから取得します。
取得した値から距離を計算します。
計算してみるとなかなか正確な距離が出ています。
ここでは近づくとブザーで警告するよう設定してみました。
モジュールとなっているこのセンサーはトリガー・ピンへパルス信号を送り、反射して帰ってくる超音波をエコーから取得します。
取得した値から距離を計算します。
計算してみるとなかなか正確な距離が出ています。
ここでは近づくとブザーで警告するよう設定してみました。
日曜日, 1月 10, 2016
Arduino: 赤外線リモコンでランプを点灯する
リレーを使った Arduino タイマー回路はちゃんと動いてくれました。使える回路ってのはいいですね。動機とか目的とかいうものがあって使うたびうれしいものです。
このたび赤外線センサーを使って遠隔操作できるよう組み直してみました。なかなか便利です。
リモコンはカメラのものを転用しました。まず、コードを取得します。 IRremote というライブラリで信号を解析します。
このライブラリが曲者で、zip ファイルを登録するわけなのですが、もとある RobotIRremote なるライブラリとぶつかるらしく、そのままではコンパイルできません。
こいつはデフォルトのライブラリなので、Program Files (x86) 下の Arduino フォルダの RobotIRremote を取り除く必要があります。もしライブラリをインストールしてしまっていれば、Arduino ドキュメントフォルダ下のローカル・ライブラリの Arduino-IRremote-master を削除し、IDE を再起動です。
ここでライブラリを再インストールすると動きます。サンプルコードの IRecvDump など使い、リモートの信号を解析し、コードを取得します。
コードを取得すればあとは条件分岐でリレーを作動させます。
回路・プログラムが正しければ「カチッ」という音がして、ランプが点灯するはずです。100Vを扱うわけなので注意が必要です。あと、赤外線センサーの足の極性はそれぞれ異なるのできちんと調べる必要があります。
さっそくブレッドボード版 Arduino で組んでみました。
電源を組んで、Atmega328P を配置して、リレーモジュールを組んで、100V 電源から線をとってきて、赤外線センサーをつなぎます。
いつもの百均ケースでぴったりです。
極性があります |
このたび赤外線センサーを使って遠隔操作できるよう組み直してみました。なかなか便利です。
リモコンはカメラのものを転用しました。まず、コードを取得します。 IRremote というライブラリで信号を解析します。
このライブラリが曲者で、zip ファイルを登録するわけなのですが、もとある RobotIRremote なるライブラリとぶつかるらしく、そのままではコンパイルできません。
こいつはデフォルトのライブラリなので、Program Files (x86) 下の Arduino フォルダの RobotIRremote を取り除く必要があります。もしライブラリをインストールしてしまっていれば、Arduino ドキュメントフォルダ下のローカル・ライブラリの Arduino-IRremote-master を削除し、IDE を再起動です。
ここでライブラリを再インストールすると動きます。サンプルコードの IRecvDump など使い、リモートの信号を解析し、コードを取得します。
コードを取得すればあとは条件分岐でリレーを作動させます。
回路・プログラムが正しければ「カチッ」という音がして、ランプが点灯するはずです。100Vを扱うわけなので注意が必要です。あと、赤外線センサーの足の極性はそれぞれ異なるのできちんと調べる必要があります。
さっそくブレッドボード版 Arduino で組んでみました。
電源を組んで、Atmega328P を配置して、リレーモジュールを組んで、100V 電源から線をとってきて、赤外線センサーをつなぎます。
いつもの百均ケースでぴったりです。
土曜日, 1月 09, 2016
Arduino: 赤外線で動きを感知するセンサー PIR HC-SR501 を使ってみる
赤外線で動きを感知するセンサー PIR というものがあります。手を振るとスイッチがはいるやつですね。赤外線の変化を察知して FET で増幅するという部品です。その信号を増幅する回路が Arduino モジュールとなっています。
これ HC-SR501 届いたのはいいんですがなかなか動いてくれない。動かない回路っていうのはなんかものすごくショックなものです。気落ちするというかトーンが下がるというか。
HC-SR501 ピン配置はカバーを外さないと見えません。 |
電源を通してアナログ出力を見てみると目の前で手を振ってみても値がぜんぜん変わらない。デジタル出力してみると HIGH となったまま、LEDがついたまま。
絶望の末しようがないのでネットをあたりました。フォーラムを見てみれば「これは動くはず」「難しくない」「壊れない」「丈夫」と書いてあったり(笑
これって安定するまで時間がかかるんですね。
つないでみて手を振って動かない、じゃあ回路を変えてみて手を振って動かない、なんてことを繰り返していくともう絶対動かない。安定化するまで数分待たねばなりません。
あとこれ可変抵抗がついていて、電圧が下がるまでの時間とか、感度とかいうのが調整できるわけでした。設定次第ですぐ ON となり電圧がなかなか下がらない。
このへんをクリアするときちんと動きました。アナログじゃなくてデジタル入力で組む必要があります。なかなかいいものです。手を振ると点灯してくれます。
あとあと考えてみると「動くはず」と信じてトライしたのがよかったわけですね。ネットでそう書いていなかったらあきらめてしまうところでした。
せっかく動いたので消すのが惜しくなりました。そこでチップを取り出してブレッドボード版 Arduino で動かしてみました。Arduino ならではの利点ですね。
この大きさだとこのあいだ見つけた百均のケースがぴったりです。
プラスチックケースは大きさを油性マーカーで印をつけて、ホットナイフを使うとスイスイと切れます。
電源ソケットをエポキシ樹脂で固めて、電源を供給してやると…
動きました。うまく収まってます。手を振ると点灯してくれます。なかなかいいものです。
火曜日, 1月 05, 2016
Arduino: ホール素子を使ってみる
今日ホール素子が届きました。
ホール素子ってのはホール効果を利用して磁場を感知するセンサーです。
iPad のケースとか、閉じると電源が切れてくれますよね。ケースのカバーの磁石の磁場をホール素子が感知してるわけです。
さっそくホール素子を使ってみよう!電圧の変化を調べてみよう!と思えば Arduino が大活躍です。ブレッドボードで回路を組んで、Arduino を USB ケーブルで接続してプログラムを転送すればいい。
Arduino がなかったら死蔵しちゃうんじゃないかと思ったわけでした。忙しいし。Arduino だとサンプル・プログラムがそのまま使えます。電圧を調べてみました。磁石を近づけると電圧が下がります。
あとはLEDを光らせてみました。動画でどうぞ。
あとはモジュール化するだけですね。
ユニバーサル基板の切れ端を使って Arduino 用ホール素子モジュールを作ってみました。
モジュールだと回路や規格など調べ直す必要がありません。
その分、使ってみようという敷居が低くなります。
ホール素子ってのはホール効果を利用して磁場を感知するセンサーです。
iPad のケースとか、閉じると電源が切れてくれますよね。ケースのカバーの磁石の磁場をホール素子が感知してるわけです。
さっそくホール素子を使ってみよう!電圧の変化を調べてみよう!と思えば Arduino が大活躍です。ブレッドボードで回路を組んで、Arduino を USB ケーブルで接続してプログラムを転送すればいい。
Arduino がなかったら死蔵しちゃうんじゃないかと思ったわけでした。忙しいし。Arduino だとサンプル・プログラムがそのまま使えます。電圧を調べてみました。磁石を近づけると電圧が下がります。
あとはLEDを光らせてみました。動画でどうぞ。
あとはモジュール化するだけですね。
ユニバーサル基板の切れ端を使って Arduino 用ホール素子モジュールを作ってみました。
モジュールだと回路や規格など調べ直す必要がありません。
その分、使ってみようという敷居が低くなります。
月曜日, 1月 04, 2016
PowerBuilder 12.6: 関数を削除・コピー・リネーム
PowerBuilder での関数・イベントの扱いってのが微妙です。
一覧で出てくるのはいいんですが、右クリックで編集とプロパティしか出てこない。
プロパティでいじれるのかと思えばこれが書き込み不可。
こういう常識を軽く裏切ってくれる世界が展開してますが、関数やイベントを削除、コピー、リネームの機能はタブを切り替えないと出てきません。
このタブってのはウインドウの下のスタブをクリックすると出てきます。
ここで出てくるリストでは右クリック・メニューで関数の削除やコピーが可能です。ただし、リネームは別名でコピーする必要あり。
一覧で出てくるのはいいんですが、右クリックで編集とプロパティしか出てこない。
プロパティでいじれるのかと思えばこれが書き込み不可。
こういう常識を軽く裏切ってくれる世界が展開してますが、関数やイベントを削除、コピー、リネームの機能はタブを切り替えないと出てきません。
このタブってのはウインドウの下のスタブをクリックすると出てきます。
ここで出てくるリストでは右クリック・メニューで関数の削除やコピーが可能です。ただし、リネームは別名でコピーする必要あり。
土曜日, 1月 02, 2016
Arduino のための「電子サイコロ・モジュール」
モジュール化ってのは大事ですよね。構造化・抽象化することが大事なわけです。
でもハードウエアでモジュールってのはよっぽどの構想がないとあり得ないです。PCとか。
Arduino はその点でも優れています。センサーからディスプレイまでさまざまなモジュールが利用できます。
休みを利用して、くだんの Arduino 版・電子サイコロをユニバーサル基板で作り直して「モジュール化」してみました。LEDでさいころの目を表現します。
部品はいたってシンプルなものです。
Arduino とはデュポン・ジャンパ・ワイヤで接続します。
回路は同じです。プログラムのほうは、リセットボタンを押すと一定時間サイコロを回し、停止するよう改良を加えておきました。
ちょっと裏側はお見せしたくない悲惨な光景が繰り広げられてますが、この電子サイコロ、きちんと動きます。
Arduino のための「電子サイコロ・モジュール」が完成です。
百均ケースでまとめてみました。
割り込みスイッチをつけてあります。押すとさいころが回ってくれます。 時間がたつと消えてくれます。
でもハードウエアでモジュールってのはよっぽどの構想がないとあり得ないです。PCとか。
Arduino はその点でも優れています。センサーからディスプレイまでさまざまなモジュールが利用できます。
休みを利用して、くだんの Arduino 版・電子サイコロをユニバーサル基板で作り直して「モジュール化」してみました。LEDでさいころの目を表現します。
部品はいたってシンプルなものです。
Arduino とはデュポン・ジャンパ・ワイヤで接続します。
回路は同じです。プログラムのほうは、リセットボタンを押すと一定時間サイコロを回し、停止するよう改良を加えておきました。
ちょっと裏側はお見せしたくない悲惨な光景が繰り広げられてますが、この電子サイコロ、きちんと動きます。
Arduino のための「電子サイコロ・モジュール」が完成です。
百均ケースでまとめてみました。
割り込みスイッチをつけてあります。押すとさいころが回ってくれます。 時間がたつと消えてくれます。
金曜日, 1月 01, 2016
Arduino: デュポン・ジャンパ・ワイヤ
みそかの大掃除で部品など整理して在庫表など作って新年を迎えました。たくさんの部品をながめて、ほくほくしながら年を越すってのもオツなもんです。
ジャンパ線など整理していると、先端の壊れたのとかがあるわけですね。
このジャンパ線ってのが直せるってご存知でしょうか。
デュポン・ジャンパ・ワイヤというのがあって、この先端部分が自作できます。
金属部分のコネクタ、プラスチック部分のハウジングがあればいいわけです。
http://www.ebay.com/
はんだ付けは必要ないです。 はんだ付けするといいというサイトもあるようですが、ここではそのままで使っています。挟み込んでペンチで締め付ければいい。ハウジングをつければそれで元通りです。
再利用可能ってのはいいですよね。このハウジングが角ばってるのも並べたとき使いやすくていいです。
デュポン・ジャンパ・ワイヤ
http://www.ebay.com/
そこかしこつけまくっておくとかなり便利ですよー
時間が経つと鳴るブザーがこれで完成です。
ジャンパ線など整理していると、先端の壊れたのとかがあるわけですね。
このジャンパ線ってのが直せるってご存知でしょうか。
デュポン・ジャンパ・ワイヤというのがあって、この先端部分が自作できます。
金属部分のコネクタ、プラスチック部分のハウジングがあればいいわけです。
http://www.ebay.com/
再利用可能ってのはいいですよね。このハウジングが角ばってるのも並べたとき使いやすくていいです。
デュポン・ジャンパ・ワイヤ
http://www.ebay.com/
そこかしこつけまくっておくとかなり便利ですよー
時間が経つと鳴るブザーがこれで完成です。
登録:
投稿 (Atom)
Qt: 外部プログラムを起動する
Qt/C++ のアプリは、外部へ直接アクセスできます。これはネットアプリでは不可能な Qt のメリットです。 外部プログラムを起動することもできます。QProcess::startDetached() を使うと独立したプロセスを立ち上げることができます。 この QProces...
-
コンデンサマイク 極性があります コンデンサマイクがようやく届きました。モジュールではないのでそのままでは信号が弱いので使えません。信号を増幅する必要があります。 ちょっとした手間ですが、首尾よく動いてくれました。この回路の応用で、使えるマイクが出来ます。 ...
-
Flask/SQLAlchemy 使ってる方、jinja で困ってませんか? 本体で Python の関数を書いてもいいんですが、テンプレートでも関数が呼べます。 日付を出したい場合、フォーマットなら strftime() が使えます。 わざわざ文字列を作って渡す必...
-
PowerBuilder では Time, Date, DateTime などという型があります。 デフォルトの表示形式から変更する場合は String() 関数を使います。 String(Date('1/12/2016'),'yyyy-mm-dd...