トップページ | 2009年10月 »

2009年9月

2009年9月30日 (水)

デバッガ版Flash Playerの設定(traceを有効にする)

Flex SDKを、そのまま使っているとtrace()を使っても、出力が得られないので、Flash Playerの設定が必要となる。

デバッガ版の Flash Player の構成(Adobe Flex 3 ヘルプ)

まずは、「mm.cfg」ファイルを作る。

Macの場合は
# vi /Library/Application¥ Support/Macromedia/mm.cfg
で以下を書き込む

ErrorReportingEnable=1
TraceOutputFileEnable=1
MaxWarnings=0

これで、エラーメッセージのログの出力、トレースログの出力、警告数の制限の撤廃を設定している。


次はtraceをテストしてみる
traceTest.as((traceTest.swf
デバッグ版のFlashPlayerでないとtraceは行われない。

ログファイルはMacの場合
/Users/username/Library/Preferences/Macromedia/Flash Player/Logs/flashlog.txt
にある。

上のtraceTest.swfを実行した結果
flashlog.txt

ログを見るためのアプリが必要になりそう


| | コメント (0) | トラックバック (0)

2009年9月29日 (火)

LEDドットマトリクスをArduinoで制御する

秋月のLEDドットマトリクスをArduinoで制御する。
配線はブレッドボードを使用して、ハンダ付けをやらない方法にした。
3-to-8 LineDecoder TC74HC138AP を使用して、配線を簡単に。
それでも、ジャンプワイヤーの本数はかなりのものになったけど・・・

Img_0006

今回は赤色の単色だが、2色のLEDマトリクスを使う場合は、専用に基盤を作る必要がありそう。


今回のプログラム
ビット演算につまずいて結構時間がかかってしまった。
ProcessingとArduinoでは配列の宣言方法が違うところにも・・・

| | コメント (0) | トラックバック (0)

2009年9月27日 (日)

ボリューム(可変抵抗)を使ってSnakeGameを操作する

秋月のボリューム(可変抵抗)をArduinoに接続し、抵抗値を読み取り、値をシリアル通信することでSnakeGameを操作する。
使用したボリュームは「小型ボリューム10KΩB」
やっていることはロータリエンコーダを使ってブロック崩しを操作と同じ。

Arduino側のプログラム

Processing側のプログラム

↓は、また無理矢理撮影したムービー


前回のロータリエンコーダと違って、回転の方向を検出する必要はなく、A/D変換の値をシリアル通信するだけなので、Arduino側のプログラムはとてもシンプル。
Proccesing側も読み取った値をヘビの回転半径に適用しているだけとなっている。

実際に操作してみると、とても難しい、、、
ぜひパーツをそろえてプレイしてみてください(笑)

| | コメント (0) | トラックバック (0)

2009年9月24日 (木)

SnakeGameを更新(障害物を追加)

ここから遊ぶことができます。(要JAVA)

今回はエサ?を追加した時と同じ方法で障害物を追加してみた。
障害物の数が増えると、エサ?を取るのは無謀になってくる・・・

Photo

| | コメント (0) | トラックバック (0)

Funnelを使ってArduinoをActionScript3で動かす

Funnelを使うことで、標準ではシリアル通信に対応していないActionScriptでもArduinoの制御が可能となる。

まずはダウンロード(今回はfunnel_r691.zipを使ってみる)

使い方はdocumentsフォルダ内のinstallation_instructions_ja.pdfを見れば丁寧に書いてあるのでこれにそって作業していく。


ドライバのインストール
USB-to-UART 変換ブリッジチップ FT232Rのドライバは、Arduinoを使い始めるときにインストールしてあるので、今回は省略することができる。


Arduinoの準備
ArduinoにFirmataライブラリを書き込む。
まずArduinoをMacBookに接続する。
次にArduino IDEを起動する。(Arduino 0017を利用)
「File」→「Examples」→「Firmata」→「StandardFirmata」を選択

20090924_91319

「StandardFirmata」が開けたら、「Upload」を押してArduinoに書き込む。

20090924_91642


ライブラリの準備(ActionScript 3)
グローバルセキュリティ設定パネルからActionScriptがFirmata Serverと通信できるようにする。
グローバルセキュリティ設定パネル
ここで、Funnelのサンプルフォルダや、Flexのワークスペースを追加しておく。

20090924_93113

ターミナルを起動し、Funnel/libraries/actionscript3/examples/に移動する。
# mxmlc ArduinoTest.as -sp ../src/
「ArduinoTest.swf」を開いてみる。

20090924_93741


Funnel Server の設定と起動
funnleフォルダ内にある「funnel_server-mac.dmg」を開いて、ファイルを適当なフォルダにコピーする。
コピーしたファイルのArduinoフォルダ内にある、「Funnel Server」を開く。
(「setting.txt」は変更なしで行けるはず)

20090924_94406


動作確認
Funnel Serverを起動した状態で、先ほどコンパイルしたArduinoTest.swfを起動する。
この時点で、アナログピンの値が揺れていることを確認できる。

20090924_95022

アナログピンに手を近づけると、値の揺れが変化する。

今回はここまで。

| | コメント (0) | トラックバック (0)

2009年9月23日 (水)

Flex 3.4 SDK をインストールする

Processingもいいんだけど、前に勉強したFLASHの知識を生かすためにFlexを導入する。
ActionScript3を使うことでArduinoと通信することができる。

Flexは、プログラムにActionScript、デザインにMXMLをつかって、FLASHの実行ファイル.swfを作成することができる。
ActionScriptだけでもProcessingと同じことができる。

ここから「Flex 3.4 SDK」のページに飛びダウンロード
ダウンロードするファイルは「flex_sdk_3.4.zip」

解凍したファイルを、今回は/Developer内に「Flex」フォルダを作成し移動する。

次に、環境変数にPATHを追加してコンパイルしやすくする。
ターミナルを起動し、
# vi ~/.bash_profile
以下を追加
PATH=$PATH:/Developer/Flex/bin
export PATH

ターミナルを再起動し
# mxmlc
でPATHが通っていることを確認

20090923_195857

確認はできたけど、文字化けしてるので対策をする。
原因はMacのJAVAの出力がShift-jisになっていることらしい。
したがって、ターミナルの環境設定から文字エンコーディングを「日本語(MacOS)」に変更することで文字化けを直せる。

Encode

20090923_200640

これでFlex SDKを使う準備ができた。

次に、FlashPlayerを導入する。
/Developer/Flex/runtimes/player/mac内にある「Flash Player.app.zip」を解凍し、
「Flash Player」をアプリケーションフォルダに移動する。
あとは.swfファイルに関連づければ完了。


次に、サンプルをコンパイルしてみる。
# cd /Developer/Flex/samples/explorer/
# ./build.sh
が、ものすごく時間がかかるのでやらない方がいいかも・・・
すべてのコンパイルが終わったら「explorer.html」を開くことでMXMLで使うことのできるコンポーネントをブラウズすることができる。

20090923_204205


次に、お決まりのHello worldをやる。

適当なフォルダにワークスペースを作り「helloworld.as」ファイルを作成
helloworld.as
ターミナルでファイルを作成したフォルダへ移動し
# mxmlc helloworld.as
無事にコンパイルできれば、同フォルダ内にhelloworld.swfが生成される。
後はhelloworld.swfを先ほどのFlash Playerで開く。

20090923_204916

今回はここまで。

| | コメント (0) | トラックバック (0)

2009年9月19日 (土)

ProcessingでSnake Gameを開発中

Processingでまじめにゲームを書いてみたくなったので、Snake Gameを開発中。

ここから遊ぶことができます。(要Java)


20090919_10436

操作はマウスの左クリックと右クリックを使うだけ!
まだまだ開発途中なので単純な要素しか無いです、、

20090919_10945

Processingのソースコードも一緒にアップロードされているので、見苦しいコードですが何かの参考になればうれしいです。

| | コメント (0) | トラックバック (0)

2009年9月16日 (水)

ターミナルの見た目をカスタマイズ

なにかと使うことの多いターミナルの見た目をよくする。
ターミナルはMac標準のコマンドライン。

デフォルトの設定だと↓
20090916_210858_2


カスタマイズすると↓
20090916_210926_2

背景が透過するようになり、ターミナルの後ろにある文章もウィンドウを入れ替えずに見ることができる。


設定は「ターミナル」→「環境設定」

20090916_211008

この「Pro」という設定がカッコいい!
「Pro」設定選択欄の下にある「デフォルト」ボタンを押すことで、新しいターミナルを開くときに「Pro」が使われる。
あと、ここも「Pro」を選択しておく。

20090916_210957


また、背景の透過度はここで変更できる。

20090916_212402


| | コメント (0) | トラックバック (0)

2009年9月15日 (火)

MacでRarファイルを解凍(Command line freeware Mac OS X UnRAR)

時々見かけるRar形式のファイルをSnow Leopardで解凍できるようにする。
今回はRARLABの「UnRAR」を使う。

ここから「UnRAR for Mac OS X」をクリックして「UnRar30MacOSX.tgz」をダウンロード
ダウンロードしたファイルを展開して、適当なフォルダにおいておく。

ターミナルを開き、展開したフォルダに移動。

# ./unrar x <解凍したいファイルのパス>

で解凍することができる。

| | コメント (0) | トラックバック (0)

Processingのアプレットを上げてみる(ブロック崩し)

Processing でのプログラミングでは、全ての定義されたクラスは Java の内部クラスのコードとして扱われ、コンパイルされる。(Wikipedia

という訳で、「File」→「Export」でJavaアプレットが出力されます。

20090915_151702

出力されるファイルは↓
20090915_153034

後は必要なファイルをアップロード
ここから見ることができます。

↑のが三日前に作ったブロック崩しだけど、読み込みが終わるとすぐ始まるので、すぐにアプレットクリックしてアクティブにする必要が、、あと当たり判定は相当ずれてる。
やり直す時はブラウザの更新で!

| | コメント (0) | トラックバック (0)

2009年9月13日 (日)

ロータリエンコーダを使ってブロック崩しを操作

昨日作ったProcessingのブロック崩しをマウスを使わず、秋月で購入したロータリエンコーダで操作できるようにする。
ロータリエンコーダの動きをArduino経由でPCとシリアル通信する。

Arduinoのプログラム

Processingのプログラム

Img_0002

動画を撮る手段がMacBookしか無いので無理矢理な動画を、、、
QuickTimeでムービー収録しつつ画面収録するという荒技を使ってみた。

Processinのプログラムはシリアル通信部分を追加し、受信したデータを使ったバーの操作に変更した。
Arduinoのプログラムはロータリエンコーダの回転方向を区別するために、見づらいものになっている。

Arduinoとのシリアル通信はProcessingを使っていると特に難しい処理を書く必要がないので非常に解りやすい。

|

2009年9月12日 (土)

Proseccingでブロック崩しをつくる

Processingの リファレンス を眺めながらブロック崩しを作ってみた。
↓はただの画像です。

Block_2

ソースコード

当たり判定とかその後の動きはすごく適当に、、、
画面に描画するために意味不明なコードを書かなくていいので、あっさりと完成させることができた。

もっときれいな画面を作れるようになりたい。

| | コメント (0) | トラックバック (0)

2009年9月11日 (金)

Processingをさわってみる

まずは Wikipedia から Processing
Arduinoとシリアル通信を行うPC側のアプリを開発するために勉強する。

Macへのインストールはまず、
http://processing.org/download/ から「processing-1.0.X.dmg」をダウンロード
dmgファイルをマウントし「Processing」を「アプリケーション」フォルダに移動する

「アプリケーション」フォルダから「Processing」を開くことで統合開発環境 (IDE)が表れる。

20090911_225452


ここではまずWikipediaに載っているHello Worldのプログラムを動かしてみる。
まずは、プログラムをコピー&ペーストし実行してみる、、、
が、エラー発生
(プログラムの実行はウィンドウ左上の右三角ボタン)

20090911_230233

日本語リファレンスから http://pripro.org/p5ref/index.html から
loadfont() について調べてみると「Processingで使うフォントを作るには、Toolsメニューから"Create Font..."を選択してください。」とあるので、フォントファイルを作成する。

20090911_230754

後は、プログラムのフォントファイル名の部分を変更し実行 → 無事実行された。

20090911_231044

「Hello World」が途中で切れてるけど、、、
とりあえずここまで。

| | コメント (0) | トラックバック (0)

2009年9月10日 (木)

PS3で録画したデジタル放送番組を再生(DTCP-IPを利用)

PS3のシステムソフトウェア バージョン 3.00でDTCP-IPに対応したので早速利用してみる。
DTCP-IPはデジタル放送などの保護されたコンテンツのデータをネットワーク上に送受信できるようになる。

PS3には新型を使用

Img_0066

レコーダーにはTOSHIBAのVARDIA RD-S303を使用

PS3は[本体設定]に[DTCP-IPを有効にする]で設定

レコーダー側もネットdeレック/サーバー設定を使うに設定

以上の設定でPS3にレコーダーが認識され番組を選ぶことが可能になった。

Img_0070_3


ただし、再生できる録画番組は無圧縮動画だけ、、、
あと、レコーダーとPS3が同じテレビに繋がっているので今後使うことはなさそう。

| | コメント (0) | トラックバック (0)

2009年9月 9日 (水)

PIL(Python Imaging Library)の導入

Snow LeopardにPIL(Python Imaging Library)を導入する。
PILを利用することでPythonで簡単に画像を扱うことが可能になる。


PILをインストールするためには
FreeType http://freetype.sourceforge.net/download.html#stableのリンク先からfreetype-2.3.9.tar.gzをダウンロード
libjpeg http://www.ijg.org/からjpegsrc.v7.tar.gzをダウンロード
が必要なので、まずこれらをインストール


makeコマンドを使うにはXcodeが必要なので、Snow LeopardのインストールディスクからXcodeをインストール


FreeTypeとlibjpegのインストール
まずはダウンロードしたファイルをダブルクリックで解凍する。
ターミナルで解凍したフォルダに移動し以下を実行(2つとも)

# ./configure
# make
# sudo make install


次にPILのインストール
http://www.pythonware.com/products/pil/からPython Imaging Library 1.1.6 Source Kitをダウンロード
ファイルを解凍したら、ターミナルでフォルダへ移動し以下を実行

# sudo python setup.py clean
# python setup.py build
# sudo python setup.py install


これでPILの利用することができるようになる。


|

2009年9月 8日 (火)

PythonをCGIとして利用する

Snow Leopardの設定続き


Apacheの起動方法
「システム環境設定」→「共有」→「Web共有」にチェックを入れるだけ

20090908_103016






PythonをCGIとして利用するための設定

# sudo vi /etc/apache2/httpd.conf
以下を変更

DirectoryIndex index.html
 ↓
DirectoryIndex index.html index.py index.php index.cgi

#AddHandler cgi-script .cgi
 ↓
AddHandler cgi-script .cgi py php

ユーザフォルダ内のSites下でCGIを有効にする
# sudo vi /etc/apache2/users/ユーザ名.conf
以下を変更

Options Indexes MultiViews
 ↓
Options ExecCGI Indexes MultiViews


以上の設定でpythonをCGIとして利用することができた

apache2になって、ユーザ毎の設定がフォルダ別けされているところにいつもつまずく、、、


| | コメント (1) | トラックバック (0)

2009年9月 7日 (月)

iPhone OS 3.0でアプリの強制終了

iPhoneのSafariは使っているとたまに入力を受け付けなくなることが、、、
そんな時はホームボタンの長押しでアプリの強制終了を行って無理矢理復旧させる必要がある。

しかし、iPhoneを3.0にアップデートしてからはホームボタンの長押しが効かなく、iPhone自体の再起動を行うことに
んで、ググってみたら以下の方法でアプリの強制終了ができると


1. 落としたいアプリを起動中にスリープボタン長押しで電源オフを表示させる

2. その状態でホームボタンを長押しする

3. 数秒後、一時的に画面がフリーズしてホーム画面に戻り、アプリが強制終了させる


ひとつ手順が増えたけど3.0でもアプリ単体の強制終了は可能だった

| | コメント (0) | トラックバック (0)

2009年9月 6日 (日)

Arduinoをはじめる

最近流行のArduinoを秋葉原の千石で買ってきたので使ってみる。

Img_0067








まずは開発環境のインストール
ここからhttp://arduino.cc/en/Main/Software
Arduino 0017 Mac OS Xをダウンロード
「arduino-0017.dmg」を開く

20090906_134852





「Arduino」をアプリケーションフォルダにコピー
「FTDI Drivers for Intel Macs (2_2_10).pkg」を開いて、ドライバをインストール
インストール後再起動


Mac BookにArduinoをUSBで接続
「PWR」LEDが点灯し、「L」LEDが点滅する

Img_0068





アプリケーションから「Arduino」を開く
「Tools」メニュー →「Serial Port」→「/dev/cu.usbserial-A6008lx9」を選択

これでArduinoの開発環境が出来上がる。

LEDを点滅させるプログラムを作成

Arduino IDEのを起動し以下のプログラムを記述

#define LED 10

void setup()
{
pinMode( LED, OUTPUT );
}

void loop()
{
digitalWrite( LED, HIGH );
delay( 1000 );
digitalWrite( LED, LOW );
delay( 1000 );
}

Verifyボタンを押し「Done compiling」が出ることを確認

LEDをArduinoボードの13ピンとGNDピンにつなげる

Uploadボタンを押しArduinoボードへアップロード
その後LEDの点滅を確認(写真はLED消えてた、、、)

Img_0069





とりあえずここまで

ArduinoのプログラムはPICのプログラムよりわかりやすいし、
プログラムの書き込みもパソコン上の操作だけで簡単に行うことができるのでとても便利

次はアナログピンを使ってみる予定

| | コメント (0) | トラックバック (0)

Snow Leopardをインストール

最初の記事は新しいMac OSのインストールネタから

先日秋葉原で、Snow Leopardと250GBのHDDと2.5インチHDDケースを買ってきて、
今日ようやくインストール作業を、、、

今回は1年半使ったLeopardのHDD(160GB)をやめて、新しい250GBのHDDにSnow Leopardをインストールする。
160GBの方はフォーマットせずに、そのまま外付けHDDとして利用することにする。


まずはHDDの入れ替え作業から


Mac Bookのバッテリーを外して、メモリーの交換の時と同じようにねじを外していく

Img_0064








HDDを抜き取る

Img_0063





ケースのねじがトルクスネジであせったけど、ペンチを使って無理矢理はずす

Img_0062




ケースに新しいHDDをはめて、MacBookの中に戻す

HDDの入れ替えはトルクスネジで戸惑ったけど、あとは簡単な作業
次はSnow Leopardのインストール

ハードディスク乗せ替えて起動
画面まっしろ
CD挿入
言語選択
インストールするディスクが検出出来ない
ディスクユーティリティでHDDのフォーマット
ディスク選択
カスタマイズはいじらず、インストール開始
33分後に再起動
ようこそムービー
入力言語の選択
Apple IDの入力
ユーザ情報の入力
その後そのまま使用可能に!!

最初はユーザフォルダがApple IDのままにしてしまったので、すぐに2度目のインストールを行った、、、
USBのマウスをインストール作業中も普通に使うことができるので作業は簡単


あとは今までの環境に戻すために以下の作業を

・LeopardのインストールディスクからiLifeをインストール
・Microsoft Office2008のインストール
・Vmware fusionのインストール(BootCampはまた今度)
・Operaのインストール(/Users/****/Library/Preferences/Opera Preferencesのファイルを元のHDDから移動)
・miのインストール
・ピクチャとミュージックの移動


とりあえずここまで作業完了
あとは気がついたことからやっていこう


| | コメント (0) | トラックバック (0)

トップページ | 2009年10月 »