Gearさんが投稿したArduino・フルカラーLED・PWMに関するカスタム事例|車のカスタム情報はCARTUNE
Gearさんが投稿したArduino・フルカラーLED・PWMに関するカスタム事例

Gearさんが投稿したArduino・フルカラーLED・PWMに関するカスタム事例

2021年04月13日 17時44分

Gearのプロフィール画像

ラジコンカーの灯火をプログラムで制御したいと思って色々と試してみたら、こんなことが出来たので嬉しくて、思わず投稿してしまいました。

クルマの話題でなくて申し訳ありません。

int val = 0;
int val2 = 0;
int WAIT = 10;
int LED_PIN_R = 9;
int LED_PIN_G = 10;
int LED_PIN_B = 11;

void setup(){
pinMode(LED_PIN_R, OUTPUT);
pinMode(LED_PIN_G, OUTPUT);
pinMode(LED_PIN_B, OUTPUT);
}

void loop(){
for(int i=0; i<255; i++){
val = i;
analogWrite(LED_PIN_R, val);
delay(WAIT);
}
for(int i=0; i<255; i++){
val = i;
analogWrite(LED_PIN_G, val);
delay(WAIT);
}
for(int i=0; i<255; i++){
val = i;
analogWrite(LED_PIN_B, val);
delay(WAIT);
}
delay(WAIT);

digitalWrite(LED_PIN_R, HIGH);
digitalWrite(LED_PIN_G, HIGH);
for(int j=255; j>0; j--){
val2 = j;
analogWrite(LED_PIN_B, val2);
delay(WAIT);
}
for(int i=0; i<255; i++){
val = i;
analogWrite(LED_PIN_B, val);
delay(WAIT);
}
delay(WAIT);

digitalWrite(LED_PIN_B, HIGH);
digitalWrite(LED_PIN_R, HIGH);
for(int j=255; j>0; j--){
val2 = j;
analogWrite(LED_PIN_G, val2);
delay(WAIT);
}
for(int i=0; i<255; i++){
val = i;
analogWrite(LED_PIN_G, val);
delay(WAIT);
}
delay(WAIT);

digitalWrite(LED_PIN_G, HIGH);
digitalWrite(LED_PIN_B, HIGH);
for(int j=255; j>0; j--){
val2 = j;
analogWrite(LED_PIN_R, val2);
delay(WAIT);
}
for(int i=0; i<255; i++){
val = i;
analogWrite(LED_PIN_R, val);
delay(WAIT);
}
delay(WAIT);
}

// シームレスを意識して、繰り返しの段差を取り除いた改良型のプログラムです。コメントに動作の概要を記述しておきます。

int val = 0;
int val2 = 0;
int WAIT = 10;
int LED_PIN_B = 9;
int LED_PIN_G = 10;
int LED_PIN_R = 11;

void setup(){
// 3原色の出力定義
pinMode(LED_PIN_B, OUTPUT);
pinMode(LED_PIN_G, OUTPUT);
pinMode(LED_PIN_R, OUTPUT);

// 3原色の立ち上がり 青〜緑〜赤
for(int i=0; i<255; i++){
val = i;
analogWrite(LED_PIN_B, val);
delay(WAIT);
}
for(int i=0; i<255; i++){
val = i;
analogWrite(LED_PIN_G, val);
delay(WAIT);
}
for(int i=0; i<255; i++){
val = i;
analogWrite(LED_PIN_R, val);
delay(WAIT);
}
delay(WAIT);
}

loop(){
// 繰り返し① 赤 減衰〜復元
digitalWrite(LED_PIN_B, HIGH);
digitalWrite(LED_PIN_G, HIGH);
for(int j=255; j>0; j--){
val2 = j;
analogWrite(LED_PIN_R, val2);
delay(WAIT);
}
for(int i=0; i<255; i++){
val = i;
analogWrite(LED_PIN_R, val);
delay(WAIT);
}
delay(WAIT);

// 繰り返し② 緑 減衰〜復元
digitalWrite(LED_PIN_B, HIGH);
digitalWrite(LED_PIN_R, HIGH);
for(int j=255; j>0; j--){
val2 = j;
analogWrite(LED_PIN_G, val2);
delay(WAIT);
}
for(int i=0; i<255; i++){
val = i;
analogWrite(LED_PIN_G, val);
delay(WAIT);
}
delay(WAIT);

// 繰り返し③ 青 減衰〜復元
digitalWrite(LED_PIN_G, HIGH);
digitalWrite(LED_PIN_R, HIGH);
for(int j=255; j>0; j--){
val2 = j;
analogWrite(LED_PIN_B, val2);
delay(WAIT);
}
for(int i=0; i<255; i++){
val = i;
analogWrite(LED_PIN_B, val);
delay(WAIT);
}
delay(WAIT);
}

/*
ArduinoとLEDの接続はブレッドボードを使わずに行えます。

方法は、LEDのGNDピンを少し前方へ曲げ、他の3本のピンをArduinoのデジタル9、10、11番ピンソケットに刺して、GND だけ別途配線してLEDとArduinoの接続は完了です。

こちらの方が分かりやすいかと思い同じような動作を異なるプログラムで記述してみました。ついでに少しだけゆったりとさせました。*/

int WAIT = 10;
int WAIT2= 50;
int STEP = 1;
int LED_PIN_R = 9;
int LED_PIN_G = 10;
int LED_PIN_B = 11;

void setup(){
pinMode(LED_PIN_R, OUTPUT);
pinMode(LED_PIN_G, OUTPUT);
pinMode(LED_PIN_B, OUTPUT);

int i=0;
while(i<=255){
analogWrite(LED_PIN_R, i);
delay(WAIT);
i=i+STEP;
}
i=0;
while(i<=255){
analogWrite(LED_PIN_G, i);
delay(WAIT);
i=i+STEP;
}
i=0;
while(i<=255){
analogWrite(LED_PIN_B, i);
delay(WAIT);
i=i+STEP;
}
delay(WAIT);
}

void loop(){
digitalWrite(LED_PIN_R, HIGH);
digitalWrite(LED_PIN_G, HIGH);
int i=255;
while(i>=0){
analogWrite(LED_PIN_B, i);
delay(WAIT);
i=i-STEP;
}
delay(WAIT2);
i=0;
while(i<=255){
analogWrite(LED_PIN_B, i);
delay(WAIT);
i=i+STEP;
}
delay(WAIT);

digitalWrite(LED_PIN_B, HIGH);
digitalWrite(LED_PIN_R, HIGH);
i=255;
while(i>=0){
analogWrite(LED_PIN_G, i);
delay(WAIT);
i=i-STEP;
}
delay(WAIT2);
i=0;
while(i<=255){
analogWrite(LED_PIN_G, i);
delay(WAIT);
i=i+STEP;
}
delay(WAIT);

digitalWrite(LED_PIN_G, HIGH);
digitalWrite(LED_PIN_B, HIGH);
i=255;
while(i>=0){
analogWrite(LED_PIN_R, i);
delay(WAIT);
i=i-STEP;
}
delay(WAIT2);
i=0;
while(i<=255){
analogWrite(LED_PIN_R, i);
delay(WAIT);
i=i+STEP;
}
}

そのほかのカスタム事例

ソアラ JZZ30

ソアラ JZZ30

ついに…!ソアラGETしました🥳✨オークションで手に入れました!金額はわりと現実的だったけど、正直コンディションは「これから」って感じです😅でも大丈夫👌少...

  • thumb_up 0
  • comment 0
2025/07/06 19:49
シビック FL1

シビック FL1

いつも曇りだな。入り口がかなりの段差になってました💦

  • thumb_up 1
  • comment 0
2025/07/06 19:49
N-ONE JG1

N-ONE JG1

ノーマルです。スモークカバー付けてます。1円スタートからの1円落札(笑)送料900幾らか…ノーマルですが後ろ姿気に入ってます。今日は相変わらず嫁達いないの...

  • thumb_up 1
  • comment 0
2025/07/06 19:48
スカイライン

スカイライン

2025.7.6SkylineMeeting♪♪♪壮観デス〜♪いい天気〜♪朝♪足回り早くやりたい。。。

  • thumb_up 2
  • comment 0
2025/07/06 19:48
スカイライン HR31

スカイライン HR31

皆さんお疲れ様で〜す🙋🏻‍♂️自分が拘ってる訳ではないですが日産が拘った🔴テールですねぇテールランプと言えば…リアガーニッシュにランプ入れてバックフォグっ...

  • thumb_up 1
  • comment 0
2025/07/06 19:48
キャラバン

キャラバン

Friday'smeeting洗車のお手伝い🧽Whiteのシンクロギャップ萌えSaturday'smelon夏ははじまりは🍈hydrangea7色紫陽花🌼...

  • thumb_up 1
  • comment 0
2025/07/06 19:48
ジムニー JB64W

ジムニー JB64W

タイヤ🛞交換完了❗️出張で交換に来て頂きました😁205のジオランダー、近年に設定されたばかりの、新しいサイズのジムニー専用タイヤ🛞みたいですね🤔185のオ...

  • thumb_up 2
  • comment 0
2025/07/06 19:48
ヴォクシー ZRR80W

ヴォクシー ZRR80W

車高詐欺写真😁😁😁

  • thumb_up 1
  • comment 0
2025/07/06 19:48
ノートeパワー

ノートeパワー

河川敷にてドローン空撮お遊び

  • thumb_up 1
  • comment 0
2025/07/06 19:47

おすすめ記事