技術メモ
以下技術的な問題について坦々とメモ。
gainerはアナログアウトにpwmを使用しているので、それを利用してサーボをコントロールできる。
http://hwhack.blogspot.com/2008/03/gainer-clone.html
gainer という名前はキングゲイナーが由来
http://www.adobe.com/jp/education/hed/vanguards/interview/pdfs/EV_kobayashi_low.pdf
gainer.analogOutput()でアナログアウト。
GWS S03Tであれば、8~32くらいの範囲で操作できる。
もちろんちゃんとpicとかから操作するのに比べて解像度は低い。
ローカルにあるswfをFlashPlayerで起動するとセキュリティの関係でgainerとの通信ができないが
プロジェクトファイル(macだと拡張子が.appになる)で書き出せば問題無し。
http://tech.ironhearts.com/blog/archives/57
ピエゾからの信号をpicとかのアナログインで読めるようにする。
http://www.vector-scan.com/workshop/mod/shock/index.shtml
pic16f88でサーボをコントロール
http://www.ccad.sist.chukyo-u.ac.jp/~mito/ss/Embedded/Demo/pb_Servo/index.htm
ここのソースを参考にこんな風に書いたらなんとなく動いた。「なんとなく」はとても大事。
CCS-C。
#include <16F88.h> #fuses INTRC_IO,NOWDT,NOLVP,NOMCLR,NOBROWNOUT #use delay(clock = 4000000) #use FAST_IO(A) int vd; int16 potVar; #INT_TIMER1 timer1_isr(){ set_timer1(63036); set_timer0(0); output_high(PIN_B1); while (get_timer0() < vd) {}; output_low(PIN_B1); } void main() { setup_timer_0(RTCC_INTERNAL|RTCC_DIV_8); setup_timer_1(T1_INTERNAL | T1_DIV_BY_8); set_timer1(65536); enable_interrupts(INT_TIMER1); enable_interrupts(GLOBAL); setup_adc( ADC_CLOCK_INTERNAL ); setup_adc_ports(sAN0); delay_ms(400); while(1){ set_adc_channel(0); delay_ms(5); potvar=read_adc()/2; vd = 100+potvar; } }
技術メモじゃないメモ
考えてから作るじゃなくて、作りながら考えるようにした。
それはきわめて雑に言えば細部の「面白さ」みたいな趣味判断でどんどん進めるというような事。
でも実際に作業を始めると、その「面白さ」っていう響きから感じられる楽観的な雰囲気はなく、
むしろ細部が勝手に出来上がってくることで全体がどうなるかわからない怖さというか不安が大きくなってくる。
細かいモノが出来上がってきてしまうと、その些細な面白さにとらわれて全体の構想を考える自由度も下がってくる。
でも逆にそれが作りながら考える事だと思う。自然言語で考えてはいけない。
出来上がってきてしまったものたちが思考し、作り上げていく。
それはそれでスリリングでもある。だからバランス感覚が大事。
つまり追い込むメソッド
http://watanabe.webagora.jp/?p=397
いやちょっと違うか。