DUO-GL128-PIC24FのグラフィックLCDは幅128×縦64ドットの表示サイズです。
横軸がX軸、縦軸がY軸で、左下が原点(0, 0)になります。
glcd1.c: グラフィック表示
#include "picsys24.h"
void setup()
{
GLCD_initDefault() ;
GLCD_drawRectangle(5, 10, 120, 50, 1) ;
GLCD_drawLine(5, 10, 120, 50, 1) ;
GLCD_drawLine(5, 50, 120, 10, 1) ;
}
void loop()
{
}
DUO-GL128-PIC24Fでは、グラフィックLCDの制御に多くの信号線を必要とする一方で、28ピンのPIC24Fでは使える信号線の数が限られているため、グラフィックLCDのデータ線と、スイッチの信号線を兼用する様に設計されています。このため、スイッチが接続されている信号線を単純に読むだけでは、グラフィックLCDのデータと混線してしまうという問題があります。
DUO-GL128-PIC24F用のPICSYSでは、このような問題が生じない様にシステム側で処理したスイッチのデータを読み出すための仮想スイッチを、VSW(n)の様な形式で指定して読み出せる様にしています。
swled1.c: スイッチとLED
#include "picsys24.h"
void setup()
{
USBで送られてきた文字をUSBにエコーバックするとともに、LCDに表示します。
usbdisp1.c: USBからの文字列をLCDに表示
#include "picsys24.h"
void setup()
{
GLCD_initDefault() ;
Serial1_begin(19200) ;
}
void loop()
{
int c ;
if (Serial1_available()) {
c = Serial1_getc();
Serial1_putc(c);
GLCD_putc(c) ;
if (c == '\r') {
Serial1_putc('\n') ;
サーボモータが要求する電流容量などに注意する必要がありますが、DUO-GL128-PIC24FのCN4にはRCサーボ2個を接続できる様に設計されており、CN4コネクタのVCCには、USBバスから得た5Vの電源電圧が供給され、RCサーボを駆動できるようになっています。RCサーボ用の電源はUSBから確保する様に設計されているため、電池駆動時にはRCサーボを利用できないのでご注意ください。
PICSYS24では、4個までのRCサーボを任意のI/Oピンに接続し、制御することができます。
RCサーボの制御は、基本的に2つの操作で行います。例えばRB0ポートにRCサーボを接続した場合、以下の2つの操作を行います。
PICSYS24では、1個の圧電サウンダ(あるいは相当品)を任意のI/Oピンに接続し、ビープ音を出力することができます。
圧電サウンダの制御は、基本的に2つの操作で行います。例えばRB0ポートに圧電サウンダを接続した場合、以下の2つの操作を行います。
ビープ音の出力に必要な継続的な出力処理は、PICSYS24が自動的に行います。
出力する数値が7,6,...と小さくなると、ビープ音の周波数が半分(1オクターブ)づつ下がります。
LEDの明るさをPWMで制御する実験をします。
PICSYS24では、4個までのPWM出力を任意のI/Oピンに接続し、制御することができます。
PWM出力の制御は、基本的に2つの操作で行います。例えばRB0ポートにLEDなどを接続した場合、以下の2つの操作を行います。
PWMパルスの継続的な出力処理は、PICSYS24が自動的に行います。
expwmled1.c: 1個のLEDのPWM制御
#include "picsys24.h"
USBで送られてきた文字をUSBにエコーバックするとともに、LCDに表示します。
usbecho1.c: USBのエコーバックプログラム
#include "picsys24.h"
void setup()
{
GLCD_initDefault() ;
Serial1_begin(19200) ; // USBの初期化、COMポート的には19200ボーに設定
}
void loop()
{
char c ;
if (Serial1_available()) {
c = Serial1_getc();
Serial1_putc(c);
if (c == '\r')
DUO-GL128-PIC24FのグラフィックLCDは、8X6ドットのフォントを使用して、21文字×8行の文字を表示することができます。
GLCD_cursorPos()の第1引数で指定する行は0から始まります。
出力する文字が1行の21文字を超えると自動的に改行して次の行に続いて出力されます。
最下行で21文字を超えた場合、1行スクロールして改行します。
charlcd1.c: LCDへの文字表示
#include "picsys24.h"
void setup()
{
GLCD_initDefault() ; // グラフィックLCDの初期化
GLCD_puts("MicroFan") ;
GLCD_cusorPos(1, 0); // 文字カーソルを1行目の最初の位置に
DUO-GL128-PIC24Fは、高性能16ビットMCUのPIC24FJ64GA002を採用し、表示に128×64ドットのグラフィックLCDを配した高性能マイコンキットです。PICSYS24を利用してArduinoの様に手軽にプログラミングを行えます。
DUO-GL128-PIC24Fで採用しているPIC24FJ64GA002は、取り扱いが容易でコンパクトなDIP28パッケージながら、64KBのプログラムフラッシュと8KBのRAMを内蔵しており、16MIPSの性能とあいまって、さまざまな用途でご期待に応えます。
ネットショップ
PIC24F-MOD-GA002Uには小さなモジュール基板上に、タクトスイッチ、L外部装置の接続端子などが実装されているため、ブレッドボードなどを使用しなくても、いろいろな実験を行うことができます。
PICSYS24では、1個の圧電サウンダ(あるいは相当品)を任意のI/Oピンに接続し、ビープ音を出力することができます。
圧電サウンダの制御は、基本的に2つの操作で行います。例えばRB0ポートに圧電サウンダを接続した場合、以下の2つの操作を行います。