2018年04月22日

ATtiny13A でリモコンカー

 リモコンカーの回路、一応ブレッドボードでは動くようになった。回路は下の通り。

20180422-1.jpg
  • マイコンは ATtiny13A で実装できそう。モータが2系統になったため、それぞれの速度と回転方向で合計4本の出力が必要になり、残りが1本しかない(RESET は使わない前提)。そこで、IR リモコン受信モジュールを1個にした。プラレール組み込みよりは工作の自由度があるはずなので、1個でも何とかなるだろう。
  • 電源はエネループ2本とする。デジタル回路の 3.3V は、秋月の昇圧型DC-DCコンバータ (M-08937) で作る。
  • IR リモコン受信モジュールは OSRB38C9AA を使う。これは 2.7V から動作する。モジュールによっては 4.5V 以上というものもあるので、要注意。
  • モータドライバは Pololu 2990 シングルブラシモータドライバボードを使う。販売は朱雀技研工房ストア。ロボット関係のパーツがとても充実している。発送が速く、価格も良心的です。モータを2系統使うのなら、デュアルモータドライバボード の方がよかった。工作本番までに差し替えたい。
  • モータドライバボードは、Vin にモータ用の電源を入れると、逆起電力保護回路を通った電圧が Vm に出てくる(Pololu 2990 の製品情報)。Vin があまり低いと損失が大きくなるらしいのだが、2.4V では一応動いている。実際にモータを回してみて、あまりに効率が悪いようなら Vm に直接モータ電源を入れることにする。
  • モータの回転速度・回転方向はモータドライバの Enable/Phase 入力で制御する。Enable 入力は PWM で制御する。モータドライバの信号入力電流は 50 μA と小さいので(DRV8838 のデータシート)、LED を並列に接続して視認できるようにした。

 リモコン送信機の方は、こんな回路になった。前進・後退・右旋回・左旋回の4つ。ボタンを押している間だけ進むと想定している。回路には "3.3V" と書いたが、LR44 2個 (3.0V) で動かすつもり(まだテストしてない)。

20180422-2.jpg

 スケッチは次の通り。

posted by toshinagata at 23:20| 日記

2018年04月21日

リモコンプラレール、改めリモコンカー?

 リモコンプラレールの話を坊にしたところ、彼はリモコンカーを作りたいのだと。リモコンカーだと、左右旋回ができないといけないので、2個のモータを独立にコントロールする必要がある。ATtiny13 で間に合うのか?

 ともかく、リモコンの受信回路をとりあえず片付けておく。一応以前に実現してはいるのだが、実験してみるとどうも動作が不安定。2個の IR リモコン受信器の割り込みが干渉しているとか、タイマ割り込みによる時間測定がオーバーフローしているとか、いろいろ問題があった。一応受信はできるようになったので、スケッチを置いておく。→ sketch_receiver.ino.txt

 まだモータドライバを動かせるかどうかは試していない。Pololu DRV8838ブラシモータドライバボードは入手してあるので、これから実験してみる。

20180421-1.jpg
posted by toshinagata at 23:38| 日記

2018年04月18日

Radicale と CardDavMate

 Radicale の続き。DAVdroid を使った Android との連携はうまくいったが、Mac 上でも見られるようにしておきたい。カレンダーの方は以前から Thunderbird の Lightning アドオンを使っている。これは何も問題なくて、次のようにすればよい。

  • 「予定とToDo」から「カレンダー」を開く。
  • 「カレンダー」リストで右クリックして、「新規カレンダー」を選ぶ。
  • 「ネットワークのサーバーに保存」
  • フォーマット=CalDAV, 場所=http://localhost:5232/nagata/calendar, オフラインサポート=ON
  • カレンダーの名前・色・アラーム通知(私は無指定にしている)を決める
  • ログイン名とパスワードを要求されるので、入力する

 問題は連絡先の方。Mac 純正の「連絡先」は一応 CardDAV サーバにアクセスできるはずなのだが、うまくいった試しがない。Thunderbird の CardBook というアドオンも試してみたが、ふりがなが表示されないなど、いろいろと不便。そこで、CardDavMate というのを試してみることにした。これは Javascript で書かれていて、ブラウザ上で動作する。セットアップが複雑で理解するのに苦労したが、できてしまえば簡単だった。

  • CardDavMate をダウンロード・解凍する。
  • config.js を開き、var globalNetworkCheckSettings={ という記述を探して、以下のように変更。
    var globalNetworkCheckSettings={
    // 以下4行をコメントアウト
    //	href: location.protocol+'//'+location.hostname+
    //		(location.port ? ':'+location.port: '')+
    //		location.pathname.replace(RegExp('/+[^/]+/*(index\.html)?$'),'')+
    //		'/caldav.php/',
    	href: "http://localhost:5232/", // 追加
    
  • Radicale の config を開き、次の記述を追加。これは、クロスドメインによる Javascript の制約を回避するもの。
    [headers]
    Access-Control-Allow-Origin = *
    Access-Control-Allow-Methods = GET, POST, OPTIONS, PROPFIND, PROPPATCH, REPORT, PUT, MOVE, DELETE, LOCK, UNLOCK
    Access-Control-Allow-Headers = User-Agent, Authorization, Content-type, Depth, If-match, If-None-Match, Lock-Token, Timeout, Destination, Overwrite, Prefer, X-client, X-Requested-With
    Access-Control-Expose-Headers = Etag, Preference-Applied
    
  • CardDavMate の index.html をブラウザで開くと、名前とパスワードを入れる画面が出るので、入力する。うまくいけば連絡先のリストが出てくるはず。出てこなければ、ブラウザのエラーコンソールを見て対策を考える。

 ふりがなの表示には対応しているが、エントリの表示が「名前の漢字表記順」になっていて、「ふりがなの順」になっていないのは残念。まあ、Mac 上で連絡先を編集することはあまりないので、このぐらいは我慢しようか。

posted by toshinagata at 20:13| 日記

2018年04月14日

DAVdroid と Radicale でまたハマる

 だいぶ前に「DAVDroid と Radicale でハマる」というのを書いた。しばらく問題なく動いていたのだが、最近また同期がうまくいかなくなった。気がついてみると、Radicale のバージョンがずいぶん古い (0.8)。なるべく新しいバージョンにしておかないと、いろいろとまずいかもしれないな、と思って、バージョン 2 まで一気に上げてみた。

 インストールには Python3 が必要。Mac 用の Python3.6 をインストールする(3.5 だと、PyPI へのアクセスがうまくいかない)。その後、radicale, passlib, bcrypt をインストールする。

$ python3 -m pip install --upgrade radicale  #  Radicale 本体
$ python3 -m pip install --upgrade passlib bcrypt  #  ユーザー認証用の bcrypt

 適当な場所 (/path/to/radicale とする) に Radicale 用のディレクトリを作る。設定ファイル config を下の内容で作成。

[auth]
type = htpasswd
htpasswd_filename = /path/to/radicale/users
htpasswd_encryption = bcrypt

[server]
hosts = 0.0.0.0:5232

[storage]
filesystem_folder = /path/to/radicale/collections

[logging]
config = /path/to/radicale/log_config

 パスワード認証用のファイルは以下のように作成。

$ htpasswd -B -c /path/to/radicale/users nagata
New password: 
Re-type new password: 
Adding password for user nagata

 ログ用の設定ファイル log_config は次の通り。

[loggers]
keys = root

[handlers]
keys = file

[formatters]
keys = full

[logger_root]
# Change this to DEBUG or INFO for higher verbosity.
level = INFO
handlers = file

[handler_file]
class = FileHandler
# Specify the output file here.
args = ('/path/to/radicale/log',)
formatter = full

[formatter_full]
format = %(asctime)s - [%(thread)x] %(levelname)s: %(message)s

 これで、下のように実行する。

$ python3 -m radicale --config=/path/to/radicale/config

 ここからがちょっとハマったところ。ブラウザで http://localhost:5232 にアクセスすると、Web ベースでカレンダーなどを作成できるのだが、これだと http://localhost:5232/nagata/8fc95c36-808b-d5ec-3b1f-13137ba93dc9/ みたいなランダムな文字列になってしまって、取り扱いが非常に面倒臭い。「RadicaleでCalDAV/CardDAVサーバーを構築する」という記事を参考にして、次のように設定。(あとで、公式ドキュメントにも書かれているのを発見した。)


$ cd /path/to/collections/collection-root
$ mkdir -p nagata/calendar
$ nano nagata/calendar/.Radicale.props
{"tag": "VCALENDAR"}
$ mkdir -p nagata/address
$ nano nagata/address/.Radicale.props
{"tag": "VADDRESSBOOK"}

 ブラウザで http://localhost:5232 にアクセスすると、こんな風になる。コレクション名が /nagata/address なのは不便なので、"Edit" で編集する。

20180414-1.png

 これが編集画面。「連絡先」と名付けた。

20180414-2.png

 こんな風になる。/nagata/calendar の方も同様に名前をつければよい。

20180414-3.png

 DAVdroid で同期するには、まずアカウントを作成する。DAVdroid のアカウント一覧画面で「+」を押すと、下の画面になるので、URL, ユーザー名、パスワードを入力。URL は ...:5232/まででよく、nagata/calendar などの部分は自動的に認識される。

20180414-4.png

 うまくいくと、この画面になる。実はここでハマった。別の URL で同じユーザー名があると、エラーになる。エラーメッセージがわかりにくいので注意。

20180414-5.png

 こんな風に、新しく作ったアカウント(一番下)が表示される。

20180414-6.png

 アカウントをタップすると、この画面になる。左のチェックボックスをオンにして、右上の同期アイコンをタップすると、Radicale と同期してくれる。

20180414-7.png

 これで、「カレンダー」「連絡先」とも、Radicale のコレクションを認識してくれる。一応これで、Radicale 2 系列も使える目処が立った。

posted by toshinagata at 01:10| 日記

2018年04月09日

シマトネリコ・ナツミカンの剪定

 シマトネリコを剪定しました。「シマトネリコの剪定の仕方や時期」(HORTI) によれば、3〜4月、6〜7月、9〜10月が適期らしい。「剪定後に他の部分から枝が生えてくることを見越して剪定する」というのが、最近やっとわかってきた。

20180409-1.jpg

 古くなった太い枝を切り詰めて全体をコンパクトにまとめたいのだが、なかなか難しい。今回は下の A のところで切った。A とほぼ同じところから出ている太い枝がまだ何本かあるのだが、それらを全部切ってしまうと、B のところに全く葉も枝もない幹が残ってしまう。これがどうなるかがよくわからない。この幹からも新しい芽が出てきて、若い枝が育ってくれるんだったら、それでいいんだけど。

20180409-3.jpg

 ナツミカンも少し前に剪定しました。今年の収穫は15個ぐらい。途中で落ちたものも多く、果汁が少なくて出来は悪かった。最後まで木についていた実は、なんとか食べられるレベルにはなった。

20180409-2.jpg

 今年は花芽がかなりたくさんついているのだが、木の中の方についている花芽が多く、実がついてもちゃんと育ってくれるか心配である。もう少し中の方まで日が当たる形にしたいんだけど、まだまだ経験と技術が足りんな。

タグ:園芸
posted by toshinagata at 22:25| 日記

2018年04月08日

NHK「ラジオ英会話」

 ヒメが「基礎英語」を卒業して「ラジオ英会話」に挑戦することにしたので、前に作ったダウンロード用のスクリプトを修正した(capture_nhk.rb)。講座名を english/kaiwa にすればよいだけ。

 今年度の「ラジオ英会話」の講師は大西泰斗氏。講座の基本方針として、「話すための英語文法」を重視する、ということなので、期待している。テキストを見ても、最初がいきなり「5文型をしっかり理解する」ところから始まっている。英語学習はこうこなくちゃいかんでしょ。

 現行の「基礎英語」は投野由紀夫氏の英語教育哲学が強力に反映されているのだが、私はかなり違和感を感じていた。「CAN-DO」と「英文法」を一体化した、という触れ込みだったが、実際には3年間基礎英語を受講しても、体系的な文法知識はほとんどつかなかった。受講の仕方に問題があったのかもしれないけど、少なくともテキストを見る限りでは、文法に関する記述は非常に散漫で、体系的に理解させようとする意図は全く感じられなかった。仕方がないので、安河内哲也氏監修の参考書などで補ってきた。

 その昔、自分が「基礎英語」「続基礎英語」を聞いていたときは、講座を聞くだけで中学レベルの文法知識はほぼマスターできたのに、どうしてこんなに劣化してしまったんでしょうか。ちなみに言うけど、当時の「基礎英語」「続基礎英語」でも、今の「CAN-DO」レベルの会話表現ぐらいはマスターできたと思いますよ。ラジオ講座の構成はもうちょっと考え直して欲しいと思う。

posted by toshinagata at 21:52| 日記

2018年04月05日

wxPython 継続中

 wxPython、ぼちぼち続けてます。こんなん作ってみてます。

20180405-1.png

20180405-2.png

 なかなか難しい。文字や線の末端が1ピクセルでもずれると、違和感のある図になってしまう。特に、文字の扱いが難しい。文字が画面上で占有するサイズは wx.GraphicsContext.GetFullTextExtent() で取得できるのだが、目で見たときのサイズと微妙に違う。これを調整しようと思うと、文字1個1個について微修正が必要になるんじゃないか? ChemDraw とか、どういう処理をしているんだろう。(そこをきちんと処理しているからこそ、商売になっているんだけど。)

posted by toshinagata at 22:40| 日記

2018年04月01日

SqueezeBox の音楽をスマホで聴く

 うちでは、音楽サーバとして QNAP TS-110 を使って、SqueezeBox Touch で音楽を聴いている。買った CD は Mac の iTunes でリッピングして、TS-110 に転送したあと Logitech Media Server で認識させる。ちょっと手間がかかるけど、何しろ SqueezeBox Touch の操作性と音質が抜群に良いので、かれこれ6年ぐらいこのスタイルで音楽を聴いている。

 実は SqueezeBox Touch はとっくの昔に生産中止になっていて、Logitech Media Server も QNAP ではサポート外になっている。QNAP が壊れたらどうするんだ、という問題はある。同じような悩みを抱えている人がいらっしゃった:「Squeezebox Touchを使い続けるために」「ネットワークプレーヤー YAMAHA WXC-50導入 − SqueezeBox Touch の代わりに成り得るのか」(Enjoy Life, Enjoy Hobby さん)。結局、SqueezeBox Touch と同等の価格帯で、これに匹敵する製品はなさそう、というお話。やっぱりそうですよねぇ…

 でまあ、今のところは Logitech Media Server が動いているので、この音楽をなんとかスマホで聴けないものかな、と考えた。調べてみたが、イマイチよくわからない。なんか、音を鳴らすための「プレーヤー」と、曲を選ぶための「コントローラー」を別々にインストールしないといかんみたい。一本にまとまらないのかなあ。

 今回は、プレーヤーは SqueezePlayer (540円)、コントローラーは Squeezer (無料) を使った。

 自宅の無線 LAN に QNAP TS-110 がつながっている状態で、スマホの WiFi をオンにして、Squeezer を立ち上げる。自動的に TS-110 を認識してくれるので、CONNECT で接続する。

20180401-1.png

 SqueezeBox らしい画面が出てくる。左上にプレーヤーのリストがある。このスマホの名前で表示されているプレーヤーを選択する。

20180401-2.png

 アルバム名をタップしたときの動作が選べるのだが、"Browse Songs" にしておくのがいい。"Play" にすると、自動的に1曲目から演奏が始まってしまう。

20180401-3.png

 曲をタップしたときの動作も選べる。"Play" をデフォルトにしておく。これは1曲だけ演奏するもの。本当は "Play from here" がいいのだけど、この動作をデフォルトにすることはできない。曲を長押しするとこのメニューが出るので、ここから選べばよい。ちょっと手間がかかる。

20180401-4.png

 ちょっと使いにくいところもいろいろあるんだけど、まあ我慢できる範囲なので、これで使ってみようと思う。

タグ:音楽 スマホ
posted by toshinagata at 23:26| 日記

2018年03月31日

阪急・阪神電鉄が磁気カード廃止

 「阪急・阪神など4社が「ICOCA」発売へ 磁気プリペイド「レールウェイカード」廃止」(乗りものニュース)。他の2社は能勢電鉄と北大阪急行。うちの実家は能勢電鉄の沿線にあるのだが、以前マナカが使えなくて不便な思いをしたことがあった。この不便さがまた筋が悪くて、能勢電鉄の始発駅である川西能勢口駅の改札はマナカで通れるのに、能勢電の駅で改札を出ようとすると拒否されてしまう。川西能勢口駅の改札は阪急電鉄と共用で、阪急はマナカが使えるのに能勢電は使えないから、こんなややこしいことになっていたわけ。しかも、降りる駅が無人駅なものだから、わざわざ隣の駅に電話をかけて、遠隔操作で改札を開けてもらう羽目になった。

 で、いつから能勢電でマナカが使えるようになるのさ、と思って調べてみると、実は2年前から使えるようになってたじゃん:「能勢電鉄、ICカードの全国相互利用サービスに対応…6月10日から」(2016/6/10 Response)。知らなかったよ。もう一回あんな目に会うのイヤだから、毎回いちいち切符を買っていた。マナカを使っても割引になるわけじゃないので、特に損はしてないけれども。

 磁気カードのサービス終了がここまで遅くなったのは、そもそも磁気カードを私鉄で最初に導入したのが阪急電鉄だった、という事情も関係していたかもしれない。利用者も多かっただろうし、会社側の思い入れもあっただろう。阪急は自動改札機の導入も早かった。子供の頃、阪急をよく利用していたが、「裏の茶色い切符」が導入され、自動改札機が各駅にどんどん導入されていくのを見るのは、なかなかエキサイティングな体験だった。

タグ:社会
posted by toshinagata at 10:25| 日記

2018年03月27日

「ティンパニストかく語りき」(近藤高顯/学研)

 ティンパニ奏者としての視点で、オーケストラの中でのティンパニの役割や、名ティンパニストの愉快な逸話を満載した快著。

(クリックすると Amazon の商品ページに飛びます)

 著者のティンパニとの出会いがまずおもしろい。中学生の時に突然音楽に目覚め、何とか音楽の道に進みたいと思うも、吹奏楽部では空いていた楽器がトロンボーンしかなかった。しかも、金属アレルギーのためトロンボーンも辞めざるを得なくなり、「もう今からやるなら打楽器しかないな」ということで、音楽高校を経て東京藝大の打楽器科をめざす。ここまでのところで、諦めないのがまずすごいですよ。どこかで心が折れてもおかしくないのに。

 で、これだけの愛と勇気を持って打楽器の道に進んできた人に、神様がほほえまないわけがない。著者はいい師に巡り合っていますね。ティンパニストのフォーグラー氏、ホルン奏者の千葉馨氏、指揮者の小澤征爾氏、朝比奈隆氏…特に、マエストロ朝比奈氏との逸話は抱腹絶倒である。マエストロの語録がなんともユーモラス。ブルックナー4番で最後の一撃を出すタイミングがわからず冷や汗をかいたあとの「ヤッタなー!わしの言った通り終わったろ!」とか、ミサ・ソレムニスのフーガがぐちゃぐちゃになったあとの「終わったことはしかたがない…」とか。ともかく、「またいっしょにやろうや!」というマエストロの呼びかけは、ティンパニストに対する絶大の信頼を表してやまない。

 最後の章では、大作曲家がティンパニのために書き残した数々の名フレーズが語られる。専門書でないため譜例が載せられていないのが残念。いくつかここに載せておきましょう。

 ベートーヴェンの「フィデリオ」第2幕冒頭、「神よ、ここは暗い」と歌う場面。ティンパニが A-Es の減5度で調律されている珍しい例としてよく引用される。

20180327-1.png

 リヒャルト・シュトラウスの「ブルレスケ」。いきなり曲の頭に無伴奏のソロ!

20180327-2.png

 ホルストの「木星」は有名だけど、楽譜はこんな風になっている。2人がかりで6台のティンパニを駆使して旋律を担当。

20180327-3.png

 同じ曲の途中にはこんな場面も出てくる。3つの三連符は理論上は(2人の奏者が分担すれば)旋律通りに演奏可能だが、さすがにこのテンポでは無理と判断して、こう記譜されているのだろう。

20180327-4.png
タグ:音楽 読書
posted by toshinagata at 19:29| 日記
email.png
Powered by さくらのブログ