PIC-DEV-690RLに標準で搭載されている文字LCDの代わりに、ドットマトリックスLED:OPT-DML-2Sを搭載することができます。OPT-DML-2Sを搭載すると、ドットマトリックスLEDを利用したスケッチを楽しむことができます。
以下に、ドットマトリックスLEDの簡単なスケッチを示します。このスケッチはPIC-DEV-886RLでもそのまま利用できます。
#include "picsys16.h" void
PIC-DEV-690RLの文字LCDの代わりに、7セグメントLED:BLUE-7SEG-1を接続したスケッチ例を示します。
このスケッチはPIC-DEV-886RLでもそのまま利用できます。
#include "picsys16.h" void setup() {
PIC-DEV-690RLに標準で搭載されている文字LCDの代わりに、7セグメントLED:BLUE-7SEG-1を搭載することができます。BLUE-7SEG-1を搭載すると、7セグメントLEDを利用したスケッチを楽しむことができるようになります。
BLUE-7SEG-1では、PICの少ないピン数で4桁の7セグメントLEDに表示を行うために、ダイナミック点灯方式を利用しています。ダイナミック点灯方式を実現するための面倒な処理は、PICSYSが自動的に行ってくれます。
BLUE-7SEG-1を利用したスケッチ例を示します。このスケッチはPIC-DEV-886RLでもそのまま利用できます。
PICSYS16でのプログラムの作成法を説明します。
最初は少し面倒に思われるかもしれませんが、1度MPLABのプロジェクトを作ってしまえば、それを使いまわしできるので、2個目以降のプログラムの作成はとても楽になります。:-)
PICSYS16のパッケージ内容を簡単に説明します。
PICSYS16のパッケージ内容
PICSYS16では、ドットマトリックスLEDを簡単に制御することができます。
ドットマトリックスLEDの表示に必要な継続的なリフレッシュ処理は、PICSYS16が自動的に行います。
exdml1.c: ドットマトリックスLEDの利用
#include "picsys16.h"
void setup()
{
DML_init(SR_DAT, SR_CLK, SEG1, SEG2, SEG3, SEG4) ;
pinMode(SW1, INPUT) ;
pinMode(SW2, INPUT) ;
pinMode(SW3, INPUT) ;
pinMode(SW4, INPUT) ;
}
PICSYSを利用する上での技術的な注意/制約事項を示します。
ピン割り付け機能
PIC24Fの特徴的で協力な機能であるピン割り付けとそれを利用した周辺モジュールの利用機構はまだご提供できていません。
PWM
PICSYSのPWM出力は、LEDの表示の明暗をPWMのデューティー比制御により変化させる程度の簡易的な利用を想定した構成になっています。このため周波数は、ちらつきを感じない62.5Hz程度と低く、また固定されています。また、デューティー比の指定分解能はMCUのクロックによりますが、16-64になっています。
PICSYSにおけるI/Oピンの指定は、RA0の場合にはRA(0)、RB4の場合にはRB(4)の様に行います。
PICSYSはAVR用のArduinoに触発され、PICでも簡単にプログラミングを行える環境を構築することを目標に開発されたソフトウェアフレームワーク(ライブラリ)です。
PICのプログラミングで以下のようなことを感じたり、これらが利用の障害になっていませんか?
基本的には、基板に実装したときに高さが低い部品から実装していきます。
まず、抵抗とダイオード(。。。取り付けを忘れていて X-( 写真には出ていませんが右側のタクトスイッチの部分です。)を実装します。
7セグメントLEDの取り付け場所と重なる抵抗は、上に乗る7セグメントLEDがきれいに並ぶように、基板面に低く実装するとともに、できるだけ高さを合わせるようにしてください。7セグメントLEDとの干渉を防ぐため、場合によっては基板の裏面に取り付けてもかまいません。