前にポートのON,OFFを掲載しましたが、今回はPWM(パルス幅変調)をプログラミングしてみます。

 

RL78/G24ボードは以下、USB Cケーブルでパソコンと接続します。

 回路図、マニュアル、プログラムダウンロード等はこちら

 

プログラムは以下です。

解説すると

const int LED = 8;  //P30   LEDという名前のポートを8番に設定  RL78のポートではP30です。

const int PWM = 9;//P14   PWMという名前のポートを9番に設定 RL78のポートではP14です。

int i = 0;          変数i に 0を設定

 

RL78のポートではP30です、と言われても?ですが、ルネサス社が自分のマイコン用に定義したArduinoのポートNoと対応するRL78のポートNo表を見て下さい。8=P30 ~9=P14 とあります。~はチルダ(波ではない?)と呼ぶようですが、PWMにも使えるポートを意味します。

セットアップでポートの定義をしています。

void setup() {

  // put your setup code here, to run once:

  pinMode(LED,OUTPUT);    //P30 ON,OFFの出力ポートして動作

  pinMode(PWM,OUTPUT);    //P14 PWMの出力ポートして動作

  Serial.begin(115200);     //ボーレート115200bps シリアルプリントのボーレートを115200bpsに設定

}

 

無限ループです。プログラムは

LEDをONさせ、

変数iの数字をPWMにセット、

iを+1します。

iが255以上なら0をセット、

100msecウエイト、

iの内容をシリアルプリントに出力、

LEDをOFFさせ、

100msecウエイト

繰り返す

という動作です。

 

void loop() {

  // put your main code here, to run repeatedly:

  digitalWrite(LED,HIGH);  //P30 1出力 LED ON 

 

  analogWrite(PWM,i);       //P14 に PWM値を設定

  i++;                           //+1

  if(i > 255){i = 0;}    

 

  delay(100);                 //人の目で点滅を確認するために時間を遅らせる

  Serial.println(i);         //変数iのデータをシリアルモニタへ出力する

 

  digitalWrite(LED,LOW);   //P30 0出力 LED OFF

  delay(100);

}

 

次回は上記プログラムの波形を観測します。

 

プログラムを動作させたときのyoutube動画