googleで検索

UTF-8にして
このblog内の検索をするために、昔からgoogleを利用していたが、最近は検索がうまくいかなくなっていた。原因の一つは、漢字コードがEUCから UTF-8に変わったからだったが、検索するサイトの指定の仕方も以前とは少し変わった気がする。as_sitesearchという項目を加えたら、うまく動くようになった。これで、また昔の自分の記事を検索できるようになります。

Read more...

マウス操作の自動化

xautomationとautoclick
何度もマウスで同じ操作をする必要があり、マウスを自動で操作する方法を調べていたら、UNIXではxautomationを使うと良いらしい。

xte 'mousemove 100 100'
xte 'mouseclick 1'

などとすると、カーソルを移動させて、クリックなどができる。 しかし、virtualbox上WindowsNTを操作しようとしたらうまく行かなかったので、今度はWindowsのユーティリティを探す必要がでてきた。似たようなソフトはいくつもあるが、古いNTで使えるとなるとかなり限定されたが、AutoClickというソフトが要請を満たすことが分かった。似たような名前のソフトがいくつかあるので、どれなのか分からなくなってしまったが、ac012.lzhというファイルのやつを使った。これで無事にマウスを操作することができ、無事に目的を達成することができた。

2015.1.23追記 使ったAutoClickはhttp://ichisoft.nobody.jp/ac.htmlにありました。

Read more...

エアーシリンダー

エアーシリンダーで往復運動
往復運動をする装置を作ろうと思って考えていたら、エアーシリンダーが良いのでは無いかと思い付き、エアーシリンダーと電磁バルブを買って、装置を組み上げた。 昔見た装置は、モーターを使って、往復運動を実現していたが、直接往復運動ができるエアーシリンダーの方が、良いだろう。しかし、2ポートの電磁バルブを買ったら、ガスの逃げ場が無くて、すぐに動かなくなってしまった。当たり前のことだが、盲点だった。3ポートを買い直すのも馬鹿馬鹿しいので、いろいろと考えて、配管を工夫したら、うまくいった。 あとは、電磁バルブに電流を供給するためのトランジスタや、それに信号を送るマイコンを組み込んだ回路を作り、待ち時間などを調整したら、完成である。久々に2313を使ったが、この程度のプログラムではバグは出来なかった。 まだ、箱には入れていないが、ほぼ完成したので、明日テストランをしてみよう。

Read more...

古いlubuntuのインストール

old-releasesで使える
あるPCのHDDが死んだので、HDDを入れ替えて、linuxをインストールした。32bit用のものとしては、手元にはlubuntu11.04しかなかったので、それを使うことにしたが、新たに別のソフトをインストールできるかが不安だった。しかし、aptソースをold-releases.ubuntu.comに書き換えると使えるらしいので、試してみたら、うまくいった。rubyもftpdもインストールできたので、無事にだいたい元通りに使える環境になった。

Read more...

PCの更新

AMDのAPU
少し前からPCの調子がおかしくなり、その頻度が増してきたので、更新することにした。このところ、CPUはAMDにしているが、最近のはGPUも組み込んで、APUと読んでいるらしい。とりあえず、Debian wheezyを入れて、Rのプログラムを動かしたら、以前のPCよりもそれなりに早くなっているようである。でも、環境をすべて移していないので、完全移行には、もう少し時間がかかりそうである。

Read more...

pingは通るけどftpにつながらない

netmaskの問題だった
少し前から、あるPCに別のWindowのPCからftpでつなごうとするとつながらないという現象が生じていた。別のPCからはつながるので、ftpサーバーの問題ではないし、pingも通る。しばらくはWindowsが悪さをしているのだろうと思っていた。しかし、Linuxの別のPCからもつながらないことを発見して、何かがおかしいに違い無いということで調べてみた。 pingは通るのに、ftp以外にもsshもつながらない。また、つながるPCとつながらないPCのIPを調べてみたら、64を境にして、つながるかつながらないかが異なっているように感じられた。そこで気がついたのがnetmaskの問題である。 以前、ネットワークの設定が変わって、そのときに固定IPのマシンの設定もすべて変更したのだが、その一台に限ってnetmaskの設定をミスっていたのだ。本当はnetmaskを192から128にしないといけなかったのだが、メモを見ずに設定したために192のままになっていた。その結果64を境にして、内部と外部という判断がされてしまっていたのだ。 ううん。ネットワークは難しい。

Read more...

FTDIのbitbangでのAVR書き込みの二つのモード

ft245rとdiecimila
以前はプリンタポートを使ったAVR書き込み機を使っていたが、壊れてしまったのを機会に、FTDIの書き込み機に移行した。最初はFT232RLのft232rというものを使ったが、avrdude.confを見ていたら、diecimilaというものもあるようだ。配線は、少し違うが両方共うまく書き込みができる。RESETはそれぞれDTRとRIにつながっている。その結果、通常の状態で前者はリセットがかかり、後者はリセットがかからないという大きな違いがある。つまり、後者は書き込み機を接続すると、電源が供給されて、AVRが動き出すが、前者は動かない。この違いを考えて、両者を使い分けると良いだろう。

Read more...

Fedoraのavrdudeのインストール

fedoraのavrdudeでftdiのbitbangを使うには

AVRへの書き込みツールとして、avrdudeでftdiのbitbangを使えるということを見つけて、以前debianにインストールした。今度はfedoraで同じことをしようと思ったら、それなりに苦労した。

まず、コンパイルに必要なパッケージを入れるのだが、apt-getの代わりにyumを使えば良いと思ったら、パッケージ名がいろいろと違っていた。まずインストールすべきものとして書かれていたパッケージのうち、patch automake autoconf bison flexは、そのままfedoraにもあったので、そのまま入れた。一方、libusb-devとlibftdi-devは、devをdevelに変えたものを入れた。byaccも必要そうだったので入れたが、これは後の操作で十分だったかも知れない。また、libreadline-devとlibncurses-devはlibを無くしてdevをdevelにしたものを入れた。問題だったのが、build-essentialとbuild-depである。いろいろと調べたら、

yum groupinstall buildsys-build development-tools
yum-builddep pidgin

としたら良いようだったので、それらを実行してみた。

あとは、debianと同様にしたらインストールは完了した。うまくpathが通っていなかったので、シンボリックリンクをはっておいた。

しかし、いざ実行してみると、動かない。ftdi_sioとかち合っているのが問題らしい。/etc/modprobe.d/blacklist.confにftdi_sioを加えて、rmmod ftdi_sioしたら、無事に書き込めた。ttyUSB0を使うときには、mosprobe ftdi_sioする必要があるが。

これで、fedoraでもAVRが使えるようになって安心だ。

Read more...

電圧が正しく読めない

tiny261Vとtiny861Aの違い
ADCをつんだAVRとしては、これまでtiny261を使っていた。その残りが少なくなった時に、秋月で売っていた861を買った。261のADCはこれまで何度も使っていて、それなりに使えるなと感じていた。しかし、プログラムの容量が大きくなって261に入らなくなったので、861にして使ってみたが、電圧の値が大きくなってしまい、うまくいかない。261で動いていたプログラムをそのまま861にしてもおかしいので、ICの方の問題だろうとは思ったのだが、なかなか原因が分からなかった。 よくよく型番を見ると、ATTINY261VとATTINY861Aと書いてある。Vは低電圧用のものだった気がするが、Aは何か分からなかったので、調べてみたら、新しい型のICのようだ。マニュアルも別にあるようだ。いろいろと試してみたのだが、なかなかうまくいかなかった。 マニュアルをよくよく読むと、差動チャネルの場合には安定に時間がかかると書いてある。そこで、150usぐらい待つようにしたら、ようやく電圧がうまくいくようになった。やはり、VとAではいろいろと違うようだ。 ADCの使えない861など価値が無いじゃないかと思っていたが、これで無事に使えるようになった。

Read more...

AVRを用いた定電力電源

tiny261のADCとtimerを使った電力制御
先週ぐらいから作っていた定電力電源がようやく完成した。定電圧や定電流なら、それほど苦労せずに作ることができるが、定電力はそれほど簡単では無いように感じられる。最初はPWMで制御しようと考えたが、それほど速い制御は必要無いので、0.5秒ごとにON/OFFを繰り返すことにした。 問題はどのようにして定電力にするかであるが、最終的にはtiny261のADCを使って負荷にかかる電圧と、標準抵抗の電圧から電流を測定し、それから電力を計算して、一定時間に加えるべきエネルギーに達したらOFFにするということを繰り返すことにした。 原理的な設計はすぐに終わったのだが、実際に動くようにするには、やはりそれなりに苦労した。ざっとプログラムを書いて動かしてみたが、当然のように動かない。まず、液晶に文字を表示させるまでに、コントラストの調整、RW端子の接続、適切なウェイトの設定などで苦しんだ。以前にも液晶は使ったことがあったのだが、コントラストの調整は毎回忘れて苦しんでいる気がする。ウェイトに関しては、初期化の最後にすぐに表示する場合には必要だったようだが、これまでは表示するまでに別の処理をしていたため、必要なかったようだ。その後でも、いろいろなところでつまずいたが、最後に、ADCを停止しないと、裏で走ってしまうという点と、シフト演算子の結合順序が間違っていることに気がついて、動くようになった。 マイコンでの制御がうまう動くと、それなりにうれしいものである。

Read more...