読者です 読者をやめる 読者になる 読者になる

<!--親の顔より見た光景-->

日々の発見を残していきます。

ダイオードを接地

このダイオードを接地する意味は、マイナス電位がICに流れ込まないようにするため(万が一マイナス電位が流れた時、ICが壊れないための予防)。
f:id:akagi13213:20170514005104p:plain

わからん

クロマニヨンズのサイトが更新されたかチェックするためにHTMLファイルを解析しようと思っている。

しかしHTMLファイルの一部が読み込めない。
明日にはこのコードが何をやってるのかも分からなくなっているはず。
importに*使うほどモチベ無し。gm。

【Test.java

package test;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.*;
class Test{
    public static void main(String[] args) throws Exception{
        
        URL url = new URL( "http://www.cro-magnons.net/info/" );
        URLConnection connection = url.openConnection();
        BufferedReader in = new BufferedReader( new InputStreamReader( connection.getInputStream(), "UTF-8" ) ); 
        try {
            String str = null;   // HTMLファイルの行が入る
            StringBuilder news = new StringBuilder();   // 「最新情報」のテキスト
            StringBuilder date = null;      // 更新日時
            StringBuilder title = null;      // 記事タイトル
            
            int delete_point = -1;   // 元文字列から削除したい文字の場所

      // 最後の行まで読み込み
            while ( ( str = in.readLine() ) != null ) {
        news.append( str + "\n" );

                /* HTMLファイルをいじる処理 */
            }
      System.out.println( new String( news ) );
            System.out.println( "TITLE : " + new String( title ) );
            System.out.println( "DATE : " + new String( date ) );
            in.close();
        }
        catch ( Exception e ) {
            
        }
    }
}

これで得たHTMLの中身がコレ。
f:id:akagi13213:20170502003717p:plain


Chromeから落とした正規のHTMLファイルがコレ。
f:id:akagi13213:20170502003756p:plain


a href=以降のURLが省略形になってるし、一番欲しいニュース欄のところ(ulタグ以降)が全部消えてる。

コードで怪しそうなのはin.readLine()。
正規のHTMLだとニュース欄の文字列がクッソ長いから、エラーが起きてるのかもしれない。

PHPとXdomainの使い方

やること

レンタルサーバPHPを動かす
Apacheは使わない

今回は検索して一番上に出てくるXdomainを使った。
www.xdomain.ne.jp


無料レンタルサーバの登録をして、ログイン。

        ↓

PHPMySQLサーバーの利用を開始する。

        ↓

サーバの管理パネルのFTPアカウント設定をクリック。
f:id:akagi13213:20170430223937p:plain


WebFTPのログインをクリック。
f:id:akagi13213:20170430224101p:plain


ここにPHPファイルやHTMLファイルを置いて、ページを運用することになる。
f:id:akagi13213:20170430224152p:plain



Hello Worldしてみる

以下のphpファイルを作成。
【helloworld.php

<?php
    echo "Hello World!";
?>

作ったファイルをXdomainにアップロードする。
FTPファイルマネージャの画面からアップロード。
f:id:akagi13213:20170430224723p:plain


あとは、ブラウザのアドレスバーに
ドメイン名.php.xdomain.jp/helloworld.php
と打てばHello Worldが表示される。
f:id:akagi13213:20170430225348p:plain

Arduinoに書き込めなくなったら

1.回路を確認(ショートしてないか)
2.ターゲットのボードを確認
f:id:akagi13213:20170425231911p:plain

今回はIDEのショートカットキーでArduino UnoからArduino Mega ADKになっていた。

【Arduino】タクトスイッチでLED輝度を変更

こんな回路。
f:id:akagi13213:20170423160244j:plain

LEDはアナログ入力ピンで繋がってる。

こんな状態にする。
f:id:akagi13213:20170423160719p:plain

ソースコード led_change.ino】

#define STATUS_ELEMENT ( 3 )
void setup()
{
  pinMode( 1, INPUT );
  pinMode( 9, OUTPUT );
  pinMode( 10, OUTPUT );
  pinMode( 11, OUTPUT );
}
void loop()
{
  int switch_status = 0;  // スイッチの状態
  int i = 0;
  int j = 0;
  int analog_value = 0;  // LED輝度値
  for ( ;; ) {
    delay( 400 ); // チャタリング防止
    if ( digitalRead( 1 ) == LOW ) {
      switch_status++;
      if ( switch_status > STATUS_ELEMENT ) {
        switch_status = 0;
      }
      // スイッチがONになるまで待機
      while ( digitalRead( 1 ) == LOW ) {
        ;
      }
    }
    switch ( switch_status ) {
      case 0:  // 状態1
        analog_value = 0; break;
      case 1:  // 状態2
        analog_value = 50; break;
      case 2:  // 状態3
        analog_value = 100; break;
      case 3:  // 状態4
        analog_value = 150; break;
      default:
        analog_value = 0; break;
    }
    // 9番ピンから11番ピンに指定した電圧を入力
    for ( j = 9; j <= 11; j++ ) {
      analogWrite( j, analog_value );
    }
  }
}

Cdsセルの回路

f:id:akagi13213:20170419001245p:plain
こんな回路。
Cdsセルは光量に応じて抵抗値が変化する素子。(暗いほど抵抗値が下がる)
マイコンに入力する電圧を可変にしたいため、分圧する必要がある。
・分圧のためにわざわざもう一つ抵抗が必要。Cdsだけだと5[V]しか選択肢が無い(?)

 Cdsの抵抗値が50kΩのとき、V2は分圧即により、
 V2 = ( 50k / ( 10k + 50k ) ) * 入力電圧( 5V ) = 25 / 6 = 4.166[V]
 マイコンには4.166[V]が入力される。

【メモ】プレゼン技法

最も重要なこと:聴衆に応じた内容のプレゼンをする

例:聴衆がエンジニアだらけ……次世代技術や既存技術の話題を取り入れる

老人にIoTの話をしてもしょうがない。若い世代が多かったらゲームやスマホ関係などが好ましい。

 

他、重要なこと(上から重要度高)

・大きい声でハキハキと

・自身を持つ

・結論→論拠(裏付けるデータなど)→結論

・場合によっては、問題を羅列→対策法

・大きいジャンル分け→箇条書きについて言及(○○視点からのリスクは……、一方**視点からのリスクは……が挙げられます)

・具体的なエピソード、具体例を挙げると聴衆は理解し易い

・心をつかむキーワード(例:「最終決算」、「人生のパートナー」 エンジニアに向けたプレゼンで実際にウケたのは「ニーズを創る」というキーワード。とっさに出るものではないので日々書き留めておくと良い。)

・字、図はキレイに

・適度にカラフルにする(4色?)

・アテンションゲッター(聴衆の心をつかむような言い回し、テンポ)

・最後に「ありがとうございました」

 

一般的にプレゼンの質はDelivery<Contentsで決まる。しかし、第一印象でプレゼンを聞くか聞かないか決まる(こともある)ので、自身をもって、大きい声でハキハキと喋るのは重要。