髪洗ふ

投稿日:


#kigo #jhaiku #haiku #saezuriha

古川緑波昭和日記

投稿日:

 古川緑波昭和日記、なかなか浩瀚で、読みごたえがある。

 今日現在のところ、Kindleで読めるのは昭和14年まで、青空文庫では昭和15年までである。

 青空文庫の昭和15年まで読み終わる。日米開戦の、ちょうど前年で、食べ物などが戦時統制になっていく様子が克明に書かれている。






LEDをネットにつないでコントロール

投稿日:

 先週少しやりかけて途中だった、Arduino UNO に ETHERNET SHIELD 2 をとりつけ、ウェブインターフェイスを作ってこれでLEDをコントロールするという遊びの続きをやる。

 こんなふうなインターフェイスでコントロールすることにする。

名称未設定 1

 で、ブレッドボードとArduinoはこんな感じ。「SeeedStudio SIDEKICK BASIC KIT」に入っていた3色LEDを使う。

IMG_3004

 スケッチはこんな感じで。ウェブ上で同じようなことを公開している方々は、ブラウザの出力を受けるのに、たいてい普通のポインタ文字列を使っておられるのだが、せっかくStringクラスがあるので、それを活用することにした。Stringクラスを使う欠点は多少メモリを浪費することだが、反面、余裕は十分あり、今回は別にメモリが足りないというわけでもないので、そうした。

//
//  Web2TriColorLED.ino
//    27.06.07(日) 1800~
//    佐藤俊夫
//    3色LEDをウェブインターフェイスで制御
//    ETHERNET SHIELD 2 使用
//
#include <SPI.h>
#include <Ethernet2.h>
//
byte mac[] = {
  0x90, 0xA2, 0xDA, 0x0F, 0xF6, 0x74
};
IPAddress ip(192, 168, 1, 129);
EthernetServer SERVER(80);
EthernetClient CLIENT;
int R = 0, G = 0, B = 0;
const int LEDR = 3, LEDG = 5, LEDB = 6;
//
void setup() {
  Ethernet.begin(mac, ip);
  SERVER.begin();
  pinMode(LEDR, OUTPUT);
  pinMode(LEDG, OUTPUT);
  pinMode(LEDB, OUTPUT);
}


void loop() {
  char c;
  String rstr = "";
  CLIENT = SERVER.available();
  if (CLIENT) {
    while (CLIENT.connected()) {
      if (CLIENT.available()) {
        c = CLIENT.read();
        rstr += c;
        if(rstr.endsWith("\r\n")){
          break;
        }
      }
    }
    if(rstr.indexOf("red=") >= 0){
      R = rstr.substring(rstr.indexOf("red=") + 4, rstr.indexOf("&green=")).toInt();
      G = rstr.substring(rstr.indexOf("green=") + 6, rstr.indexOf("&blue=")).toInt();
      B = rstr.substring(rstr.indexOf("blue=") + 5, rstr.indexOf("&end")).toInt();
    }
    analogWrite(LEDR, R);
    analogWrite(LEDG, G);
    analogWrite(LEDB, B);
    delay(10);
    rstr = "";
    sendform();
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    CLIENT.stop();
  }
}
//
void sendform(){
  char* formFirstHalf[] = {
    "<html>",
    "  <head>",
    "    <meta charset=\"utf-8\">",
    "  </head>",
    "  <body>",
    "    <center>",
    "      <h1>Arduino 3色LEDをウェブインターフェイスで</h1>",
    "      <form method='GET'>",
    "        <table>",
    "          <tr>",
    "  	    <th style='background-color:red;  color:white;'>赤</th>",
    "  	    <th style='background-color:green;color:white;'>緑</th>",
    "  	    <th style='background-color:blue; color:white;'>青</th>",
    "	  </tr>"
  };  //  14 num.
  char* formSecondHalf[] = {
    "        </table>",
    "        <input type='hidden' name='end'>",
    "        <input type='submit' value='セット'>",
    "      </form>",
    "    </center>",
    "  </body>",
    "</html>"
  };  // 7 num.
  int i = 0;

  CLIENT.println("HTTP/1.1 200 OK");
  CLIENT.println("Content-Type: text/html");
  CLIENT.println("Connection: close");
  CLIENT.println();
  CLIENT.println("<!DOCTYPE HTML>");
  for(i = 0; i < 14; i++){
    CLIENT.println(formFirstHalf[i]);
  }
  CLIENT.println("          <tr>");
  CLIENT.println("            <td>");
  CLIENT.println("              <select name='red'>");
  for(i = 0; i <= 255; i++){
    CLIENT.print("                <option value='");
    CLIENT.print(i, DEC);
    if(i == R){
      CLIENT.print("' selected>");
    }else{
      CLIENT.print("'>");
    }
    CLIENT.print(255 - i, DEC);
    CLIENT.println("</option>");
  }
  CLIENT.println("              </select>");
  CLIENT.println("            </td>");
  CLIENT.println("            <td>");
  CLIENT.println("              <select name='green'>");
  for(i = 0; i <= 255; i++){
    CLIENT.print("                <option value='");
    CLIENT.print(i, DEC);
    if(i == G){
      CLIENT.print("' selected>");
    }else{
      CLIENT.print("'>");
    }
    CLIENT.print(255 - i, DEC);
    CLIENT.println("</option>");
  }
  CLIENT.println("              </select>");
  CLIENT.println("            </td>");
  CLIENT.println("            <td>");
  CLIENT.println("              <select name='blue'>");
  for(i = 0; i <= 255; i++){
    CLIENT.print("                <option value='");
    CLIENT.print(i, DEC);
    if(i == B){
      CLIENT.print("' selected>");
    }else{
      CLIENT.print("'>");
    }
    CLIENT.print(255 - i, DEC);
    CLIENT.println("</option>");
  }
  CLIENT.println("              </select>");
  CLIENT.println("            </td>");
  CLIENT.println("          </tr>");
  for(i = 0; i < 7; i++){
    CLIENT.println(formSecondHalf[i]);
  }

}

 気を付けるところは、私が買った「SeeedStudio SIDEKICK BASIC KIT」というキットに入っている3色LEDは「アノードコモン(共通陽極)」というタイプで、プラスに5V、各色のコントロールはマイナスになる、という点だ。ここを間違えると思ったように動作しない。一番長い脚が共通陽極だ。封入の切り欠きを左にして、左から赤、アノード、緑、青の順に脚が並ぶ。

 また、フォームから与える値も、アノードコモンであるゆえに、「0」が最も明るくなり、「255」が最も暗くなるので、インターフェイスを逆にするなど、多少工夫が必要だ。

 それから、PWM(パルス幅変調)の機能を大いに活用し、いろいろな色が出せるようにした。この場合の注意点は、ETHERNET SHIELD 2を取り付けると、10番・11番・12番のピンが使えなくなるので、他のピンで出力しなければならないことだ。今回は3番・5番・6番を使った。

 で、ウェブインターフェイスをタブレットにロードする。

IMG_3005

 動かしてみるとこんな感じで、いろんな色になって面白い。


チョコレートとコーヒー

投稿日:

image

 よく寝た。毎週息を詰めて5日間泳ぎ、土曜日に大きく口を開けて息継ぎしているような、いわば土日に逃げ込むようにして生きている気がするが、まあ、いいや。

マゾヒズムの快感と法悦境万歳

投稿日:

 学者や反社会活動家には、中国人がまなじりを決して照準している、弾丸が込められ撃鉄の起こった機関銃の、照準線の槍ぶすまのただなかに立ち、

「私には平和憲法があります」

と叫んでもらいたいし、機関砲に弾丸が込められ、ミサイルのシーカーがすっかり冷やされて汗をかき、いつでも発射できるようになっているロシア戦闘機のそばへ行く要撃機に同乗して、

「私には平和憲法があります」

と絶叫してもらいたい。すばらしいことだ。間違いなく平和憲法が身を守ってくれるだろう。

 このすばらしい、命を守ってくれる憲法を、どのようなことがあろうと守らねばならない。どんな犠牲を、どんな痛みを受けようとも、命を捨ててでも、たとえ家族全員が虐殺されることがあっても、未来永劫、とこしなえにこの憲法を守ることこそ、人類の進歩のために日本人が負うべき責任だ。

 古今未曾有の平和主義とどこかの大学院の修士課程かなんかの研究机の上で研究しつくされた、勉強の得意な立派な人々の理論の完璧さには、感涙と尊敬を禁じ得ぬ。あまりの崇高さに、中卒の学歴しかない私は、感動のあまり、まばたきもできず硬直するばかりだ。なんとすばらしいことだろう。

 自分の体内を機関銃の折れ曲がった弾丸が引き裂き、鮮血が飛び散り、あるいはまたミサイルの弾頭の破片が自分の胸や腹や性器や頭蓋を粉砕していく狂気の痛みの中、平和主義をついに死ぬまで貫いた宗教的高揚感の絶頂に達して、喜びをもって、「これこそ献身のなせる究極の善意、平和の犠牲だ」と、法悦境も最高境地、感動をもって学者たちは死にゆくのであろう。立派なことだ。これほど立派なことはない。

 キリシタン狩りの地下牢の中で拷問される、フランシスコ・ザビエルの時代のころび伴天連すら、このような痛みの中に身は置かなかったであろう。

 耐えられないことに耐えようとする根性を持っているのだから、学者も反社会活動家も、素晴らしい人たちだ。心から、腹の底からの尊敬をささげたい。

 ぜひ、この崇高な行動をもって、全日本人、否、全地球、いいや、全宇宙に対して、平和主義の真髄を垂範してもらいたい。全宇宙どころか、全次元空間が感動することは絶対に間違いない。彼らが言うところの「悪魔の独裁総理大臣」も、その捨て身の愛に感動して主張を取り下げることは100パーセント確実だ。

 また、自分だけがそんなオーガズムみたいな変なものの中で興奮と幸福を得ることは快感の独占に過ぎるから、ぜひとも、自分の子、妻、兄弟姉妹、両親、友人にも、そのような絶叫的犠牲の狂気の苦痛から得られる気持ちよさを分かつとよいと思う。皆で一緒に五体を撃ち抜かれ、責めさいなまれて憲法のために魂を捧げるのだ。自分の家族をも捧げて憲法のために修道した立派な人として永久に尊敬され、列聖されて教祖にもなるであろう。

 かつて、亡くなる前の小野田少尉は演説に

「アフリカの原野で真っ赤な口を開けて咆哮するメスライオンの眼前1メートルで、『私には人権があります』と、どうぞ主張して貰いたい」

……と言ってのけたものだが、いまや、事態はすでにそれどころではなくなっている。そう、法悦境をいかにして得るかと言うことが今や喫緊の課題である。

だからと言って

投稿日:

 だからと言って、キリスト教が優れた宗教である、というような紛れ込ませを肯うことは決してないから、左様、心しておくがよいわ。

今朝のエントリ

投稿日:

 今朝、「犬入札」という記事を書いたのだが、なんであんなアホな夢を見たのかと一日不思議でならなかった。

 一方、最近古川緑波の昭和日記を読んでいて、これがけっこう面白いのだが、「毎日観客を沸かせて、劇場に『大入札』が出た」というような描写がしょっちゅう出てくる。

 なにっ、「大入札」!?

  •  大入札(おおいりふだ)
  •  犬入札(いぬにゅうさつ)

……。

 ぬぅ、夢の原因はコレかっ(違