Hatena::ブログ(Diary)

99円のへたれ日記! RSSフィード

2011-08-13

[]コミケサークル参加しました

人生でおそらく3度目か4度目のコミケですが、ついにサークル参加しました。無事に完売しました。30部くらいしかなかったので、もっと刷ればよかったかもしれません。少し反省。買っていただいたみなさまありがとうございました。

冬は…出るかな…

f:id:kyuuzyuu9yen:20110813081056j:image

友人がゲーセンほむほむTシャツ着てきて吹きました。まる。

[]SSD壊れた

久しぶりにブログ書くので、ついでに。

8月の8日にパソコンが起動しなくなり、調べるとSSDが認識せず、すなわちぶっ壊れていました。データはハードディスクに入っていたとはいえ、非常にまずい…ということで急遽Crucial m4の64GBを購入してきました。windows7を入れて快適に使えています。

で、このブログを見返すと…

http://d.hatena.ne.jp/kyuuzyuu9yen/20090808/1249700257

ちょうど2年目でぶっ壊れたのかい!保証はたぶん1年だから利かず。ぐぬぬ

2011-07-30

[]コミケとか

この日記全然書いて無くてやばいですね。近況はツイッターなど見ていただけると幸いです。

かなり直前ですが、コミケの原稿を書いてみたりとかいろいろ大変です…

2011-02-13

[]modxを導入しました

自分のホームページ(http://www.neontetra.net/)には今まで自作のCMSのようなものを使ってましたが、「サークルのホームページCMSには萌えキャラがいるしmodxなんかいいんじゃないかな!ハハッ!」などと言ってしまいました。

ここは自ら使ってみねばならない、ということで試してみたらメチャクチャ使いやすかったので、導入してしまった次第。

modx http://modx.jp/

Evolutionのほうです。たぶんこっちのほうが資料多い?

でも、CMSだといって、XOOPSWordpressのようなものを想像すると死んじゃいます。だってただインストールしただけだと殺風景なページが出るだけなんですものw

しかし、自分のようにHTMLテンプレートエンジン的な物を求めている人にとっては最高だと思います。自作CMSもどきのテンプレートと内容(どっちもHTMLにちょっとPHPのコードあるだけ)をコピペしただけで移行完了したですよ。そういうことでサイト自体はHTMLレベルで一緒ですw

で、編集画面Ajaxでさくさくとブログを書くような感じ。もちろんHTMLでも自由に書けます。移行して正解でした。

2011-01-16

[]久しぶりに電子工作ネタ

新年一発目のネタ。珍しく実用品です。

主要部品は全部秋月で買えますねこれ。ATtiny13Aは小さいけどけっこう良い!

だらだらやって2週間くらいかかっているので、初めからオフタイマーくらい付いてるラジオを買った方が早いかもしれないw

ラジオと一切連動しないICF-M55の時計機能とは一体何だったのか。

[]SONY ICF-M55にオフタイマーを付けた[後編]

前編はこちら

回路図です。

f:id:kyuuzyuu9yen:20110116192126p:image

とくに面白みはありませんw

マイコンAVR ATtiny13Aを使います。秋月で一つ120円です。

ただし、プッシュスイッチは外部割り込みINT0のPB1に接続しないと、パワーダウンスリープからの復帰が出来ません。

ということで、プログラムはこんな感じです。

通常はパワーダウンスリープです。スイッチが押されたらタイマーを起動して約3.8秒ごとに割り込みがかかるので、時間になったらラジオの電源をオフにして再びパワーダウンスリープします。

クロックは、消費電力の削減とラジオの雑音防止のために、9.6MHzの内蔵クロックを128分周して75kHzに設定します。

/*
*  SONY ICF-M55にオフタイマーを付ける for ATtiny13A
*  by 99yen 2011/01/15
*  WinAVR 20100110でコンパイル出来た
*/
#define F_CPU 75000

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/sleep.h>
#include <util/delay.h>

#define INT_SW (1<<PB1)
#define POWER_STATE (1<<PB3)
#define POWERSW_FET (1<<PB4)

#define OVF_CNT 484 // 約30分(実測)

/* 電源ボタンをFETで押す */
static inline void push_sw(void){
	PORTB |= POWERSW_FET;
	_delay_ms(300);
	PORTB &= ~POWERSW_FET;
}

/* 電源状態を取得する */
static inline uint8_t get_state(void){
	uint8_t res;

	// AD変換開始
	ADCSRA = (1<<ADEN | 1<<ADSC); // ADCオン 変換開始
	loop_until_bit_is_clear(ADCSRA,ADSC); // 初回の結果は捨てる
	ADCSRA |= (1<<ADSC); // もう一回変換
	loop_until_bit_is_clear(ADCSRA,ADSC);
	res = ADCH; // 結果取得
	ADCSRA = 0; // ADCオフ
	
	// 0.75V以上でオンと見なす
	return (res > 64) ? 1 : 0;
}

/* 外部割り込み ボタン */
ISR(INT0_vect){
	// 外部割り込みをオフ
	GIMSK = 0;
	// タイマ起動
	TCCR0B = (1<<CS02 | 1<<CS00);
	// タイマを動かすためにスリープモードをアイドルに
	set_sleep_mode(SLEEP_MODE_IDLE);
}

/* タイマ溢れ割り込み */
ISR(TIM0_OVF_vect){
	static uint16_t cnt = 0;

	if(cnt++ > OVF_CNT){
		// 設定時間が経過した
		// 電源をオフにする
		push_sw();
		_delay_ms(1000);
	}
	if(!get_state()){
		// 電源がオフになった
		cnt = 0;
		// タイマ終了
		TCCR0B = 0;
		// 外部割り込み許可
		GIMSK = (1<<INT0);
		// スリープモード パワーダウン
		set_sleep_mode(SLEEP_MODE_PWR_DOWN);
	}
}

int main(void){
	// クロック設定
	CLKPR = (1<<CLKPCE);
	CLKPR = (1<<CLKPS2 | 1<<CLKPS1 | 1<<CLKPS0); // 128分周 9.6MHz/128=75kHz

	// ポート設定
	DDRB = 0b010101; // 不要なポートは出力に
	PORTB = INT_SW; // プルアップ

	// 外部割り込み設定
	MCUCR = 0; // Lowレベル割り込み
	GIMSK = (1<<INT0); // 外部割り込み許可

	// ADコンバータ設定
	ADMUX = (1<<ADLAR | 1<<MUX1 | 1<<MUX0); // 結果を左揃え ADC3
	ADCSRA = 0;
	ADCSRB = 0;
	DIDR0 = (1<<ADC3D); // ADCに接続

	// タイマ準備
	TCNT0 = 0;
	TCCR0A = 0;
	TCCR0B = 0; // /1024のときは (1<<CS02 | 1<<CS00)
	TIMSK0 = (1<<TOIE0); // タイマ溢れ割り込み許可
	
	// スリープモード パワーダウン
	set_sleep_mode(SLEEP_MODE_PWR_DOWN);

	_delay_ms(500);
	// 割り込み許可
	sei();
	
	while(1){
		sleep_mode();
	}
	
	return 0;
}

OVF_CNTはオフタイマーの時間ですので、適時調整してください。

で、こんなんになりました。

f:id:kyuuzyuu9yen:20110116133806j:image

f:id:kyuuzyuu9yen:20110116133839j:image

とくに放送にノイズは乗ってない感じです。

マイコンが乗ってるので、他に何か良いアイデアがあれば教えてください。

くれぐれも改造は自己責任で。

[]SONY ICF-M55にオフタイマーを付けた[前編]

一昨年の3月に買ったラジオにオフタイマーがないのが死ぬほど不便だったので、思い切ってオフタイマーを付けてみました。だって寝ちゃうと朝までつきっぱなしで電池なくなるんだもの…

あと、電池交換に手間取ると、時計と放送局のメモリが消えるので、バックアップ用のコンデンサを追加しました。

お約束ですが、改造は自己責任で。

 

まずは簡単そうな所から時計・メモリバックアップ用のコンデンサについて。

操作パネルの下部に1000μFと470μFのコンデンサがなぜかパラについているので、これに0.22Fの電気二重層コンデンサを追加しました。

f:id:kyuuzyuu9yen:20110106183736j:image

秋月で売ってるやつです。ボタン電池サイズで凄く小さい。

 

で、オフタイマーの追加です。タクトスイッチを一つ追加して、それを押すと30分で電源が切れるようにします。

調べた結果、電源スイッチと電源のオンオフ状態が出ているピンがわかったので

、これらをマイコンで制御することにしました。

 

電源状態は以下の画像の所から引き出しました。

f:id:kyuuzyuu9yen:20110106211159j:image

ここで注意なのですが、時計基板の電圧は電源の3Vと違い1.5Vなので、ピンの状態はADコンバータで読まなければなりません。

 

電源のオンオフは、電源ボタンをNch-MOSFETで電気的に制御します。

小信号用の2N7000(Fairchild)を使いました。当然秋月でも売っています

このラジオは内部がかなりスカスカなのでTO-92でも余裕でした。

3Vでスイッチングできる品種ならなんでもいいはずです。でも入手性はこれが一番いいかも。

バイポーラトランジスタについては試していません。

最終的に時計基板はこんな感じになりました。

f:id:kyuuzyuu9yen:20110106211219j:image

 

で、タクトスイッチやマイコンを付けたら最終的にこんな感じになりました。

f:id:kyuuzyuu9yen:20110116133639j:image

マイコンプログラムなどは後編

2011-01-01

[]2011年

あけましておめでとうございます。

ってこのごろついったーばかりです。そちらもご覧ください。

今年はなでしこたん計画をがんばりたいと思います。よろしくお願いします。