ピカピカ光るクリスマスツリーおばけの製作(1)

このページをスマホなどでご覧になる場合は、画面を横長にする方が読みやすくなります。
目次へ  前のページへ (1) (2) (3) (4) (5) (6) 次のページへ
2014年12月24日 公開。
ピカピカ光るクリスマスツリーおばけの外観
ピカピカ光るクリスマスツリーおばけの外観

目次

1. はじめに … 1ページ
2. ハードウェアについて … 1ページ
2-1. LED制御回路の概要 … 1ページ
2-2. 回路図と部品表 … 1ページ
3. 回路の組み立て方 … 2ページ
3-1. LED制御基板の組み立て方 … 2ページ
3-2. LEDの接続方法 … 3ページ
3-3. 電池ボックスの接続方法 … 3ページ
4. ソフトウェアについて … 4ページ
4-1. ATtiny85のスケッチのArduino IDE上での開発 … 4ページ
4-2. 点滅版のスケッチについて … 4ページ
4-3. PWM制御を用いたLEDの調光について … 5ページ
4-4. ハードウェアによるPWM変調とソフトウェアによるPWM変調 … 5ページ
4-5. PWM調光版のスケッチについて … 5ページ
4-5-1. setup関数について … 5ページ
4-5-2. tick変数の変化 … 5ページ
4-5-3. cnt変数の変化 … 5ページ
4-5-4. duty変数の変化 … 6ページ
4-5-5. D0~D3のPWM制御 … 6ページ
4-5-6. D0~D3の信号波形の測定 … 6ページ
4-5-7. 正確なデューティ比を得るために必要な工夫 … 6ページ
4-5-8. D4信号の波形について … 6ページ
5. 電池の寿命に関する考察 … 6ページ

1.はじめに

先日、保育園に通っている長男が、工作の時間に作った「クリスマスツリーおばけ」なるものを持って帰りました。どれだけ保母さんに手伝ってもらって作ったのかは分かりませんが、面白くできているので、今年のクリスマスツリーはこれにすることにしました。ただ、長男が「このクリスマスツリーは光らへんねん」といっていましたので、手持ちの部品だけで、LEDのイルミネーションを付ける事にしました。

イルミネーションとしては、8個のLEDを使い、また制御基板を小型化するために、マイコンにはArduino化したATtiny85-20PU(8ピンDIP)を使いました。

ATtiny85-20PUは、8ピンのAVRマイコンなのですが、Arduino IDEスケッチの開発が行え、また、秋月電子マルツで購入できるので、入手も比較的しやすい、使いやすいマイコンです。

また、LED制御のプログラムとしては、一定間隔で点灯と消灯を繰り返すバージョン(点滅版)と、PWM制御によりLEDの明るさを制御し、一定周期で光量の増減を行うバージョン(PWM調光版)の2種類を作成しました。

この記事の本題は、クリスマスツリーのイルミネーションの制御回路の作り方ですが、ATtiny45/85などの、ピン数の少ないAVRマイコンをArduinoとして用いて、小型の電子回路のプロトタイピングをする際の参考にもなります。

写真1、クリスマスツリーおばけ(前面)
↑ 画像をクリックすると拡大
写真1、クリスマスツリーおばけ(前面)
写真2、クリスマスツリーお化け(後面)
↑ 画像をクリックすると拡大
写真2、クリスマスツリーお化け(後面)
点滅版の紹介動画

2.ハードウェアについて

2-1.LED制御回路の概要

ATtiny85は、8ピンのAVRマイコンで、小型にマイコン基板を作りたい場合に便利です。また、Arduino用ブートローダ/スケッチライタの製作(8)の記事でも説明したとおり、Arduino IDEでプログラムを開発する事ができるため、比較的容易にプログラムが開発できる利点もあります。

今回は、手元にあったATtiny85-20PU(以下単にATtiny85と記す)を使ってLEDの制御をすることにしました。なお、作ったスケッチのサイズはとても小さいため、フラッシュメモリの容量が半分のATtiny45-20PUを使っても、同じスケッチが動作するはずです。

Arduino化したATtiny85は、図1に示すように、I/Oピンが5つ(D0~D4)あります。

図1、ATtiny45/85のピン配置
図1、ATtiny45/85のピン配置

今回は5つのI/Oピンを全部出力として使います。D0~D3までの4ピンは、クリスマスツリーおばけのイルミネーション用LEDの制御に使います。また、D4ピンは、基板の動作確認用のLEDの制御のため使います。この動作確認用LEDは、イルミネーション用LEDをコネクタから外した場合でも、基板の動作が分かるように付ける物です。

今回はクロック源として、ATtiny85に内蔵しているCR発振器を使います。そのため、回路は、ほとんど出力ピンを電流制限抵抗を介してLEDに接続しただけの、簡単な回路になりました。

なお、電源については、単3電池2本を直列接続して3Vの電源として使います。

電池ボックスや、イルミネーション用の8個のLEDは、コネクタを外すと基板から分離できるようにしてあります。

2-2.回路図と部品表

図2に回路図と、表1に部品表を示します。なお図2は、LED制御基板のみの回路図ですので、電池ボックスや、イルミネーション用のLED等抜けている事に注意が必要です。

図2、LED制御基板の回路図
↑ 画像をクリックするとPDFファイルで表示
図2、LED制御基板の回路図
表1、クリスマスツリーおばけのLEDイルミネーションの部品表
部品番号 数量 部品の種類 パッケージ 仕様、型番 メーカー 備考
R1,R3~R10 9 カーボン抵抗 ランド400mil間隔 160Ω±5%,1/4W   カラーコード:茶青茶金
R2 1 カーボン抵抗 ランド400mil間隔 10kΩ±5%,1/4W   カラーコード:茶黒橙金
C1 1 アルミ電解コンデンサ   100μF,25V   オプション(電源電圧を安定させたい時に使う)
C2 1 積層セラミックコンデンサ   0.1μF,50V    
U1 1 マイコン DIP8ピン ATtiny85-20PU Atmel ATtiny45-20PUで代用可
  1 ICソケット DIP8ピン DIP8ピン   U1の抜き差しに使う
LED1 9 LED   赤色、φ5mm   LED制御基板に1個、イルミネーション用に8個使用
CN1 1 コネクタベース付きポスト   B2B-XH-A 日本圧着端子  
  1 コネクタハウジング   XHP-2 日本圧着端子 電池ボックスをCN1に接続するのに使用
  2 コネクタコンタクト   SXH-001T-0.6 日本圧着端子 電池ボックスをCN1に接続するのに使用
CN2 1 ピンヘッダ   5ピン、2.54mmピッチ   オプション(波形を観察したい時に使う)
CN3 1 ピンソケット   9ピン、2.54mmピッチ   42ピンの分割ロングピンソケットを切断して使用
  1 ピンヘッダ   9ピン、2.54mmピッチ   40ピンのピンヘッダを切断して使用
  1 ユニバーサル基板        
  4 スペーサ       ユニバーサル基板に適合するもの
  4 ねじ       スペーサに適合するもの
  1 電池ボックス   単3×2、直列接続、リード線あり    

この他にも、消耗品として、半田、φ1.5mm熱収縮チューブ0.4mm程度のすずめっき線0.2mm程度のUEW(ポリウレタン線)、などが必要です。また、工具として、半田ごて、精密ドライバ、ニッパラジオペンチ、圧着ペンチ、ワイヤストリッパなどが必要です。さらに、マイコンのプログラムの書き込みのために、パソコン、Arduino用ブートローダ/スケッチライタUSBシリアル変換器などが必要です。(ただし、Arduino用ブートローダ/スケッチライタとUSBシリアル変換器は、Arduino Unoブレッドボードで代用可能です) 詳しいことは、組み立ての説明の際に説明します。

Arduino用ブートローダ/スケッチライタキット 商品名 Arduino用ブートローダ/スケッチライタキット
税抜き小売価格 3000円
販売店 スイッチサイエンス
サポートページ

次のページでは、LED制御基板の組み立て方の説明をします。

目次へ  前のページへ (1) (2) (3) (4) (5) (6) 次のページへ

このページで使われている用語の解説

関連ページ

関連製品

Arduino用ブートローダ/スケッチライタキット 商品名 Arduino用ブートローダ/スケッチライタキット
税抜き小売価格 3000円
販売店 スイッチサイエンス
サポートページ
Arduino 電子工作
このサイトの記事が本になりました。
書名:Arduino 電子工作
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。