の形で呼ぶ。
//
// anchor_idはフレームを使う場合最低限各フレームごとに設定。お互い他のフレームを書換えたときにへんな干渉をさけるため。
// その他ページの種別毎などで変えてもよいが、あまり小分けにするとcookieが増える。
// 同じanchor_idで保存されるcookieは1セットのみ。でも単独ページ表示のサイトなら概ねこれで充分。
anchor_id = "anc_main";
noanchor = false; // bodyにanchorをしかけたときなど場合によって一時無効にするためのフラグ。
// アンカーの記憶。
function anchor_save(object_id, page_id) {
if(noanchor) { anchor_erase(); return; }
get_scroll();
setcookie(anchor_id+"_pid", page_id, 0);
setcookie(anchor_id+"_st", scroll_top, 0);
setcookie(anchor_id+"_sl", scroll_left, 0);
if(object_id) {
object_top = scroll_top + get_object_top(object_id);
object_left = scroll_left + get_object_left(object_id);
setcookie(anchor_id+"_oid", object_id, 0);
setcookie(anchor_id+"_ot", object_top, 0);
setcookie(anchor_id+"_ol", object_left, 0);
} else {
setcookie(anchor_id+"_oid", "", -1);
setcookie(anchor_id+"_ot", "", -1);
setcookie(anchor_id+"_ol", "", -1);
}
}
// アンカーの適用。
function anchor_apply(page_id) {
if((saved_page_id = getcookie(anchor_id+"_pid")) && page_id != saved_page_id) { return; }
get_scroll();
if((anchor_st = getcookie(anchor_id+"_st")) != "" && (anchor_sl = getcookie(anchor_id+"_sl")) != "") {
anchor_st = parseInt(anchor_st);
anchor_sl = parseInt(anchor_sl);
} else {
anchor_st = scroll_top;
anchor_sl = scroll_left;
}
if((object_id = getcookie(anchor_id+"_oid"))
&& (anchor_ot = getcookie(anchor_id+"_ot")) != ""
&& (anchor_ol = getcookie(anchor_id+"_ol")) != "") {
offset_top = (scroll_top + get_object_top(object_id)) - parseInt(anchor_ot);
offset_left = (scroll_left + get_object_left(object_id)) - parseInt(anchor_ol);
} else {
offset_top = offset_left = 0;
}
window.scrollTo(anchor_sl + offset_left, anchor_st + offset_top);
}
// アンカー消去。あえてとっておく必要がなければanchor_apply()後すぐ消去が望ましい。
function anchor_erase() {
setcookie(anchor_id+"_pid", "", -1);
setcookie(anchor_id+"_st", "", -1);
setcookie(anchor_id+"_sl", "", -1);
setcookie(anchor_id+"_oid", "", -1);
setcookie(anchor_id+"_ot", "", -1);
setcookie(anchor_id+"_ol", "", -1);
}
//-->
その他
|
|
画質向上作戦開始
カメラの画質をどうにかしてあげたい。 そんな思いで始まったa6000の動画撮影。 ためしに冬季祭で撮影したら...途中で電池がなくなった。 標準の電池では約17分持たせることができた。 ただ、高校演劇っていうのは1時間の場合がよくある。
|
互換品
...ということでa6000のACアダプタを買うことにした。 でも、AC-PW20(ソニー純正)は10k円を軽く越す。 そこで互換品を買ってみた。 でも、これがまた癖がある。 ACアダプタの方が、無負荷で8.4Vも出ている。 電子負荷で数10mAくらい加えると、途端に7V台まで落ちる。 1Aともなると7.2Vまで。
...制御がないACアダプタだった。 こんなの使ってられない。 事故しか起こさないだろう。
...というわけで早速自作することにした。 適当に構想する。 まず使いやすい12Vの電源を7.4Vまで落とすということを思いついた。(電池の定格は7.2Vだけど、ちょっと多くして100%充電に見せかける) これなら十分いけるはず。
|
2025ハムフェア戦利品
ハムフェア戦利品のDC-DCコンバータ(24V->12V)を使うようにしてみた。 最初から入力の配線が焼けてたので無料になっていた。 調べてみると内部で鉄くずがショートを引き起こしていた。 ヒューズもなかったので焼けたのだろう。
...でもパワー素子が焼けてなかったのでそのまま使用。 まずは基板から元々ついていた制御回路を引き剥がす。 そしてあとはTL431でシャントレギュレータを組むだけ。 こんなときにTL431はめちゃくちゃ便利なんだよな〜。
|
回路構想
とりあえず入力と出力に3Aのヒューズをつけることにした。 (互換品の定格が2Aで、机にあったACアダプタが12V2Aの定格だったことから。ほんとはこんな適当に決めちゃダメだよ。) そしてエラーアンプで電圧制御...と回路を考えていると、「TL431を使いなさい」と神の声が。 そしてTL431のデータシート通りに回路を組んでみた。 ほんとはめんどくさかっただけだけど。 そうしてこんな回路ができた。 ほんとはKとrefの間に0.01uF(発振止め)入れて、12Vのところに680uF/35Vのコンデンサと130pfのコンデンサ入れて、出力に1500uF/16Vのコンデンサと0.01uFのコンデンサ入れてるけど見れば予想はつくかな...? あとダーリントンのところは2SC3281x2と2SD880を使ってる。 無駄に大電流。(シャントレギュレータの熱損失大きいからね) 素子の定格上は30A出せるけど、一応3Aまで。(ヒューズ入れてる) ちなみにトランジスタの絶縁板になってるガラス板とその両面についたグリスは掃除しておいた。 もちろん新しい放熱グリスも塗っておいた。 あと抵抗の誤差が5%もあるカーボンしか持ってなかったから電圧調整は結構難しかった。(お金ない田舎の人だから東京まで発注はできない) 最終的に抵抗値は変えてるので悪しからず。
|
1時間ほどで完成
そして完成。 演劇と同じ、1時間ほどかかった。 そこら辺に転がっていたものの寄せ集めだけど。 一時間ぐらいカメラに繋いでみたけど大丈夫っぽい。 ほんとは2Aずっと流したかったけど4.7Ω20Wの抵抗が空冷にもかかわらず触れないほど熱々になったため10秒ほどで中止。 47Ωを10本並列でもやっぱり20Wってすごいよね。 ハンダゴテも20Wあるし。 ちなみにこれ新品のセメント抵抗で作った。 前に作ったのは誰かさんが400W突っ込んで溶かしてしまったらしい。(←業務用アンプの試験したのは誰なのかなぁ...)
|
|
|