Vol.862 27.Jan.2023

「ハンダ吸取器 (Pr-3)関数、オブジェクト、配列 差し込み印刷の書式指定

H ハンダ吸取器   〜 FR-301−81

by fjk

 ハンダ付けを失敗した時に、手動のハンダ吸取器(HAKKO、SPPON18G)を利用しているが、スルーホール基板ではなかなかうまくハンダの吸い取りが出来ないことがある。吸い取りたい部分をハンダコテで温めてから吸引するのであるが、やはり温度が冷めて、思うように吸引できない。
 そこで、温めながら吸引できるハンディ吸取器であるFRR-301-81(HAKKO、@18,936、平形プラグ)を入手した。この手の物はGootの吸取器を過去に使ったことがあるが、ノズルが詰まり易すかったことを思い出し、今度はHAKKOを選んだ。また、手動でコテ先と一体にした安価な吸取器であるはんだシュッ太郎NEO(@4,600、サンハヤト)もあるが、温度調節が出来るFR-301を選んだ。なお、部品があって狭いところの吸引用にN61-12ロングノズル(ノズル内径φ1.0、@1,544)も準備した。
 裏表を逆に部品を配線したスルーホール基板でハンダ吸引をしたところ、綺麗に吸い取ることが出来た。

【FR-301-81の仕様】
  • ノズルアース間抵抗:< 2Ω、リーク電圧:< 2mV
  • 到達真空圧力:81kPa、吸込流量:11L/min
  • ヒーター:セラミックヒーター
  • 電源コード長さ:1.6m
  • RoHS2対応製品(10物質)
  • 電源(V):AC100(手元スイッチ付き)
  • 消費電力(W):98
  • 設定温度(℃):350〜500
  • プラグタイプ:2極接地型プラグ
  • 真空発生方式:ダイヤフラム式ポンプ
  • 質量・質量単位:0.52kg
  • 付属ノズル:N61-08ノズル(φ1.0)
  • 付属品:クリーニングピン(ノズルφ1.0および加熱芯用)、セラミックペーパーフィルターL(2ヶ)、簡易コテ台、プレフィルター、ノズルレンチ、専用ケース


FR-301-81(左下はN61-12ノズル)
専用収納ケースも付属

ハンダ吸引前
(コテ先は標準ノズル)

ハンダ吸引後
(綺麗に吸取りできた)


P Processing (3) 〜関数、オブジェクト、配列

by fjk

@ 関 数
 Processingの標準関数は既にいくつか利用してきたが、オリジナルの関数も作成することが出来る。関数を使うと処理を1回記述するだけで何度も再利用できる。


マウスが図形の上に
くると、色が変わる 
color cRed   	=color(255,0,0);
color cYellow	=color(255,255,0);
color cBlue  	=color(0,0,255);
color col;
int x1=250, y1=100, r1=40;
int x2=100, y2=200, r2=20;
void setup(){
  size(400,300);
  ellipseMode(RADIUS);
  rectMode(RADIUS);
  col=color(cYellow);
}
void draw(){
  background(210);
  onMouse(x1, y1, r1);
  onMouse(x2, y2, r2);
}
void onMouse(int x,int y,int r){
  float d=dist(mouseX,mouseY,x,y);
  fill(cYellow);
  if(d < r){
    noFill();
    stroke(cRed);
    strokeWeight(2);
    rect(x,y,r,r);
    fill(col);	//図形内時のみ色変更
  }
  noStroke();
  ellipse(x,y,r,r);
}
void mousePressed(){
  col=color(cBlue);
}
void mouseReleased(){
  col=color(cYellow);
}
【マウスイベント関数】
mouseClicked()  押下後離された
mouseDragged()  移動後離された
mouseMoved()  移動するたび
mousePressed()  押されるたび1度
mouseReleased()  離されるたび
mouseWheel()  ホイールを動かす
A オブジェクト
 オブジェクトは関連し合う変数(フィールド)と関数(メソッド)の集合体で、オブジェクトを使うことで、「抽象化」(外部との関連性を考慮しなくて良い)、「カプセル化」(外部から隠蔽)、「継承」(既存機能を引き継く階層的な構造の実現)、「ポリモーフィズム」(同名で宣言するとオーバーライドされることで機能の変更・強化など)が実現できる。
 
【オブジェクトの宣言と使い方】
a.クラスの定義
(1) クラスの作成
 classキーワードを付けて宣言
(2) フィールドの追加
 typeとフィールド名を記述
 フィールドデータは直接変更不可
(3) コンストラクタの作成
 type名は無し、関数名はクラス名
(4) メソッドの作成
 実行する関数を記述
 obj.メソッド名で呼び出される
 
b.オブジェクトの作成(インスタンス化)
・オブジェクト変数を宣言
・newキーワードを付けて宣言することで、
   実データエリアが確保され、
   各フィールドの値が初期化される
 
c.オブジェクトの利用
・obj.フィールド名でデータを参照できる
・obj.メソッド名でメソッドを実行
class Rect{
  float x;
  float y;
  float w;
  float h;

  Rect(float tmpX,float tmpY,float tmpW,float tmpH){
    x = tmpX;
    y = tmpY;
    w = tmpW;
    h = tmpH;
  }
}

Rect rc1,rc2;
void setup(){
  size(400,300);
  rc1= new Rect(200,50,150,100);
  rc2= new Rect(50,200,100,50);
}
void draw(){
  onMouse(rc1);
  onMouse(rc2);
}
void onMouse(Rect rc){
  if((mouseX > rc.x)&&(mouseX < rc.x+rc.w)&&
    (mouseY > rc.y)&&(mouseY < rc.y+rc.h)){
     fill(0,0,255);
  }else{
     fill(255,255,0);
  }
  noStroke();
  rect(rc.x,rc.y,rc.w,rc.h);
}

マウスが枠上にくると色が変わる
B タブの利用
 クラス化はコードをモジュールとして扱うことができるので、クラス毎にタブを用意しておくと、長いコードが見やすくなるほか、クラスの再利用も容易となる。
 通常、ファイルはユーザードキュメントのProcessingフォルダーの下に、「スケッチ名.pde」で保存されるが、タブで記述すると「タブ名.pde」と別ファイルとして保存される。
【 タブの使い方 】
 ・タブボタン右端の矢印ボタンをクリック
 ・「新規タブ」を選ぶ
 ・ファイルの名前(例えば)タブ名)を入力
 ・新しいタブが作られるのでコードを入力

一つのタブ中に全コード入力

新規にタブを追加する
 
タブを使うと2つのファイルとして管理できる
C オブジェクトと配列を利用した例
複数のカラー風車が回転する例で、配列を利用することで風車の数を自由に増やすことが出来る。
なお、風車は「描画位置」、「色」、「サイズ」を指定できる
・forループに、拡張for文を使っています・・・for(変数 : 配列またはコレクション)
・中括弧の中に文が一つしか無い場合、中括弧を省略できる
Fan[] f = new Fan[3];
float angle = 0.0;
void setup(){
  size(500,400);
  f[0] = new Fan(170,120,color(255,255,0),1.0);
  f[1] = new Fan(350,250,color(0,255,255),0.75);
  f[2] = new Fan(100,300,color(255,0,9),0.5);
}
void draw(){
  fill(0,31);
  rect(0,0,width,height);
  for(Fan fan : f)   fan.draw();
  angle+=0.1;
}


実行画面
class Fan{
  float x;
  float y;
  color col;
  float sz;
 
  Fan(float tmpX,float tmpY,color tmpC,float tmpS){
    x = tmpX;
    y = tmpY;
    col = tmpC;
    sz = tmpS;
  }
  void draw(){
    fill(col);
    pushMatrix();
    translate(x,y);
    rotate(angle);
    scale(sz);
    triangle(0,0,100,0,50,30);
    triangle(0,0,-100,0,-50,-30);
    triangle(0,0,0,100,-30,50);
    triangle(0,0,0,-100,30,-50);
    popMatrix();
  }
}
Fanオブジェクト部分は別タブに記述


W Wordで差し込み印刷の書式を指定  〜¥#スイッチ

by fjk

 Excelではセルの表示を自由に設定できるが、Wordの差込でカンマなどの書式が正しく表示されない場合がある。こんな時は以下の手順で書式を設定できる。

@書式を指定したいフィールドにカーソルを合わせ、Alt+f9を押す
A{MERGFIELD 行目名}とフィールドコードが表示されるので、コードの後に書式記号を追加
  例えば、カンマ区切りで表示したいときは、"\# "(円マーク・シャープ・スペース)に続けて、
  「0,」を追加入力(\# 0,)・・(#,##0でも桁区切りできるが、3桁以下の場合にスペースが入る)
  ・表示形式に文字もつけるなら""で全体を囲む (\# "0,円")
  ・”\”をつけるなら\\と入力 (\# \\0,)
B 書式の設定が終わったら、Alt+f9を押すと元に戻る。


※ 本レポートの参考・利用は、あくまでも自己責任でお願いします。


「ハンダ吸取器 (Pr-3)関数、オブジェクト、配列 差し込み印刷の書式指定