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

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

GIMPが起動できないとき

f:id:akagi13213:20170528002829p:plain

GIMPが「GIMP Portable cannnot be run from inside C:\Program Files(x86)....」と出て起動できないとき。

警告文に書いてあるとおりに、デスクトップあたりにGIMPのフォルダを移動すれば起動できる。

ダイオードを接地

このダイオードを接地する意味は、マイナス電位が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]が入力される。