1

DynamicDNSでのVirtualHost設定

うちは固定IPがもらえないので、ダイナミックDNSshokai.orgを運用しているんだけど、VirtualHostというのがやりたくて調べて設定してみた。

固定IPと違うのは、NameVirtualHost 123.45.67.8 という風にIPを設定する所を

NameVirtualHost *

と指定する所だけみたい。

VirtualHostというのは、shokai.orgのapacheに設定すると、好きにサブドメインが増やせるようになる。つまりhashimoto.shokai.orgとか何個でも作れる。

奥出研で運用してるサーバにも使いたい。というのは、

1.プロダクトが増えてきてみんな独自ドメインを取ってwebサイトを作ってしまっている

2.Googleの検索結果に表示されるのは、1ドメインにつき2ページだけ

というのが気に入らないので、プロダクト名.ok.sfc.keio.ac.jpに集めようかなと。

apache1.3.3での設定 – httpd.conf(1070行目あたりに例が載ってる)

Read more

0

AVR – ATMEGA8のA/Dコンバータ

ついでに。atmega8というよく使うマイコンでのa/d converterのコードを張っておく。avr-gcc用。でもそろそろmega88に移行かな

sbi()cbi()マクロ使ってます。

この関数2つを適当にコピペして

/* ADコンバータ設定 */
void adc_init(void){
ADCSR =_BV(ADEN)|_BV(ADSC)|(0<<ADPS2)|(0<<ADPS1)|(0<<ADPS0)|(0<<ADFR);
// A/D変換許可、1回目変換開始(調整)、分周率2、連続変換しない
}
/* ピンを指定してAD変換 return 0-1023 */
int adc_convert(char pin){
int ad;
ADMUX = pin; // AD変換入力ピン
cbi(ADCSR,ADIF);
sbi(ADCSR,ADSC);
loop_until_bit_is_set(ADCSR,ADIF);
ad = ADCL;
return ad += (ADCH<<8); // 上位2bit取得
}

main()ではこんな感じで。
int main(void){
adc_init();
int ad;
ad = adc_convert(0); // ADC0でAD変換
}

ちなみに、adc_init()でAD変換の速度を最速にしてます。ADPS2,1,0のa/d変換分周率指定で変えれる。分周率が大きいほど遅い。

HERO’S Download データシートより

mega8-adps

0

オペアンプによる増幅回路とセンサの使用

センサーを使う時、A/Dコンバータでアナログ値を読みとる。でも、大抵のセンサーの出す電圧の変化は微弱なので、オペアンプという増幅器を使ってやる必要がある。

オペアンプってのは厄介な奴で、技が100個ぐらいあるらしい。それぐらいややこしい。

それが電子工作はじめて1年半、ようやくわかった。計算できるようになった。これで良いらしい。

オペアンプの増幅回路

オペアンプのデータシートを見ると、ICの中に三角形が2個か4個入っている。この三角形一個が一つの増幅回路で、その回りに抵抗を付ける事で色々な増幅/比較など100の技ができるらしい。

三角形には3つ入力があって、それぞれVin+, Vin-, Vout。単純に増幅させたければ図の様に抵抗は2本で良い。

秋月で5個100円、1個に2回路入りのオペアンプLM358を買ってみた。んで上の回路を組んだら、ちゃんと10倍になった。

Read more

0

MLをRSSから見れる「fml2rss」

OKlab fml2rss ver0.1

fml2rss SourceCode(PHP)

ようやく春休みになった(まだ来年度の準備とかあるけど)ので、以前あとで作ると言った、俺の所属してる奥出研のfmlのデータをRSS化するのを作った。(Basic認証かけてあるので見るのには研究室のアカウントが必要)

見た目は大した事ないけど、Firefoxから見たスクリーンショット。ちゃんとsageから読めてる。

fml2rss

PHPからRSSを手軽に作成するライブラリ: RSSWriter:phpspot開発日誌で紹介されていた、RSSWriterを使ったらサクッとできた。変数に$つけわすれててなんだかんだで3時間もかかってしまった。

とりあえず読みやすいようにRSS化してみたわけだが、この先どうするかまだ不明。MagpieRSSとかあるし色々できそうだな。

DC:Dateとかちゃんと付けないと、利用しにくそうなのでそのうち付けるつもり。まあ現状でも最大の目標「MLに参加してない人でも、ふと覗いて興味を持って、参加してしまう」はできそうな気がする。(既に一人釣れた)

Read more

1

ManagedDirectX – JoyStickWrapper for VS2005C#2.0

以前ManagedDirectXでJoystickを使うでVisualStudio2003でアナログジョイスティックを使う為に、ManagedなDirectInputのジョイスティック用ラッパークラスを作った。

それちょっと直して、VisualStudio2005のC#用にした。

JoyStickWrapper.cs

ついでに簡単にジョイスティックの状態を見れるソフトにしてみた。

SourceCode & JoyStick.exe

JoyStickTest

実行には.NET Framework2.0の再頒布可能パッケージ(32ビット版: x86) と日本語LanguagePack(32ビット版: x86) が必要。それでも動かなければWindowsUpdateを全部入れてください。

■DirectX SDKをVisualStudio2005にインストールする方法

DirectXで開発するにはSDKを入れる必要があるので。

ManagedDirectXでJoystickを使うに書いてある通りの手順で、

まずDirectX SDKをインストール(かなり時間がかかる)。すると、VisualStudioにも勝手に追加される。

ちゃんと追加されていれば、VisualStudio2005の[ツール]→[オプション]でDirectXが追加されているはず。

VisualStudio-DirectXOption

プログラムを書く時は、プロジェクトに[参照を追加]しなければならない。

追加する時、Microsoft.DirectX.dllがバージョン違いで2つあるので、1.0の方を追加する。

DirectX-addReference

これは多分.NET Framework1.xの方のランタイムを使う事になるんだと思う。でも2.0はDirectInput.dllとか無いみたいだからしょうがない。