Vol.948 7.Aug.2026

デジタルカメラの修理 GIMPでモザイクをかける CLB付属カウンター

D デジタルカメラの修理

by fjk

 有名な国内O社のTGシリーズの最新デジタルカメラを業務日誌用として購入したのは、2年前だった。
 購入して1年チョットたった頃に、カメラの電源が入らなくなり、モニター画面が真っ暗となった。
 保証期間がチョット切れた時点だったが、修理をお願いした。「基板交換」で修理費は3.5万円だった。修理には約3ヶ月かかり、正常に使えるようになった。
 ところが、カメラが戻ってから約9ヶ月後(冬期間は使用しなかったので、再度使用した期間は3ヶ月程度)、また同じように電源が入らなくなった。
 とりあえず、修理可能か確認してもらったところ、同じ基板の交換で、費用は4.5万円とのこと。
 2回の修理費を加えると、新品のカメラよりも高くなる。「この様な同じところが短時間に壊れる故障はたまにある」とのこと。
 そして、「修理後6ヶ月超なので再修理扱いにはならない」とのこと。
 と、云われて・・、再修理しても、また直ぐ壊れる可能性が否定できず、修理を諦めた。
 商品には「当たり外れ」が有るかもしれないが、

 の2点が納得できない。どこが「タフ」?(外枠だけ)。
 同社の他機種(旧TGも含む)も多数持っていて、それらは全て未だに無故障なので、残念である。


G GIMPでモザイクをかける

by fjk

 個人情報保護が大切と言われています。そこで、写真や文書画像などで個人情報を判らなくするため、フリーの画像処理ソフトであるGIMPでモザイクをかけてみます。

  1. GIMPで画像を開く
  2. ツールボックスから、「矩形選択」などでモザイクをかけたいエリアを選択。
  3. メニューバーから、「フィルター/ぼかし/モザイク処理」を選択
  4. モザイクをかける条件を設定し、「OK」
  5. 「ファイル/名前を付けてエクスポート」で保存(単に「保存」ではxcfファイルとなる)


モザイク加工前

モザイク加工後


P PIC16F13145 (5)   〜CLB付属カウンター

by fjk

 PIC16F13145ファミリのCLBには「専用3ビットハードウェアカウンタ(デコーダー付)」がモジュールとして付属されている。このカウンターはハードウェアで構成され、変更や他のモジュールの参考としては利用できない。
 abc947では論理ゲートで作製したシフト回路を利用したが、今回は付属カウンターで5ビットLEDシフト点灯を試みた。
 なお、ハードウェアはabc947をそのまま用いた。

【MCCでCLB用クロックの準備】

MCCで、TMR0とCLB_Synthesizerを追加する。Clockは、HFINTOSC(32MHz)。
CLBカウンタ用のクロック(CLB全体で共通)はTMR0で作製した。

<TMR0>
 Mode :   16-bit
 Source :   FOSC/4
 Prescaler:  32
 Postscaler: 1
 Period :   150mS
 Interrupt:  無し

<PPSピン設定>
 CLB作成後に設定

・条件を設定後 MCC_Generate

【カウンターモジュールの使い方】
  1. CLBシンセサイザーのデザイン画面で、LIBRARYの中にあるdevice_counter横にある + をクリックして、カウンターをデザインに追加すると、モジュールとして利用可能となる。
  2. カウンターモジュールをキャンバスに配置する。
  3. 入力のSTOP(1:有効)とRESET(1:有効)にComponentsを接続(入力は接続を省略できない)。
  4. 出力のCOUNT_IS_xに使いたいComponentsを接続。
  5. カウンターのクロックは、Toolbar画面で設定。
     ClockSouce=TMR0_overflow、ClockDivider = 1

【カウンタによるLEDシフト回路のデザイン】

<入力端子>
  STOP :      ZERO(Misc)
  RESET:     ZERO(Misc)
<出力端子>
  COUNT_IS_0 : PPS_OUT0
  COUNT_IS_1 : PPS_OUT1
  COUNT_IS_2 : PPS_OUT2
  COUNT_IS_3 : PPS_OUT3
  COUNT_IS_4 : PPS_OUT4
・デザイン後、Synthesize をクリック

【テストベンチの作製】

<入力端子>
  ZERRO_sync:  0(定数)
<出力端子>
  各outにLabelを接続(無くても可)  
<クロック周期>
  frequency :  10 kHz
<シミュレーション周期>
  Duration time: 3mS
・デザイン後、Synthesize をクリック

★ ピン設定でPPSを設定しておく

【シミュレート】
 各PPS_OUTにH信号パルスが順にシフト出力されていることが確認できた。


【コンパイルと書込】
 Synthesizer出力と合成するため MCC_Generate を再度実行。
 プログラムは何も記述せず、defaultのままコンパイルすると、TMR0の「非推奨」警告エラーが出るが、コンパイルは成功する。
 このままでも、問題なくLEDシフト点灯が実行されるが、tmr0.h の行40を以下のようにコメントにすると警告エラーが出なくなる。

40	// #include “tmr0_deprecated.h"

● PicKit4等でPIC16F13145に書き込み、動作を確認。

※なお、LED点灯シフト速度を変更するには TMR0 の period の変更で可能。


【カウンタ回路の改良】
 カウンタは 0 - 7 までカウントし、H信号を出力しているが、LEDが 5 個なので 0 - 4 でしか点灯せず、5 - 7 間はLEDが点灯しない。
 そこで、カウンタを 5 までしかカウントしないようにする。(5進同期式カウンタ)

<前記よりの変更点>
・COUNT_IS_4 を Counterの RESET に接続
・CLBクロックに TMR2 を使用 (TMR2のコンパイル時エラー対策はabc947参照)
・ORゲートでカウント値が「b000」と「b010」の時を検出しLED(RC2)に出力

<テストベンチ>
 ZERO_sync入力に定数の「0」


<シミュレート>
 チャンと5パルス毎にリングカウントしている。


<動作テスト>
 5アレーLED点灯のシフトとLED(RC2)も点滅を確認。


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


エンディング・ノート GIMPでモザイクをかける CLB付属カウンター