ベトナムマンガフェスティバル2015(1日目・イベント編)

こんばんは、Reveです。引き続き、マンガフェスティバルです。
今回はステージイベントを紹介していきます。皆さんお待ちかね(?)、ゆるめるモ!もあるよ。

【ステージについて】
特設ステージは入り口から一番右奥に設置されていました。
IMGP1435.jpg

そこではコスプレコンテストから歌や寸劇の披露、さらにはバンド演奏まで行われており、フェスティバルの目玉と言えるでしょう。
フェスの開場直後から終了間際までさまざまなイベントが行われているのを見ると、さすがメインイベントだけあるなぁと思いました。
もっとも、進行時間が20分や30分遅れるのもさすがといった感じ。フリーな感じがまたいいですね。)

【出演者について】
漫画やアニメのお祭りなので、やはりメインはコスプレです。こちらは、ラブライブののんたん!!!
IMGP1515.jpg

一般の人から、VIPゲストで呼ばれている人まで多くの人がステージに上って自身のコスプレを披露していました。
またイベントも、単に披露するだけから歌や寸劇を行うものまでいろいろな種類がありました。
IMGP1572.jpg

IMGP1566.jpg

うたのプリンスさまっマジLOVEレボリューションズ、略してうたプリですね☆踊ってました。
IMGP1577.jpg

また、日本の歌謡曲を歌うコンテストや浴衣コンテストといった、およそアニメに関係ないようなイベントも執り行われていたので、このあたりの幅広さにもお国柄が表れているのでしょうか(もしかして日本もそうなのか)。マンガフェスティバルというか、日本大好きフェスティバルの様な雰囲気も感じました。

そして、前々からお伝えしているように、「ゆるめるモ!」という日本のアイドルグループもゲストで来ていました。
IMGP1485.jpg

アイドルグループの生ライブをちゃんと見るのも初めてだったので、心行くまで堪能させていただきました。
IMGP1496.jpg
ちなみに、こうして何度か書いてはいましたが、当方は会場に来てから初めて知りました(・ω<)

アイドルのイベントもなかなか楽しかったのですが、土曜日は盛り上がりで言うと「L.C.L」というバンドの演奏が一番でした。
実はベトナムで人気らしく、アニメやコスプレをうまく取り込んでホーチミンで成功しているバンドグループだそうです。
当方もここに来てから知りましたが、演奏や周りの熱狂ぶりを見ていると、確かに人気が出るのも分かる気がしました。
IMGP1626.jpg

金髪のお姉さんがメインボーカルで
IMGP1615.jpg

ツインテールのお姉さんが声優さんのような歌声担当という感じ。
IMGP1621.jpg

この日は、ホーチミンで有名なギタリストの方もゲストだったそうです。
IMGP1619.jpg

周りの音がかき消されるほど大音量の演奏でした。やはり生ライブは迫力が違います。
IMGP1623.jpg

鋼の錬金術士のエンディング曲、けいおん、マクロスでランカちゃんが「抱きしめて銀河の果てまで~キラッ」と言う曲が歌われ、最後はライオンで〆でした。「ゆるめるモ!」と「L.C.L」、どちらも今後の活躍も楽しみですね。

次回は、イベントで出会ったレイヤーさんたちの紹介をしたいと思います!
では☆キラッ

テーマ : イベント
ジャンル : サブカル

ベトナムマンガフェスティバル2015(2日目・ブース編)

こんばんは、Reveです。
今日もマンガフェスティバルの報告を記事にします。
とりあえず、出展していたブースなどの様子について書いていきます。

【会場の様子】
前回の記事でもお伝えしたとおり、会場はあまり広くありません。ですが、中のブースはグッズ売り場から金魚すくいの屋台など、日本のイベントとはまた違う印象を受けました。

では、入り口から会場の様子を見てみましょう。
場所はホアルー運動場というところで、入り口はこんな感じ。
マンガフェス会場入り口

チケット売り場の前の看板です。
マンガフェスティバルということだけあって、日本の漫画やアニメのキャラクターがいろいろと描かれていました。
ラブライブに黒執事ですね!テンションがあがりますね!!!
マンガフェス看板

チケットは、土曜日が75000VND、日曜日が85000VNDでした。
また、形も長方形ではなく、キャラクターの形や、うちわのようになっていたり凝った作りでした。ガンダムー!
しまうのが面倒だけどな
チケット

会場に入ると、こんな光景が広がります。
会場

付近には、記念撮影できるスポットとしてこんなものや
カードキャプターさくらのカードフレームいいですね!さくらちゃんコスの方もたくさん見つけましたよw
IMGP1397.jpg

コスプレ用の背景も置いてありました。
IMGP1400.jpg


場所は運動場なので、屋根があるとはいえ屋外であることに変わりはなく、中の気温なども天候に左右されます。
更に、屋根も雨を完全に防ぐわけではないので、会場の真ん中が雨で分断されるときもありました。どうしてこうなった。

お店は漫画やアニメのグッズ売り場から
IMGP1403.jpg

IMGP1411.jpg

IMGP1419.jpg

冊子の販売スペース
IMGP1406.jpg

IMGP1416.jpg

さらには屋台もありました。
屋台は、たこ焼きやお団子、カキ氷にソフトクリームなど何だか日本のものが多く並んでいましたが、ベトナム料理を扱うお店も中にはありました。
IMGP1426.jpg

金魚すくいもあるなど、およそアニメとは関係ない雑多な感じはベトナムだからかなぁ、と思いました。
IMGP1606.jpg

そんなお店が並んでいるマンガフェスですが、当方もいくつかグッズを購入してみました。
実は日本でちゃんとこういったイベントに行ったことがありませんでしたが、こちらのグッズは全て含めて約100万VND(日本円で5000円程度)で買いました。なので、クオリティとか値段の相場はあまり知りませんが、割と安い(気がします)し、ベトナムに来た思い出にもなるので。

日本のマンガ単行本や同人冊子も売られていましたが、そちらは購入しませんでした。
古本みたいなものだったのでしょうか?版権とか大丈夫かと

もちろん(?)、特設のメイドカフェもありましたよ。
せっかくなので当方はお店に入りました(意味不明)。
IMGP1599.jpg

残念ながら、「おいしくなる魔法」とやらは頂けませんでしたw
注文するものを間違えたのか、いや、魔法の呪文など聞こえてはこなかったはず。
一方、夢担当は可愛いメイドさんを捕まえて一緒に写真を撮ってもらっていました…(うらやまし…)

そういえば、会場の中では日本のアイドルグループ「ゆるめるモ!」のブースもありました。ライブが中心だったので、ステージの写真もたくさん撮りましたが、その様子はまた次回にでも。
IMGP1422.jpg

では、今回はこの辺で(・ω・)ノシ

テーマ : イベント
ジャンル : サブカル

ベトナムのマンガフェスティバル2015に行ってきた

こんばんは、Reveの技術担当です。
実は、先週末にベトナムのマンガフェスティバルに行ってきました。
今回はこのイベントの様子をお伝えしようと思ったのですが、すべて一度に紹介するのは大変なので、何回かに分けて投稿しようかと。

【マンガフェスティバルとは】
マンガフェスティバル(Manga Festival 2015)とは、2010年からホーチミンで毎年行われている漫画やアニメのお祭りで、日本のコミックマーケットみたいなものです。
こちらが公式のfacebookページです。
https://www.facebook.com/MangaFestival

こっちに来てから知りましたが、ハノイでは日本の漫画やアニメがまず見られないため、恐らくハノイのオタクにとって貴重なイベントなんだと思います。
当方はどうしてもこれに行きたくて、ホテルと航空券を予約して、金曜の夜にホーチミンに行きました。ヒャッハー
そして仕事のため、日曜の夜にハノイに戻りました。南無

【現地の様子】
イベントは24日(金)から26日(日)までの3日間でしたが、当方は土曜と日曜の2日間行きました。
場所はホーチミン市1区のホアルー運動場(2 Dinh Tien Hoang St., Da Kao Ward, Dist.1)で、会場自体はそこまで広くありません。じっくり見まわっても2時間程度あれば一周できる位でした。

会場

土曜日は夕方の雨の時間が長かったせいか人もそこまで多くはありませんでしたが、日曜日は打って変わって動けなくなる位、会場がにぎわっていました。

会場にはグッズ売り場はもちろん
IMGP1405.jpg

特設ステージも備えられていました。
IMGP1435.jpg

ちなみに、日本から「ゆるめるモ!」というアイドルグループがゲストで来ていました。ゆーゆーゆるゆるゆーゆーゆるめるもーお~♪
IMGP1446.jpg

また、コスプレをして参加される方もおり、実際にステージで歌や寸劇を披露される方もいました。
IMGP1586.jpg

夜はアニメ曲のコピーバンドL.C.Lが演奏をしたりと、会場は小さいながらも、まさしく「お祭り騒ぎ」という言葉がふさわしいイベントでした。
IMGP1623.jpg

ざっと現地の様子を書いてみましたが、まだまだ書ききれていない部分も多いので、順次書いていきたいと思います。

テーマ : イベント
ジャンル : サブカル

加速度センサーのお話

こんにちは、Reveです。技術のほうです。
最近は仕事の方で立て込んでいましたが、久々に投稿したいと思います。

今回も電子部品の紹介で、加速度センサーを紹介します。
以前の記事でも加速度センサーを取り扱ったことはありましたが、改めて詳細について書いていこうかと。

(加速度とは何か)
加速度センサーとは名前の通り加速度を計測するものですが、では加速度とは何でしょうか?

要は「単位時間当たりの速度の変化率(Wikipedia)」ですが、言い換えると「1秒間でどれだけ速度が増すか」を意味します(単位はm/s2)。)。
速度に時間をかけて物体の移動量(距離)が求まるのと同様に、加速度に時間をかけて速度の増加量が求められます。

加速度は物体に外力(外からの力)が加わることで生じますが、これを理論的に表したものが、学校でも習うニュートン力学の「運動の第2法則」および「運動方程式」です。授業で習った「F = m × a」という数式は、加わった力と加速度の関係を表し、力と物体の質量から加速度を求められることを意味しているのです(正確な理論については面倒なので割愛)。

(改めて、加速度センサーとは)
当然、加速度を計測するものですが、どういった場面で利用されるかといえば、物体にかかる力の測定、歩行・走行など運動の解析、さらには姿勢計測などにも使われます。

加速度でなぜ姿勢が取れるかというと、実は静止していても重力が常に働いているため、そこから物体にかかる加速度(重力加速度)を求められ、重力がかかる方向から結果として姿勢が分かるのです(ちなみに、重力加速度は約9.8m/s2)。
重力といえばやはりニュートンが発見したことでおなじみですが、初めてこのように使われていたと知った時は驚きました。

説明だけでは想像しづらいかと思いますので、図にしてみました。
今回は簡単にするために2次元のみで考えてみます。
SensorGradTutorial.jpg

センサーは重力(加速度)を、互いに垂直な3方向(今回は2方向のみ)に分解して測定します。
センサーに対して水平方向に働く力と垂直方向に働く力の割合か逆三角関数によって傾いている角度がわかるのです(詳しい解説やより正確な手法などについては割愛。ググれ)。

そのため、逆に動いている状態では物体の姿勢を計測することはできません
運動を見ながら物体の姿勢も測りたいときは、他のセンサーと組み合わせるなどの工夫が必要です。

近年ではセンサーも小型・低価格化が進み、利用しやすいモジュールの形で販売されているものも増えました。
主に電圧の高低で出力(アナログ出力)するものと、SPIやI2C通信などで測定データを送信するものに分かれますが、使いやすさ重視であれば前者、正確なデータ重視であれば後者を選ぶとよいでしょう。

(サンプル)
せっかくですので、この姿勢計測を実際に試して見ましょう。
今回使うセンサーは、秋月電子通商のKXR-2050です。なお、当方は前のバージョンのものを使用していますが、ピンの配置や基本的な性能は一緒です。このセンサーとArduino Micro(なければArduino Unoでも可)でサンプルを作ります。

それでは、回路とプログラムを紹介していきます。
回路は、以前の記事で制作したものとまったく同じです。
AccSnsController_Circuit.jpg
なお、Arduinoとセンサーのピン対応は以下の通りです。
Arduino加速度センサー
5V1, 2
GND3, 5
A06
A17
A28

回路を一通り見たところで、いよいよプログラムについて見てみます。
とりあえずソースコードすべてを見てみましょう。

//加速度センサーのパラメータ
#define MaxX 739 //1G加わった時の値
#define MaxY 737
#define MaxZ 762
#define MinX 298 //-1G加わった時の値
#define MinY 296
#define MinZ 365

//加速度センサ
int workX[8]; //X軸方向の出力
int workY[8]; //Y軸方向の出力
int workZ[8]; //Z軸方向の出力

int offsetX = 0, offsetY = 0, offsetZ = 0; //中央値

void setup() {
Serial.begin(9600); //シリアル通信の転送速度:57600bps

//中央値および相殺値
//0gの時, 出力平均が中央値より大きいなら、相殺値を足す
//0gの時, 出力平均が中央値より小さいなら、相殺値を引く
offsetX = (MaxX + MinX) / 2 + 1;
offsetY = (MaxY + MinY) / 2 + 2;
offsetZ = (MaxZ + MinZ) / 2;

//加速度センサの初期値
for(int i = 0; i < 8; i++)workX[i] = analogRead(0);
for(int i = 0; i < 8; i++)workY[i] = analogRead(1);
for(int i = 0; i < 8; i++)workZ[i] = analogRead(2);
}

void loop() {
double theta;

//出力平均値(加速度センサx, y, z)
int adcavX = 0;
int adcavY = 0;
int adcavZ = 0;

//出力の平均値を軸(x, y, z)別に求めていく
//単純移動平均をとることで突発的な誤差の影響を少なくする
for(int i = 0; i < 8; i++)
{
if(i == 7)
{
workX[i] = analogRead(0);
workY[i] = analogRead(1);
workZ[i] = analogRead(2);
}
else
{
workX[i] = workX[i + 1];
workY[i] = workY[i + 1];
workZ[i] = workZ[i + 1];
}

adcavX += workX[i] >> 3; //3bitの右シフトは 8<2の3乗>の割り算
adcavY += workY[i] >> 3;
adcavZ += workZ[i] >> 3;
}

//加速度センサの出力を正規化
int normaX = ((long)adcavX * 1023 - (long)offsetX * 1023) / (MaxX - MinX);
int normaY = ((long)adcavY * 1023 - (long)offsetY * 1023) / (MaxY - MinY);
int normaZ = ((long)adcavZ * 1023 - (long)offsetZ * 1023) / (MaxZ - MinZ);

//逆三角関数(AVRマイコン用)も利用できる, atan2も使用可
if(normaZ > normaX || -normaZ > normaX)
{
theta = asin(normaZ / sqrt((double)normaX * normaX + (double)normaZ * normaZ));
}
else
{
if(normaZ < 0)
theta = -acos(normaX / sqrt((double)normaX * normaX + (double)normaZ * normaZ));
else
theta = acos(normaX / sqrt((double)normaX * normaX + (double)normaZ * normaZ));
}

Serial.print(theta, 4); //小数点以下4桁を表示
}

大まかな流れとしては、以下の通りです。
1. 加速度センサーのパラメータ(中央値、相殺値)調整
2. 加速度センサーの値を取得
3. 傾斜角の計算と標準入力(シリアル通信)

加速度センサーの処理については、からくり小箱様のこちらの記事を参照しました。
今回のような加速度を電圧で出力するタイプのセンサーは、それぞれの出力の最大値と最小値が本来の仕様と若干ずれてしまうため、正規化をかけて、中央値と実際のゼロ点のずれを相殺値によって補正しています。ちなみに、理想的には中央値が電源電圧の半分(2.5V)、出力感度が1/5(1V/g)になります。

また、単独のアナログ入力による取得値では、ノイズや軽い振動による出力のずれが影響してしまうため、移動平均という手法で過去の値と平均をとって細かい値の変化を抑えています。

プログラムを書き込んで、角度が表示されていれば成功です。
表示は、垂直に立てた場合を0°として、±180°で傾斜角が表示されます。

ちなみに、加速度とジャイロが一体になったセンサーがAmazonで売られていました(しかも450円と安い!!)。I2C通信で動かすようですが、こちらも試してみるといかがでしょうか。

テーマ : ハードウェア
ジャンル : コンピュータ

I2C通信のミニマトリックスLED

こんばんは、Reveです。技術のほうです。
今回からしばらく、電子工作で使える電子部品の紹介をしていきたいと思います。

今日は、I2C通信の8x8ミニLEDマトリックス基板を取り上げます。
20150709203446747.jpg

(部品の概要)
このモジュールは、その名の通りI2C通信(こちらを参照)で表示する絵や文字をコントロールできるもので、専用のArduinoライブラリも開発元から提供されています。マトリックスLED本体も大きさが2cm四方なので、非常にコンパクトな部品です。

裏面はこのようにICが実装されています。また、各ピンの役割も明記されているので、対応するピンと接続すれば制御できます。なお、LEDとピン(同梱)は自分ではんだ付けする必要があります。
20150709203502073.jpg

ちなみに、マトリックスLEDとはLEDが格子状に並んだ部品です
特定の位置のLEDを光らせるには、対応する行と列のピンに電流を流します。マトリックスLED自体についても、またブログで取り上げる予定です(多分)。

(使い方とサンプル)
では、Arduinoを使ってこのモジュールを制御してみましょう。
ここでは回路のつなぎ方と、ソフトウェアの使い方について説明します。
今回は、ProMini(3.3V)を使用しています。

まず、回路は電源ライン(Vcc、GND)と通信ライン(SDA、SCL)を接続します。
電源は5V推奨ですが、3.3Vでも問題なく動作します。また、通信についてはSDAをA4SCLをA5ピンに接続します(一般的なI2Cデバイスと同じです)。
ProMiniでは、A4、A5ピンが基板の内側にありますが、ここにはピンが接続されていないため、自分でピンをはんだ付けする必要があります(ちなみに、ProMiniは全てのピンをはんだ付けする必要があります)。

図にすると、下のような回路になります。
Arduino_MatrixLEDI2C.png

出来上がった回路は写真の通り。
20150709203426998.jpg

裏側はこのようになっています。
20150709203437922.jpg

これで回路は完成したので、続いてプログラムを紹介します。
サンプルプログラムを書いてみたので、こちらを参考にしてみてください。

#include <Wire.h>
#include "Adafruit_LEDBackpack.h" //専用ライブラリ1
#include "Adafruit_GFX.h" //専用ライブラリ2

const int NUM = 8; //LEDの行数、列数

Adafruit_8x8matrix matrix = Adafruit_8x8matrix();

static const uint8_t PROGMEM //描画用のデータ
niku_bmp[] =
{ B00011000,
B11111111,
B10011001,
B10100101,
B10000001,
B10011001,
B10100101,
B10000001 };

void setup() {
matrix.begin(0x70); //マトリックスLEDの初期化
}

void loop() {
matrix.clear(); //LED表示の消去
matrix.drawBitmap(0, 0, niku_bmp, 8, 8, LED_ON); //描画データを読み込む
matrix.writeDisplay(); //LED表示
delay(500);

for (int8_t x=0; x>=-30; x--) {
matrix.clear();
matrix.setCursor(x,0);
matrix.print("Hello"); //文字列を描画データに変換
matrix.writeDisplay();
delay(100);
}
}


詳しい解説は省きますが、このプログラムでは「肉」と「Hello」を交互に表示します。
なお、I2C通信については専用のライブラリが処理してくれるので、自分で処理を実装する必要はありません。
20150710234657880.jpg

カラーバリエーションも豊富です。
   

テーマ : ハードウェア
ジャンル : コンピュータ

標準入力のバッファ内容を一度に読み取る(C#)

おはようございます、Reveの技術担当です。
久しぶりに記事を投稿します。
いやー、投稿するネタが見つからなかったもので

最近、CodeIQでプログラミングの問題を解くことがあるのですが、その際にちょっと(というよりだいぶ)悩んだことがあり、それを記事にしようかと。

(標準入力について)
プログラミングの経験者であればご存知かとは思いますが、標準入力とは簡単に言うとキーボード入力を指し、プログラム上で読み込み要求(メソッドなど)を実行することで入力されたデータを取得できます。

C#でも当然、標準入力を受け取るメソッドがありまして、Console.Read()やConsole.ReadLine()が該当します。通常は、改行文字の前までをひとつの文字列(string)として読み取るReadLineメソッドが使われ、改行キー(Windowsの場合はEnter)を押すことでキーボード入力を取得できます。
また、ReadLineでは改行文字を自動的に省いて処理を行ってくれます。

(ReadLineメソッドの弱点)
ですが、このReadLineメソッドにも仕様上の注意があり、それは実行すると改行が入力されるまでは処理を一時停止することです。つまり、改行が入力されないとプログラムは停止したままなのです。

冒頭のCodeIQで悩んだこともこれに関連しており、データの数があらかじめ把握できない状態で、どのように標準入力から抜け出すかでかなり時間を費やしました汗

入力が複数回あったので、whileループなどで繰り返し実行しなければすべてのデータを読み取れませんが、どこで終わるか分からないため、入力が全て終わった後もReadLineメソッドを実行してプログラムが停止したままになります。

//1行分(改行まで)の標準入力を読み取る
string s = Console.ReadLine(); //改行が入力されないと、ここで停止したまま!!

//(後の処理ができなくなる)

こちらで仕様を決められるのであれば、特定の文字列を読み込むとループを抜け出すといった条件分岐も可能ですが、自動入力で必要最低限のデータしか入力されないため、この手法も不可能です。

つまり、自動入力でデータの数(入力回数)が分からない場合、ReadLineメソッドではデータを読み込んで処理することができません(一応、マルチスレッドで制限時間ありの処理を行う方法もあります...CodeIQではエラーになりますが)。

(標準入力ストリームから直接読み込む)
そこで、タイトルのように標準入力を一度に読み取る方法がないかと調べたところ、ありましたw
Console.In.ReadToEndメソッドがまさしく求めたとおりのメソッドで、これを実行すればまだ読み込まれていない(バッファに残った)入力データを全て読み取れます

使い方は簡単で、文字列変数に代入する形で実行すれば、標準入力データがひとつの文字列として返されます。

string s = Console.In.ReadToEnd();

ひとつ注意点としては、改行文字も含めて全て読み込むのでReadLineの時と同じ処理が使用できない場合があります。

たとえば、CSV形式のデータを読み取る際に、stringクラスのSplitメソッド(特定の文字で区切る)を利用するだけでは、データの読み込みでエラーが発生します(数値への変換時に、改行文字がついた部分はエラーになる)。
そのため、改行文字の処理も自分で記述する必要があります。

もうご存知の方も多いかと思いますが、もしお役に立てば幸いです。
では(・ω・)/

続きを読む

テーマ : ソフトウェア開発
ジャンル : コンピュータ

ハノイでフットサル

こんにちは、ローラのような脚を目指したい夢担当です♪
先週の土曜日に知人に誘われてフットサルに参加してきました!
日本では参加したことがなかったフットサル、したことのなかったフットサル、男女混合の試合形式で、予想以上に楽しかったです♪

フットサルの様子はこんな感じ。ASHIZARU HANOI サークルです☆
参加費はお水も付いて50000VND/1人
同年代の25~30歳くらいが一番多く、上は50代の方もいらっしゃいました。それにしても、久々に体を動かしました。走りました。すっきりしましたw
20150701091146181.jpg

当然、相方も参加しましたが、あんなに動いている相方を見たのは初めてで驚きました。やっぱり男の子なんですね~w悔しいけれど、ちょっと上手い。
日本では通勤時間往復3時間+ブラックベンチャーで、自分の時間なんて全然取れなかったし、休日は疲れて動く気になれずという悪循環だったので、ちょっと信じられない時間でしたwハノイで何をしているんだろうとか思ったり(笑)

社内で風邪が流行っており、先週から風邪っぴきです…ベトナムの風邪は手強いようで、日本の薬では治らないそう。会社で鼻ばっかりかんでいますが、ぱちもんの靴も運動着も買ったので今週こそは参加するぞ!

ハノイご飯(とんかつ編)紀伊と匠

夢いっぱいご飯もりもり、こんにちは♪
7月1日で、ハノイに来て早1ヶ月が経ちました(パチパチ☆)
匠(TAKUMI)という和食屋さんには週0.5くらいで行っていたのですが、噂で聞いていた和食レストラン『紀伊』でやーっとランチができました!
夜は居酒屋になってしまうと(ちょっと高くなる?)と聞いていたので、ランチに行ってみたかったのです。
私はよくとんかつを頼みます♪ということで、匠のとんかつ定食vs紀伊のかつ煮定食!
相方と私個人的には、圧倒的に紀伊の勝利でした!

・:.。. ☆☆.。.:*・゜゚・:.。. ☆☆.。.:・゜゚・*:.。. ☆☆.。.:・゜゚・*:.。. ☆☆.。.:・
こちらは、紀伊のかつ煮定食146000VND(約730円)とんかつがまさかの2枚、煮物、ホウレン草の御浸し、お漬物、ご飯、お味噌汁、小さな冷奴、納豆(注文時に納豆はどうですか?と聞いてくれます。追加料金なし)。ホウレン草に納豆に茗荷入りお味噌汁…まさに日本でしたw 最後に、写真にはありませんが、アイスとコーヒーが付いてきました。
ブラボー!!!
飲み物はチャダ(お茶)というと日本のお水のように無料でお茶を持ってきてくれます。なくなったら気付いて注いでくれるので、サービスも行き届いています。
店内は焦げ茶色な色合いで落ち着いた雰囲気で、清掃が行き届いていて、お昼休みの時間制限がなければ、ゆっくりしたいなと思いました。店員さんの可愛い女の子達も出会う度に挨拶をしてくれます、指導が行き届いているなと思いました。
20150701090607368.jpg

こちらが、匠(TAKUMI)のとんかつ定食137000?VND(約685円)とんかつ1枚、ご飯、お味噌汁、お漬物、サラダが付いてきます。飲み物をいつも頼めと言われるので、仕方なく安いので甘いコーラを注文します。とんかつを頼む度に、お肉が切れていなかったり、ソースがなかったりと一度でちゃんと来たことがありません(笑)店内は、明るくて綺麗めですが、うーん、もう少し清潔感がほしいな…といったところでしょうか。でも、和食ということもあり、日本人だらけです。
20150701091020865.jpg

紀伊の外観はと3階の店内はこんな感じ。
1階にはカウンター、2階はお座敷かしら?大勢で行っても広いので入れます。
紀伊

私が働いて住んでいるハイバーチュン地区(外国人街)は、日本人が多いため和食店が多いですが、ランチ価格は日本円で約700〜1000円なので、ベトナム料理店と比べると倍します。和食価格はあまり日本と変わらないですね。
ということで、全ての項目において、圧倒的に紀伊が勝利しました。
紀伊は評判が高いだけあって、とても良かったです!
すごーくお腹が空いた時にまた是非行きたいです♪また紀伊レポしますw

Raspberry Piでシリアル通信(他のデバイスと)

はい、Reveの技術担当です。
もうネタが尽き始めて困り始めたところなのですが、今日はとりあえずタイトルの通りです。
Raspberry Piでシリアル通信するための記事を書こうかと。

ちなみに、ここでいうシリアル通信とは、いわゆるRS 232C通信を意味します。
詳しくは、こちらの記事を参照していただければ。

(注意)
この記事では、Raspberry PiのOSインストールは済ませているものとします。
また、シリアルコンソールでのログインは使用できません(ログインに必要なピンを使用するため)。

(シリアル通信の方法)
それでは早速はじめましょう。
まずはRaspberry Piを起動してください。ログインが済んだあとは、以下の手順で設定します。

1.Raspberry Pi 内のcmdline.txtを編集ツールで開きます。
 $ sudo nano /boot/cmdline.txt

2.ファイル内容を全て消去し、以下の内容に書き換えます(実際は改行しないほうが良いらしいです(未確認))。

 dwc_otg.lpm_enable=0
rpitestmode=1
console=tty1
root=/dev/mmcblk0p2
rootfstype=ext4
elevator=deadline
rootwait


3.Raspberry Pi のコンフィギュレーション設定を起動します
 $ sudo raspi-config

4.項目「8 Advanced setting」の中にある
raspi-config.png

「A7. Serial」を選択して
Serial-A7.png

NO(使用不可)に設定します。
Serial-A7-select.png

こうすることで、シリアルコンソールによるログインを無効化します。

5.Pythonでシリアル通信をするためのパッケージをインストールします。
$ sudo apt-get install python-serial

もし、インストールが失敗した場合は、$ sudo apt-get update および $ sudo apt-get upgrade を実行してみてください。

6.再起動します。

ここまでの流れでシリアル通信の設定は完了です。

(デバイスのつなぎ方)
まずは図に表わしてみます。
RaspberryPi_Serial1.jpg
Raspberry Pi の8番ピンが送信用10番ピンが受信用のピンになります。また、GNDは6番ピンに当たるため、これらのピンを向こう側の対応するピンに接続することで(互いのTx、Rxピンはクロスさせて接続、つまり互いに逆のピンをつなぐ)通信ができるようになります。
また、電源供給ができるピンもあるため、必要に応じて利用すると良いでしょう。

(プログラム)
続いて、Raspberry Piのプログラムを記載します。
このプログラムでは、送られてきた文字列を画面に表示する処理を行っています。

#! /usr/bin/env /usr/bin/python

import serial
import time

def main():
# USB-Serial:ttyUSB0
# GPIO:ttyAMA0
# con=serial.Serial('/dev/ttyUSB0', 9600, timeout=10)
con=serial.Serial('/dev/ttyAMA0', baudrate=9600, timeout=10)
print con.portstr
time.sleep(3)
while True:
str=con.readline()
print str
#con.write(str)

if __name__ == '__main__':
main()


では、それぞれの解説に入ります。
まず、必要なパッケージをインポートします。シリアル通信にはserialというパッケージが必要となります。

import serial

続いて、シリアル通信の初期設定を行います。
Raspberry Pi では、"/dev/ttyAMA0"というポートでシリアル通信を行うため、このポートに接続すると宣言します。
今回は、通信速度を9600bps、タイムアウトを10秒にしました。

con=serial.Serial('/dev/ttyAMA0', baudrate=9600, timeout=10)
print con.portstr # show all of available serial ports

そして、データの送信、および受信はそれぞれreadlineメソッド、writeメソッドを使用します(writeメソッドはコメントアウト)。
readlineメソッドは改行が来るまでのデータを一度に読み取る処理を行います。
ちなみに、ここではwhile文で無限ループをかけています。

while True:
str=con.readline()
print str
#con.write(str)

以上でプログラムの解説は終了です。

シリアル通信はArduinoなどのマイコン(ボード)をはじめ、様々なデバイスで搭載されているため、通信ができるようになれば制作の幅も広がってきます。ぜひお試しください。

テーマ : ソフトウェア開発
ジャンル : コンピュータ

プロフィール

Reveちゃん

Author:Reveちゃん
コンビでやってます。
夢担当と技術担当がいます。

大学院卒業 → ロボットベンチャー(漆黒)就職 → 1年で退職 → ベトナムで仕事中(今ここ) → メディアアーティスト(未来☆)

リンクフリーです。

最新記事
最新コメント
月別アーカイブ
カテゴリ
アクセス数
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR