■ ミニ デジタル・フォト・フレームの製作 ■


 携帯電話等に使用される小型のカラー液晶を使用した、デジタル・フォト・フレームの製作です。
 市販のデジタル・フォト・フレームは、画面も大きく機能も多彩ですが、電子工作ファンとして、あえて自分で作ってみようという工作です。
 
主な機能
 ・SDカードに、専用に加工した写真ファイルを用意し、選択した時間間隔で表示する。
 ・時計機能を搭載。
 ・温度表示機能を搭載。
 ・スケジュール ファイルのデータにより、誕生日や記念日のメッセージを表示する。
 ・人体の熱を感知する赤外線センサーを搭載し、人の動きにより表示をON/OFFする。



回路の解説
 
1.電源回路

 
 ・5VのACアダプターから電源を供給します。
 ・AVRマイコン、LCD、SDカードは、三端子レギュレータにより、3.3Vで動作します。

2.AVRとクロック
 
 ・AVRマイコンは、SDカードを制御するBASCOM-AVRのAVR-DOSが、最低1.6KbyteのSRAMを
  必要とするため、ATmega328P-20PU(SRAM=2Kbyte)を選定しました。
 
 ・動作クロックは、時計機能と兼用するために「超高精度クリスタルモジュール12.8MHz」を
  使用します。
 ・このモジュールは5V電源動作なので、3.3V動作のAVRに接続するために、ショットキーバリア
  ダイオードで電圧範囲を制限しています。
 
  (時計用32.768kHz水晶でバックアップ機能を搭載したかったのですが、ATmega328Pチップの
   バージョンAとBには、この周波数の水晶が発振できないというハード的な欠陥がありますので、
   バックアップをあきらめました)

3.カラーLCD回路
 
 ・ノキア製の携帯電話に使用されたLCDで、NOKIA6610と言う名称で呼ばれています。
 ・このLCDを搭載したOlimex社のモジュールで、「MOD-NOKIA6610」を使用します。
 ・制御信号は[CS] [DIO] [SCK] [RESET] の4本で、シリアル通信制御です。
 ・バックライトには7Vの電圧が必要ですが、ボード上にDC-DCコンバーターが搭載されているので、
  3.3Vの単電源で動作します。
 ・バックライトのON/OFFも、ポートで制御できます。

4.SDカードスロット回路
 
 ・秋月電子で販売されている、ヒロセ製 SDカードコネクタ「DM1B-DSF-PEJ」を使用します。
 ・このコネクタは面実装タイプなので、ハンダ面に取り付けます。
 ・書き込みは行わないので、「WRITE PROTECT」端子は使用しません。
 ・AVRマイコンからは、SPI (Serial Peripheral Interface) の4本の信号と、カードの有無(CD)端子で
  制御します。

5.温度測定回路
 
 ・温度の測定は、回路が簡単な専用の温度センサーIC (LM61BIZ) を使用しています。
 ・温度の測定には、A/Dコンバータの基準電圧を1.1Vで使用しているため、上限が+50℃までに
  制限されます。
 ・A/Dコンバータ用の内蔵1.1V基準電圧は、AVRチップにより1.0V〜1.2Vの範囲の誤差があるので、
  設定画面で電圧の誤差を校正し、温度表示の誤差を少なくすることができます。

6.焦電型赤外線センサモジュール回路
 
・人体の熱を感知する、秋月電子PIRモーションセンサー・ユニット
 「SE-10」を使用します。
・このセンサーは小型のタイプなので、2m程度の範囲を検出できます。
・購入時には、DC5V〜12V(内部動作3.3V)と言う広告でしたが、5Vで
 動作させると誤動作します。
・回路を調べて見ると、基板に搭載されているレギュレータが5Vの物
 なので、入力が5Vでは正常動作せず、秋月電子に問い合わせた結果、
 広告とマニュアルの間違いであることがわかりました。
・しかし、5Vで設計してしまったため、ユニットの三端子レギュレータを
 3.3Vの「XC6202P332TB」と交換することにしました。
・面実装のパターンにリード部品をのせるので、少々技術が必要です。

7.操作スイッチ回路
 
 ・汎用のタクトスイッチを、メイン基板上と、高さを調整するサブ基板に取り付けることができます。


回 路 図  GIF版 MiniPhFrameCir.gif (78KB)  PDF版 MiniPhotoFcir.pdf (156KB)

部品配置図  GIF版 MiniPhFramePcb.gif (69KB)
アートワーク  GIF版 MiniPhFrameAW.gif (59KB)
 
   注意! この図面を使用した、いかなる損害にも責任を負いません。



側面 (後カバーなし)

 後面 (後カバーあり)

 
プリント基板

 
基板 部品面

 
基板 ハンダ面


AVRマイコン ATmega328Pの、ヒューズ ビット書き換え
 
AVR ATmega328Pのシステム クロックは、工場出荷時に、内蔵RC発振器の8MHzで、1/8前置分周器がONに設定されており、外部のクリスタル オシレータを使用するには、AVRのヒューズ ビットを書き換える必要があります。

下記ページの書き換え方法 「6.」を、以下の様に変更して、ヒューズ ビットの書き換えを行います。

    ヒューズ ビット書き換え

 6.[ FusebitC ] の右欄 [ 0:Divide Clock by 8 Enabled ] をクリックすると、右側にプルダウン
   メニューが現れますから、 [ 1:Divide Clock by 8 Disabled ] を選択します。
 
   [ FusebitKLA987 ] の右欄 [ 100010: --- [CKSEL=0010 SUT=10];default value ] を
   クリックすると、右側にプルダウンメニューが現れますから、
   [ 100000: --- [CKSEL=0000 SUT=10] ] を選択します。



プログラムの準備
 
プログラム  テキスト形式 ソースファイル  MiniPhotoF101.TXT (44KB)
 BASCOM-AVR用 ソースファイル
 (BASCOM-AVR(製品版)が必要です)
 MiniPhotoF101.bas (44KB)
  
 注意! 著作権は放棄しておりませんので、販売目的での使用は絶対にしないで下さい。

       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、リンクもご自由に。)

 ・任意のフォルダに、上記のソースファイルと、下記の設定ファイルを保存して下さい。
   Config_MMC_JP_MPF328P.bas
   CONFIG_AVR-DOS_JP_Mega328P.bas
 
 ・下記フォントファイルも、上記のソースファイルと同じフォルダにコピーして下さい。
   マイ ドキュメント内、MCS Electronics\BASCOM-AVR\samples\lcdgraph\color8x8.font
 
 ・BASCOM-AVR(製品版)で、ソースファイルをコンパイルして下さい。
 


操作方法
 
1.写真データの準備 (SDカード)
 
 ・写真データは、JPEG等のデータを、そのまま使用することはできません。
 ・下記の様に、多少複雑な操作が必要です。
 
 ・表示させる写真を、130×130ピクセルのBMP(ビットマップ)ファイルに縮小して下さい。
  (横長や縦長の写真を問わず、必ず130×130ピクセルに縮小し、余白を設けて下さい)
  (余白は、左右を対称、上部は無しにすると、画面にうまく収まります)
  (実際の画面では、時計表示があるため、縦が110ピクセルとなります)
 ・縮小の作業は、Photoshop等の画像編集ソフトを使うか、下記の「ImageJ」というフリーの
  画像処理ソフトが便利です。
 
「ImageJ」の操作方法
 
1. 「ImageJ」のサイト http://rsb.info.nih.gov/ij/ Downloadから、各OSにあったバージョンを
  任意のフォルダにダウンロードし、インストールして下さい。
  Windows版 32-bit Java
 
2.次に、「すん」さん提供の、マクロファイル Nokia6100Resize.txt を、
  C:\Program Files\ImageJ\macros\toolsetsにダウンロードして下さい。 
 
3. ImageJを実行し、[>>]ボタンをクリックすると、「Nokia6100Resize」が表示されるので
  選択して下さい。
 
4.赤い[sr]ボタンと、[fr]ボタンが追加されます。
  [sr]:個別ファイルのリサイズ用。
  [fr]:フォルダ内全てのファイルをリサイズ用。(フォルダ内は1階層のみ)
 
5a. [sr]ボタンをクリックすると、「Select a File」ウィンドウが表示されます。
   画像ファイルを選択し、[開く]ボタンをクリックすると、自動的にリサイズしてC:\Temp
   フォルダに保存されます。
 
5b. [fr]ボタンをクリックすると、「Select Input Folder」ウィンドウが表示されます。
   画像フォルダを選択し、[Select]ボタンをクリックすると、フォルダ内のすべての画像
   ファイルが自動的にリサイズされて、C:\Tempフォルダに保存されます。
 
○ リサイズの大きさや、余白の位置、余白の色、画像出力先フォルダは、Nokia6100Resize.txt
  内に記載されていますので、参照して下さい。

 ・次に、縮小された画像データを、LCD専用のビット並びに変換します。 ([.raw] ファイル)
  (必ず130x130ピクセルでないと、コンバーターが受け付けてくれません)
 
1. NOKIA 6100 BMP Converter を任意のフォルダにダウンロード
  し、BMP_Converter_v2.0.0.zip を展開します。
 
2. BMP_Converter.exe を起動し、左のように設定します。
 
3. [Select any size 24bit .bmp(s)] ボタンを押して、縮小した
  BMPファイルを選択します。
  (複数のファイルを同時に変換する場合は、[Ctrl] キーを
   押しながら選択して下さい)
 
4. [.raw] ファイルの保存先を指定して、変換完了です。
  (直接SDカードを指定して、書き込むこともできます)
 
 ・写真ファイルは、SDカードに書き込んだ順に表示されます。
 
 
2.スケジュール・ファイルの準備 (SDカード)
 
 ・誕生日や記念日のメッセージを表示するための、テキスト形式ファイルを準備します。
 
 ・Windows付属の「メモ帳」などのテキストエディタで、Schedule.txt ファイルを作成し、
  SDカードに書き込みます。
 ・Schedule.txt ファイルは、下記の様なフォーマットで準備して下さい。
 
MM/DD,CC,Message1,Message2,Message3
MM/DD : 月/日 (1桁の場合は、必ずスペースを入れて、5文字の構成にして下さい)
CC : 表示色 re=赤 , bl=青 , bk=黒 , cy=水色 , ye=黄 , ma=桃色 , gr=緑 , wh=白
Message1 : メッセージ1行目 (16文字までの英数字)
Message2 : メッセージ2行目 (16文字までの英数字)
Message3 : メッセージ3行目 (16文字までの英数字)
・各項目は、カンマ[,] で区切って下さい。
・日付ごとに改行をして下さい。
・メッセージの2行目と3行目は、省略することもできます。
 
(例)
 1/21,re,Hanako's, birthday
12/30,bl,Taro's, birthday,test

 
3.電源投入
 
 ・電源が投入されると、下記の状態から動作を始めます。
  ○SDカードをチェックして、ファイルの状態を調べる。 (各エラー表示)
  ○日付は、2010年1月1日 0時00分00秒 からカウントを開始する。
  ○表示モードはセンサー制御、表示変更間隔は10秒。
 
 
4.表示モードの切り換え操作
 
 ・[Display Mode] スイッチを押すと、下記のように表示モードが切り替わります。
   センサー制御 → 強制オフ → 常時オン
 
 ・表示の状態は、スイッチを押すたびに、時計表示の左上に表示されます。
   AT : センサー制御  ON : 常時オン
 ・この表示は、写真の更新時に消されます。
 
 
5.表示変更間隔の選択
 
 ・[Interval Time] [+] [-] スイッチを押すと、写真を更新する時間間隔を選択できます。
   3秒 , 5秒 , 10秒 , 30秒 , 1分 , 5分 , 30分 , 60分
 
 ・変更間隔は、スイッチを押すたびに、時計表示の右上に表示されます。
 ・この表示は、写真の更新時に消されます。
 
 
6.設定モード
 
 ・[Interval Time] [+] [-] スイッチを同時に押すと、設定モードに入ります。
 

・[Display Mode] スイッチを押すと、設定項目が切り替わり、
 赤色反転表示されます。
 
・[Interval Time] [+] [-] スイッチで、設定値を上下できます。
・年月日時分 (秒は設定終了時に00秒となります)
・12/24h : 時間表示の、12時間制/24時間制を選択。
・SenTim : センサーが感知してから自動消灯するまでの
 時間。 (1分、5分、10分)
・RefAdj : 温度測定用A/Dコンバータの、基準電圧校正。
 (AVRの21ピンと GND間の電圧を測り、設定します)
・SetEnd : 設定終了。
 (時計項目が変更されなければ、時刻データも更新され
  ませんので、時刻以外の設定のみの変更も可能です)
 
 ・画面右下には、センサーの状態がテスト表示されます。 (ONとOFF)
 
 
7.エラー表示
 
・通電中にSDカードを抜くと、左画面が表示されます。
・中央には、現在のプログラムバージョンが表示されます。
 
・SDカードを差し込むと、通常の表示に戻ります。
 (写真やスケジュールデータの変更が可能です)
 
・AVR-DOS Error! AVR-DOSの使用方法を参照して下さい。
・Drive Error! "Config_MMC_JP_MPF328P.bas"ファイルを
 参照して下さい。
 


○パーツの参考資料
 ・プリント基板  「サンハヤト」 感光基板 40K ガラスコンポジット 片面 1.0tx75x100mm
 ・スタンド  100円均一の透明写真立てを加工。 (後カバーは、1mmアクリル板をコの字型に加工)
 



   電子工作の部屋 Top へ 前のページへ戻る