Acrobat Readerの「戻る」ボタン

色々なPDF文書を読むのにAcreobat Readerを使っています。
このツール、よく更新されていて操作が変り戸惑う事があります。
今回「戻る」ボタンが見つからず手間取ったので覚書きです。

ここでいう「戻る」ボタンとは、文書中のリンクを押して離れたページに飛んだ後、元のページに戻るときに使うボタンです(単にページを上下するボタンなら初期状態でありますが、これではないのです)。
ブラウザーだと普通に「←」「→」なボタンがありますよね。またAcrobat Readerでも以前のバージョンは画面の上の方にボタンが並んでいたと思います(この頃も何か設定してボタンを並べたのだっけ?)。
でも私が現在使っているAcrobat Readerにはこのボタンが見当たらず、どうやって設定するのかを探していました(ググっても違うバージョンの情報が多いのです)。

なお現在使っているのはWindows版のAcrobat Readerですがバージョン番号も判りません。普通はヘルプメニューに書いてあったりしそうですがこの版では見当たらないのです。
という事でバージョン番号は分かりませんが画面が下の様になっているタイプです。

この様にページを上下に移動するボタンはウィンドウの右下付近にありますが、リンクを戻るボタンはありません。

ショートカット Alt+←、Alt+→ で戻る

とりあえずショートカットでAltキーと矢印キーを同時に押す事でもリンクを戻る事が出来ます。

ボタン「←」「→」を常に表示する

このバージョンにも「←」「→」ボタンを常に表示する設定方法が見つかりました。
まず右下の赤で囲んだアイコンを押すとメニューが開きます。

メニューの最下部が「さらに表示」となっている場合はこれを押す事でスクロールバーが現れます(既にスクロールバーが表示されているなら次へ)。

スクロールバーを下に下げていくと「←前の画面」「→次の画面」が見つかりました。(こんなところにあったのね・・・)


これを選択する事でリンクを戻る事も出来ますが、毎回このメニューを選ぶのも面倒なので常に画面に表示したいですよね。それにはメニュー右部のピン止めアイコン(画鋲マーク)を押します。すると画面右のペインに「←」ボタンが表示されます。


同様に「→次の画面」横の画鋲アイコンも選ぶと下の様に「←」「→」ボタンが追加されました。

これでストレスなく文書が読める様になりました。
初期状態で表示してくれたらいいのに。
(みんな必要だと思うんだけどなぁ、あって困る場面があるのかな?)

スマホ変更2021

もう3週間ほど過ぎてしまいましたが、先日スマホを変更しました。

今まで使っていたのはSONYのXPERIA SO-02Gでこの時購入したもの。2015年の3月だったので6年半近く使っていた事になります。
周囲に同時期の物を使用している人はおらず、同じ頃購入した知人はその後2回ぐらい機種変更しているので、私はかなり長期間使用した部類だと思います。

このSO-02G、RAMは2GB、内臓FLASHは16GBしか無いのでどちらも全く余裕はなく、よく数秒固まるしアプリはもう何も入れられないという状態。
もっと早く買い替えるべきなのは分かっていたのですが、最近のスマホは殆どの機種がサイズが大きくて嫌だったのです。

そして最近目についたのが同じくXPERIAのACEⅡという機種。特にXPERIAにこだわっている訳ではないのですが今までより少し大きくなる程度のサイズで、何よりも値段が2万円を切っています。
ただ中身は全く強力ではなく、口コミを見ても遅い、古いとあまり良いことは書かれていません。といってもゲームをする訳でもないし6年前の機種と比べりゃ十分性能が上がっている筈。またRAM/内蔵FLASHも4GB/64GBなので当面は十分でしょう。

という事でAmazonでポチりました。
数日後に届いたのがこれ。

表側
左が新しいACEⅡ、右が今までのSO-02G
新しい方が一回り大きくなっていますが一般的な機種よりはコンパクトなのです。
裏側

使った感じは全く問題なく、アプリの起動待ちが格段に短くなっています。
まあ今までが遅すぎただけなんですけど。

ブログの「←古い投稿」ボタンのリンク切れ修正

このブログの下の方に「←古い投稿」というボタンがあります。

赤で囲んだボタンの事です。

本来このボタンを押すと名前の通り古い投稿のページに移り、どんどん押していくと時期をどんどん遡って古い投稿が表示されていくずなのですが、最近までリンクが切れておりサーバのエラーメッセージを表示していました。

だいぶ前から気づいてはいたのですが修正方法が分からず放置していましたが、今日やっと修正ができました。

多分大丈夫です。

2020年台風10号

9月6日から7日にかけて台風10号が熊本に接近しました。
風速70m/Sとか80m/Sとかの予報で、本当に80mも吹いたら一溜りもなさそうです。
とにかく雨戸がある窓は全部閉めて、雨戸がない窓はテープを貼ります。
そして足しになるかはわかりませんが霧吹きで濡らしたガラスに梱包用ラップを 貼っておきました。

テープを貼っていると中心に星マークができます。どうでもいいんですけど、これを綺麗な形に貼ろうとしますがどっちかにずれます。

テレビで「段ボールを隙間なく貼ると良い」と言っていたので面積の広い窓に貼りました。

一昨年MakerFaireに荷物を輸送した段ボールにも頑張ってもらいましょう・・・

モバイルバッテリーに加えドローン用リポバッテリーも2本ほど充電しておきます。
リポはTiny用充電器を通すとスマホの充電にも使えるのです。

これだけやって避難します。
しかし地元の避難所はコロナ対策の為、受け入れ人数を制限すると言っており、もしかすると入れない心配も出てきました。
一時は暴風圏外の広島に宿をとって避難しようと真剣に考えましたが、道中の危険性も考えて止めました。
とにかく地元の避難所に行ってダメなら家で耐える事にします。
・・・そして避難所に行ったらあっさり入れました。

熊本最接近が夜中の3時頃との事ですが、避難所の中ではそんなに強い風には感じられず、むしろ夜が明けてからの方が風が強い気がしました。

結局朝8時に自宅に戻ったところ全く問題ありません。
段ボールも貼った時のまま。

工作室の窓も問題なし。

何事もなくて幸いでした。
予報よりも勢力が落ちたのか、たまたま何かが良い方に働いたのか・・・
でもこれに安心して今後の台風の時に対策を怠る事がない様、肝に銘じておきます。

2020年6月21日の日食

先週の日食、梅雨時なのに熊本は晴れたので日食グラスを使うとよく見えました。そこでグラス越しにスマホで撮影したけどうまく撮れませんでした。

日食グラスでみたらもっとそれっぽい形でしたが撮影するとこんなのです。

なので次の策、木洩れ日を探して撮影・・・。
明るい部分が三日月形に撮れています。夕方近かったので地面よりも壁に映る影の方が角度的にはっきり分かりました。

HONDA EM300発電機

知人から発電機を頂きました。ドローン練習の時にバッテリー充電に使いたいと思います(因みに知人とは’この時’登場したO氏です)。

HONDA EM300

40年近く前のものらしいですがエンジンはかかるし発電もします。でもそこは古い機械なのでいくつか調子の悪いところもあります。

まずリコイルスターター(エンジンをかける時のヒモ)を引っ張っても大抵は空回りしてしまいます。本来はこちらのサイトの写真の様に爪がかみ合って回転をエンジンに伝える筈なのですが、どうやら爪の動き悪い様です 。

頂いた知人は本体ごと地面に叩きつけて無理やり噛み合わせていました。
そこでこの爪の摺動部を掃除したいのですが、それにはこのフライホイールを外さねばなりません。しかし中心のボルトまでは外れたもののそれ以上が外れないのです。


右上のフライホイールが外れない。

しかたないので隙間からCRCを吹き込むと、とりあえずは噛み合う様になりました。当面はこれで様子を見る事にします。

次の問題はエンジン始動後にチョークを戻したらエンストする現象です。
十分温めた後にゆっくり戻していっても、回転が下がる→ガバナーが働いて回転が上がる→回転が下がる を繰り返し、その内停止します。

チョークレバー。始動時は上げ通常運転時は下げる筈なのです。

ネットの情報によると原因として一番怪しいのはキャブレターのジェットの詰まり。あとはタンクからキャブレター迄の燃料経路。稀にはガバナーの不調もあり得る様です。
という事でキャブのジェットを掃除するとあっけなく正常になりました。

キャブレター

一応タンクを外してストレーナやホースもチェックしておきます。


特にサビが詰まっている事もなさそう。

最後の問題は周波数のインジケーターが壊れている事。
この古い発電機はインバーター式ではないので回転数で周波数が決まり、電圧もほぼこれで決まるのでスロットルを調整して周波数を合わせる様になっています。

青と白の振動子交互に並んでいるのが周波数のインジケータ。
修理前は中で振動子が外れていました。

青色と白色が交互に並んでいるのが振動子で固有振動数があったものだけが振れるしくみです。
どうやって振動子を揺らすのかと配線をみると、イグニッションコードをくぐらせた配線で検出している様です。

インジケータを取り外すと中はこんな感じ。電気的には電磁石らしいものだけ。そして固有振動数を少しずつ変える為に長さを変えた振動子。本当は振動子が電磁石の前に固定されてるべきだと思うのですが外れています。

振動子がどの様についていたのか判らない。

元々どうやって振動子が付いていたのかわからないんですよね。外れてからかなり時間が経っているらしく、錆びてて痕跡を見ても良くわかりません。
とりあえずそれっぽい場所に両面テープで貼り付けてみます。あまり期待できませんが。

上手く振動するかな?

これで元の様に組み立てたのが先程の写真です。
で、エンジンをかけてスロットルを色々回してみるのですが、やはり振動子が振れません。取付け方が違うのかも。

結局周波数インジケーターだけは上手く動いていない状態です。
当面は電圧を測りながら使ってみる事にします。

緑のカーテン

梅雨も明けて九州は夏本番です。

少しでも工作室の気温を下げるため、今年は窓の前にヘチマを植えてみました。

レーザーカッターの前が窓でその向こうにヘチマが見えるのです。

実は昨年も植えたのですが失敗しました。プランター植えがダメだったのか、または軒下に置いたので水不足だったのか・・・。そこで今年は地植えにしたところすくすく育って実もたくさんできています。

その内ヘチマタワシを作ってみたいと思います。

しゃべるペットボトル回収箱 その後

神戸の姉から、ペットボトル回収箱が到着したのでしゃべる機構を設置したとの連絡がありました。
回収箱はペットボトル投入穴が二つ空いているタイプかと思っていたら実際は写真の様に大きな口が一つのタイプでした。

1号機

養生テープで貼り付けてあります。

2号機

こちらは机の上。

マイクロスイッチはこんな感じで取り付けて・・・

その上からクリアファイルの垂れ幕を取り付け、この垂れ幕がスイッチを押す構造にしたそうです。

横から見たところ

動画も届きました。

とりあえずは無事動作した様です。

TWE-Liteプロポ化計画

久々にMONOワイヤレスのページを見たらTWE-Liteの電波強力版である”RED”というのが出ていました。最大3Kmぐらい届くとの事。これなら空ものラジコンでも全く問題なく飛ばせそうです(実際は私が飛ばすものなんて100m程しか離れないんですけどね)。
そこでTWE-Liteを使ってラジコンプロポの代りにならないか試してみたくなりました。

なおTWE-Liteとは、当初は東京コスモス電機でしたが今はそこから分離したMONOワイヤレスが出している無線モジュールです。

こんなの・・・

TWEpropo_1

TWE-Lite(下) とTWE-Lite DIP(上)

TWE-Liteは内蔵マイコンのプログラムを書き換える事ができるので、MONOワイヤレス社からは色々な用途のプログラムをダウンロードできる様になっています。この中にはラジコン用のアプリもあるのですが、ラジコンカーを前提にされたもので、そのままで飛行機やマルチコプターを制御するのには向きません。

これを何とかして受信側TWE-LiteからS-BUS信号を出せれば小さなマルチコプターぐらい飛ばせるんじゃないかと考えています。するとフタバとかの立派なプロポを使わなくても済むし、またフライトヨークやラダーペダルで操縦したり、ちょっと夢が広がるじゃないですか

で、試してみる事にします。でもいきなり高出力版のREDを買うのもなんなので、まずは手持ちの通常出力版(こちらはBLUEという名前になったらしい)で試します。
まず送信側のTWE-Liteにはボリューム4個+スイッチ4個を付けて状態を発信します。この部分は「OpenStick無線化実験」の時のプログラムをほぼ流用です。
これを受けて受信側TWE-LiteがS-BUS信号を生成してフライトコントローラ(F3EVO)に入れるという計画です。

という事で早速プログラムを書いてデバッグです。受信側TWE-Liteが出すS-BUS信号を先日作成したS-BUS信号解読機(ArduinoMEGA256)に入力してデバッグを開始したのですが・・・受信機のデバッグ以前にS-BUS解読機側のスケッチがミスっていたのを発見。修正しました。

~~修正版S-BUS解読スケッチ(11bitデータに並び替える部分のミス修正)~~

int count;
long interval;
void setup() {
 Serial.begin(115200); // Terminal
 Serial1.begin(100000,SERIAL_8E2); // S-BUS
 count=0;
}

void loop() {
 int data[26];
 int val[19];
 int i;
 if (Serial1.available() > 0) {
 data[count]=Serial1.read();
 interval=millis();
 count++;
 }
 if ((interval+4 < millis()) && (0 < count) ) {
  count=0;

  val[0] =((data[1] & 0xff)<<0) + ((data[2] & 0x07)<<8);
  val[1] =((data[2] & 0xf8)>>3) + ((data[3] & 0x3f)<<5);
  val[2] =((data[3] & 0xc0)>>6) + ((data[4] & 0xff)<<2) + ((data[5] & 0x01)<<10);
  val[3] =((data[5] & 0xfe)>>1) + ((data[6] & 0x0f)<<7);
  val[4] =((data[6] & 0xf0)>>4) + ((data[7] & 0x7f)<<4);
  val[5] =((data[7] & 0x80)>>7) + ((data[8] & 0xff)<<1) + ((data[9] & 0x03) <<9);
  val[6] =((data[9] & 0xfc)>>2) + ((data[10] & 0x1f)<<6);
  val[7] =((data[10] & 0xe0)>>5) + ((data[11] & 0xff)<<3);
  val[8] =((data[12] & 0xff)<<0) + ((data[13] & 0x07)<<8);
  val[9] =((data[13] & 0xf8)>>3) + ((data[14] & 0x3f)<<5);
  val[10]=((data[14] & 0xc0)>>6) + ((data[15] & 0xff)<<2) + ((data[16] & 0x01)<<10);
  val[11]=((data[16] & 0xfe)>>1) + ((data[17] & 0x0f)<<7);
  val[12]=((data[17] & 0xf0)>>4) + ((data[18] & 0x7f)<<4);
  val[13]=((data[18] & 0x80)>>7) + ((data[19] & 0xff)<<1) + ((data[20] & 0x03) <<9);
  val[14]=((data[20] & 0xfc)>>2) + ((data[21] & 0x1f)<<6);
  val[15]=((data[21] & 0xe0)>>5) + ((data[22] & 0xff)<<3);
  val[16] = (data[23] & 0x1) ? 0x7ff : 0 ;
  val[17] = (data[23] & 0x2) ? 0x7ff : 0 ;
  val[18] = (data[23] & 0x8) ? 0x7ff : 0 ; // Failsafe
  for (i=0 ; i<19; i++ ) {
   Serial.print(val[i],DEC);
   Serial.print(F(" "));
  }
  Serial.print(F("\n"));
 }
}

 

大体動作がOKになったところでフライトコントローラ’F3EVO’に接続してみます。
フライトコントローラはUSBでPCに接続しておき、設定ソフト ’CleanFlight’ の ’Receiver‘ タブ使うと送信機の操作に合わせて信号が変化するのが確認できました。

CleanFlight

CleanFlightで受信機の信号をモニター中。

 

ここまではTWE-LiteのDIPタイプをブレッドボードに載せて試していました。
大体イケてるっぽいので次は表面実装版のTWE-Liteモジュールを使い、実際に機体に載せる基板を作ります。

いつもの様にKicadでパターンを書いてガーバーデータを出力して・・・

TWEpropo-Rxガーバー

Kicadで出力したパターン

 

でもウチのCNCの精度でこのパターンそのままでは削れる気がしません。そこでガーバーデータの座標値をテキストエディタで抜き出してJw-cadに読み込ませ、これを下書きにしてカットする部分を手書きしていきました。
こうしてカットラインの間隔を極力広いパターンに作り変えます。

TWEpropo-Rx Cutpattern

ピンク色がガーバーから抜き出した下書き。
黒線が手書きのカットライン。

そして切削。

TWEropo-Rx

切削完了。

と、軽く書きましたが何だかんだで失敗しながら3回切削しました。
チップ抵抗、チップコンデンサを1608サイズにしたのも失敗で、ルーペを見て汗をかきながらハンダ付けを行いました。
そして実装したのがこれ。

TWEpropo

クワッドコプターと接続したところ。
まだ受信機は固定していません。

次は送信機を作っていきたいと思います。

3Dプリンタ2号機~その6~

前回の投稿では1層目の貼り付きが悪いと言って一生懸命Z軸のレベル調整を行なった挙句、結局はプリントベッドをアルコールで拭いたら改善したというオチでした。その後も貼り付き性には問題なく、ネットで調べたらアルコール拭きは常識みたいですね。勉強不足でした。

コントロールPCのラズパイ化検討

3Dプリンタ1号機ではこの時設定したUbuntuマシンをまだ使っていました。たしかCPUはPentium4だったかな?
2号機もコイツで動かしてもいいのですが、レーザー加工機の制御PCも兼ねているので両方同時に使えないんですよね。また先日はボタン電池が切れて交換したし、そろそろいつ止まっても不思議ではない状態です。
他に使えるPCもないのでわが家に何個かあるラズパイで試してみようと思います。

Raspberry Pi1 ModelB

ラズパイの中では最も古いModelBです(+でも2でも、もちろん3でもないヤツ)。動作速度がどうかなーと思いますが、まずは試してみます。

3DP26_1

Raspberry Pi1 ModelB

Pronterfaceをインストール

Pronterfaceをインストールするのですが、まずはその前に今このRaspberry Piに入っているOSはいつのだか判らないので最新版のRaspbian(STREATCHと言うそうです)を入れ直しました。
その後・・・
’sudo apt-get install printrun’ で何事もなくインストール完了。

実行すると見慣れた画面が立ち上がります。
そしてプリンターと繋いで実行すると・・・なんかやっぱり遅いです。モデルの表示を2Dにしても操作した後10秒ぐらいしてからやっと反応する感じ。3D表示だと固まったかと思います。これはちょっと使えるレベルではありません。

pronsole

pronterfaceと一緒にpronsoleというのもインストールされています。こちらはコマンドラインでプリンターを操作できるものなので、メインPCからSSHでログインして操作可能です。 これだとGコードのロード時以外は遅さを感じないので、これもアリかと思います。

Raspberry Pi 2

Pi1だと遅いのですが、ならばRaspberry Pi2ではどうなのか試してみます。 このラスパイ、流行りに乗ってAIY VOICE KITに使ったのでこんな箱に入ったままです(AIY VOICE KITは Raspberry PI3を使うものとされていますが、わが家にPi3はないので2で試したところ、それなりに動いていました)。

3DP26_2

Raspberry Pi2(AIY VOICE KITに収納)

OSはAIY projectのイメージをSDに焼いたもの(ベースはRaspbian Jessie)が入っているのでこのまま使います。
ここでも上と同様にapt-getでインストールを試みたのですが、printurnが見つからないと言ってきます(apt-getの使い方を良くわかっていないだけかもしれません)。そこでGithubからソースを取ってきました。
実行してみると3D表示はやはり遅くてダメですが2Dなら問題なく使えるレベルです。

それぞれのレビジョン確認

ここでPi1とPi2で微妙に画面表示が異なるのが気になり、レビジョンを確認したところ・・・

Pi1   :2015.03.10
Pi2   :1.6.0

なんかレビジョン番号の付け方から異なっていて、どっちが新しいのか分かりません(当然GitHubから取ってきた1.6.0が最新だとは思いますが)。

もう一度Pi1に戻って最新版Pronterfaceをインストール

そこで再びPi1に戻って1.6.0をインストールしてみました。すると結構速度は改善されている様です。当然Pi2には負けますがなんとか使えるレベルだと思います。

(ここら辺の「使えるレベル」とか「遅い」とかは全て私の主観です。念の為。)

・・・という事で

Pi1で行こうかと考えながらも、ラズパイがつながるモニターはメインPCのしか持ってないんですよね。結局、RAMPSに液晶ディスプレイとSDカードを付ければそれでもいいかなとも思って揺れています。

RepRapのSenderって・・・

ところでPronterface等のSenderソフトって何をやっているんでしょう?想像では単にファイルからGコードを読んでArduionoに向けてシリアル送信するだけで、いくら古いラズパイだからってそんなに重い処理ではない様な気がします。実際Teratermでプリンターに接続し、’G0X10Y10F300’とか打ち込んでやるとその通りに動作します(エコーバックがないのでローカルエコーをONにし、改行コードを’LF’にしておく必要あり)。

Senderの動作としてとりあえず次のあたりが疑問です。

  • ロードとはどこにロードするのか?
    RAM上?
  • プリント中のフロー制御。
    プリンターの動作にどうやって同期しているのか?Arduinoとの接続では恐らくハードウェアフロー制御はできないと思っているので、Xon/Xoffなのか、または別の方法なのか?

という事でpronsoleのソースを眺めています(Pythonの経験値が低いので苦労しながら)。わかったら報告します。