いつもの日記 » この記事

はじめてのAndroidプログラミング 改訂版

 

はじめてのAndroidプログラミング 改訂版
金田 浩明 (著)

 

電子工作との関連で、コントローラ部分をスマホで作ろうとして急にアンドロイドの解説本が必要になりまして、前々からマークしていた本書を読んで勉強しました。

 

アマゾンの書評でも書かれていますが、とても良い本です。UI関係の取得の仕方や配置方法について丁寧に説明してくれているので重宝します。アプリを作る場合、実際のところ向き合うことになるのは、アンドロイドプログラミングの決め事と、開発ツールであるAndroidStudioの使い方の理解のウェイトが大きいと感じていますので、そこに重点を置いたチュートリアルも好感が持てます。また、チュートリアル中に出てくる各JavaのAPIに関しても、都度、文中における目的とその関数の簡易リファレンスを掲載しているので、この関数はどういった場面で使うべきなのかが理解できるようになっています。

 

★★★★★ 5点(満点) 満点あげるのは、初めてかも。これはお薦めしたい。

幻想映画館

 

幻想映画館
堀川 アサコ (著)

 

連作の2作目になる本ですね。郵便局があるんだったら、映画館があったっていいじゃないとかいうノリでしょうか。

 

あの世とこの世の境にある映画館が今回は舞台。前回では、脇役だった大奥様というキャラクターの親族の女の子が今回は主人公になっています。何人かは前作から引き続き登場します。怨霊の真理子さんは、少し浄化されて幽霊の真理子さんになり映画館の支配人の恋人として出てきますね。

 

このシリーズは本を一気に読む人には面白い本でしょう(3時間とか4時間で最後まで突っ走れる人)。じっくり世界観を理解して楽しみたいとか、ちょっとずつ読んでは咀嚼しながら読むといったスタイルの読み方をする人には、設定の穴や矛盾が気になるのではないでしょうか。

 

★★★★☆ (3.5~4点) サクサク読めるが、合わない人には合わない。

幻想郵便局

 

幻想郵便局
堀川 アサコ (著)

 

初めて読む作家さんの本です。ノリのいいファンタジーなので、サクサク読めました。大体4時間ぐらい?

 

あの世とこの世の境にある郵便局を舞台にアルバイトとして働くことになった主人公の女の子が、一癖も二癖もあるあの世とこの世の住人達と接しながら日々を送っていく姿がコミカルに描かれてます。しかしそんな日々もある出来事をきっかけに…的なストーリーになっています。

 

この作品に出てくるキャラクターの一部は、次の作品にも引き継がれるんですね。怨霊の真理子さんなど個性的なキャラが、うまく性格描写されていると思いました。

 

★★★★☆ (3.5~4点)

佐藤明機先生の新刊でるんですね?

佐藤明機先生の新刊でるんですね。twitterの方で、告知あがってます。

 

ワーイヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノワーイ

 

https://twitter.com/hashtag/佐藤明機?lang=ja

 

佐藤漫画のファンとしては、ここは応援したいところ。

最近作ったもの(2) -電子工作-

もう一つ作りました。

 

ずっと前に作った、アルディーノで制御する三輪ライントレース車をタンクタイプに改造して、AndoroidスマホとBlueTooth機器を使ってシリアル通信化しました。

 

20170614b

 

新たに購入した、タミヤのタンク基本セットとオプションのユニバーサル基板セットに2000円ぐらいかかっています。

 

BlueToothの部品は、「HC-06」になります。

 

前にも同じように、BlueToothモジュールを介してシリアル通信ができないものかとやった覚えがあるのですが、その時は失敗してます。今回は、いきなりアルディーノタンクにHC-06をのっけて実験するのは止めにして、以下のブログさんの記事を参考に前実験してみました。

 

[curious4dev ]
http://curious4dev.mydns.jp/post-1354/

 

シンプルに説明してくれているので、とてもわかり易くて助かりました。
で、下のような感じで真似をして…

 

20170614c

 

うまくいきました。うまくいったのでこちらのプログラムとライントレース用のプログラムを、組み合わせて走らせてみます。

 

取得したアスキー文字をswitch文で振り分けてあげればいいだけなので、一定速度で一定方向にただ動かすだけのシンプルなものなら、以下のコードで動きました。

 

[CMascot.h]

// スマホとブルートゥース(シリアル)通信で、やり取りするタンクプログラム[2017.06](完成版)

// Bluetooth通信ライブラリ
#include <SoftwareSerial.h>
SoftwareSerial BT(10, 11);

void setup() {
  
  // [1] アルディーノ側初期設定
  Serial.begin(9600);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);   // アナログ値出力 (0~255 まで負の値不可)
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);   // アナログ値出力 (0~255 まで負の値不可)

  // [2] HC-06 側初期設定
  BT.begin(9600);
}

void loop() {
  // ローカル変数
  char a;  // 受信した値を格納(アルディーノのswitch文では、文字型も受付るが、'A'は、65と解釈されるので文字列の数値も値が'1'は49 '0'は48と解釈される)
  
  // Bluetooth 受信処理
  if (BT.available()) {
    a = (BT.read());

    // Case文
    switch(a){

/* TestCode
      case 48:
        BT.println("0 commaned about 48");
        break;
      case 49:
        BT.println("1 commaned about 49");
        break;
      case 1:
        BT.println("1 commaned about 1");
        break;
      case 0:
        BT.println("0 commaned about 0");
        break;        
*/


      case 49:  // 前進
              
        // 左モーター制御(正転)
        digitalWrite(7, HIGH);
        digitalWrite(8, LOW);
        analogWrite(9, 255);
        // 右モーター制御(正転)
        digitalWrite(4, HIGH);
        digitalWrite(5, LOW);
        analogWrite(6, 255);
 
        delay(10);
        BT.println("Foward Commanded!");
        break;
        
      case 50: // 後退 [moter(); 内で、左右モーターを逆転させ、かつ最大出力とする]

        // 左モーター制御(逆転)
        digitalWrite(7, LOW);
        digitalWrite(8, HIGH);
        analogWrite(9, 255);
        // 右モーター制御(逆転)
        digitalWrite(4, LOW);
        digitalWrite(5, HIGH);
        analogWrite(6, 255);
        
        delay(10);
        BT.println("Back Commanded!");
        break;
        
      case 51:  // 停止
      
        // 左モーター制御
        digitalWrite(7, LOW);
        digitalWrite(8, LOW);
        analogWrite(9, 0);
        // 右モーター制御
        digitalWrite(4, LOW);
        digitalWrite(5, LOW);
        analogWrite(6, 0);

        delay(10);
        BT.println("Stop Commanded!");
        break;
        
      case 52:  // 前進しながら右旋回
      
        // 左モーター制御(正転)
        digitalWrite(7, HIGH);
        digitalWrite(8, LOW);
        analogWrite(9, 255);
        // 右モーター制御(正転)
        digitalWrite(4, HIGH);
        digitalWrite(5, LOW);
        analogWrite(6, 80);
            
        delay(10);
        BT.println("Foward and Right Commanded!");
        break;
        
      case 53:  // 前進しながら左旋回

        // 左モーター制御(正転)
        digitalWrite(7, HIGH);
        digitalWrite(8, LOW);
        analogWrite(9, 80);
        // 右モーター制御(正転)
        digitalWrite(4, HIGH);
        digitalWrite(5, LOW);
        analogWrite(6, 255);
        
        delay(10);
        BT.println("Foward and Left Commanded!");
        break;
        
      case 54:  // 信地旋回(右) [moter(); 内で、左モーターを正方向に。右モーターを逆方向にして、最大出力]

        // 左モーター制御(正転)
        digitalWrite(7, HIGH);
        digitalWrite(8, LOW);
        analogWrite(9, 255);
        // 右モーター制御(逆転)
        digitalWrite(4, LOW);
        digitalWrite(5, HIGH);
        analogWrite(6, 255);
    
        delay(10);
        BT.println("Rapid Right Commanded!");
        break;
        
      case 55:  // 信地旋回(左) [moter(); 内で、右モーターを正方向に。左モーターを逆方向にして、最大出力]

        // 左モーター制御(逆転)
        digitalWrite(7, LOW);
        digitalWrite(8, HIGH);
        analogWrite(9, 255);
        // 右モーター制御(正転)
        digitalWrite(4, HIGH);
        digitalWrite(5, LOW);
        analogWrite(6, 255);
    
        delay(10);
        BT.println("Rapid Left Commanded!");
        break;

      default:
        break; 
    }

  }
}




 

あんまり複雑なことは出来ません。動作を変えるのに、都度ターミナルからコマンドを送り込まないといけないので。ですが、プロトタイプとしてはこれでも十分ではないかと思います。

最近作ったもの(1) -電子工作-

電子工作の続き。

前に作った、ミニアンプは、ブレッドボード上に配置して動いたところで、うっちゃっておいたのですが、そのまま放置しておくとホコリがのったり場所とったりして困るので、ユニバーサル基板に移植して箱に収納しました。

 

20170614a

 

筐体に使ったのは、セリアで売ってる、「フタ付きケースCube」です。上部に蓋があるので、メンテナンスが楽なのと、半透明なので電源を入れたときに、基板上のLEDが点灯して、半スケルトンの箱の中から滲んで光ってるので都合がよろしいです。

 

20170614d

 

スピーカー部分は、秋月で100円で売ってる本体を、これもセリアで買ったブックスタンドに、ドリルで穴開けて、ネジ止めしたものをつけてます。これらをまとめてたもろもろをこれまたセリアで買った100円の収納ボックスにいれて、押し入れに収納しました。セリアさまさまです。

少女ノイズ

 

少女ノイズ
三雲 岳斗 (著)

 

図書館で表紙に引かれて借りてきました。

 

本書は連続した5つの短編で構成されています。ワトソン役の語り部として殺人現場の写真を撮るのが趣味だというちょっとあぶない男子大学生の高須賀と、ホームズっぽい役割のクールな女子高生、斎宮暝の二人のペアでストーリーが進んでいまきす。読んだ感想は、可もなく不可も無くといった気がしました。最後までちゃんと読みましたが、ちょっと暝さん、切れ者すぎないかなぁと。道化役のスカがちょこまか動くのはいい感じでしたが、暝は完璧すぎてなんか面白みに欠けるような気がしました。

 

評価 ★★★☆☆ 3点/5点

 

折角異常な趣味の持ち主という設定があるので、スカにはいっそ暝との対決で終わるダークな展開だったらそれはそれで面白かったかもと思いました。

Galleryに一枚追加しました。

私は存在が空気

 

私は存在が空気
中田永一 (著)

 

こちらも図書館で借りた本。直後にブックオフでまとめ買いした万能鑑定士シリーズが積ん読状態になったので、急いで読んだのでざっくりとした感想になります。

 

独立した6つの短編で構成されています。主人公はみな学生だったり、若者だったりしてますが、みんな特殊能力をもった超能力者という設定になっています。タイトル名にもなっている短編や最初の話など、特殊能力はもっているが何かしらのコンプレックスをもっていて卑屈な生き方をしている主人公達がそれぞれなんらかの出来事をきっかけに変わってゆくというストーリーが多かったような気がします。この本の中では「ファイヤースターター湯川さん」という話が一番おもしろかったかな。

 

評価 ★★★☆☆ 3点/5点

 

これも面白いかと言われれば、ちょっと微妙かと。主人公たちが奇天烈すぎてついていけないのが一番のネックかも。ミステリーではないと思います。日常系のファンタジーに属する本ではないでしょうか。

扉絵を変更しました。

やっぱり鉄道ものなんですが、こっちの方に変更します。SAIで描くとこんな感じになりました。

1 / 2412345...1020...最後 »