å°æã§ã
å
æ¥å è€ããããRubyã®Gainer I/O Mode
7ã«é¢ããã³ã³ããªãã¥ãŒãããããŸããããAS3çšã«ãI2Cã®ããªãšãŒã·ã§ã³ã§ããã€ã远å ãããããã§ããæ€èšŒçšã«æ³šæããããã€ã¹ããŸã å±ããŠããªãããã«æ°æ¥å
ã«ãªãããã§ããããã®èŸºãã远å ãããšããã§009ãšããŠã¯å®æãšããããšã«ãªãããªãšæã£ãŠãããŸãã
ã»ã»ã»
ãã®å ã®010ãããªã®ã§ããããããã°ããããæ¡ä»¶ã«ãããåãã ã£ãããšããã£ãŠãªããªãèãããŸãšãŸããªãã£ãã®ã§ããããããä»ããŸã ãŸãšãŸã£ãŠããªãã®ã§ããããšããããæã£ãããšãæžããŠã¿ãããšæããŸããæ¯éãã¿ãªãããããççŽãªãªãã©ã€ãããã ãããå¬ããã§ã_o_ã
âä»åŸã®æ©èœè¿œå ã«é¢ããŠ
ã»å®éã«ããã€ãã®ãããã¿ã€ãã䜿ã£ãŠã¿ããšããå ¥åãå€åãããããã«ã¢ã¯ã·ã§ã³ãèµ·ãããããããã®åŸãã°ããã®éã®å€åã¯ç¡èŠããããå ¥åãå€åãããããçšåºŠåŸ ã£ãŠããã¢ã¯ã·ã§ã³ãèµ·ããããšãã£ãæé軞äžã®å€æã䌎ãåŠçãæ±ãããå Žåãçµæ§å€ããããããåŠçã¯åèšèªåŽã®ã¿ã€ãæ©èœãšçµã¿åãããããšã§èšè¿°å¯èœã ããç ©éã«ãªããã¡ãªã®ã§ãSetPointãªã©ã®æ©èœãšããŠåã蟌ãã§ããŸãããšã¯ã§ããªããïŒ
ã»å é床ã»ã³ãµã䜿ã£ãŠäœãç¹å®ã®ã¢ã¯ã·ã§ã³ããã£ããšãã«åå¿ããããšãããããªãã®ãäœãå Žåãç°¡åãªãã¿ãŒã³ãããã³ã°ããµããŒããããŠãããšç°¡æœã«èšè¿°ã§ããã®ã§ã¯ãªãããããŠã¹ãžã§ã¹ãã£ãåæãšããç°¡æãªå®è£ ã¯çµæ§è±å¯ã«ããã®ã§ããã®èŸºããåèã«ãã€ã€ãã£ã«ã¿ã®1ã€ãšããŠå®è£ ãããšããã®ã¯ã©ãã ããïŒ
âæ°ãããã©ãããã©ãŒã ãžã®å¯Ÿå¿ã«é¢ããŠ
ã»çŸåšãµããŒãããŠããèšèªã¯ProcessingãAS3ãRubyã§ãããããã以å€ã«çµèŸŒã¿ç³»ã®OSã§ã®å©çšãåæãšããèšèªã远å ã§ããªãã ããããå ·äœçã«ã¯ãBeagleBoardã®ãããªãããªãã«é«éã«åäœããããŒããŠã§ã¢äžã§LinuxãåãããŠäœããäœãéããããªããªãŒãã£ãªã®åŠçèªäœã¯ãã€ãã£ãèšèªïŒC/C++ïŒã§æžãããã¢ããªã§æ±ããšããŠãããžãã¯éšåã軜éãªã¹ã¯ãªããèšèªã§èšè¿°ã§ããããã«ããããšã§ãå®äžçã§åäœãããªãããã¥ãŒãã³ã°ãè¡ããæ¬åœã®æå³ã§ã®ã©ã€ãã³ãŒãã£ã³ã°ãã§ããªãã ããããçŸæç¹ã§åè£ãšãªãèšèªã¯Pythonããããã¯Luaãããã§ã¯ãªãããšèããŠããããä»ã«åè£ã¯ãªããïŒ
âãããã¿ã€ãã®ã¬ãã«ãŸã§ã«ããŒããããã®ãã¥ãŒãã³ã°ã«é¢ããŠ
ã»Funnelã§ã¯ãä¿¡å·åŠççãªåŠçãå šãŠã¯ã©ã€ã¢ã³ãåŽã§è¡ã£ãŠãããããã¯éææ§ããŠãŒã¶åŽã§ã®æ¡åŒµãšããããšãèãããšæå©ã ããå€ãã£ã³ãã«ã®ã¢ããã°ããŒã¿ãAS3ãRubyãšãã£ãã¹ã¯ãªããèšèªã§åŠçããã®ã¯çµæ§è² è·ãé«ãããšããããã¹ã±ããçã«äœã£ãŠã¿ãå Žåã§ããã°ããã§ãåé¡ãªãããã¯ãªãªãã£ãæ±ããããããã¿ã€ãã®ã¬ãã«ã§ã¯ãããããåŠçã®ããã«æ°fpsã§ãè² è·ãå€ããã®ã§ããã°çµæ§åé¡ãããããªããã¢ããã°å ¥åã«å¯Ÿãããã€ãºã«ããã®ãããªåŠçã¯ããã€ã³ã³åŽããããã¯ãµãŒãå ã§è¡ãã¹ããªã®ã§ã¯ïŒ
ã»çµèŸŒã¿ç³»ã®å Žåã«ããéèŠã«ãªãããJavaã§æžãããŠããFunnel
Serverã¯ãããªãã«åŠçãéããopenFrameworksã®ææãªã©ãããŸãå©çšããŠC++ã§é«éãã€è»œéã«åäœãããã®ã¯ã§ããªããïŒãããã§ããã°ãBeagle
Boardãªã©ã§ã®å©çšãçŸå®çã«ãªãã¯ãã
âãã®ä»
ã»åœåã®Funnelã¯ãœãããŠã§ã¢ã©ã€ãã©ãªãšäœçœ®ã¥ããŠãããããã¬ãŒã ã¯ãŒã¯ãšåŒã¶ã¹ã段éã«ããŠããã®ãããããªãããã©ãã¯ããã¯ã¹åãããããšãªãããã䜿ãåŠçãç°¡æœã«æžããããã«ããšãããã©ã³ã¹æèŠãå¿ããªãããã«ããªããŠã¯ã
âŠãšãæžãåºããšé·ããªã£ãŠããªããŸãšãŸãããªãã®ã§ãããäœãæ°ã«ãªããšãããªã©ããã°ãæ°è»œã«çªã£èŸŒãã§ããã ããããšæããŸãããããããé¡ãããŸãã
ããã¢ããªã±ãŒã·ã§ã³ã®å±€ã«è¿ãéšåã§ã®ããµããŒããšããæãã§ã
ãããããªã¿ã€ããŒåŠçãªã©ã®æ©èœãã€ãããšããéšåã§ã®ã
æ©èœæ¡åŒµã¯ãåºæ¬çã«ã¯å¿
èŠãªããšãªã®ã§è³æãªã®ã§ããã
æè¿ã¯ãŒã¯ã·ã§ãããªã©ãããããŠããã£ãŠããŠæããããšãã
FunnelããI/Oã¢ãžã¥ãŒã«ãšã®éä¿¡ã®ãã©ã€ããŠããªã€ã¡ãŒãžã§
æãããŠãã人ãéåžžã«å€ããšããããšã§ã
ãããã«ã¯ãŒã¯ã·ã§ããã§æ±ããéšåã¯ãåå¿è
察象ãšãããš
å
¥åºåãšããããªïŒÎ±ãšããŠãããããåŸãªããšããããããŸãã
ã®ã§ãããæããã人ãå€ããšããããŸãã
Funnelã®æ±ã®äžã€ãšããŠãSetPointãScalarããã¡ããŠãå
¥åºåã®
æ±ããŸã§èšåã§ããã®ã¯ãäœåºŠã補äœã§ã€ãŸã£ãããšã®ããäžçŽè
ã®äººãã¡ããããªãæããŸãããä»ã®ãšãããã®äººãã¡ã«ããŸã
äŒããããŠããªãç¶æ
ã§ãã
æ°ãããæ©èœæ¡åŒµã远å ããŠããã®ç¶æ
ã¯ã€ã¥ããšæããŸãã
å°æããããã£ããã£ãŠããããã䜿ãåŠçãç°¡æœã«æžãã
ãšããããšãã§ããããã«ãäœããã䜿ãåŠçãªã®ããšããéšåã
ããŸã玹ä»ã§ããæ©äŒãã€ãããªãããªãšèããŠããŸãã
ããã«æ¬äŒŒã³ãŒãçããã°ã©ãã³ã°ã¯ãåºæ¬çã«ã¯ããã°ã©ã ã
ããã人ã«ããã€ããããªãèŠçŽ ãªã®ã§é£ãããšããã§ã¯ãããŸããã
Processingã®ããã«ãã²ã€ãããªç¥èãéšåçã«ç޹ä»ã§ããããã«
ãŸãšããããã°ã¡ãã£ãšãããããããªãããã§ããã
以åã²ãŒã ç³»ã®çµã¿èŸŒã¿ã¹ã¯ãªãããæ¢ããŠããŠLnaã®ã»ãã«
http://squirrel-lang.org/default.aspx
Squirrelãšããã®ãèŠã€ããŸãããã»ãšãã©èŠãŠãªãã®ã§å·®ã¯ããããŸãããã
äžå¿ã¡ã¢ã£ãšããŸãã
ãšããšãããªããŠã¹ã€ãã»ã³
é è€åå
2009/02/14 23:09 Shigeru Kobayashi <koto...@gmail.com>:
--
endo takanori
å°æã§ã
ãã£ããéã空ããŠããŸã£ãŠãã¿ãŸããã
æ©èœè¿œå ã«é¢ããŠã¯ãAPIã®æ¡ãææ¥ãããã«wikiã«è¿œå ããŠãã³ã¡ã³ããªã©ãã€ããŠããããããã«ããããšæããŸãã
> Funnelã®æ±ã®äžã€ãšããŠãSetPointãScalarããã¡ããŠãå
¥åºåã®
> æ±ããŸã§èšåã§ããã®ã¯ãäœåºŠã補äœã§ã€ãŸã£ãããšã®ããäžçŽè
> ã®äººãã¡ããããªãæããŸãããä»ã®ãšãããã®äººãã¡ã«ããŸã
> äŒããããŠããªãç¶æ
ã§ãã
> æ°ãããæ©èœæ¡åŒµã远å ããŠããã®ç¶æ
ã¯ã€ã¥ããšæããŸãã
確ãã«ããã§ããâŠãçŸæç¹ã§ãªããªãFunnelãæ®åããªãåå ã ãšæããŸãããã®ç¹ã«é¢ããŠã¯ãä»åŸå±±èŸºãããæ åœãããFunnelããŒã¹ã®ã¯ãŒã¯ã·ã§ãããéå¬ãããããæžç±ãåºãŠããã°å°ããã€è§£æ¶ããŠããã®ããªãšã¯æã£ãŠãããŸãã
> ããã«æ¬äŒŒã³ãŒãçããã°ã©ãã³ã°ã¯ãåºæ¬çã«ã¯ããã°ã©ã ã
> ããã人ã«ããã€ããããªãèŠçŽ ãªã®ã§é£ãããšããã§ã¯ãããŸããã
ãã®éšåã¯ãã³ãŒãããŒã¹ã§çµãã§ãã以äžãã©ãããŠãã€ããŠåãåé¡ã«ãªããŸããâŠã
çŽæ¥ã®è§£æ±ºçã«ãªãã®ãã©ããããããŸãããã䜿çšé »åºŠã®é«ãããžãã¯ãç°¡æœã«æžãããããªä»çµã¿ãçšæããŠããŠãŒã¶åŽã¯ç®çã«ãã£ãããžãã¯ãéžæããäžã§ããã©ã¡ãŒã¿ããã¥ãŒãã³ã°ããŠäœ¿ãããšããæ¹åŒã ãšããŒãã«ãäœããªãããªãšæã£ãŠããŸãã
> Processingã®ããã«ãã²ã€ãããªç¥èãéšåçã«ç޹ä»ã§ããããã«
> ãŸãšããããã°ã¡ãã£ãšãããããããªãããã§ããã
ãã®éšåã«é¢ããŠãçŸæç¹ã§ãŸãšãŸã£ãããã¥ã¡ã³ãããªããšããã®ãäžçªã®ããã¯ã§ããããããã£ãžã«ã«ã³ã³ãã¥ãŒãã£ã³ã°ã«ããããã¶ã€ã³ãã¿ãŒã³ãã®ãããªãã®ãããããå¿ èŠãªã®ã ãšæããŠããŸãã
> 以åã²ãŒã ç³»ã®çµã¿èŸŒã¿ã¹ã¯ãªãããæ¢ããŠããŠLnaã®ã»ãã«
> http://squirrel-lang.org/default.aspx
> Squirrelãšããã®ãèŠã€ããŸãããã»ãšãã©èŠãŠãªãã®ã§å·®ã¯ããããŸãããã
> äžå¿ã¡ã¢ã£ãšããŸãã
Luaãåèã«ãã€ã€ãå®çšçã«ãã¥ãŒãã³ã°ããèšèªã§ããããããã¥ã¡ã³ããèªãã ããç°¡åãªã¹ã¯ãªãããåããããããŠã¿ãŸããããçµæ§è¯ããããªæ°ãããŠããŸãã
ããããªãããããããäœè£ã®ããç°å¢ã§åããã®ã§ããã°ãããPythonã®æ¹ããããããªã¢ããã³ããŒãžããããããããªãïŒäŸïŒçµèŸŒã¿çšãå«ã倧æµã®Linuxãã£ã¹ããªãã¥ãŒã·ã§ã³ã§çšæãããŠããïŒãšããããšãããããªããªãããã ãšãããšããã«è³ããŸããã
æ°ããèšèªã®ãµããŒãã¯çµæ§ã³ã¹ããããããŸãã®ã§ããŸãã¯çŸè¡ã§ãµããŒãããŠããèšèªãæ¡åŒµãã€ã€ãå¹³è¡ããŠå®éšãé²ããŠâŠãšããã®ãçŸå®çããªãšã¯æã£ãŠãããŸãããããŸãäœãè¯ããããªãã®ãããã°ãã²æ å ±ããã ããã
ä»ã®ã¿ãªããããäœãæãã€ããããšãªã©ãããŸããããã²ãªãã©ã€ããé¡ãããŸãã:)
2009/2/23 takanori endo <sweeta...@gmail.com>:
>ããã£ãžã«ã«ã³ã³ãã¥ãŒãã£ã³ã°ã«ããããã¶ã€ã³ãã¿ãŒã³ãã®ãããªãã®ãããããå¿ èŠãªã®ã ãšæããŠããŸãã
æ¥å¹ŽåºŠãã³ã³ã»ã³ãã«ã€ãªãã ãã®ãæäœããã«ã¯ã人ãããããããªãããç¥ãã«ã¯ã
ãšãã£ãåé¡ã§ãããã°ã©ã ãšããŒã«ãããã®å匷äŒã¿ãããªãã®ãã§ããªãããªãš
æã£ãŠããŸããïŒä»ã®èµ€æŸããã®iPhoneã®ãããªæãã§ïŒãã®ææãããŸããŸãšããããã°
ããã®ã§ãããPhysical Computing's Greatest Hits (and misses)ãããŸããåèã«ãããã§ãã
> 確ãã«ããã§ãã...ãçŸæç¹ã§ãªããªãFunnelãæ®åããªãåå ã ãšæããŸãããã®ç¹ã«é¢ããŠã¯ãä»åŸå±±èŸºãããæ åœãããFunnelããŒã¹ã®ã¯ãŒã¯ã·ã§ãããéå¬ãããããæžç±ãåºãŠããã°å°ããã€è§£æ¶ããŠããã®ããªãšã¯æã£ãŠãããŸãã
ãã¯ãããããšã®éè«ã®ãªãã§ãGainerå
¥éãFunnelããŒã¹ã«ããã¹ãã§ã¯ãšãã話ãããŠããŸããã
æåã®æ·å±
ã¯é«ããªãã®ã§ããããã®åŸã®å±éããèãããšFunnelããŒã¹ã«ããã¡ãªããã¯å€§ãã
ã®ã§ã¯ãªãããšèããŸããFunnelã®ã»ãã説æãããããšããããããŸããã
é è€åå
2009/03/03 17:35 Shigeru Kobayashi <koto...@gmail.com>:
> é è€ãããã¿ãªãã
>
> å°æã§ã
>
> ãã£ããéã空ããŠããŸã£ãŠãã¿ãŸããã
>
> æ©èœè¿œå ã«é¢ããŠã¯ãAPIã®æ¡ãææ¥ãããã«wikiã«è¿œå ããŠãã³ã¡ã³ããªã©ãã€ããŠããããããã«ããããšæããŸãã
>
>
>> Funnelã®æ±ã®äžã€ãšããŠãSetPointãScalarããã¡ããŠãå
¥åºåã®
>> æ±ããŸã§èšåã§ããã®ã¯ãäœåºŠã補äœã§ã€ãŸã£ãããšã®ããäžçŽè
>> ã®äººãã¡ããããªãæããŸãããä»ã®ãšãããã®äººãã¡ã«ããŸã
>> äŒããããŠããªãç¶æ
ã§ãã
>> æ°ãããæ©èœæ¡åŒµã远å ããŠããã®ç¶æ
ã¯ã€ã¥ããšæããŸãã
>
>
>
>> ããã«æ¬äŒŒã³ãŒãçããã°ã©ãã³ã°ã¯ãåºæ¬çã«ã¯ããã°ã©ã ã
>> ããã人ã«ããã€ããããªãèŠçŽ ãªã®ã§é£ãããšããã§ã¯ãããŸããã
>
> ãã®éšåã¯ãã³ãŒãããŒã¹ã§çµãã§ãã以äžãã©ãããŠãã€ããŠåãåé¡ã«ãªããŸãã...ã
>
> çŽæ¥ã®è§£æ±ºçã«ãªãã®ãã©ããããããŸãããã䜿çšé »åºŠã®é«ãããžãã¯ãç°¡æœã«æžãããããªä»çµã¿ãçšæããŠããŠãŒã¶åŽã¯ç®çã«ãã£ãããžãã¯ãéžæããäžã§ããã©ã¡ãŒã¿ããã¥ãŒãã³ã°ããŠäœ¿ãããšããæ¹åŒã ãšããŒãã«ãäœããªãããªãšæã£ãŠããŸãã
>
>
>> Processingã®ããã«ãã²ã€ãããªç¥èãéšåçã«ç޹ä»ã§ããããã«
>> ãŸãšããããã°ã¡ãã£ãšãããããããªãããã§ããã
>
> ãã®éšåã«é¢ããŠãçŸæç¹ã§ãŸãšãŸã£ãããã¥ã¡ã³ãããªããšããã®ãäžçªã®ããã¯ã§ããããããã£ãžã«ã«ã³ã³ãã¥ãŒãã£ã³ã°ã«ããããã¶ã€ã³ãã¿ãŒã³ãã®ãããªãã®ãããããå¿
èŠãªã®ã ãšæããŠããŸãã
>
>
>> 以åã²ãŒã ç³»ã®çµã¿èŸŒã¿ã¹ã¯ãªãããæ¢ããŠããŠLnaã®ã»ãã«
>> http://squirrel-lang.org/default.aspx
>> Squirrelãšããã®ãèŠã€ããŸãããã»ãšãã©èŠãŠãªãã®ã§å·®ã¯ããããŸãããã
>> äžå¿ã¡ã¢ã£ãšããŸãã
>
> Luaãåèã«ãã€ã€ãå®çšçã«ãã¥ãŒãã³ã°ããèšèªã§ããããããã¥ã¡ã³ããèªãã ããç°¡åãªã¹ã¯ãªãããåããããããŠã¿ãŸããããçµæ§è¯ããããªæ°ãããŠããŸãã
>
> ããããªãããããããäœè£ã®ããç°å¢ã§åããã®ã§ããã°ãããPythonã®æ¹ããããããªã¢ããã³ããŒãžããããããããªãïŒäŸïŒçµèŸŒã¿çšãå«ã倧æµã®Linuxãã£ã¹ããªãã¥ãŒã·ã§ã³ã§çšæãããŠããïŒãšããããšãããããªããªãããã ãšãããšããã«è³ããŸããã
>
> æ°ããèšèªã®ãµããŒãã¯çµæ§ã³ã¹ããããããŸãã®ã§ããŸãã¯çŸè¡ã§ãµããŒãããŠããèšèªãæ¡åŒµãã€ã€ãå¹³è¡ããŠå®éšãé²ããŠ...ãšããã®ãçŸå®çããªãšã¯æã£ãŠãããŸãããããŸãäœãè¯ããããªãã®ãããã°ãã²æ å ±ããã ããã
>>> ...ãšãæžãåºããšé·ããªã£ãŠããªããŸãšãŸãããªãã®ã§ãããäœãæ°ã«ãªããšãããªã©ããã°ãæ°è»œã«çªã£èŸŒãã§ããã ããããšæããŸãããããããé¡ãããŸãã
>>>
>>> >
>>>
>>
>>
>>
>> --
>> endo takanori
>
> >
>
--
endo takanori
å°æã§ã
ãæèŠããããšãããããŸãã:)
> ïŒïŒãµãŒããåããåãåŠçãè€éã«ãªãåå¿è
åãã«ã¯æ·å±
ãé«ããªã£ãŠãããšæããŸããã
> äŸãã°ãã»ãã¥ãªãã£ãœããã§ããŒããéãçã¯é£ããããã
ããšããšãã€ã¬ã¯ãã«ããã€ã¹ãéããŠããProcessingã«é¢ããŠã¯ç¢ºãã«æ·å± ãé«ããªã£ãŠãããããããŸãããç¹ã«ãéäžããProcessingã¯è€æ°ã®ã¹ã±ãããåæã«éããããã«ãªã£ãããããããšçžãŸã£ãŠæ··ä¹±ããåå ã«ãªã£ãŠããããã§ãã
ãã®å¯ŸçãšããŠãçŸåšã¯åäœã§èµ·åããŠããfunnel_server.jarããProcessingããçŽæ¥éããŠããŸãããšããæ¡ããããŸããFunnel
Serverå
éšã®å€æŽã¯ããããå¿
èŠã«ãªããŸãããåãJavaå士ã§ãã®ã§ãæ¯èŒçç°¡åã«å®çŸããã®ã§ã¯ãªãããšæããŸããåæ§ã«ãRubyã«é¢ããŠãJRubyã®å©çšãåæãšããã®ã§ããã°åãæ¹æ³ããšããããšæããŸãã
Flashã®å Žåã«ã¯ãGainerã§ãåæ§ã§ããã®ã§ãä»ã®ãšããçŸç¶ã®æ¹åŒãããªãããªããšæã£ãŠãããŸããããäœãè¯ãæ¹æ³ããåç¥ã§ããããã²æããŠãã ããã
> ïŒïŒïŒãã¿ãŸããããã®éšåã¯ãžã£ã¹ãã¢ã€ãã¢ã§ãããœããå±ã®çºæ³ããïŒ
> â ããã€ã¹ã®ä»®æ³åïŒè«çããã€ã¹åïŒ
ãã®éšåã«é¢ããŠã¯ãéçºåœåã«ãããããã£ã¹ã«ãã·ã§ã³ããŠãçµå±ä»ã®åœ¢ã«èœã¡çããŸãããäž»ãªçç±ã¯ä»¥äžã®ãããªãã®ã ã£ããšèšæ¶ããŠããŸãã
ã»GainerãšArduinoã§ã¯configã®èãæ¹ãç°ãªã
ã»GainerãšArduinoã§ã¯ã¢ããã°å
¥åºåïŒããžã¿ã«å
¥åºåã®èãæ¹ãç°ãªã
ããããããã¯I/Oã¢ãžã¥ãŒã«ãäžå¿ãšãããã®ã®èŠæ¹ã§ãå®éã«ã¯æ©ãã®æ®µéã§ç©ççãªæ¥ç¶ç¶æ ãè«ççãªæ¥ç¶ç¶æ ã«å€æŽããŠããŸãã®ããããšç§ãæã£ãŠããŸããããŸã广çãªè§£æ±ºçã§ã¯ãªãã®ã§ããããµã³ãã«ã³ãŒãã®äžéšã§ã¯
var gio:Gainer = new Gainer();
var led:Pin = gio.analogOutput(0);
var sw:Pin = gio.digitalInput(0);
if (sw.value == 1) {
led.value = 1;
} else {
led.value = 0;
}
ã®ãããªæžãæ¹ãããŠã¯ããŸããledãšãswãšãã«èªã¿æ¿ããéšåãèªç¶ã«æåã®æ¹ã§ãã£ãŠããŸãããããªä»çµã¿ãçšæãããŠãããšããã¶ãéãã§ããããã
ããšã009ã§I2Cããã€ã¹ã®ãµããŒãã远å ããã®ã§ããã
aio = new Arduino(Arduino.FIRMATA);
compass = new HMC6352(aio);
function loop(event:Event):void {
clockHand.rotation = compass.heading;
}
ã®ããã«ãããããã«ãªã£ãŠããŸããI2Cããã€ã¹ã衚ãã€ã³ã¹ã¿ã³ã¹ã®ã³ã³ã¹ãã©ã¯ã¿ã«I/Oã¢ãžã¥ãŒã«ã®ã€ã³ã¹ã¿ã³ã¹ãæž¡ãããšãã圢åŒãªã®ã§ãããé»å§ã§å ¥åããã¿ã€ãã®ã»ã³ãµãšI2Cã§å ¥åããã¿ã€ãã§ãããŸãåãã«ãŒã«ã«ã§ããªãããªããšã¯æã£ãŠããŸãã
ãã®ããããäœãè¯ãã¢ã€ãã¢ãããã°æ¯éãç¥ãããã ããã
> â ããã€ã¹ã®åå解決ã®ä»çµã¿
DNSã®ãããªä»çµã¿ããããšè§£æ±ºã§ããŸããããããã€ããã³ãã«ãªããããªãã®ãããæ°ãããŸãã®ã§ãã¡ãã£ãšèª¿ã¹ãŠã¿ãŸãã
2009/3/10 Yoshitaka Kuwata <kuw...@nifty.com>:
å°æã§ã
ã³ã¡ã³ãããããšãããããŸãã
> å·éã«ãªã£ãŠèŠãŠã¿ããšãã¯ãŒã¯ã·ã§ããã§æ°åã®ããã€ã¹ãå¶åŸ¡ããç¯å²ã§ããã°ãæããã«ãªãŒããŒã¹ããã¯ãªæ°ãããŸãã
> ãã¬ãŒã ã¯ãŒã¯ã«æ±ããããŠããèŠæ±æ¡ä»¶ãæç¢ºã«ããå¿
èŠããããšæããŸããããã®ããã«ã¯ããã ããããã©ã®ãããªå Žé¢ã§ããã©ã®æ§ã«äœ¿ãããïŒãŸã
> ã¯ç¯å²ãã©ããŸã§èãããïŒïŒãªã©ãã€ã¡ãŒãžããŠããå¿
èŠããããŸããããã¯äžã€ã§ãªããŠãè¯ãããã¹ãããè«ã§ãè¯ããšæããŸãã
> ããŠãŒã¹ã±ãŒã¹ããæç¢ºã«ãããšããããšã§ãã
ããã¯éèŠãªãšããã§ãããFunnelã®ã¿ãŒã²ãããšããŠã¯ããã£ãžã«ã«ãªã€ã³ã¿ã©ã¯ã·ã§ã³ïŒUIãªã©ãå€ããšæããŸããé»åç©å ·ãªã©ãå«ã¿ãŸãïŒã®ã¹ã±ãããããããã¿ã€ããŸã§ãæ³å®ããŠããŸãã
Gainer I/Oãšã©ã€ãã©ãªã®çµåãã¯ãããã°ãã©ã€ãã¬ãã«ã®ãã®ã§ãå ¥éç·šçãªã¯ãŒã¯ã·ã§ããã§ã¯ååã«æ©èœããŸããããããGUIãšåæ§ã®æ°è»œãã§ã¹ã±ãã~ãããã¿ã€ãã³ã°ãè¡ã£ãŠããã«ã¯ãããããªèœãšã穎ããããããã»ã©ç°¡åã§ã¯ãªããšããã®ã宿 ã§ãã
â»äŸãã°ãããŠã¹ãããŒããŒãã¯ãããã€ã¹å éšã®ãã€ã³ã³ããã©ã€ããããŸããŸãªãã€ãºå¯Ÿçãªã©ãè¡ã£ãŠãããããã§ç°¡åã«æ±ãããšãã§ããŸãããçã®ã»ã³ãµæ å ±ãæ±ãå§ãããšãšããã«ããŸããŸãªããŒã¬ãã«ã®åŠçãå¿ èŠã«ãªããŸãã
ã©ã®ã¬ãã«ã§çã蟌ãããé£ãããšãããªã®ã§ãããäŸãã°æ¬¡ã®ããŒãžã§ã³ã§ã¯ä»¥äžã®ãããªAPIã远å ããã®ã¯ã©ãããªãšèããŠãããŸããã
ïŒæé軞äžã®å€åã䌎ãå
¥åãæ±ãããã®APIã®å®è£
æ¡ïŒ
// ãã©ã¡ãŒã¿ïŒéŸå€ããã¹ããªã·ã¹ãåäœéå§ãŸã§ã®æéãåå¿åŸã®äžå¿æé
// äŸïŒæåã®å€åã«ã¯ç¬æã«åå¿ããããããã®åŸã®å€åã¯äžå®æéç¡èŠããã
var detector:SetPoint = new SetPoint(0.5, 0.1, 0, 1000);
gio.analogInput(0).filters = [detector];
gio.analogInput(0).addEventListener(CHANGE, onChange);
function onChnage(e:Event):void {
// å€åãèµ·ããã以äžãå®è¡
...
}
ïŒãžã§ã¹ãã£ãæ±ãAPIã®å®è£
æ¡ïŒ
// æ£èŠè¡šçŸãªã©ãçšããŠãã¿ãŒã³ãèšè¿°
// äŸïŒå é床ã»ã³ãµãäžäžå·Šå³ã«æ¯ã
var shake:String = "-1, 1, -1, 1, ...";
// ã€ã³ã¿ããªã¿ã«å¯Ÿè±¡ãšãªãå
¥åãšãã¿ãŒã³ãã»ãã
var interpreter:Gesture = new Gesture(gio.analogInput(0..2), pattern);
// ã€ãã³ããªã¹ããã»ãã
interpreter.addEventListener(MATCH, onShake);
function onShake(e:Event):void {
// ãžã§ã¹ãã£ãæ€åºããã以äžãå®è¡
...
}
ããããAPIã远å ããã°ããã»ã©ããã¬ãŒã ã¯ãŒã¯ãšããŠãã¡ããã«ãªã£ãŠããŸãã®ã§ãããblack
boxïŒäžãèŠããªãç®±ïŒã§ã¯ãªãglass boxïŒã¬ã©ã¹ç®±ã®ããã«äžãèŠãããšã®ã§ããç®±ïŒã§ããã°ããã®ããªãšæè¿ã§ã¯æãã€ã€ãããŸãã
> RFIDã®äžçã§ã¯ãEPC Globalãšããçµç¹ã®å®çŸ©ããååè§£æ±ºã®æšæºããããŸããObject Naming Service (ONS)ãš
> ããèŠæ Œãæããäžçäžã®RFIDã¿ã°ïŒã®å
ã«ãããã®ïŒã®æ
å ±ãäžæã«ç¹å®ããããšãå¯èœã§ãã
>
> http://www.epcglobalinc.org/standards/ons
寡èã«ããŠããã¯åããŠç¥ããŸããããšãŠãåèã«ãªãããã§ãã®ã§ãã£ããèªãã§ã¿ãããšæããŸããããããšãããããŸããã
2009/3/12 Yoshitaka Kuwata <kuw...@nifty.com>:
å°æã§ã
ã¿ã€ãã³ã°ã®è¯ããªãã©ã€ãã§ããŠããªãããŠãã¿ãŸããããããã°ããè±ç²çã§ãã£ã±ãéäžåããªãã£ãã®ã§ããããããã埩掻ããŠããŸãã_o_ã
> åæã«ãŠãŒã¹ã±ãŒã¹ãèããŠã¿ãŸããã
> (A) ,(B), (C)ã¯ããããªãšæã£ãŠããŸããã(D)ã¯ç¡çããäœã£ãæãã§ããããã©ããè¯ãåãããŸããã
> ãŸããå®éã®èŠæ±æ¡ä»¶ã¯æ³åã§å
¥ããŠã¿ãŸãããã¯ãŒã¯ã·ã§ããçãçµéšãããŠããçæ§ã®æ¹ã詳ãããšæããŸãã®ã§ããæèŠãé ããã°ãšæããŸãã
ããããšãããããŸãã:)
æåŸã®(D)ã«é¢ããŠã§ãããå¢äºä¿ä¹ããã®æå±ãããŠãããå šäžçããã°ã©ãã³ã°ããšå ±éãããšãããããªãå€ããããããŸãããã
http://www.pitecan.com/papers/ProSymSummer2006/ProSymSummer2006.pdf
ã¡ãã£ãšæ¹åæ§ã¯ç°ãªããŸãããpachubeãªã©ãå±é次第ã§ã¯ãããããã®ã«ã€ãªããé¢çœã詊ã¿ã ãšæããŸãã
以äžãæ°ãã€ããç¹ã«é¢ããŠãªãã©ã€ããŸãã
> (A) ã¯ãŒã¯ã·ã§ãã
ãã®ã·ããªãªã«é¢ããŠããæ¬¡ã®(B)ã§ãããŠããã ãã
> ïŒïŒïŒèªåã®ç¥ã£ãŠããããã°ã©ãã³ã°èšèªã§äœæããã
> æ§ã
ãªèšèªã®ãµããŒã
ãå¿ èŠã«ãªãããªãšæã£ãŠããŸããåã ã®ã¯ãŒã¯ã·ã§ããã¯åäžã®èšèªã§è¡ããŸãããã©ãã«ããã®ããæ±ºå®ããéçšã§ã¯ãæ³å®ãããåå è å±€ã«åãããŠæ±ºå®ããŠããŸãã
å
¥ææ§ã®é¢ã§ã¯ProcessingãåªããŠããã®ã§ãããç°¡åãªæ°åŒã§ã¯èšè¿°ãã«ããã¢ãã¡ãŒã·ã§ã³ãªã©ãäœãããšãããšãæ·å±
ãé«ããªã£ãŠããŸãããšããããŸãããã®ãããæè¿ã§ã¯ActionScript
2/3ãšProcessingã®éã§ã®éžæããšããã®ãå€ãã§ãã
> (B) ã¡ãã£ã¢ã¢ãŒãã®å¶äœ
> (C) å®éšå®€ïŒé»åå·¥äœ
ãã®2ã€ã«é¢ããŠã¯ããŠãŒã¶å±€ã§åãããæå€ã«ãããã¿ã€ãã³ã°ã®æ®µéã§åãããã®ããšããããããããªããšããæ°ãããŠããŸãã
æåã®æ¹ã®ã¹ã±ããã®æ®µéã§ã¯ãã§ããã ãæ©ã詊ããããšãåªå ãã代ããã«ãã€ã³ã¿ã©ã¯ã·ã§ã³ã®å šãŠãæçµçãªã¯ãªãªãã£ã§å®è£ ãããŠããªããŠãOKã§ãããããã補åéçºã§ã®ãããã¿ã€ãïŒïŒäžè¬çãªäœåå±ç€ºã¯è£œåçã«ããã°ãã®æ®µéã«çžåœïŒã§ã¯ãã¹ã¿ã³ãã¢ãã³åãã¬ã€ãã³ã·ãé·æéåäœã§ã®å®å®æ§ãéèŠã«ãªã£ãŠããŸãã
ãªããå Žåã«ãã£ãŠã¯ãFunnelã®ãããªã¢ãããŒãã§ã¯ãããã¿ã€ãã®åŸåã®æ®µéã§æ¢ã«ã«ããŒã§ããªãå ŽåããããããããŸããããã®å Žåã«ã¯ãããããçµèŸŒã¿çãªã¢ãããŒãã«ãªã£ãŠããã®ã ãšæããŸããããã®å段éã§ã¢ã€ãã¢ãåå¥ã®ããŒãã®æ€èšŒã§æŽ»çšã§ããã°ååããªãšæã£ãŠããŸãããããã¯ãã¹ã¿ã³ãã¢ãã³åäœãããå Žåã®åäœã¢ãã¿çã«äœ¿ãæ¹æ³ãããããªãšæããŸãã
以äžã¯è³ªåã«ãªãã®ã§ããâŠ
> (C) å®éšå®€ïŒé»åå·¥äœ
ïŒ
> ïŒïŒïŒæ¢åããã°ã©ã ãæž¬å®åšãå©çšããã
> åŠçé床ïŒã¬ã€ãã³ã·
ããã§ã®ã枬å®åšãã«é¢ããŠå ·äœäŸãæãããšãããšã©ã®ãããªãã®ã«ãªãã§ããããïŒäŸãã°ãMATLABã®ãããªå®éšç³»ã§ãã䜿ãããããŒã«ã§ããããã
2009/3/17 Yoshitaka Kuwata <kuw...@nifty.com>: